Releases: itext/rups
iText RUPS - 25.03
After more than two years, we are pleased to announce the release of RUPS version 25.03. This release brings a variety of UI/UX improvements, together with a new major feature for debugging digital signatures: support for ASN.1 data structures.
Versioning change
From this release onward, RUPS versions will no longer follow versions of the underlying iText library. Instead, RUPS will use YY.MM
calendar versioning.
ASN.1 support
One of the biggest features of this release is ASN.1 data structure support. Digital signatures, secure timestamps, certificates, CRLs and OCSP responses within a PDF file are now parsed into a tree structure and are shown in the main PDF tree view.
The ASN.1 trees are stored as a "fake" read-only sub-tree under a PDF string or stream object, which contains the encoded ASN.1 data. "Save to File" dialog actions are also supported for these ASN.1 nodes. The raw bytes save option will save the selected node and all its children as raw encoded bytes, while the regular version outputs the sub-tree in a custom human-readable JSON-format.
The provided information is much more user-friendly compared to, something like, openssl-asn1parse
. Here are some of the notable user-friendly features:
- Object identifiers are displayed in both dot and IRI notations.
- If an ASN.1 data structure contains another ASN.1 data structure as just a binary string (ex. X.509 extensions), it also gets parsed into a tree and can be walked through.
- Data structure fields are displayed not as generic ASN.1 data types, but using the names from the corresponding standardization documents. This includes having descriptions for
INTEGER
andENUMERATED
values, description of bit flags within aBIT STRING
and more.
The addition of these user-friendly descriptions and OID mappings is done within RUPS itself in "Corrector" classes, so it doesn't cover everything you could encounter in the wild, but it should cover most of the common objects. If an object is not supported, then it will fall back to a basic type: value
style without additional descriptions.
If you were to encounter a document where an ASN.1 data structure is not described fully, feel free to create an issue or implement a "Corrector" yourself and make a pull request. Every bit of help is greatly appreciated.
New "Look and Feel" themes
The FlatLaf library was added as a new dependency in RUPS, which brings along new "Look and Feel" themes that belong to the current century, and have reasonable file dialog options.
FlatLaf Light is now the default theme for RUPS going forwards. If you already have used RUPS before, the theme won't be changed automatically. But if you want to change the theme to the one of the new ones, you can change it in the "Preferences" window.
This change also brought initial Dark Mode support to RUPS with the "FlatLaf Dark", "FlatLaf Darcula" and "FlatLaf macOS Dark" themes. This is still a work in progress, as there are still some hard-coded colors around and the icons are not adapted for dark mode, but it is already in a useable state.
Notable improvements
Encrypted PDF support
Before, RUPS would always open files in a read-write mode. This caused multiple issues, like, iText modifying some of the original data in the document and not being able to open encrypted files without an owner password.
Now RUPS will open all files in a read-only mode by default, which should give you a better representation of the original document and allows you to open encrypted files with just a user password instead.
If you intend to edit the file instead, you can use the new "Reopen As Owner" dialog option in the "File" menu.
Various UX improvements
There have been various UI/UX improvements. Here is a list of some of the notable ones:
- Tabs with PDF documents can now be closed without having to switch to the tab first.
- RUPS now tracks the list of recently opened files, like a proper editor. You can access it via the "File" menu. Regular open dialog is now also aware of this list and will open the directory of the latest file by default.
- Via the CLI you can now provide multiple paths, so that RUPS will open them at once. You can now also specify file URIs instead of paths as input.
- With Java 11 being the minimum supported Java version there is now native HiDPI support.
- Text objects, marked content, sub-paths and graphic state stack manipulation pairs are now indented in the PDF stream view.
- A new notification widget was added, which is inspired by Snackbars on Android. This new non-intrusive widget will be used for messages which are not too important to warrant popping up a modal dialog.
Save to File improvements
Before, RUPS would only allow you to save PDF streams, while for every other object it would just silently do nothing.
Now you can also save PDF strings and the newly added ASN.1 primitives, while the option is now grayed out for any non-supported types.
Improved macOS support
There have been some changes specific to macOS.
The application bundle build has been improved. Now it works properly with newer versions of Java. It now also uses a universal binary for bootstrapping the application, so the new bundle works natively on both Intel and Apple Silicon machines.
The bundle now also reports that it is a suitable PDF editor. With this, you should now be able to see RUPS in the "Open With" menu within Finder. You should also now be able to just drag PDF files onto the RUPS icon to open them.
New features
- ASN.1 support.
- New modern UI themes.
Improvements
- Add support for recently opened files.
- File URIs are now supported as input file paths.
- Support for opening multiple files at once via the CLI interface.
- Save dialog will now add an explicit .pdf extension and will point to the original file by default.
- Encrypted PDF support.
- Add indentations in the stream pane display.
- Improve error/warning notifications.
- Improve "Save to File" handling.
- Improve macOS support.
Bugfixes
- Fix "XFA" and "Plain Text" panes being editable.
- Remove currently non-working "Compare With" and "Add New Indirect Object" menu items.
- Fix the executable Windows build not honoring
JAVA_HOME
andPATH
in the JRE search, which caused it to, typically, use an old Java 8 installation.
Miscellaneous
- Change versioning scheme to
YY.MM
. - Update Java minimum target to 11.
- Update dependencies to their latest versions.
Full Changelog: 7.2.5...25.03
iText 7 RUPS - 7.2.5
Full Changelog: 7.2.4...7.2.5
iText 7 RUPS - 7.2.4
What's Changed
- Add troubleshooting to README by @YoungJules in #15
New Contributors
- @YoungJules made their first contribution in #15
Full Changelog: 7.2.3...7.2.4
iText 7 RUPS - 7.2.3
We always release our PDF debugging tool RUPS together with iText 7 Core, as it is one of the most important dependencies (so all the goodies in Core also make their way into RUPS).
If you’ve been following the iText Research Teams recent adventures in livestreaming on our YouTube channel, you might already know we’ve been making some RUPS-specific improvements. If you missed out though, you’ll be happy to learn the structure tree viewer now shows the text inside marked content items, which looks like this:
In addition, RUPS now comes with a Preferences file where you can configure some visual settings, set the default home folder, and allow duplicate files to be viewed. This is just the beginning though, so stay tuned for more developments on this front.
Happy debugging!
iText 7 RUPS - 7.2.2
[RELEASE] iText 7 RUPS 7.2.2
iText 7 RUPS - 7.2.1
We always release our PDF debugging tool RUPS together with iText 7 Core, as it is one of the most important dependencies (so all the goodies in Core also make their way into RUPS).
Happy debugging!
iText 7 RUPS - 7.2.0
We always release our PDF debugging tool RUPS together with iText 7 Core, as it is one of the most important dependencies (so all the goodies in Core also make their way into RUPS).
Happy debugging!
iText 7 RUPS - 7.1.16
We always release our PDF debugging tool RUPS together with iText 7 Core, as it is one of the most important dependencies (so all the goodies in Core also make their way into RUPS).
Happy debugging!
iText 7 RUPS - 7.1.15
[RELEASE] iText 7 RUPS - 7.1.15 https://github.com/itext/i7j-rups/releases/tag/7.1.15 * release_branch: [RELEASE] RUPS 7.1.15 Update copyright year to 2021 in class headers [AFTER RELEASE] RUPS 7.1.14
iText 7 RUPS - 7.1.14
[RELEASE] iText 7 RUPS - 7.1.14 https://github.com/itext/i7j-rups/releases/tag/7.1.14 * release/7.1.14: [RELEASE] RUPS 7.1.14 Remove explicit BouncyCastle reference Update CONTRIBUTING.md with latest information and links Update BouncyCastle version to 1.66 Remove package-info.java [AFTER RELEASE] RUPS 7.1.13