xref: /aosp_15_r20/external/xz-java/NEWS (revision 21943e31f48dee19de75c78c0efeb8417c9a67d0)
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