GroupDocs.Redaction for Java 26.7 Release Notes

Full list of changes in this release

IDSummaryCategory
REDACTIONNET-572Specify file type when opening a document (stream or file) via LoadOptions(FileType)Feature
REDACTIONNET-572Recognize new formats: Slides POTX/POTM/OTP; Words .ott added to extension filtersFeature
REDACTIONNET-775HTML/Markdown processed via Aspose.Words instead of Aspose.Html (HTML as text, Markdown as Word)Feature
REDACTIONNET-775Add StreamHelper and StringProcessingResult; remove AsposeHtmlStreamAdapterUpdate
REDACTIONNET-721Fix Aspose.Imaging issues: EXIF tag list cleanup, DICOM save options, multipage image saveFix
REDACTIONNET-721WordsEmbeddedImageAccessor.readImage: load image without disposing the source stream earlyFix
REDACTIONNET-740Improve Images EXIF processing: additional EXIF properties, skip properties that fail reflectionFix
REDACTIONNET-740ImagesDocument getProperty() helper (declared-only lookup with fallback)Update
REDACTIONNET-725Code Quality: simplify getSaveOptions(), make getProperty() staticUpdate
REDACTIONJAVAMigrate .gitlab-ci.yml from cmd/batch to PowerShell (runner now uses PowerShell executor)Fix

Specify file type when opening a document (REDACTIONNET-572)

Format detection can now be overridden by supplying a FileType through LoadOptions:

try (Redactor redactor = new Redactor(stream, new LoadOptions(FileType.getPDF()))) {
    // a stream without an extension is treated as PDF
}

When LoadOptions.getFileType() is set to a value other than FileType.getUnknown(), auto-detection is skipped and the specified type is used — for streams and for file paths, even when the file extension does not match. Redactor.determineFormat(...) was extended with a load-options-aware overload. New format recognition was added: PowerPoint POTX/POTM and OpenDocument OTP (Slides), and OpenDocument OTT (Words); the Words and Slides extension filters were updated accordingly.

HTML/Markdown processed via Aspose.Words (REDACTIONNET-775)

HTML and Markdown documents are now handled with Aspose.Words instead of Aspose.Html. Markdown is redacted by traversing the Words document (Section/Paragraph/Run), while HTML is redacted as raw text and written back preserving its original encoding (with the evaluation notice injected for unlicensed use). Supporting helpers StreamHelper and StringProcessingResult were added, and the now-unused AsposeHtmlStreamAdapter was removed.

Aspose.Imaging fixes (REDACTIONNET-721)

Fixes aligned with newer Aspose.Imaging behavior in ImagesDocument: the EXIF tag list was cleaned up (removing tags no longer surfaced by the library), a DICOM-specific save option path and correct save handling for multipage images were added, and WordsEmbeddedImageAccessor.readImage no longer disposes the source stream prematurely.

Improved image EXIF processing (REDACTIONNET-740)

EXIF extraction was extended with additional properties (IsBigEndian, ISOSpeedValue, MakerNoteData, MakerNoteRawData, MakerNotes, Thumbnail, XResolution, YResolution) and hardened: property lookup prefers declared-only members with a fallback, and values that throw during reflection access are skipped instead of failing the whole operation.

CI/CD: PowerShell pipeline (REDACTIONJAVA)

The GitLab runner now executes jobs with the PowerShell shell executor, so .gitlab-ci.yml was migrated from cmd/batch syntax (call, set X=Y, %VAR%, where, set /p) to PowerShell ($env:VAR, where.exe, Get-ChildItem, Get-Content). This fixes the run_cleanup job (and all other jobs) that failed with The term 'call' is not recognized.