Eclipse BIRT 4.25.0 release highlights
PDF/UA and PDF accessibility, rendering and reliability
- Significant work was done to improve PDF/UA compliance and tag structure generation.
- Added support for PDF span tags for multi-line labels and data items.
- Improved handling of artifact, open-only, close-only, and no-tag cases in PDF tagging.
- Fixed invalid tag structures, including cases affecting detail cells and label/data content with embedded newlines.
- Mapped HTML DIV elements to PDF P tags for more consistent structure generation.
- Added support for dynamically changing PDF metadata.
- Refined PDF font layout by migrating to a per-document GlyphLayoutManager.
- Fixed IllegalArgumentException and null-pointer issues in PDF page/device handling.
- Added missing PDFA3U switch handling and improved validation behavior.
- Centralized DocumentBuilderFactory creation via CommonUtil.newDocumentBuilderFactory.
- Replaced legacy iText references in locale message resources with OpenPDF.
- See README.md in the PDF Emitter project.
Report layout and editor usability
- Improved report centering on zoomed or scaled displays.
- Adjusted ruler and guide scaling to match report scaling.
- Separated shell zoom behavior from font scale in the editor for more predictable display behavior.
Data and scripting improvements
- Enabled a way to prefetch data from the datasource before report rendering starts
- Added reportContext.openDataSet() to allow dataset access from script.
- Excluded datasets with output parameters from the implicit result cache.
- Improved aggregation comparison behavior by using a collator.
Release engineering and cleanup
- Converted locale message resources to UTF-8 encoding.
- Removed obsolete feature message files.
- Locked down the target platform for the 4.25 release.
- Prepared the release and refreshed documentation.
What's Changed
- Prepare for the 4.25 release by @merks in #2428
- #2432 Add missing case in the switch for PDFA3U. Validation is ok cor… by @giangianoulas in #2433
- Fix IllegalArgumentException by calling PdfContentByte.beginMarkedCon… by @giangianoulas in #2435
- Exclude data sets with output parameters from the implicit result cache by @raoulduke98 in #2441
- Centralize DocumentBuilderFactory: CommonUtil.newDocumentBuilderFactory by @merks in #2451
- Fix issue 2429 by @hvbtup in #2450
- Fix issue 2445 and add support for 'artifact' dummy tag by @hvbtup in #2452
- PDF/UA: Add PDF span tag for each line of a multi-line label / data item. by @hvbtup in #2453
- PDF/UA Add support for open-only and close-only tags and for no tag by @hvbtup in #2455
- Map HTML tag DIV to PDF tag P. by @hvbtup in #2457
- PDF/UA: If a data item/label contains newlines, close/reopen its PDF tag by @hvbtup in #2460
- Use collator in AggregationAccessor.compare by @merks in #2461
- Ensure that report is centered in the layout on a zoomed monitor. by @merks in #2462
- Scale the ruler/guide similar to how the report is scaled by @merks in #2464
- Factor out shell zoom from font scale in LabelEditManager.initCellEditor by @merks in #2465
- Migrate PDF font layout to per-document GlyphLayoutManager (#2444) by @hyrahul in #2463
- Fix issue 2466: Add support for changing PDF metadata dynamically by @hvbtup in #2469
- Add reportContext.openDataSet() to read data sets from script (#1351) by @hyrahul in #2473
- Convert *.msg locale resources to UTF-8 encoding (fixes #2470) by @hyrahul in #2476
- Remove feature*.msg by @merks in #2479
- Replace iText references with OpenPDF in locale message resources by @hyrahul in #2470
- Fix invalid PDF/UA tag structure for Drop: Detail cells by @hyrahul in #2481
- Lock down the target platform for the 4.25 release by @merks in #2483
New Contributors
- @raoulduke98 made their first contribution in #2441
- @hyrahul made their first contribution in #2463
All contributors for this release
- Ed Merks - @merks releng, review and code
- Henning von Bargen - @hvbtup review and code
- Rahul Pal - @hyrahul review and code
- Ioannis Giannoulas - @giangianoulas review and code
- Raoul Duke - @raoulduke98 code
- Thomas Gutmann - @speckyspooky review
- Wim Jongman - @wimjongman releng
Full Changelog: 4.24.0...4.25.0