GroupDocs.Metadata for Java 26.7 Release Notes

Full list of changes in this release

IDSummaryCategory
METADATANET-4171PDF/A & PDF/X format detection: new PdfFormat enum; PdfTypePackage.getPdfFormat()/isPdfA()/isPdfX(); mapping from Aspose.Pdf.PdfFormat; PdfRootPackage passes underlying formatFeature
METADATANET-4215Supported file-type feature matrix: FileTypeFeatureSupport.getSupportedFileTypeFeatures(...) + FeatureSupport / FormatFamily / ProductFeature / SupportLevel / SupportDetailFeature
METADATANET-4213MSG HTML body discarded when saving: added MsgWrapper.save(Stream), MsgRootPackage.commitChanges now delegates to wrapper.save(); regression test METADATANET_4213Fix
METADATAJAVAWordProcessing save: preserve OOXML compliance (getSaveOptions / getEncryptionSaveOptions / getLoadCompliance / supportOoxml), loadFormat derived via saveFormatToLoadFormatFix
METADATAJAVACr2Writer.insertBytes(byte): fix high-byte sign-extension when writing CR2 (bytes[0]=value; bytes[1]=0)Fix
METADATAJAVAImageRootPackage.getSize(): wrap original cause — new GroupDocsMetadataException("Could not determine the image size", e)Fix
METADATAJAVANoteRootPackage: null-guard page title (getTitle() != null && getTitleText() != null) before reading textFix
METADATAJAVAPresentationPreviewCreator: fix off-by-one slide index in the resolution branch (pageNumberpageNumber - 1)Fix
METADATAJAVADocumentFormatTestBase.documentFormat_Encrypted_NoPassword_Test: also catches DocumentProtectedException thrown during loadTest
METADATAJAVAExportTest: add export_NoteToJsonFile_Test (OneNote → JSON export, ExportManager / ExportFormat.Json)Test
METADATAJAVAPsdTest: guard XMP packages length (getPackages().length != 0) before comparing namespacesTest
METADATAJAVAMainInputCasesFactory: fix RAR test-data path Archive\RARArchive\RarTest
METADATAJAVAPdfFormat enum: add Javadoc for the type and every constantUpdate
METADATAJAVAEvaluation release date / version updated to 26.6 (MetadataAssemblyConstants.RELEASE_DATE)Update

PDF/A & PDF/X detection (METADATANET-4171)

PDF file types now expose the detected PDF standard. PdfTypePackage gains getPdfFormat() returning the new PdfFormat enum (PDF/A-1a…A-4f, PDF/X-1a…X-4, PDF 1.0–2.0, PDF/UA-1, ZUGFeRD, Unknown), plus convenience checks isPdfA() and isPdfX(). The value is resolved from the underlying Aspose.Pdf.PdfFormat via PdfRootPackage.loadFileFormat().

Supported file-type feature matrix (METADATANET-4215)

A new FileTypeFeatureSupport API reports which product features (AutoDetection, Read, Edit, Remove) are supported for each file type, grouped by FormatFamily. Query the whole matrix with getSupportedFileTypeFeatures(), or a single entry by FileType or extension. Supporting types added: FeatureSupport, SupportLevel, SupportDetail, ProductFeature, FormatFamily. The matrix reflects the formats actually available in the Java distribution.

MSG HTML body preserved on save (METADATANET-4213)

Saving an MSG file no longer risks discarding the HTML body. Saving is now routed through a dedicated MsgWrapper.save(Stream) (setLength(0) + MapiMessage.save), invoked from MsgRootPackage.commitChanges. A regression test (METADATANET_4213, data provider Metadatanet4213) covers the load → save round-trip.

OOXML compliance preserved on save

When saving WordProcessing documents, the original OOXML compliance level is now detected from the loaded document and reapplied to the save options (OoxmlSaveOptions.setCompliance), both for encrypted and plain saves, so re-saved DOCX/DOCM/DOTX/DOTM/FlatOpc files keep their compliance.