Skip to content

Fullbleed 2.5.35: clipped content continues across pages

Choose a tag to compare

@krflol krflol released this 26 Oct 00:18

Auto-height tables and containers with clipping now continue across PDF pages. Previously, overflow: hidden, clip, auto, or scroll could keep later rows below the physical page. Descendant page breaks and preceding text around moving footnotes are preserved. Explicitly sized clipping viewports retain their existing behavior.

Install Python with python -m pip install fullbleed==2.5.35 or pin the Rust crate with fullbleed = "=2.5.35". This stable backport covers the pagination correction in #127. Component authoring and the alpha percentage-width correction remain on their separate release track.

Validation includes 1,402 Rust tests, 11 documentation tests, 682 local Python tests, and three unchanged golden examples. Public 2.5.34 reproduces eight failing pagination cases and one passing fixed-viewport control; all nine pass in 2.5.35. Exact-source Windows and Linux CI also passes those nine cases. Each platform's Python 3.15.0rc3 preview suite has 681 passes and one environment skip for the unavailable _xxsubinterpreters module.

A fresh public Python installation and a public Rust consumer on Windows reproduce all seven reviewed report/table PDFs byte for byte. Checks cover every row, repeated headings, physical glyph bounds, table structure and deterministic rendering. All 15 public wheels, the source distribution and the crate were checked against release artifacts or the tagged source. Four PDF/UA fixture paths pass veraPDF 1.30.3; direct and compiled rendering produce two distinct byte payloads across those paths.

The complete 1,662-case CSS corpus retains 1,620 PASS, 24 FAIL and 18 REFERENCE-DISPUTED, with no changed verdicts, scores or rendered images. Existing failures remain visible; references and thresholds are unchanged. Fixture checks do not establish arbitrary-document accessibility, human assistive-technology usability, or general CSS parity. Dedicated PDF/VT validation remains unconfigured. The long-report example uses synthetic data in an isolated third-party template, not a full upstream application run.