The Apache FOP Project

The Apache™ FOP Project

Release Notes for Apache FOP 2.12

Release date: 20 October 2026

This article explains the new features and notable improvements in Apache™ FOP 2.12, compared with 2.11. For the complete list of fixes, see the Changes page; issue numbers below link to the FOP project in Jira.

Summary – Release highlights

New capabilities:

Output and quality improvements:

New features

Support for running on Java 25

Apache FOP now builds and runs on Java 25. Java 8 remains the minimum supported runtime, so existing deployments are unaffected. (FOP-3275.)

Bengali complex script support

Shaping support has been added for the Bengali script, extending FOP's complex scripts coverage. Bengali text is now reordered and shaped correctly when an appropriate OpenType font is used. (FOP-3357.)

Complex-script support for TrueType fonts in AFP output

Complex-script shaping is now available for TrueType fonts in AFP output, so scripts that require reordering and glyph substitution can be used in AFP documents. (FOP-3337.)

Support for the table-and-caption formatting object

FOP now supports the fo:table-and-caption formatting object, which associates an fo:table-caption with a table and lays the two out as a unit. (FOP-3252.)

Extended force-page-count values

In addition to the values defined by XSL-FO, the force-page-count property on fo:page-sequence now accepts four extension values — doubly-odd, doubly-even, end-on-doubly-odd and end-on-doubly-even — which are useful for duplex and signature-based printing where sheet (rather than page) parity matters:

<fo:page-sequence master-reference="chapter"
                  force-page-count="end-on-doubly-even">

(FOP-3279.)

A new square style for rule leaders

The fox:rule-style extension property gains a square value, which renders a rule leader as a repeating series of squares (behaving like the standard dotted style, but with squares):

<fo:leader leader-pattern="rule"
           fox:rule-style="square"
           rule-thickness="2pt"
           leader-length.optimum="100%"/>

Pattern (rule) leaders also now honour spacing between the repeated marks. (FOP-3327, FOP-3325.)

Font substitution for the PDF transcoder

The PDF transcoder, used to convert SVG directly to PDF, now honours the font substitution configuration, so font substitutions apply consistently to standalone SVG-to-PDF conversions. (FOP-3277.)

Structure-tree merging for embedded PDFs

When an external PDF is embedded into a document, its tagged structure tree can now be merged into the output document's structure tree, preserving accessibility information from the embedded file. (FOP-3245.)

Output improvements

PDF

PostScript

AFP

Accessibility improvements

Optimizations

Several changes reduce memory consumption, particularly for large and tagged (accessible) documents:

Configuration (fop.xconf) changes

New configuration options introduced in this release (see the Config Options reference for the full list):

Security

Other changes

To see the full list of changes, please visit the Changes page.