Repository navigation
Take hayro 0.6 and raise the MSRV to 1.92 - #64
Conversation
hayro 0.6 takes a RenderCache in render(). Build one per document and reuse it across the selected pages. Supersedes tinyhumansai#27.
hayro 0.6 renders through vello 0.0.7, whose crates need rustc 1.92. Raise rust-version for tinydocs and the module, which enables pdf-render. The bus crate does not depend on hayro and keeps 1.88.
CI script change: test-distro.sh installed the 1.88.0 MSRV toolchain to build the module, which can no longer compile hayro 0.6.
After the port no package depends on png 0.17 or bitflags 1, so the lock keeps only png 0.18 and bitflags 2 (cargo metadata, no update).
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Tiny Sweeper reviewReviewed head: Verdict: Ready for maintainer review · Priority: none Diagnostics and supporting detailsFull summaryPull request purpose (title): Take hayro 0.6 and raise the MSRV to 1.92. This pull request moves PDF rendering to hayro 0.6, creating one RenderCache per document and reusing it across the selected pages, and raises rust-version to 1.92 for tinydocs and tinydocs-module because hayro 0.6 renders through vello 0.0.7, which needs 1.92. The spec, plan, pdf_render README and distro test script are updated to the new MSRV so the documented toolchain and the distro module build match the manifests. No public API changes and no behaviour change is intended. Unreviewed paths
Review snapshot
Completeness: Complete What changedFull-pull-request behavior as described by the PR: the renderer builds a single hayro::RenderCache per document and passes it into hayro::render for each planned page, so multi-page renders reuse the cache while page selection, ordering and PNG encoding remain unchanged. Because hayro 0.6's vello 0.0.7 crates require rustc 1.92, rust-version moves to 1.92 for the tinydocs and tinydocs-module crates, while contract crates that do not depend on hayro keep the earlier MSRV. The spec, plan and pdf_render README record 1.92 with the hayro rationale, and scripts/test-distro.sh installs the 1.92.0 toolchain for the distro module build. No public API is changed and no behavior change is intended. Features
TestsNo supported feature-to-test mapping was produced. Test execution is not inferred. FindingsNo active actionable findings. Before mergeNone. Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
tinydocs: deps/hayro-0.6-msrv → "Port PDF rendering to hayro 0.6 and raise the MSRV to 1.92"
Supersedes #27 (dependabot).
Stacked on #63: this branch includes #63's commits (zip 9.2, quick-xml 0.42 and png 0.18), so merge #63 first, after which this diff shrinks to the four commits below. The two touch the same Cargo.lock sections, which is why this one is stacked rather than separate.
Port PDF rendering to hayro 0.6.
hayro::rendernow takes aRenderCache. The port builds one per document and reuses it across the selected pages, as hayro recommends.Raise the MSRV to 1.92. hayro 0.6 renders through vello 0.0.7, whose crates (vello_api, vello_common, vello_cpu) need rustc 1.92, and
cargo +1.88 checkfails against them.rust-versionmoves to 1.92 fortinydocsandtinydocs-module, which enablespdf-render.tinydocs-busandtinydocs-clientdon't depend on hayro and keep 1.88, so hosts that only link the contract are not affected. The spec, plan and pdf_render README now say 1.92. The module e2e scripts read the module'srust-version, so they follow automatically.CI script change (flagged): build the distro test module on Rust 1.92.
scripts/test-distro.shinstalled the 1.88.0 toolchain to build the module, which can no longer compile hayro 0.6.Drop the lock entries nothing needs after the port. No package depends on png 0.17 or bitflags 1 any more. The lock was repaired with
cargo metadata, notcargo update.Public API: none. Behaviour: none intended; the pdf_render tests pin page order and PNG dimensions.
Validation, at 52f7365 on main 835854e:
cargo fmt --all -- --check: clean.cargo clippy --locked --all-targets --all-features -- -D warnings: clean.cargo test --locked --all-features: 224 passed, 0 failed (pdf_render 3/3).cargo +1.88 check --locked -p tinydocs-bus -p tinydocs-client --all-features: passes, so the contract crates keep 1.88.cargo +1.94 check --locked --all-targets --all-features: passes. Not yet run on exactly 1.92: CI's MSRV job readsrust-versionand will check 1.92 itself.cargo +1.88 checkon the old MSRV fails against vello 0.0.7, which is why the bump is needed.