We’re happy to announce the release of GroupDocs.Conversion for Java v26.9. This September 2026 release introduces cooperative cancellation for document conversion, adds conversions between compressed-stream formats, and provides a stable Java module name. It also updates the advertised archive conversion pairs, so applications that select conversions dynamically should review the available pairs before upgrading.

What’s new in this release

The .NET issue keys below identify features ported to Java; the summaries describe the formats supported by this Java release.

Key Category Change
CONVERSIONNET-6880 Feature Support cooperative cancellation through cancellation tokens
CONVERSIONNET-7032 Feature Convert Bzip2, Gzip, XZ, and Unix Z to LZMA
CONVERSIONNET-7019 Feature Convert LZMA to Bzip2 and Gzip
CONVERSIONNET-7020 Feature Convert Unix Z to Bzip2 and Gzip
CONVERSIONNET-7030 Feature Convert Bzip2, Gzip, LZMA, and Unix Z to XZ
CONVERSIONNET-7029 Feature Convert XZ to Bzip2 and Gzip
CONVERSIONNET-7028 Feature Convert Gzip to Bzip2
CONVERSIONNET-7021 Feature Convert Bzip2 to Gzip
CONVERSIONJAVA-3238 Task Resolve package verification findings in groupdocs-conversion-26.7.jar

The release JAR also declares Automatic-Module-Name: com.groupdocs.conversion for applications using the Java module system.

Public API changes

Cooperative cancellation

Two new classes, com.groupdocs.conversion.CancellationToken and com.groupdocs.conversion.CancellationTokenSource, let an application request that a conversion stop. All public Converter.convert(...) and Converter.convertPageByPage(...) methods now have overloads with a final CancellationToken parameter. The fluent conversion executor also adds ConversionExecutor.convert(CancellationToken).

Existing overloads remain available and use CancellationToken.NONE, so existing conversion calls do not require changes.

Create a token source and pass its token to the conversion:

import com.groupdocs.conversion.CancellationTokenSource;
import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
import java.util.concurrent.CancellationException;

CancellationTokenSource cancellationSource = new CancellationTokenSource();

try (Converter converter = new Converter("input.docx")) {
    // An application cancellation handler can call cancellationSource.cancel()
    // from another thread while this conversion runs.
    converter.convert(
        "converted.pdf",
        new PdfConvertOptions(),
        cancellationSource.getToken()
    );
} catch (CancellationException ex) {
    System.out.println("Conversion was cancelled.");
}

Call cancellationSource.cancel() when the user cancels a job or the application decides to stop it. Cancellation is checked between conversion operations: an operation already running finishes before cancellation is observed. The conversion then raises java.util.concurrent.CancellationException.

Output already written is not rolled back, so applications should handle partial output when cancelling a job. A cancelled source cannot be reset; create a new source for a new job. Passing a null token raises NullPointerException.

Compressed-stream conversions

Version 26.9 supports the following compressed-stream sources and targets, including same-format conversion:

Direction Supported formats
Source Bzip2 (Bz2), Gzip (Gz and Gzip), LZMA (Lzma), XZ (Xz), Unix Z (Z)
Target Bzip2, Gzip, LZMA, XZ

Unix Z is supported as a source, but is not a target in this release.

Use CompressionConvertOptions.setFormat(...) to select the output format. For example, convert a Gzip stream to LZMA:

import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.filetypes.CompressionFileType;
import com.groupdocs.conversion.options.convert.CompressionConvertOptions;

CompressionConvertOptions options = new CompressionConvertOptions();
options.setFormat(CompressionFileType.Lzma);

try (Converter converter = new Converter("input.gz")) {
    converter.convert("converted.lzma", options);
}

Archive conversion compatibility

The advertised archive conversion pairs are now restricted to conversions within ZIP, 7z, TAR, and CPIO. Applications that relied on the previously advertised archive-to-compressed-stream pairs should review the available conversions before upgrading. The compressed-stream source and target formats listed above describe a separate group of supported conversions.

Stable Java module name

The release JAR declares the following manifest entry:

Automatic-Module-Name: com.groupdocs.conversion

This gives applications using the Java module system a stable module name. A modular application can refer to it in module-info.java:

module example.conversion {
    requires com.groupdocs.conversion;
}

How to get the update

Maven

Add the GroupDocs repository and the 26.9 dependency to your pom.xml, or update the version in your existing dependency:

<repositories>
    <repository>
        <id>groupdocs-artifacts-repository</id>
        <url>https://repository.groupdocs.com/repo/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-conversion</artifactId>
        <version>26.9</version>
    </dependency>
</dependencies>

You can also browse the GroupDocs.Conversion for Java Maven repository.

Direct download

Download the Java package from the GroupDocs.Conversion for Java releases page.

Resources