Repository navigation
0.2.5
·
204 commits
to master
since this release
Fullbleed Release Notes - 0.2.5
Release date: February 17, 2026
Summary
0.2.5 is a determinism-and-native-runtime release focused on composed image correctness, pure-Rust execution, and linker/perf hardening.
Key outcomes:
- composed image output now reflects finalized/stamped template pages (not overlay-only renders)
- native finalized-PDF raster path is engine-owned (no PyMuPDF dependency path)
- native deterministic deflate upgraded to compressed blocks (LZ77 + Huffman) with concurrency scheduling
- linker stream emission/compression paths hardened and instrumented
- deterministic hashing contract expanded for image-emitting runs
- golden baselines refreshed to current native engine outputs
Highlights
Compose Image Correctness (Native)
render --templates ... --emit-image ...now emits PNGs from finalized composed PDF pages.- output semantics are explicit via
outputs.image_mode:overlay_documentcomposed_pdf
- compose-mode image smoke validation now asserts:
- image count == composed page count
- expected template-background pixels are present
Primary paths:
python/fullbleed_cli/cli.pysrc/pdf_raster.rssrc/lib.rssrc/python.rs
Pure-Rust Runtime Path
- removed runtime dependencies for compose image emission/smoke.
- finalized-PDF raster replay is native Rust.
- compression backend stays Rust-native (no system zlib/libz dependency requirement).
Native Deflate Upgrade
- in-house deflate moved from stored-block baseline to compressed blocks.
- implemented deterministic:
- LZ77 tokenization
- fixed-Huffman block coding
- parallel chunk scheduling
- parallel Adler-32 combination
Primary path:
src/flate_native.rs
Linker and PDF Stream Hardening
- linker now emits binary streams for content/image/font/ICC paths.
- content streams are flate-compressed by policy/threshold.
- legacy alternate stream-encoding path removed to enforce single runtime writer behavior.
- new perf counters for link/compression telemetry:
content_stream_raw_bytescontent_stream_encoded_bytescontent_stream_compressedcontent_stream_ratio_ppm
Primary path:
src/pdf.rs
Determinism Contracts
- expanded deterministic regression coverage for:
- PDF bytes
- PNG bytes
- thread-count invariance
- cross-process artifact parity
- CLI deterministic hash contract for image-enabled runs now emits artifact-set digest semantics.
- Python engine APIs now support optional deterministic hash file output via
deterministic_hash.
Primary paths:
examples/template-flagging-smoke/run_cli_determinism_smoke.pypython/fullbleed_cli/cli.pysrc/python.rs
Raster Font-Style Fidelity Fix
- native raster fallback now performs style-aware candidate selection (regular/bold/italic/bold-italic).
- subset-prefixed PDF base font names are normalized before fallback lookup (for example
ABCDEF+Family-Style). - regression tests added for style-aware candidate selection and subset normalization.
Primary paths:
src/raster.rssrc/pdf_raster.rs
Verification and Standards
- canonical smoke suite passed:
- template-flagging smoke
- CLI compose-image smoke
- CLI cross-process determinism smoke
- VDP backpage smoke
- I-9 batch font dedup CI check
- golden baselines were refreshed and verified as new standards for native runtime outputs.
Primary path:
goldens/expected/golden_suite.expected.json
Behavior Notes
- For image-emitting compose runs, image artifacts are now composed-page truth by default (
image_mode=composed_pdf). - Deterministic hash outputs for image-enabled CLI runs follow artifact-set semantics.
- Golden hash drift vs older dependency-backed raster outputs is expected and now standardized in refreshed baselines.
Upgrade Guidance
- Rebaseline any downstream snapshot/hash gates against
0.2.5outputs. - If your automation consumes deterministic hash files, verify artifact-set behavior for image-enabled workflows.
- Prefer native composed-image paths and remove any external PDF raster fallback assumptions.