We’re pleased to announce the release of GroupDocs.Metadata for Java 26.11, available as of November 2026. This release reads metadata from eight more formats — five archive formats, OGG Vorbis audio and FB2 and MOBI e-books — and can load a document straight from a URI. Email support grows considerably: MSG files expose about 30 more MAPI properties, several existing ones become editable, and EML attachments can be edited. Metadata.sanitize() now removes much more from PDF documents, and a set of fixes improves CAD previews and file type detection.
What’s new in this release
| Key | Summary | Category |
|---|---|---|
| METADATANET-4251 | Support GZIP, BZ2, XZ and Zstandard archive formats | Feature |
| — | Support the Apple Archive (AAR) format | Feature |
| METADATANET-4083 | Support the OGG (Vorbis) audio format | Feature |
| METADATANET-4077 | Support the FictionBook 2 (FB2) e-book format (read-only) | Feature |
| — | Support the MOBI e-book format | Feature |
| METADATANET-4094 | Load documents from web resources with the new Metadata(URI) constructors |
Feature |
| METADATANET-4121 | MSG: Internet message ID, billing, HTML and RTF body; EML: editable attachments | Feature |
| METADATANET-4123, METADATANET-4124 | MSG: conversation topic, display names, encryption and signature flags, sender and “sent representing” addresses, reply-to, read receipt and other MAPI properties | Feature |
| METADATANET-4110, METADATANET-4111 | Email: getSenderEmailAddress(), editable MSG sender name, body and categories |
Enhancement |
| METADATANET-4099 | MSG: editable delivery time, client submit time and headers | Enhancement |
| — | EmailHeaderPackage.set(String, PropertyValue) adds or updates an email header |
Enhancement |
| — | WordProcessing: HyperlinksChanged, ScaleCrop and SharedDoc properties |
Enhancement |
| METADATANET-4139 | Metadata.sanitize() removes PDF attachments, bookmarks, form fields and digital signatures |
Enhancement |
| METADATANET-4140 | New tags Tags.getTime().getDelivery() and Tags.getTool().getCompression(); more properties are tagged |
Enhancement |
| METADATAJAVA-718 | Aspose libraries updated | Enhancement |
| — | Previews of CAD drawings were empty | Fix |
| — | RAR, 7z and TAR archives could be recognized as MP3 files | Fix |
| — | AVIF images could be recognized as MP3, MOV or HEIF files | Fix |
| — | Smaller fixes: equals/hashCode consistency of raw tags, null-safe JSON import, overflow in size arithmetic, closed streams after ZIP packing | Fix |
Behaviour changes to check before upgrading
- PDF sanitizing removes more.
Metadata.sanitize()now removes annotations, attachments, bookmarks, form fields and digital signatures from PDF documents; before 26.11 it removed annotations only. If a sanitized PDF has to keep these items, don’t callsanitize()on it — remove only the properties you need. - Archives are recognized by their extension. RAR, 7z, TAR and the new archive formats are detected by the file extension, so an archive loaded from an
InputStreamor a URI needs its format set explicitly (see below). - Email sender property renamed. In the property list, the sender property is now named
SenderEmailAddressinstead ofSender. Code that looks the property up by name has to use the new name.EmailPackage.getSender()is deprecated in favour ofgetSenderEmailAddress(). - MPEG audio headers are read-only.
MpegAudioPackagedescribes the audio stream, so its properties — such as the MPEG version, channel mode, bitrate and frequency — can no longer be changed through the property API.
New formats
Archives: AAR, GZIP, BZ2, XZ and Zstandard
The new FileType constants are AAR, GZIP (.gz), BZ2, XZ and ZSTD (.zst). Each format comes with a read-only root package:
| Format | Root package | What it exposes |
|---|---|---|
| AAR | AarRootPackage |
AarPackage: total entries, solid flag, and AarFile entries with name, length and directory flag |
| GZIP | GzipRootPackage |
GzipPackage: name, total entries, compressed and uncompressed size |
| BZ2 | Bz2RootPackage |
Bz2Package: name, total entries, size |
| XZ | XzRootPackage |
XzPackage: name, total entries, size |
| Zstandard | ZstdRootPackage |
ZstdPackage: name, total entries, size |
try (Metadata metadata = new Metadata("backup.gz")) {
GzipRootPackage root = metadata.getRootPackageGeneric();
GzipPackage gzip = root.getGzipPackage();
System.out.println(gzip.getName());
System.out.println(gzip.getSize());
System.out.println(gzip.getUncompressedSize());
}
OGG Vorbis audio
FileType.OGG and OggRootPackage.getOggPackage() were added. OggPackage reads the Vorbis comment fields:
- title, album, track number, artist, performer, genre and date;
- copyright, license, organization, description, location, contact and ISRC;
- the vendor string and the version;
- any remaining comments, through
getOggUserComments().
try (Metadata metadata = new Metadata("track.ogg")) {
OggRootPackage root = metadata.getRootPackageGeneric();
OggPackage ogg = root.getOggPackage();
System.out.println(ogg.getArtist() + " - " + ogg.getTitle());
for (OggUserComment comment : ogg.getOggUserComments()) {
System.out.println(comment.getHeader() + " = " + comment.getValue());
}
}
E-books: FB2 and MOBI
- FictionBook 2 (FB2) —
FileType.FB2andFb2RootPackage.getFb2Package()were added; the format is read-only.Fb2Packagehas four sections: the title info and the source title info (Fb2TitleInfo: book title, authors, genres, keywords, language and sequence), the document info (Fb2DocumentInfo) and the publish info (Fb2PublishInfo). - MOBI —
FileType.MOBIandMobiRootPackage.getMobiPackage()were added.MobiPackageexposes the PDB header (PDBHeader) and the MOBI header (MobiHeader). The full name of the book can be edited withMobiHeader.setFullName(String).
Loading from a URI
Two new constructors load a document straight from a java.net.URI, so you no longer need to download the file yourself:
public Metadata(java.net.URI uri)
public Metadata(java.net.URI uri, LoadOptions loadOptions)
The document is downloaded into memory and then loaded the same way as from a stream. Because archives are now recognized by their extension, set the format explicitly when loading an archive from a stream or a URI:
try (Metadata metadata = new Metadata(inputStream, new LoadOptions(FileFormat.Rar))) {
// ...
}
Email messages
EmailPackage.getSenderEmailAddress()was added;EmailPackage.getSender()is deprecated and returns the same value.EmailPackage.setHeaders(EmailHeaderPackage)andEmailHeaderPackage.set(String, PropertyValue)add or update email headers.EmlPackage.getAttachments()andEmlPackage.setAttachments(EmailAttachmentPackage[])make EML attachments editable.
MsgPackage gains many new properties:
- editable:
Body,Categories,SenderName,DeliveryTime,ClientSubmitTime,Billing,BodyHtml,BodyRtf,ReplyTo,ReadReceiptRequested,SenderSmtpAddress,SentRepresentingEmailAddress,SentRepresentingName,Mileage,Attachments; - read-only:
InternetMessageId,ConversationTopic,DisplayBcc,DisplayCc,DisplayName,DisplayNamePrefix,DisplayTo,NormalizedSubject,SubjectPrefix,SenderAddressType,SentRepresentingAddressType,SentRepresentingSmtpAddress,TransportMessageHeaders, and the flagsisEncrypted(),isSigned()andisTemplate().
try (Metadata metadata = new Metadata("message.msg")) {
MsgRootPackage root = metadata.getRootPackageGeneric();
MsgPackage msg = root.getMsgPackage();
System.out.println(msg.getInternetMessageId());
msg.setSenderName("Support Team");
msg.setCategories(new String[] { "Reviewed" });
metadata.save("message-updated.msg");
}
Other enhancements
Sanitizing PDF documents
Metadata.sanitize() now removes attachments, bookmarks, form fields and digital signatures from PDF documents, not only annotations. This makes it a more thorough way to clean a PDF before sharing it outside your organization.
WordProcessing documents
WordProcessingPackage gains three properties that can be read and edited: HyperlinksChanged, ScaleCrop and SharedDoc.
Tags
Tags.getTime().getDelivery()marks the delivery time of messages.Tags.getTool().getCompression()marks the compression settings of ZIP, PNG and PSD files.
Both tags can be used with ContainsTagSpecification in Metadata.findProperties, and more existing properties are now tagged.
Fixes
- Previews of CAD drawings were empty.
- RAR, 7z and TAR archives could be recognized as MP3 files.
- AVIF images could be recognized as MP3, MOV or HEIF files.
- Smaller fixes: equals/hashCode consistency of raw tags, null-safe JSON import, overflow in size arithmetic, and closed streams after ZIP packing.
Aspose libraries updated
The bundled Aspose libraries are updated to: Aspose.Words 26.8, Aspose.Cells 26.9, Aspose.Slides 26.9, Aspose.PDF 26.8.1, Aspose.Email 26.8, Aspose.CAD 26.8, Aspose.PSD 26.8, Aspose.Diagram 26.9, Aspose.BarCode 26.6, Aspose.Imaging 25.12 and Aspose.ZIP 26.7.
How to get the update
Maven
Add the GroupDocs repository and the dependency to your pom.xml:
<repositories>
<repository>
<id>groupdocs-artifacts-repository</id>
<name>GroupDocs Artifacts Repository</name>
<url>https://releases.groupdocs.com/java/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-metadata</artifactId>
<version>26.11</version>
</dependency>
</dependencies>
Direct download
Download the JAR from the GroupDocs.Metadata for Java 26.11 download page.