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