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