Skip to content

Fullbleed 2.5.34: running record values and page-margin tagging

Choose a tag to compare

@krflol krflol released this 19 Oct 07:47
0e64857

Compiled batches now refresh running headers and footers when record values change. A binding shared with ordinary body text could previously leave a preceding record's name in its captured header. Generated page-margin text and decoration now receive balanced artifact marking, keeping page numbers and repeated navigation outside body reading order. These corrections address #104 and #103.

Install with python -m pip install fullbleed==2.5.34 or fullbleed = "=2.5.34" in Cargo. No runtime dependencies are added. The published 2.6.0a7 component preview is not updated by this stable release; its page-furniture correction remains tracked in #103.

Validation includes 673 local Python tests without skips, 1,401 native tests and 11 documentation tests. All 120 page-furniture PDFs and 54 running-value PDFs pass independent structure, text, raster and deterministic-output checks. Public 2.5.33 controls reproduce 75 page-furniture failures and 30 running-value failures, with passing controls. All 116 PDF/UA-1 and PDF/UA-2 fixtures pass veraPDF with clean stderr.

All 174 PDFs match the qualified final wheel across Linux/Windows CI, the exact-tag release gate, a fresh public Python installation and a Rust consumer using the public crate. All 15 wheels, the sdist and the crate were downloaded and checked against retained release artifacts or tagged source.

The exact #104 minimal reproduction also passes on the fresh public Python installation with standard Helvetica and both compression modes: each record's header matches its body. Its saved PDFs match the qualified local correction byte for byte.

The Python release initially stopped because its test setup lacked PDFium. The corrected workflow rebuilt the same immutable tag and passed all gates. The original failure and distinct workflow/source provenance are retained in the publication evidence.

Documents with running content reflow when bindings change, including static headers, reducing cache reuse. Existing page-margin geometry is preserved; the all-margin-boxes stress fixture retains its baseline clipping/overlap. This is not a general margin-box fit claim. The complete 1,662-case CSS corpus retains 1,620 PASS, 24 FAIL and 18 REFERENCE-DISPUTED, with unchanged scores, verdicts and pixels. Twenty-one PDF byte changes exactly match the reviewed artifact-marking correction. No references or thresholds changed.

Machine checks are fixture-specific and do not establish arbitrary-document accessibility or human assistive-technology usability. Dedicated PDF/VT validation remains unconfigured.

Python 3.15 final qualification — October 20, 2026

The existing 2.5.34 wheels pass their matching release suite on standard-GIL CPython 3.15.0 final for Windows x64, Linux x64, macOS Intel and Apple silicon. Each platform reports 672 passing tests, one explicit legacy-subinterpreter skip, and 481 PDF/PNG files matching the same wheel on Python 3.10 on that platform. Linux also passes the official python:3.15-slim installation and CLI checks with networking disabled.

The retained evidence includes wheel/source provenance, both installation reports, interpreter identity, JUnit results, all compared output files, the exact CI tooling and a dependency-free integrity checker. The legacy _xxsubinterpreters test remains skipped because that module is absent. This does not establish free-threaded or subinterpreter support or cross-platform pixel parity. No release tag, package or existing asset was replaced.