Skip to content

Fullbleed 2.5.26: render complete HTML documents

Choose a tag to compare

@krflol krflol released this 16 Oct 11:03
· 200 commits to master since this release

Fullbleed 2.5.26 renders supported CSS from <style> elements inside a complete HTML document. Keep markup, typography, colors, and @page settings together, then pass the HTML directly to the native engine.

The same stylesheet context reaches direct rendering, compiled templates, previews, reporting, and batches. CSS bundle assets come first, active embedded sheets follow in document order, and the explicit CSS argument comes last; normal cascade priority still applies. Embedded page settings initialize streaming batches from the first record.

Read the complete HTML guide or download the runnable invoice project and PDF.

A complete HTML invoice rendered with Fullbleed, with green typography, a work table, progress bars, and a dark total panel.

The installed runtime exposes embedded_stylesheets for capability discovery. Compiled templates capture stylesheet sources; recompile when those sources change. External stylesheet links and imports are not fetched. Fonts and assets remain explicit, and no browser or new required runtime dependency is introduced. Inline SVG retains its separate local styling pipeline; the guide documents that boundary.

The release passes all 657 local Python tests and its Windows/Linux CI. The 195 installed-output checks pass on the final Windows wheel, Linux release validation wheel, and a fresh PyPI installation. All 327 retained PDFs match byte-for-byte between the public Windows wheel and Linux validation output. Independent PDFium pixel hashes differ in four margin-box cases; native previews, text, geometry, and source/control equality agree. The invoice above produces identical PDF bytes through embedded and separate CSS inputs, and a fresh default-feature crates.io consumer passes direct/compiled rendering and glyph checks.

The unchanged 1,662-case CSS corpus preserves the master baseline's 1,619 passes, 25 failures, and 18 disputed references; the comparator remains failed for those cases. These checks do not establish general CSS parity or standards conformance. The dedicated PDF/VT validator remains unconfigured and skipped.

The experimental component redesign remains in draft PR #85 and is separate from this release. Implementation and review: #88.