1 2XZ for Java release notes 3========================= 4 51.9 (2021-03-12) 6 7 * Add LZMAInputStream.enableRelaxedEndCondition(). It allows 8 decompression of LZMA streams whose uncompressed size is known 9 but it is unknown if the end of stream marker is present. This 10 method is meant to be useful in Apache Commons Compress to 11 support .7z files created by certain very old 7-Zip versions. 12 Such files have the end of stream marker in the LZMA data even 13 though the uncompressed size is known. 7-Zip supports such files 14 and thus other implementations of the .7z format should support 15 them too. 16 17 * Make LZMA/LZMA2 decompression faster. With files that compress 18 extremely well the performance can be a lot better but with 19 more typical files the improvement is minor. 20 21 * Make the CRC64 code faster. 22 23 * Add module-info.java as multi-release JAR. The attribute 24 Automatic-Module-Name was removed. 25 26 * The binaries for XZ for Java 1.9 in the Maven Central now 27 require Java 7. Building the package requires at least Java 9 28 for module-info support but otherwise the code should still be 29 Java 5 compatible (see README and comments in build.properties). 30 311.8 (2018-01-04) 32 33 * Fix a binary compatibility regression: XZ for Java 1.7 binaries 34 in the Maven Central require Java 9 which is too new. XZ for 35 Java 1.8 binaries require Java 5. (XZ for Java 1.6 and older 36 binaries require Java 1.4.) 37 38 If you are using OpenJDK 9 or later, you will need to edit the 39 "sourcever = 1.5" line in the file "build.properties" before 40 running "ant". Set it to 1.6 or higher. The default value 1.5 41 isn't supported by OpenJDK 9 or later. 42 43 * Add "Automatic-Module-Name" = "org.tukaani.xz". 44 451.7 (2017-12-29) 46 47 * Fix LZMA2InputStream.available() which could return a too high 48 value in case of uncompressed LZMA2 chunks. This incorrect 49 value was visible via other available() methods too, for example, 50 XZInputStream.available(). 51 52 * Add the ArrayCache API. It's a pool-like API to reuse large byte 53 and int arrays between compressor and decompressor instances. 54 If you are (de)compressing many tiny files in a row, taking 55 advantage of this API can improve performance significantly. 56 571.6 (2016-11-27) 58 59 * Fix LZMA2Options.getInputStream to work with a preset dictionary. 60 61 * Make it possible to disable verification of integrity checks in 62 XZ decompression. It should almost never be used but may be useful 63 in some rare situations. This feature is available via new 64 constructors in XZInputStream, SingleXZInputStream, and 65 SeekableXZInputStream. 66 67 * Add LZMAOutputStream for encoding to raw LZMA (i.e. LZMA1) streams 68 and to the legacy .lzma format. 69 701.5 (2014-03-08) 71 72 * Fix a wrong assertion in BCJ decoders. 73 74 * Use a field instead of reallocating a temporary one-byte buffer 75 in read() and write() implementations in several classes. 76 771.4 (2013-09-22) 78 79 * Add LZMAInputStream for decoding .lzma files and raw LZMA streams. 80 811.3 (2013-05-12) 82 83 * Fix a data corruption bug when flushing the LZMA2 encoder or 84 when using a preset dictionary. 85 86 * Make information about the XZ Block positions and sizes available 87 in SeekableXZInputStream by adding the following public functions: 88 - int getStreamCount() 89 - int getBlockCount() 90 - long getBlockPos(int blockNumber) 91 - long getBlockSize(int blockNumber) 92 - long getBlockCompPos(int blockNumber) 93 - long getBlockCompSize(int blockNumber) 94 - int getBlockCheckType(int blockNumber) 95 - int getBlockNumber(long pos) 96 - void seekToBlock(int blockNumber) 97 98 * Minor improvements to javadoc comments were made. 99 1001.2 (2013-01-29) 101 102 * Use fields instead of reallocating frequently-needed temporary 103 objects in the LZMA encoder. 104 105 * Fix the contents of xz-${version}-sources.jar. 106 107 * Add OSGi attributes to xz.jar. 108 1091.1 (2012-07-05) 110 111 * The depthLimit argument in the LZMA2Options constructor is 112 no longer ignored. 113 114 * LZMA2Options() can no longer throw UnsupportedOptionsException. 115 116 * Fix bugs in the preset dictionary support in the LZMA2 encoder. 117 1181.0 (2011-10-22) 119 120 * The first stable release 121 122