GroupDocs.Metadata for Java 26.7 Release Notes
Full list of changes in this release
| ID | Summary | Category |
|---|---|---|
| METADATANET-4171 | PDF/A & PDF/X format detection: new PdfFormat enum; PdfTypePackage.getPdfFormat()/isPdfA()/isPdfX(); mapping from Aspose.Pdf.PdfFormat; PdfRootPackage passes underlying format | Feature |
| METADATANET-4215 | Supported file-type feature matrix: FileTypeFeatureSupport.getSupportedFileTypeFeatures(...) + FeatureSupport / FormatFamily / ProductFeature / SupportLevel / SupportDetail | Feature |
| METADATANET-4213 | MSG HTML body discarded when saving: added MsgWrapper.save(Stream), MsgRootPackage.commitChanges now delegates to wrapper.save(); regression test METADATANET_4213 | Fix |
| METADATAJAVA | WordProcessing save: preserve OOXML compliance (getSaveOptions / getEncryptionSaveOptions / getLoadCompliance / supportOoxml), loadFormat derived via saveFormatToLoadFormat | Fix |
| METADATAJAVA | Cr2Writer.insertBytes(byte): fix high-byte sign-extension when writing CR2 (bytes[0]=value; bytes[1]=0) | Fix |
| METADATAJAVA | ImageRootPackage.getSize(): wrap original cause — new GroupDocsMetadataException("Could not determine the image size", e) | Fix |
| METADATAJAVA | NoteRootPackage: null-guard page title (getTitle() != null && getTitleText() != null) before reading text | Fix |
| METADATAJAVA | PresentationPreviewCreator: fix off-by-one slide index in the resolution branch (pageNumber → pageNumber - 1) | Fix |
| METADATAJAVA | DocumentFormatTestBase.documentFormat_Encrypted_NoPassword_Test: also catches DocumentProtectedException thrown during load | Test |
| METADATAJAVA | ExportTest: add export_NoteToJsonFile_Test (OneNote → JSON export, ExportManager / ExportFormat.Json) | Test |
| METADATAJAVA | PsdTest: guard XMP packages length (getPackages().length != 0) before comparing namespaces | Test |
| METADATAJAVA | MainInputCasesFactory: fix RAR test-data path Archive\RAR → Archive\Rar | Test |
| METADATAJAVA | PdfFormat enum: add Javadoc for the type and every constant | Update |
| METADATAJAVA | Evaluation 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.