Releases: LibrePDF/OpenPDF
OpenPDF 3.0.1
What's Changed
- Bump org.htmlunit:neko-htmlunit from 4.14.0 to 4.15.0 by @dependabot[bot] in #1415
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 by @dependabot[bot] in #1416
- Bump maven-surefire-plugin.version from 3.5.3 to 3.5.4 by @dependabot[bot] in #1428
- Bump org.htmlunit:neko-htmlunit from 4.15.0 to 4.17.0 by @dependabot[bot] in #1434
- Bump org.jetbrains.kotlin:kotlin-stdlib from 2.2.10 to 2.2.21 by @dependabot[bot] in #1443
- Bump org.jetbrains.kotlin:kotlin-maven-plugin from 2.2.10 to 2.2.21 by @dependabot[bot] in #1444
- Bump com.puppycrawl.tools:checkstyle from 11.0.0 to 12.1.1 by @dependabot[bot] in #1445
- Required Java version clarification in README.md by @Emkas in #1453
- Bump org.assertj:assertj-core from 3.27.4 to 3.27.7 by @dependabot[bot] in #1459
- Update Bouncy Castle version to 1.83 by @andreasrosdal in #1460
- Fix IndexOutOfBoundsException in FopGlyphProcessor due to 1:N Thai Glyph Expansion by @PskDream in #1457
- Bump org.apache.maven.plugins:maven-release-plugin from 3.1.1 to 3.3.1 by @dependabot[bot] in #1461
- Bump junit.version from 5.13.4 to 6.0.3 by @dependabot[bot] in #1462
- Bump commons-io:commons-io from 2.20.0 to 2.21.0 by @dependabot[bot] in #1463
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.3 to 3.12.0 by @dependabot[bot] in #1465
- Bump org.apache.maven.plugins:maven-source-plugin from 3.3.1 to 3.4.0 by @dependabot[bot] in #1464
- Add text coordinate extraction API (PR #1442 fixed) by @Copilot in #1466
- [WIP] Refactor PdfContentTextExtractor and PdfTextLocator to reduce duplicate code by @Copilot in #1467
- Reduce code duplication in PDF parser classes by @Copilot in #1468
- [WIP] Fix compatibility issue for Android by @Copilot in #1469
- openpdf-html: Improve support for CSS @font-face #1426 by @Copilot in #1470
- Improve openpdf-renderer: documentation, build config, and code quality by @Copilot in #1471
- Add comprehensive unit test suite for openpdf-renderer module by @Copilot in #1472
- Improve Image alignment documentation for inline image placement by @Copilot in #1474
- fix issue #1446 - VSCode project loading failure by @Copilot in #1475
- Fix non-breaking space (U+00A0) handling in text justification by @Copilot in #1473
- Fix AI(11) length for GS1-128 Production date barcode by @Copilot in #1476
- [WIP] Fix Barcode128Test test by @Copilot in #1478
- Fix for Issue #1430: API to set custom first-line baseline Y in ColumnText by @Copilot in #1477
- Fix indexed image detection to prevent PDF size inflation by @Copilot in #1479
- Add basic support for PDF/A-2 and PDF/A-3 conformance levels by @Copilot in #1480
- feat: add support for Ideographic Variation Sequences (IVS) in TrueTy… by @wang0331 in #1482
- Bump com.google.errorprone:error_prone_annotations from 2.41.0 to 2.47.0 by @dependabot[bot] in #1483
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.2 to 3.5.0 by @dependabot[bot] in #1484
- Bump org.apache.maven.plugins:maven-source-plugin from 3.3.1 to 3.4.0 by @dependabot[bot] in #1486
- Bump org.jacoco:jacoco-maven-plugin from 0.8.13 to 0.8.14 by @dependabot[bot] in #1485
- Bump org.htmlunit:neko-htmlunit from 4.17.0 to 4.21.0 by @dependabot[bot] in #1487
- docs: Update Contributors.md by @wang0331 in #1488
- Complete font-face improvements for #1426 by @alexdupre in #1489
- Improve openpdf-html with htmlunit-neko DOMParser integration and HTML5 feature tests by @Copilot in #1490
- Bump com.puppycrawl.tools:checkstyle from 12.1.1 to 13.2.0 by @dependabot[bot] in #1495
- Bump org.jetbrains.kotlin:kotlin-stdlib from 2.2.21 to 2.3.10 by @dependabot[bot] in #1493
- Bump org.sonatype.central:central-publishing-maven-plugin from 0.8.0 to 0.10.0 by @dependabot[bot] in #1491
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.0 to 3.15.0 by @dependabot[bot] in #1494
- Bump org.jetbrains.kotlin:kotlin-maven-plugin from 2.2.21 to 2.3.10 by @dependabot[bot] in #1492
New Contributors
- @andreasrosdal made their first contribution in #1460
- @PskDream made their first contribution in #1457
- @Copilot made their first contribution in #1466
- @wang0331 made their first contribution in #1482
- @alexdupre made their first contribution in #1489
Full Changelog: 3.0.0...3.0.1
OpenPDF 3.0.0
OpenPDF 3.0.0
-
OpenPDF 3.0.0 uses the new package name org.openpdf. The old com.lowagie is now removed from OpenPDF 3.0.
This means that source code using OpenPDF must be migrated to use import statements using org.openpdf.* package. -
PDF 2.0 support in OpenPDF – This is a breaking API change:
All version-related methods now useStringinstead ofcharas method parameters. See PdfVersion.java and PdfWriter.java.
The default version is now PDF 2.0.About PDF 2.0:
PDF 2.0 is the latest official version of the Portable Document Format, standardized as ISO 32000-2:2020.
It was first published by the International Organization for Standardization (ISO) in July 2017, with a revised edition in December 2020.
PDF 2.0 introduces improved color management, tagged PDF enhancements, advanced encryption options, and clarifies many ambiguous parts of the PDF 1.x specifications. -
Added HtmlToPdfBatchUtils and PdfBatchUtils, new batch utilities built on Java 21 virtual threads.
These APIs improve throughput for HTML→PDF rendering and common PDF tasks such as merge, split, watermark, and encrypt.
The migration to new package name org.openpdf started in OpenPDF 2.4.0, while OpenPDF 3.0 is the first version of OpenPDF which fully uses the new package name.
What's Changed
- Bump org.assertj:assertj-core from 3.27.3 to 3.27.4 by @dependabot[bot] in #1404
- Remove openpdf-core-legacy module by @andreasrosdal in #1406
- Rename openpdf-core by @andreasrosdal in #1407
- Initial PDF 2.0 support by @andreasrosdal in #1408
- PDF 2.0 tests by @andreasrosdal in #1409
- PDF 2.0 tests by @andreasrosdal in #1410
- Bump org.jetbrains.kotlin:kotlin-stdlib from 2.2.0 to 2.2.10 by @dependabot[bot] in #1412
- Bump org.jetbrains.kotlin:kotlin-maven-plugin from 2.2.0 to 2.2.10 by @dependabot[bot] in #1413
- Delete RtfElementInterface by @andreasrosdal in #1414
Full Changelog: 2.4.0...3.0.0
OpenPDF 2.4.0
OpenPDF 2.4.0 Release Notes
Highlights
- Java package name change: All classes have been moved from
com.lowagietoorg.openpdfin the openpdf-core-modern module. - Module split: The
openpdfsubmodule has been split (duplicated) into:openpdf-core-legacy– all classes here are deprecated.openpdf-core-modern– actively maintained and used by all submodules.
See 2.4.0 migration guide for details.
What's Changed
Major Changes
-
Module restructuring:
- Split
openpdfintoopenpdf-core-legacyandopenpdf-core-modern.
#1393 – @andreasrosdal - Deprecated all classes in
openpdf-core-legacy.
#1395 – @andreasrosdal - Updated all submodules to use
openpdf-core-modern.
#1396 – @andreasrosdal
- Split
-
New features:
- Added flag in
ColumnTextto control whether words are chopped, or to throw an exception instead of arbitrarily chopping long words.
#1379 – @csimoes1 - Added TU and ALT fields to signature object.
#1386 – @MaSchmidt1999
- Added flag in
-
Performance improvements:
- Register fonts only once in a static block instead of on every constructor call.
#1373 – @giangianoulas
- Register fonts only once in a static block instead of on every constructor call.
-
Code cleanup:
- Removed commented-out code and unnecessary
System.out.printlncalls.
#1364 – @andreasrosdal
- Removed commented-out code and unnecessary
Dependency Updates
org.sonatype.central:central-publishing-maven-plugin0.7.0 → 0.8.0com.puppycrawl.tools:checkstyle10.25.0 → 11.0.0 (multiple incremental updates)org.jetbrains.kotlin:kotlin-stdlib2.1.21 → 2.2.0org.jetbrains.kotlin:kotlin-maven-plugin2.1.21 → 2.2.0junit.version5.13.1 → 5.13.4com.google.errorprone:error_prone_annotations2.38.0 → 2.41.0org.dom4j:dom4j2.1.4 → 2.2.0org.apache.maven.plugins:maven-gpg-plugin3.2.7 → 3.2.8org.verapdf:validation-model1.28.1 → 1.28.2commons-io:commons-io2.19.0 → 2.20.0org.htmlunit:neko-htmlunit4.13.0 → 4.14.0
New Contributors
- @giangianoulas – Font registration optimization #1373
- @csimoes1 –
ColumnTextlong word handling #1379 - @MaSchmidt1999 – TU and ALT signature fields #1386
We will soon begin on the OpenPDF 3.0 version which uses only the org.openpdf package name.
Full Changelog: 2.2.4 → 2.4.0
OpenPDF 2.2.4
What's Changed
- Bump org.sonatype.central:central-publishing-maven-plugin from 0.7.0 to 0.8.0 by @dependabot in #1363
- Remove commented out code and some system.out.println by @andreasrosdal in #1364
- Bump com.puppycrawl.tools:checkstyle from 10.25.0 to 10.25.1 by @dependabot in #1371
- Register font only once in static block instead on every constructor … by @giangianoulas in #1373
- Bump org.jetbrains.kotlin:kotlin-stdlib from 2.1.21 to 2.2.0 by @dependabot in #1375
- Bump org.jetbrains.kotlin:kotlin-maven-plugin from 2.1.21 to 2.2.0 by @dependabot in #1374
- Bump junit.version from 5.13.1 to 5.13.2 by @dependabot in #1376
- Bump com.google.errorprone:error_prone_annotations from 2.38.0 to 2.39.0 by @dependabot in #1378
- Bump com.puppycrawl.tools:checkstyle from 10.25.1 to 10.26.0 by @dependabot in #1377
- Add flag to ColumnText to control if words are chopped or Throw exception instead of arbitrarily chopping long words#1297 by @csimoes1 in #1379
- Bump com.puppycrawl.tools:checkstyle from 10.26.0 to 10.26.1 by @dependabot in #1380
New Contributors
- @giangianoulas made their first contribution in #1373
- @csimoes1 made their first contribution in #1379
Full Changelog: 2.2.3...2.2.4
OpenPDF 2.2.3
OpenPDF 2.2.2
What's Changed
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.5.0 to 3.11.2 by @dependabot in #1358
- Rename openpdf-html config file til openpdf.conf and some minor fixes by @andreasrosdal in #1360
- Remove GenShinGothic-Normal.ttf in order to reduce overall full zip file size from 21MB to 15MB.
Full Changelog: 2.2.1...2.2.2
2.2.1
News in OpenPDF 2.2.1
- Openpdf-renderer: Modernization and fix of multiple code analysis warnings.
2.2.0
OpenPDF 2.2.0 Released!
We’re excited to announce the release of OpenPDF 2.2.0, a new milestone in our ongoing mission to build a modern, fully open-source PDF library for Java.
What's New
openpdf-renderer Module Added (#1357)
We’ve added a brand new module: openpdf-renderer.
This module integrates the openpdf-renderer engine into OpenPDF, enabling:
- High-quality PDF rendering to images
- Fast page previews and thumbnails
- Support for converting PDF pages to
BufferedImagefor use in Java applications
It’s perfect for developers who need visual previews of PDFs in desktop or server-side applications.
Maven Coordinates:
<dependency>
<groupId>com.github.librepdf</groupId>
<artifactId>openpdf</artifactId>
<version>2.2.0</version>
</dependency>2.1.0
OpenPDF 2.1.0 - Modernization and New Features
We are excited to announce the release of OpenPDF 2.1.0, which marks a major step forward for the project.
-
Java 21 required: OpenPDF 2.1.0 now targets Java 21 LTS and benefits from its modern features and performance improvements. Java 21 was released in 2023.
-
New Kotlin module openpdf-kotlin Build PDFs more easily using idiomatic Kotlin APIs and a DSL-inspired builder interface.
-
Added openpdf-html module: A maintained fork of Flying Saucer for converting HTML to PDF, now part of the OpenPDF project. The goal is to improve HTML5 and modern CSS support.
-
Deprecated HtmlParser We encourage migrating to openpdf-html for improved HTML rendering.
-
Updated dependencies.
Full Changelog: 2.0.5...2.1.0
OpenPDF 2.0.5
What's Changed
- Bump org.pitest:pitest-junit5-plugin from 1.2.2 to 1.2.3 by @dependabot in #1321
- Remove hamcrest dependency by @Emkas in #1322
- Mockito cleanup and upgrade by @Emkas in #1324
- Bump org.jfree:jfreechart from 1.5.5 to 1.5.6 by @dependabot in #1326
- Bump com.puppycrawl.tools:checkstyle from 10.23.1 to 10.24.0 by @dependabot in #1327
- Security documentation by @andreasrosdal in #1328
- Build on Java 24 by @andreasrosdal in #1329
- Fix for reading very small PDF files by @andreasrosdal in #1334
New Contributors
- @samruddhithakor made their first contribution in #1241
Full Changelog: 2.0.4...2.0.5