Introduction

XZ for Java aims to be a complete implementation of XZ data compression in pure Java.

Features:

  • Single-threaded streamed compression and decompression

  • Random access decompression

  • LZMA2, Delta, and BCJ filters

  • Support for the old .lzma format in addition to .xz

  • Raw compressed streams without any file format headers

Threading is planned but has not been implemented.

The main source code is Java 8 compatible. Module support and speed optimizations are available for Java 9 and later as multi-release JAR.

Documentation

The API documentation was generated from the latest release with javadoc.

Releases

Version 1.10 was released on 2024-07-29. See the NEWS.md file for the summary of changes between versions.

The release files have been signed with this OpenPGP key.

Source code

xz-java-1.10.zip

176 KiB

signature

2024-07-29

xz-java-1.9.zip

153 KiB

signature

2021-03-12

xz-java-1.8.zip

149 KiB

signature

2018-01-04

xz-java-1.7.zip

149 KiB

signature

2017-12-29

xz-java-1.6.zip

136 KiB

signature

2016-11-27

xz-java-1.5.zip

129 KiB

signature

2014-03-08

xz-java-1.4.zip

129 KiB

signature

2013-09-22

xz-java-1.3.zip

121 KiB

signature

2013-05-12

xz-java-1.2.zip

117 KiB

signature

2013-01-29

xz-java-1.1.zip

117 KiB

signature

2012-07-05

xz-java-1.0.zip

117 KiB

signature

2011-10-22

Binaries

XZ for Java is available in Maven Central:

  • groupId = org.tukaani

  • artifactId = xz

Development

The Git repository is on GitHub:

git clone https://github.com/tukaani-project/xz-java

The repository is mirrored to git.tukaani.org as well.

Licensing

From the version 1.10 onwards, XZ for Java is under the BSD Zero Clause License (0BSD).

Version 1.9 and older are in the public domain.

Reporting bugs

Bugs can be reported on GitHub or via email or IRC. If a security issue has been discovered, please report it privately via email (encrypted if possible) or use the Report a vulnerability button in the security section on GitHub.