Releases: LibrePDF/OpenPDF
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
2.0.4
What's Changed
🛠️ Major Fixes and Features
- Support for > 2GB files by @andreasrosdal in #1319
- Fix: HtmlParser cannot recognize base64-encoded images by @maayanb180 in #1271
- PDF/A1A & PDF/A1B invalid due to missing language attribute in title metadata by @hemat0gen in #1279
- Allow extra FF bytes preceding JPEG markers by @jeffrey-easyesi in #1247
- Fix: LZWDecoder fails when stream doesn't start with Clear Table (256) by @scottmore in #1299
- Fix HTML export issue with image and text div rendering by @maayanb180 in #1275
- Fix margin setting on open document by @DarkMike-ru in #1283
- Set original type on images for OpenRTF support by @olivierDelierre in #1285
✅ Improvements & Minor Fixes
- Added check/error in PdfPTable.addCell by @StevenStreasick in #1195
- Handle null resources gracefully by @gtoison in #1278
- Clarify the licensing policy by @ForNeVeR in #1206
- Fix broken links for licenses by @sinansonmez in #1277
- Update LayoutProcessor.java (see #1159) by @vk-github18 in #1211
📦 Dependency Updates
- Bump
maven-surefire-plugin.versionfrom 3.3.0 → 3.3.1 #1200 - Bump
org.hamcrest:hamcrestfrom 2.2 → 3.0 #1201 - Bump
org.assertj:assertj-corefrom 3.26.0 → 3.26.3 #1202 - Bump
junit.versionfrom 5.10.2 → 5.10.3 #1204 - Bump
maven-javadoc-pluginfrom 3.7.0 → 3.11.1 #1231 - Bump
junit.versionfrom 5.10.3 → 5.11.3 #1236 - Bump
commons-io:commons-iofrom 2.16.1 → 2.18.0 #1237 - Bump
icu4jfrom 75.1 → 76.1 #1238 - Bump
fopfrom 2.9 → 2.10 #1239 - Bump
checkstylefrom 10.17.0 → 10.20.1 #1240 - Bump
maven-jxr-pluginfrom 3.4.0 → 3.6.0 #1242 - Bump
maven-site-pluginfrom 3.12.1 → 3.21.0 #1243 - Bump
maven-gpg-pluginfrom 3.2.4 → 3.2.7 #1244 - Bump
maven-surefire-plugin.versionfrom 3.3.1 → 3.5.2 #1245 - Bump
bouncycastle.versionfrom 1.78.1 → 1.79 #1246 - Bump
commons-io:commons-iofrom 2.18.0 → 2.19.0 #1305 - Bump
fopfrom 2.10 → 2.11 #1303 - Bump
maven-bundle-pluginfrom 5.1.9 → 6.0.0 #1302 - Bump
maven-compiler-pluginfrom 3.13.0 → 3.14.0 #1301 - Bump
maven-javadoc-pluginfrom 3.11.1 → 3.11.2 #1304 - Bump
maven-surefire-plugin.versionfrom 3.5.2 → 3.5.3 #1309 - Bump
maven-clean-pluginfrom 3.4.0 → 3.4.1 #1312 - Bump
validation-modelfrom 1.26.1 → 1.28.1 #1311 - Bump
icu4jfrom 76.1 → 77.1 #1313 - Bump
maven-checkstyle-pluginfrom 3.4.0 → 3.6.0 #1310 - Bump
checkstylefrom 10.20.1 → 10.23.1 #1314 - Bump
bouncycastle.versionfrom 1.79 → 1.80 #1316 - Bump
pitest-junit5-pluginfrom 1.2.1 → 1.2.2 #1315 - Bump
junit.versionfrom 5.11.3 → 5.12.2 #1318 - Bump
assertj-corefrom 3.26.3 → 3.27.3 #1317 - Bump
jacoco-maven-pluginfrom 0.8.12 → 0.8.13 #1320
🧑💻 New Contributors
- @StevenStreasick in #1195
- @ForNeVeR in #1206
- @sinansonmez in #1277
- @gtoison in #1278
- @maayanb180 in #1271
- @hemat0gen in #1279
- @olivierDelierre in #1285
- @scottmore in #1299
- @DarkMike-ru in #1283
Full Changelog: 2.0.3...2.0.4
OpenPDF 2.0.3
What's Changed
- Bump bouncycastle.version from 1.77 to 1.78 by @dependabot in #1134
- Optimization, Test of supplementary multilingual plane by @vk-github18 in #1130
- Improve if statement readability and fix documentation typo by @dukbong in #1133
- DeltaX, deltaY in LayoutProcessor made equal by @vk-github18 in #1135
- Bump commons-io:commons-io from 2.16.0 to 2.16.1 by @dependabot in #1137
- Add missing wiki examples by @jabhatfield in #1139
- Improved maintainability and reduced logical complexity by @dukbong in #1136
- Refactored data clumps with the help of LLMs (research project) by @compf in #1140
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.2 to 3.2.3 by @dependabot in #1142
- PdfStructureTreeRoot update - fixing Page linking by @luzhanov in #1145
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.0 by @dependabot in #1146
- Bump org.verapdf:validation-model from 1.24.1 to 1.24.2 by @dependabot in #1147
- Bump com.ibm.icu:icu4j from 74.2 to 75.1 by @dependabot in #1148
- Update README.md and CONTRIBUTING.md, to require real name of contributors by @andreasrosdal in #1150
- Bump bouncycastle.version from 1.78 to 1.78.1 by @dependabot in #1149
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 to 3.4.1 by @dependabot in #1152
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.3 to 3.2.4 by @dependabot in #1153
- Bump com.puppycrawl.tools:checkstyle from 10.15.0 to 10.16.0 by @dependabot in #1157
- #1161 Fix List rendering in ColumnText by @joostme in #1162
- Bump org.verapdf:validation-model from 1.24.2 to 1.26.1 by @dependabot in #1164
- Bump org.assertj:assertj-core from 3.25.3 to 3.26.0 by @dependabot in #1170
- Bump com.puppycrawl.tools:checkstyle from 10.16.0 to 10.17.0 by @dependabot in #1169
- Bump org.apache.maven.plugins:maven-checkstyle-plugin from 3.3.1 to 3.4.0 by @dependabot in #1178
- Bump org.sonatype.plugins:nexus-staging-maven-plugin from 1.6.13 to 1.7.0 by @dependabot in #1171
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.3 to 3.7.0 by @dependabot in #1176
- Bump org.apache.maven.plugins:maven-jxr-plugin from 3.3.2 to 3.4.0 by @dependabot in #1177
- Allow PdfCopy to be used for writing new pages by @rasmusfaber in #1166
- Bump jakarta.servlet:jakarta.servlet-api from 6.0.0 to 6.1.0 by @dependabot in #1180
- Bump maven-surefire-plugin.version from 3.2.5 to 3.3.0 by @dependabot in #1182
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.1 to 3.4.2 by @dependabot in #1185
- Bump org.apache.maven.plugins:maven-clean-plugin from 3.3.2 to 3.4.0 by @dependabot in #1186
- Bump org.apache.maven.plugins:maven-release-plugin from 3.0.1 to 3.1.1 by @dependabot in #1192
New Contributors
- @dukbong made their first contribution in #1133
- @compf made their first contribution in #1140
- @joostme made their first contribution in #1162
- @rasmusfaber made their first contribution in #1166
Full Changelog: 2.0.2...2.0.3
OpenPDF 2.0.2
What's Changed
- Fixes: #897 JavaDoc for setFont() augmented by @asturio in #1092
- #1077: PdfPrinterGraphics2D does not override create by @mperktold in #1093
- Bump com.puppycrawl.tools:checkstyle from 10.14.0 to 10.14.1 by @dependabot in #1099
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.1.0 to 3.2.0 by @dependabot in #1100
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.0 to 3.2.2 by @dependabot in #1115
- Bump com.puppycrawl.tools:checkstyle from 10.14.1 to 10.14.2 by @dependabot in #1104
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.1 to 3.13.0 by @dependabot in #1106
- #407: Add Text extraction tutorial example to Wiki by @jabhatfield in #1108
- #1110: Images examples in pdf-toolbox fails to find the images by @jabhatfield in #1111
- Use operators Ts and TJ for glyph layout. Some refactorings. by @vk-github18 in #1114
- Added support of PdfIndirectReference used for coordinates in /Rect, /BBox by @sa-sh in #1116
- Bump commons-io:commons-io from 2.15.1 to 2.16.0 by @dependabot in #1118
- Small refactoring - moved rectangle normalization into PdfRectangle constructor to avoid issues with using this constructor in the future by @sa-sh in #1117
- Bump com.puppycrawl.tools:checkstyle from 10.14.2 to 10.15.0 by @dependabot in #1124
- Bump org.jacoco:jacoco-maven-plugin from 0.8.11 to 0.8.12 by @dependabot in #1126
- Bump org.apache.maven.plugins:maven-source-plugin from 3.3.0 to 3.3.1 by @dependabot in #1129
- PdfStructureTreeRoot update - allowing to save Object References by @luzhanov in #1127
New Contributors
- @mperktold made their first contribution in #1093
- @jabhatfield made their first contribution in #1108
- @luzhanov made their first contribution in #1127
Full Changelog: 2.0.1...2.0.2
OpenPDF 1.4.2
What's Changed
- Use UTF-8 in .getBytes(), and force running Tests with UTF-8 by @asturio in #1080
- Provide PDF/A conform annotations (backport 1.4) by @vuilleumierc in #1090
- Merge/1.3 in 1.4 by @asturio in #1121
Full Changelog: 1.4.1...1.4.2
OpenPDF 1.3.43
What's Changed
- Added support of PdfIndirectObject for coordinates in /Rect, /BBox by @sa-sh in #1113
- fix for invalid ecdsa oids for signatures by @Lonzak in #1105
Full Changelog: 1.3.42...1.3.43
OpenPDF 1.3.42 - iText compatibility focus
What's Changed
- restore changes that removes java 8 clean methods in commit 5a81749 in class MappedRandomAccessFile by @xexes in #1068
- #1059 When converting HTML to PDF, font size specified in % is interpreted as pixels by @RadekWikturna in #1069
- #1057 Generating PDF from HTML containing CSS font-size property fails with IllegalArgumentException by @RadekWikturna in #1072
- #1061 When converting HTML to PDF, background color is not applied by @RadekWikturna in #1075
- Reverted changes meant for 2.0.0 and restored Java8 compatibility by @Lonzak in #1086
- Provide PDF/A conform annotations (backport 1.3) by @vuilleumierc in #1091
New Contributors
- @xexes made their first contribution in #1068
- @RadekWikturna made their first contribution in #1069
Full Changelog: 1.3.41...1.3.42
OpenPDF 2.0.1
What's Changed
- #1062: Call LayoutProcessor.disable() after Test-Runs by @asturio in #1065
- #156: Throw Exception if PdfWriter.close() is called directly by @asturio in #1081
- Fill missing glyph cmap when enableKernLiga to complete pdf/a3-u requirement. by @forfin in #1082
- Bump com.puppycrawl.tools:checkstyle from 10.13.0 to 10.14.0 by @dependabot in #1087
- Provide PDF/A conform annotations by @vuilleumierc in #1084
- Cleanups after PR #1082 by @asturio in #1088
New Contributors
- @forfin made their first contribution in #1082
- @vuilleumierc made their first contribution in #1084
Full Changelog: 2.0.0...2.0.1