extzstd 0.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/HISTORY.ja.md +39 -0
- data/README.md +38 -56
- data/contrib/zstd/CHANGELOG +613 -0
- data/contrib/zstd/CODE_OF_CONDUCT.md +5 -0
- data/contrib/zstd/CONTRIBUTING.md +406 -0
- data/contrib/zstd/COPYING +339 -0
- data/contrib/zstd/Makefile +420 -0
- data/contrib/zstd/README.md +179 -41
- data/contrib/zstd/TESTING.md +44 -0
- data/contrib/zstd/appveyor.yml +292 -0
- data/contrib/zstd/lib/BUCK +234 -0
- data/contrib/zstd/lib/Makefile +451 -0
- data/contrib/zstd/lib/README.md +207 -0
- data/contrib/zstd/{common → lib/common}/bitstream.h +187 -138
- data/contrib/zstd/lib/common/compiler.h +288 -0
- data/contrib/zstd/lib/common/cpu.h +213 -0
- data/contrib/zstd/lib/common/debug.c +24 -0
- data/contrib/zstd/lib/common/debug.h +107 -0
- data/contrib/zstd/lib/common/entropy_common.c +362 -0
- data/contrib/zstd/{common → lib/common}/error_private.c +25 -12
- data/contrib/zstd/{common → lib/common}/error_private.h +14 -10
- data/contrib/zstd/{common → lib/common}/fse.h +173 -92
- data/contrib/zstd/{common → lib/common}/fse_decompress.c +149 -85
- data/contrib/zstd/lib/common/huf.h +361 -0
- data/contrib/zstd/{common → lib/common}/mem.h +115 -59
- data/contrib/zstd/lib/common/pool.c +350 -0
- data/contrib/zstd/lib/common/pool.h +84 -0
- data/contrib/zstd/lib/common/threading.c +122 -0
- data/contrib/zstd/lib/common/threading.h +155 -0
- data/contrib/zstd/{common → lib/common}/xxhash.c +55 -96
- data/contrib/zstd/{common → lib/common}/xxhash.h +23 -47
- data/contrib/zstd/lib/common/zstd_common.c +83 -0
- data/contrib/zstd/lib/common/zstd_deps.h +111 -0
- data/contrib/zstd/lib/common/zstd_errors.h +95 -0
- data/contrib/zstd/lib/common/zstd_internal.h +478 -0
- data/contrib/zstd/{compress → lib/compress}/fse_compress.c +214 -319
- data/contrib/zstd/lib/compress/hist.c +181 -0
- data/contrib/zstd/lib/compress/hist.h +75 -0
- data/contrib/zstd/lib/compress/huf_compress.c +913 -0
- data/contrib/zstd/lib/compress/zstd_compress.c +5208 -0
- data/contrib/zstd/lib/compress/zstd_compress_internal.h +1203 -0
- data/contrib/zstd/lib/compress/zstd_compress_literals.c +158 -0
- data/contrib/zstd/lib/compress/zstd_compress_literals.h +29 -0
- data/contrib/zstd/lib/compress/zstd_compress_sequences.c +433 -0
- data/contrib/zstd/lib/compress/zstd_compress_sequences.h +54 -0
- data/contrib/zstd/lib/compress/zstd_compress_superblock.c +849 -0
- data/contrib/zstd/lib/compress/zstd_compress_superblock.h +32 -0
- data/contrib/zstd/lib/compress/zstd_cwksp.h +561 -0
- data/contrib/zstd/lib/compress/zstd_double_fast.c +521 -0
- data/contrib/zstd/lib/compress/zstd_double_fast.h +38 -0
- data/contrib/zstd/lib/compress/zstd_fast.c +496 -0
- data/contrib/zstd/lib/compress/zstd_fast.h +37 -0
- data/contrib/zstd/lib/compress/zstd_lazy.c +1412 -0
- data/contrib/zstd/lib/compress/zstd_lazy.h +87 -0
- data/contrib/zstd/lib/compress/zstd_ldm.c +660 -0
- data/contrib/zstd/lib/compress/zstd_ldm.h +116 -0
- data/contrib/zstd/lib/compress/zstd_opt.c +1345 -0
- data/contrib/zstd/lib/compress/zstd_opt.h +56 -0
- data/contrib/zstd/lib/compress/zstdmt_compress.c +1811 -0
- data/contrib/zstd/lib/compress/zstdmt_compress.h +110 -0
- data/contrib/zstd/lib/decompress/huf_decompress.c +1350 -0
- data/contrib/zstd/lib/decompress/zstd_ddict.c +244 -0
- data/contrib/zstd/lib/decompress/zstd_ddict.h +44 -0
- data/contrib/zstd/lib/decompress/zstd_decompress.c +1930 -0
- data/contrib/zstd/lib/decompress/zstd_decompress_block.c +1540 -0
- data/contrib/zstd/lib/decompress/zstd_decompress_block.h +62 -0
- data/contrib/zstd/lib/decompress/zstd_decompress_internal.h +190 -0
- data/contrib/zstd/{common → lib/deprecated}/zbuff.h +68 -45
- data/contrib/zstd/lib/deprecated/zbuff_common.c +26 -0
- data/contrib/zstd/lib/deprecated/zbuff_compress.c +147 -0
- data/contrib/zstd/lib/deprecated/zbuff_decompress.c +75 -0
- data/contrib/zstd/lib/dictBuilder/cover.c +1245 -0
- data/contrib/zstd/lib/dictBuilder/cover.h +157 -0
- data/contrib/zstd/{dictBuilder → lib/dictBuilder}/divsufsort.c +3 -3
- data/contrib/zstd/{dictBuilder → lib/dictBuilder}/divsufsort.h +0 -0
- data/contrib/zstd/lib/dictBuilder/fastcover.c +758 -0
- data/contrib/zstd/{dictBuilder → lib/dictBuilder}/zdict.c +318 -194
- data/contrib/zstd/lib/dictBuilder/zdict.h +305 -0
- data/contrib/zstd/{legacy → lib/legacy}/zstd_legacy.h +171 -15
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v01.c +191 -124
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v01.h +19 -5
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v02.c +125 -125
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v02.h +19 -5
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v03.c +125 -124
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v03.h +20 -6
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v04.c +151 -299
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v04.h +19 -5
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v05.c +237 -243
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v05.h +19 -6
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v06.c +130 -143
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v06.h +18 -5
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v07.c +158 -157
- data/contrib/zstd/{legacy → lib/legacy}/zstd_v07.h +19 -5
- data/contrib/zstd/lib/libzstd.pc.in +15 -0
- data/contrib/zstd/lib/zstd.h +2391 -0
- data/ext/depend +2 -0
- data/ext/extconf.rb +15 -6
- data/ext/extzstd.c +76 -145
- data/ext/extzstd.h +80 -31
- data/ext/extzstd_stream.c +417 -142
- data/ext/libzstd_conf.h +8 -0
- data/ext/zstd_common.c +10 -7
- data/ext/zstd_compress.c +14 -5
- data/ext/zstd_decompress.c +5 -4
- data/ext/zstd_dictbuilder.c +9 -4
- data/ext/zstd_dictbuilder_fastcover.c +3 -0
- data/ext/zstd_legacy_v01.c +3 -1
- data/ext/zstd_legacy_v02.c +3 -1
- data/ext/zstd_legacy_v03.c +3 -1
- data/ext/zstd_legacy_v04.c +3 -1
- data/ext/zstd_legacy_v05.c +3 -1
- data/ext/zstd_legacy_v06.c +3 -1
- data/ext/zstd_legacy_v07.c +3 -1
- data/gemstub.rb +10 -24
- data/lib/extzstd.rb +64 -179
- data/lib/extzstd/version.rb +6 -1
- data/test/test_basic.rb +9 -6
- metadata +113 -57
- data/HISTORY.ja +0 -5
- data/contrib/zstd/common/entropy_common.c +0 -225
- data/contrib/zstd/common/huf.h +0 -228
- data/contrib/zstd/common/zstd_common.c +0 -83
- data/contrib/zstd/common/zstd_errors.h +0 -60
- data/contrib/zstd/common/zstd_internal.h +0 -267
- data/contrib/zstd/compress/huf_compress.c +0 -533
- data/contrib/zstd/compress/zbuff_compress.c +0 -319
- data/contrib/zstd/compress/zstd_compress.c +0 -3264
- data/contrib/zstd/compress/zstd_opt.h +0 -900
- data/contrib/zstd/decompress/huf_decompress.c +0 -883
- data/contrib/zstd/decompress/zbuff_decompress.c +0 -252
- data/contrib/zstd/decompress/zstd_decompress.c +0 -1842
- data/contrib/zstd/dictBuilder/zdict.h +0 -111
- data/contrib/zstd/zstd.h +0 -640
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e4e56ebb5f90203fdb75edc0e6bf0d1a7c52b0cd39eba39fd79e759e61e6d159
|
4
|
+
data.tar.gz: ebaf4a264c678b3e11951ea7b42ac7338d1d5f1246ec90326a5913bfb9c795ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4807023d38a23f81780d3a4c3e7b745781d6bb34369f2dda14345e6959df715da1969a6af89e404dc702cfe07d941ecf0d48bad5ea5b91041b8b4f3131239c60
|
7
|
+
data.tar.gz: 90c90309273506ee9f466efd56fdff168849d0cd5156116b300fc78b48767756c06de8cf37af0a028f63722cd218366d4b581805fb5f05d32898c4ac550ce286
|
data/HISTORY.ja.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# extzstd の更新履歴
|
2
|
+
|
3
|
+
## extzstd-0.3.1 (令和2年10月3日 土曜日)
|
4
|
+
|
5
|
+
* zstd-1.4.5 への更新
|
6
|
+
* ruby-2.7 が警告するキーワード引数に関して修正
|
7
|
+
* ".so" ファイルの読み込みに `require` を使う
|
8
|
+
参照: [extlz4#2](https://github.com/dearblue/ruby-extlz4/issues/2)
|
9
|
+
|
10
|
+
|
11
|
+
## extzstd-0.3 (平成31年4月)
|
12
|
+
|
13
|
+
* zstd-1.4.0 への更新
|
14
|
+
* Zstd::Encoder#write に文字列以外を与えた場合でも文字列に変換するようにして受け入れるように修正
|
15
|
+
* Zstd::Decoder#read の buf 引数として nil を与えた場合例外が発生していたため修正
|
16
|
+
* zstd に関する例外が発生する時、例外オブジェクトの生成に失敗していたため修正
|
17
|
+
* Zstd::EncodeParameter.new に新しいキーワード引数を追加
|
18
|
+
* Zstd::Encoder に #close と #pos メソッドを追加
|
19
|
+
* `.to_zstd` / `.unzstd` メソッドを `Zstd` リファインメントとして追加
|
20
|
+
* `encode` の別名として `compress` を追加
|
21
|
+
* `decode` の別名として `decompress` / `uncompress` を追加
|
22
|
+
|
23
|
+
|
24
|
+
## extzstd-0.2 (平成30年2月1日 木曜日)
|
25
|
+
|
26
|
+
* zstd-1.3.3 への更新
|
27
|
+
* 細分化されていた例外クラスを Zstd::Error クラスへ集約
|
28
|
+
* Zstd::StreamEncoder クラスを Zstd::Encoder クラスへ集約
|
29
|
+
* Zstd::StreamDecoder クラスを Zstd::Decoder クラスへ集約
|
30
|
+
|
31
|
+
|
32
|
+
## extzstd-0.1.1 (平成29年3月28日 火曜日)
|
33
|
+
|
34
|
+
* zstd-1.1.4 への更新
|
35
|
+
|
36
|
+
|
37
|
+
## extzstd-0.1 (平成28年11月2日 (水曜日))
|
38
|
+
|
39
|
+
初版
|
data/README.md
CHANGED
@@ -1,68 +1,19 @@
|
|
1
1
|
# extzstd - ruby bindings for Zstd (Zstandard)
|
2
2
|
|
3
|
-
This is unofficial ruby bindings for compression library
|
3
|
+
This is unofficial ruby bindings for the data compression library
|
4
4
|
[Zstd (Zstandard)](https://github.com/facebook/zstd).
|
5
5
|
|
6
|
-
* package name: extzstd
|
7
|
-
* version: 0.1
|
8
|
-
* software quality: EXPERIMENTAL
|
9
|
-
* license: BSD-2-clause License
|
10
|
-
* author: dearblue <mailto:dearblue@users.osdn.me>
|
11
|
-
* report issue to: <https://osdn.jp/projects/rutsubo/ticket/>
|
12
|
-
* dependency ruby: ruby-2.1+
|
13
|
-
* dependency ruby gems: (none)
|
14
|
-
* dependency library: (none)
|
15
|
-
* bundled external C library:
|
16
|
-
* zstd-1.1.1 <https://github.com/facebook/zstd/tree/v1.1.1>
|
17
|
-
|
18
|
-
under BSD-3-clause License <https://github.com/facebook/zstd/blob/v1.1.1/LICENSE>
|
19
|
-
|
20
|
-
by facebook <https://github.com/facebook>
|
21
|
-
|
22
6
|
"extzstd" is supported decompression with the legacy formats (zstd-0.1 - 0.7).
|
23
7
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
* encoder (compression)
|
28
|
-
* ``Zstd.encode(buf, params = nil, dict: nil) -> encoded string``
|
29
|
-
* ``Zstd.encode(outport, params = nil, dict: nil) -> an instance of Zstd::Encoder``
|
30
|
-
* ``Zstd.encode(outport, params = nil, dict: nil) { |encoder| ... } -> block returned value``
|
31
|
-
* ``Zstd::Encoder#write(buf) -> this instance``
|
32
|
-
* ``Zstd::Encoder#close -> nil``
|
33
|
-
|
34
|
-
* decoder (decompression)
|
35
|
-
* ``Zstd.decode(zstd_buf, dict: nil) -> decoded string``
|
36
|
-
* ``Zstd.decode(inport, dict: nil) -> an intance of Zstd::Decoder``
|
37
|
-
* ``Zstd.decode(inport, dict: nil) { |decoder| ... } -> block returned value``
|
38
|
-
* ``Zstd::Decoder#read(size = nil, buf = nil) -> buf``
|
39
|
-
* ``Zstd::Decoder#close -> nil``
|
40
|
-
|
41
|
-
* stream encoder
|
42
|
-
* ``Zstd::StreamEncoder.new(params, dict)`` (``ZSTD_createCStream``, ``ZSTD_initCStream_advanced``)
|
43
|
-
* ``Zstd::StreamEncoder#update(src, srcoff, dest, maxdest) -> integer as new src offset`` (``ZSTD_compressStream``)
|
44
|
-
* ``Zstd::StreamEncoder#flush(dest, maxdest) -> dest`` (``ZSTD_flushStream``)
|
45
|
-
* ``Zstd::StreamEncoder#end(dest, maxdest) -> dest`` (``ZSTD_endStream``)
|
46
|
-
|
47
|
-
* stream decoder
|
48
|
-
* ``Zstd::StreamDecoder.new(dict)`` (``ZSTD_createDStream``, ``ZSTD_initDStream_usingDict``)
|
49
|
-
* ``Zstd::StreamDecoder#update(src, srcoff, dest, maxdest) -> integer as new src offset`` (``ZSTD_decompressStream``)
|
50
|
-
|
51
|
-
* instant (context less) encoder/decoder
|
52
|
-
* ``Zstd::ContextLess.encode(src, dest, maxdest, predict, params) -> dest`` (``ZSTD_compress_usingDict``, ``ZSTD_compress_advanced``)
|
53
|
-
* ``Zstd::ContextLess.decode(src, dest, maxdest, predict) -> dest`` (``ZSTD_decompress_usingDict``)
|
54
|
-
|
55
|
-
* dictionary (*EXPEREMENTAL*)
|
56
|
-
* ``Zstd::Dictionary.train_from_buffer(buf, dict_capacity) -> dictionary'ed string`` (``ZDICT_trainFromBuffer``)
|
57
|
-
* ``Zstd::Dictionary.add_entropy_tables_from_buffer(dict, dict_capacity, sample) -> dict`` (``ZDICT_addEntropyTablesFromBuffer``)
|
58
|
-
* ``Zstd::Dictionary.getid(dict) -> dict id as integer`` (``ZDICT_getDictID``)
|
8
|
+
- [HISTORY (in Japanese)](HISTORY.ja.md)
|
9
|
+
- [Quick reference](QUICKREF.md)
|
59
10
|
|
60
11
|
|
61
12
|
## HOW TO USE
|
62
13
|
|
63
14
|
### basic usage (simply encode/decode)
|
64
15
|
|
65
|
-
``` ruby
|
16
|
+
``` ruby
|
66
17
|
# First, load library
|
67
18
|
require "extzstd"
|
68
19
|
|
@@ -83,7 +34,7 @@ p source == decdata # => true
|
|
83
34
|
|
84
35
|
### Streaming compression (with block)
|
85
36
|
|
86
|
-
``` ruby
|
37
|
+
``` ruby
|
87
38
|
outport = StringIO.new("")
|
88
39
|
Zstd.encode(outport) do |encoder|
|
89
40
|
encoder.write "abcdefg\n"
|
@@ -95,7 +46,7 @@ end
|
|
95
46
|
|
96
47
|
### Streaming compression (without block and write to file)
|
97
48
|
|
98
|
-
``` ruby
|
49
|
+
``` ruby
|
99
50
|
file = File.open("sample.zst", "wb")
|
100
51
|
encoder = Zstd.encode(file)
|
101
52
|
|
@@ -110,7 +61,7 @@ file.close
|
|
110
61
|
|
111
62
|
### Streaming decompression (with block and read from file)
|
112
63
|
|
113
|
-
``` ruby
|
64
|
+
``` ruby
|
114
65
|
File.open("sample.zst", "rb") do |file|
|
115
66
|
Zstd.decode(file) do |decoder|
|
116
67
|
p decoder.read(8) # => "abcdefg\n"
|
@@ -120,3 +71,34 @@ File.open("sample.zst", "rb") do |file|
|
|
120
71
|
end
|
121
72
|
end
|
122
73
|
```
|
74
|
+
|
75
|
+
|
76
|
+
## Support `Ractor` (Ruby3 feature)
|
77
|
+
|
78
|
+
Ruby3 の `Ractor` に対応しています。
|
79
|
+
|
80
|
+
```ruby
|
81
|
+
require "extzstd"
|
82
|
+
|
83
|
+
using Zstd
|
84
|
+
|
85
|
+
p Ractor.new {
|
86
|
+
Ractor.yield ("abcdefg" * 9).to_zstd, move: true
|
87
|
+
}.take
|
88
|
+
```
|
89
|
+
|
90
|
+
## Specification
|
91
|
+
|
92
|
+
- package name: extzstd
|
93
|
+
- project page: <https://github.com/dearblue/ruby-extzstd>
|
94
|
+
- version: 0.3.2
|
95
|
+
- product quality: TECHNICAL PREVIEW, UNSTABLE
|
96
|
+
- license: [2 clause BSD License](LICENSE)
|
97
|
+
- author: dearblue
|
98
|
+
- support ruby: ruby-2.5+
|
99
|
+
- dependency ruby gems: (none)
|
100
|
+
- dependency library: (none)
|
101
|
+
- bundled external C library (git submodules):
|
102
|
+
- [zstd-1.4.9](https://github.com/facebook/zstd/blob/v1.4.9)
|
103
|
+
under selectable dual licensed ([3 clause BSD License](https://github.com/facebook/zstd/blob/v1.4.9/LICENSE) and [GNU General Public License, version 2](https://github.com/facebook/zstd/blob/v1.4.9/COPYING))
|
104
|
+
by [facebook](https://github.com/facebook)
|
@@ -0,0 +1,613 @@
|
|
1
|
+
v1.4.7
|
2
|
+
perf: stronger --long mode at high compression levels, by @senhuang42
|
3
|
+
perf: stronger --patch-from at high compression levels, thanks to --long improvements
|
4
|
+
perf: faster dictionary compression at medium compression levels, by @felixhandte
|
5
|
+
perf: small speed & memory usage improvements for ZSTD_compress2(), by @terrelln
|
6
|
+
perf: improved fast compression speeds with Visual Studio, by @animalize
|
7
|
+
cli : Set nb of threads with environment variable ZSTD_NBTHREADS, by @senhuang42
|
8
|
+
cli : accept decompressing files with *.zstd suffix
|
9
|
+
cli : provide a condensed summary by default when processing multiple files
|
10
|
+
cli : fix : stdin input no longer confused as user prompt
|
11
|
+
cli : improve accuracy of several error messages
|
12
|
+
api : new sequence ingestion API, by @senhuang42
|
13
|
+
api : shared thread pool: control total nb of threads used by multiple compression jobs, by @marxin
|
14
|
+
api : new ZSTD_getDictID_fromCDict(), by @LuAPi
|
15
|
+
api : zlibWrapper only uses public API, and is compatible with dynamic library, by @terrelln
|
16
|
+
api : fix : multithreaded compression has predictable output even in special cases (see #2327) (issue not accessible from cli)
|
17
|
+
api : fix : dictionary compression correctly respects dictionary compression level (see #2303) (issue not accessible from cli)
|
18
|
+
build: fix cmake script when using path with spaces, by @terrelln
|
19
|
+
build: improved compile-time detection of aarch64/neon platforms, by @bsdimp
|
20
|
+
build: Fix building on AIX 5.1, by @likema
|
21
|
+
build: compile paramgrill with cmake on Windows, requested by @mirh
|
22
|
+
doc : clarify repcode updates in format specification, by @felixhandte
|
23
|
+
|
24
|
+
v1.4.6
|
25
|
+
fix : Always return dstSize_tooSmall when that is the case
|
26
|
+
fix : Fix ZSTD_initCStream_advanced() with static allocation and no dictionary
|
27
|
+
perf: Improve small block decompression speed by 20%+, by @terrelln
|
28
|
+
perf: Reduce compression stack usage by 1 KB, by @terrelln
|
29
|
+
perf: Improve decompression speed by improving ZSTD_wildcopy, by @helloguo (#2252, #2256)
|
30
|
+
perf: Improve histogram construction, by @cyan4973 (#2253)
|
31
|
+
cli : Add --output-dir-mirror option, by @xxie24 (#2219)
|
32
|
+
cli : Warn when (de)compressing multiple files into a single output, by @senhuang42 (#2279)
|
33
|
+
cli : Improved progress bar and status summary when (de)compressing multiple files, by @senhuang42 (#2283)
|
34
|
+
cli : Call stat less often, by @felixhandte (#2262)
|
35
|
+
cli : Allow --patch-from XXX and --filelist XXX in addition to --patch-from=XXX and --filelist=XXX, by @cyan4973 (#2250)
|
36
|
+
cli : Allow --patch-from to compress stdin with --stream-size, by @bimbashrestha (#2206)
|
37
|
+
api : Do not install zbuff.h, since it has long been deprecated, by @cyan4973 (#2166).
|
38
|
+
api : Fix ZSTD_CCtx_setParameter() with ZSTD_c_compressionLevel to make 0 mean default level, by @i-do-cpp (#2291)
|
39
|
+
api : Rename ZSTDMT_NBTHREADS_MAX to ZSTDMT_NBWORKERS_MAX, by @marxin (#2228).
|
40
|
+
build: Install pkg-config file with CMake and MinGW, by @tonytheodore (#2183)
|
41
|
+
build: Install DLL with CMake on Windows, by @BioDataAnalysis (#2221)
|
42
|
+
build: Fix DLL install location with CMake, by @xantares and @bimbashrestha (#2186)
|
43
|
+
build: Add ZSTD_NO_UNUSED_FUNCTIONS macro to hide unused functions
|
44
|
+
build: Add ZSTD_NO_INTRINSICS macro to avoid explicit intrinsics
|
45
|
+
build: Add STATIC_BMI2 macro for compile time detection of BMI2 on MSVC, by @Niadb (#2258)
|
46
|
+
build: Fix -Wcomma warnings, by @cwoffenden
|
47
|
+
build: Remove distutils requirement for meson build, by @neheb (#2197)
|
48
|
+
build: Fix cli compilation with uclibc
|
49
|
+
build: Fix cli compilation without st_mtime, by @ffontaine (#2246)
|
50
|
+
build: Fix shadowing warnings in library
|
51
|
+
build: Fix single file library compilation with Enscripten, by @yoshihitoh (#2227)
|
52
|
+
misc: Improve single file library and include dictBuilder, by @cwoffenden
|
53
|
+
misc: Allow compression dictionaries with missing symbols
|
54
|
+
misc: Add freestanding translation script in contrib/freestanding_lib
|
55
|
+
misc: Collect all of zstd's libc dependencies into zstd_deps.h
|
56
|
+
doc : Add ZSTD_versionString() to manual, by @animalize
|
57
|
+
doc : Fix documentation for ZSTD_CCtxParams_setParameter(), by @felixhandte (#2270)
|
58
|
+
|
59
|
+
v1.4.5 (May 22, 2020)
|
60
|
+
fix : Compression ratio regression on huge files (> 3 GB) using high levels (--ultra) and multithreading, by @terrelln
|
61
|
+
perf: Improved decompression speed: x64 : +10% (clang) / +5% (gcc); ARM : from +15% to +50%, depending on SoC, by @terrelln
|
62
|
+
perf: Automatically downsizes ZSTD_DCtx when too large for too long (#2069, by @bimbashreshta)
|
63
|
+
perf: Improved fast compression speed on aarch64 (#2040, ~+3%, by @caoyzh)
|
64
|
+
perf: Small level 1 compression speed gains (depending on compiler)
|
65
|
+
cli : New --patch-from command, create and apply patches from files, by @bimbashreshta
|
66
|
+
cli : New --filelist= : Provide a list of files to operate upon from a file
|
67
|
+
cli : -b -d command can now benchmark decompression on multiple files
|
68
|
+
cli : New --no-content-size command
|
69
|
+
cli : New --show-default-cparams information command
|
70
|
+
api : ZDICT_finalizeDictionary() is promoted to stable (#2111)
|
71
|
+
api : new experimental parameter ZSTD_d_stableOutBuffer (#2094)
|
72
|
+
build: Generate a single-file libzstd library (#2065, by @cwoffenden)
|
73
|
+
build: Relative includes no longer require -I compiler flags for zstd lib subdirs (#2103, by @felixhandte)
|
74
|
+
build: zstd now compiles cleanly under -pedantic (#2099)
|
75
|
+
build: zstd now compiles with make-4.3
|
76
|
+
build: Support mingw cross-compilation from Linux, by @Ericson2314
|
77
|
+
build: Meson multi-thread build fix on windows
|
78
|
+
build: Some misc icc fixes backed by new ci test on travis
|
79
|
+
misc: bitflip analyzer tool, by @felixhandte
|
80
|
+
misc: Extend largeNbDicts benchmark to compression
|
81
|
+
misc: Edit-distance match finder in contrib/
|
82
|
+
doc : Improved beginner CONTRIBUTING.md docs
|
83
|
+
doc : New issue templates for zstd
|
84
|
+
|
85
|
+
v1.4.4 (Nov 6, 2019)
|
86
|
+
perf: Improved decompression speed, by > 10%, by @terrelln
|
87
|
+
perf: Better compression speed when re-using a context, by @felixhandte
|
88
|
+
perf: Fix compression ratio when compressing large files with small dictionary, by @senhuang42
|
89
|
+
perf: zstd reference encoder can generate RLE blocks, by @bimbashrestha
|
90
|
+
perf: minor generic speed optimization, by @davidbolvansky
|
91
|
+
api: new ability to extract sequences from the parser for analysis, by @bimbashrestha
|
92
|
+
api: fixed decoding of magic-less frames, by @terrelln
|
93
|
+
api: fixed ZSTD_initCStream_advanced() performance with fast modes, reported by @QrczakMK
|
94
|
+
cli: Named pipes support, by @bimbashrestha
|
95
|
+
cli: short tar's extension support, by @stokito
|
96
|
+
cli: command --output-dir-flat= , generates target files into requested directory, by @senhuang42
|
97
|
+
cli: commands --stream-size=# and --size-hint=#, by @nmagerko
|
98
|
+
cli: command --exclude-compressed, by @shashank0791
|
99
|
+
cli: faster `-t` test mode
|
100
|
+
cli: improved some error messages, by @vangyzen
|
101
|
+
cli: fix command `-D dictionary` on Windows, reported by @artyompetrov
|
102
|
+
cli: fix rare deadlock condition within dictionary builder, by @terrelln
|
103
|
+
build: single-file decoder with emscripten compilation script, by @cwoffenden
|
104
|
+
build: fixed zlibWrapper compilation on Visual Studio, reported by @bluenlive
|
105
|
+
build: fixed deprecation warning for certain gcc version, reported by @jasonma163
|
106
|
+
build: fix compilation on old gcc versions, by @cemeyer
|
107
|
+
build: improved installation directories for cmake script, by Dmitri Shubin
|
108
|
+
pack: modified pkgconfig, for better integration into openwrt, requested by @neheb
|
109
|
+
misc: Improved documentation : ZSTD_CLEVEL, DYNAMIC_BMI2, ZSTD_CDict, function deprecation, zstd format
|
110
|
+
misc: fixed educational decoder : accept larger literals section, and removed UNALIGNED() macro
|
111
|
+
|
112
|
+
v1.4.3 (Aug 20, 2019)
|
113
|
+
bug: Fix Dictionary Compression Ratio Regression by @cyan4973 (#1709)
|
114
|
+
bug: Fix Buffer Overflow in legacy v0.3 decompression by @felixhandte (#1722)
|
115
|
+
build: Add support for IAR C/C++ Compiler for Arm by @joseph0918 (#1705)
|
116
|
+
|
117
|
+
v1.4.2 (Jul 26, 2019)
|
118
|
+
bug: Fix bug in zstd-0.5 decoder by @terrelln (#1696)
|
119
|
+
bug: Fix seekable decompression in-memory API by @iburinoc (#1695)
|
120
|
+
misc: Validate blocks are smaller than size limit by @vivekmg (#1685)
|
121
|
+
misc: Restructure source files by @ephiepark (#1679)
|
122
|
+
|
123
|
+
v1.4.1 (Jul 20, 2019)
|
124
|
+
bug: Fix data corruption in niche use cases by @terrelln (#1659)
|
125
|
+
bug: Fuzz legacy modes, fix uncovered bugs by @terrelln (#1593, #1594, #1595)
|
126
|
+
bug: Fix out of bounds read by @terrelln (#1590)
|
127
|
+
perf: Improve decode speed by ~7% @mgrice (#1668)
|
128
|
+
perf: Slightly improved compression ratio of level 3 and 4 (ZSTD_dfast) by @cyan4973 (#1681)
|
129
|
+
perf: Slightly faster compression speed when re-using a context by @cyan4973 (#1658)
|
130
|
+
perf: Improve compression ratio for small windowLog by @cyan4973 (#1624)
|
131
|
+
perf: Faster compression speed in high compression mode for repetitive data by @terrelln (#1635)
|
132
|
+
api: Add parameter to generate smaller dictionaries by @tyler-tran (#1656)
|
133
|
+
cli: Recognize symlinks when built in C99 mode by @felixhandte (#1640)
|
134
|
+
cli: Expose cpu load indicator for each file on -vv mode by @ephiepark (#1631)
|
135
|
+
cli: Restrict read permissions on destination files by @chungy (#1644)
|
136
|
+
cli: zstdgrep: handle -f flag by @felixhandte (#1618)
|
137
|
+
cli: zstdcat: follow symlinks by @vejnar (#1604)
|
138
|
+
doc: Remove extra size limit on compressed blocks by @felixhandte (#1689)
|
139
|
+
doc: Fix typo by @yk-tanigawa (#1633)
|
140
|
+
doc: Improve documentation on streaming buffer sizes by @cyan4973 (#1629)
|
141
|
+
build: CMake: support building with LZ4 @leeyoung624 (#1626)
|
142
|
+
build: CMake: install zstdless and zstdgrep by @leeyoung624 (#1647)
|
143
|
+
build: CMake: respect existing uninstall target by @j301scott (#1619)
|
144
|
+
build: Make: skip multithread tests when built without support by @michaelforney (#1620)
|
145
|
+
build: Make: Fix examples/ test target by @sjnam (#1603)
|
146
|
+
build: Meson: rename options out of deprecated namespace by @lzutao (#1665)
|
147
|
+
build: Meson: fix build by @lzutao (#1602)
|
148
|
+
build: Visual Studio: don't export symbols in static lib by @scharan (#1650)
|
149
|
+
build: Visual Studio: fix linking by @absotively (#1639)
|
150
|
+
build: Fix MinGW-W64 build by @myzhang1029 (#1600)
|
151
|
+
misc: Expand decodecorpus coverage by @ephiepark (#1664)
|
152
|
+
|
153
|
+
v1.4.0 (Apr 17, 2019)
|
154
|
+
perf: Improve level 1 compression speed in most scenarios by 6% by @gbtucker and @terrelln
|
155
|
+
api: Move the advanced API, including all functions in the staging section, to the stable section
|
156
|
+
api: Make ZSTD_e_flush and ZSTD_e_end block for maximum forward progress
|
157
|
+
api: Rename ZSTD_CCtxParam_getParameter to ZSTD_CCtxParams_getParameter
|
158
|
+
api: Rename ZSTD_CCtxParam_setParameter to ZSTD_CCtxParams_setParameter
|
159
|
+
api: Don't export ZSTDMT functions from the shared library by default
|
160
|
+
api: Require ZSTD_MULTITHREAD to be defined to use ZSTDMT
|
161
|
+
api: Add ZSTD_decompressBound() to provide an upper bound on decompressed size by @shakeelrao
|
162
|
+
api: Fix ZSTD_decompressDCtx() corner cases with a dictionary
|
163
|
+
api: Move ZSTD_getDictID_*() functions to the stable section
|
164
|
+
api: Add ZSTD_c_literalCompressionMode flag to enable or disable literal compression by @terrelln
|
165
|
+
api: Allow compression parameters to be set when a dictionary is used
|
166
|
+
api: Allow setting parameters before or after ZSTD_CCtx_loadDictionary() is called
|
167
|
+
api: Fix ZSTD_estimateCStreamSize_usingCCtxParams()
|
168
|
+
api: Setting ZSTD_d_maxWindowLog to 0 means use the default
|
169
|
+
cli: Ensure that a dictionary is not used to compress itself by @shakeelrao
|
170
|
+
cli: Add --[no-]compress-literals flag to enable or disable literal compression
|
171
|
+
doc: Update the examples to use the advanced API
|
172
|
+
doc: Explain how to transition from old streaming functions to the advanced API in the header
|
173
|
+
build: Improve the Windows release packages
|
174
|
+
build: Improve CMake build by @hjmjohnson
|
175
|
+
build: Build fixes for FreeBSD by @lwhsu
|
176
|
+
build: Remove redundant warnings by @thatsafunnyname
|
177
|
+
build: Fix tests on OpenBSD by @bket
|
178
|
+
build: Extend fuzzer build system to work with the new clang engine
|
179
|
+
build: CMake now creates the libzstd.so.1 symlink
|
180
|
+
build: Improve Menson build by @lzutao
|
181
|
+
misc: Fix symbolic link detection on FreeBSD
|
182
|
+
misc: Use physical core count for -T0 on FreeBSD by @cemeyer
|
183
|
+
misc: Fix zstd --list on truncated files by @kostmo
|
184
|
+
misc: Improve logging in debug mode by @felixhandte
|
185
|
+
misc: Add CirrusCI tests by @lwhsu
|
186
|
+
misc: Optimize dictionary memory usage in corner cases
|
187
|
+
misc: Improve the dictionary builder on small or homogeneous data
|
188
|
+
misc: Fix spelling across the repo by @jsoref
|
189
|
+
|
190
|
+
v1.3.8 (Dec 28, 2018)
|
191
|
+
perf: better decompression speed on large files (+7%) and cold dictionaries (+15%)
|
192
|
+
perf: slightly better compression ratio at high compression modes
|
193
|
+
api : finalized advanced API, last stage before "stable" status
|
194
|
+
api : new --rsyncable mode, by @terrelln
|
195
|
+
api : support decompression of empty frames into NULL (used to be an error) (#1385)
|
196
|
+
build: new set of macros to build a minimal size decoder, by @felixhandte
|
197
|
+
build: fix compilation on MIPS32, reported by @clbr (#1441)
|
198
|
+
build: fix compilation with multiple -arch flags, by @ryandesign
|
199
|
+
build: highly upgraded meson build, by @lzutao
|
200
|
+
build: improved buck support, by @obelisk
|
201
|
+
build: fix cmake script : can create debug build, by @pitrou
|
202
|
+
build: Makefile : grep works on both colored consoles and systems without color support
|
203
|
+
build: fixed zstd-pgo, by @bmwiedemann
|
204
|
+
cli : support ZSTD_CLEVEL environment variable, by @yijinfb (#1423)
|
205
|
+
cli : --no-progress flag, preserving final summary (#1371), by @terrelln
|
206
|
+
cli : ensure destination file is not source file (#1422)
|
207
|
+
cli : clearer error messages, especially when input file not present
|
208
|
+
doc : clarified zstd_compression_format.md, by @ulikunitz
|
209
|
+
misc: fixed zstdgrep, returns 1 on failure, by @lzutao
|
210
|
+
misc: NEWS renamed as CHANGELOG, in accordance with fboss
|
211
|
+
|
212
|
+
v1.3.7 (Oct 20, 2018)
|
213
|
+
perf: slightly better decompression speed on clang (depending on hardware target)
|
214
|
+
fix : performance of dictionary compression for small input < 4 KB at levels 9 and 10
|
215
|
+
build: no longer build backtrace by default in release mode; restrict further automatic mode
|
216
|
+
build: control backtrace support through build macro BACKTRACE
|
217
|
+
misc: added man pages for zstdless and zstdgrep, by @samrussell
|
218
|
+
|
219
|
+
v1.3.6 (Oct 6, 2018)
|
220
|
+
perf: much faster dictionary builder, by @jenniferliu
|
221
|
+
perf: faster dictionary compression on small data when using multiple contexts, by @felixhandte
|
222
|
+
perf: faster dictionary decompression when using a very large number of dictionaries simultaneously
|
223
|
+
cli : fix : does no longer overwrite destination when source does not exist (#1082)
|
224
|
+
cli : new command --adapt, for automatic compression level adaptation
|
225
|
+
api : fix : block api can be streamed with > 4 GB, reported by @catid
|
226
|
+
api : reduced ZSTD_DDict size by 2 KB
|
227
|
+
api : minimum negative compression level is defined, and can be queried using ZSTD_minCLevel().
|
228
|
+
build: support Haiku target, by @korli
|
229
|
+
build: Read Legacy format is limited to v0.5+ by default. Can be changed at compile time with macro ZSTD_LEGACY_SUPPORT.
|
230
|
+
doc : zstd_compression_format.md updated to match wording in IETF RFC 8478
|
231
|
+
misc: tests/paramgrill, a parameter optimizer, by @GeorgeLu97
|
232
|
+
|
233
|
+
v1.3.5 (Jun 29, 2018)
|
234
|
+
perf: much faster dictionary compression, by @felixhandte
|
235
|
+
perf: small quality improvement for dictionary generation, by @terrelln
|
236
|
+
perf: slightly improved high compression levels (notably level 19)
|
237
|
+
mem : automatic memory release for long duration contexts
|
238
|
+
cli : fix : overlapLog can be manually set
|
239
|
+
cli : fix : decoding invalid lz4 frames
|
240
|
+
api : fix : performance degradation for dictionary compression when using advanced API, by @terrelln
|
241
|
+
api : change : clarify ZSTD_CCtx_reset() vs ZSTD_CCtx_resetParameters(), by @terrelln
|
242
|
+
build: select custom libzstd scope through control macros, by @GeorgeLu97
|
243
|
+
build: OpenBSD patch, by @bket
|
244
|
+
build: make and make all are compatible with -j
|
245
|
+
doc : clarify zstd_compression_format.md, updated for IETF RFC process
|
246
|
+
misc: pzstd compatible with reproducible compilation, by @lamby
|
247
|
+
|
248
|
+
v1.3.4 (Mar 27, 2018)
|
249
|
+
perf: faster speed (especially decoding speed) on recent cpus (haswell+)
|
250
|
+
perf: much better performance associating --long with multi-threading, by @terrelln
|
251
|
+
perf: better compression at levels 13-15
|
252
|
+
cli : asynchronous compression by default, for faster experience (use --single-thread for former behavior)
|
253
|
+
cli : smoother status report in multi-threading mode
|
254
|
+
cli : added command --fast=#, for faster compression modes
|
255
|
+
cli : fix crash when not overwriting existing files, by Pádraig Brady (@pixelb)
|
256
|
+
api : `nbThreads` becomes `nbWorkers` : 1 triggers asynchronous mode
|
257
|
+
api : compression levels can be negative, for even more speed
|
258
|
+
api : ZSTD_getFrameProgression() : get precise progress status of ZSTDMT anytime
|
259
|
+
api : ZSTDMT can accept new compression parameters during compression
|
260
|
+
api : implemented all advanced dictionary decompression prototypes
|
261
|
+
build: improved meson recipe, by Shawn Landden (@shawnl)
|
262
|
+
build: VS2017 scripts, by @HaydnTrigg
|
263
|
+
misc: all /contrib projects fixed
|
264
|
+
misc: added /contrib/docker script by @gyscos
|
265
|
+
|
266
|
+
v1.3.3 (Dec 21, 2017)
|
267
|
+
perf: faster zstd_opt strategy (levels 16-19)
|
268
|
+
fix : bug #944 : multithreading with shared ditionary and large data, reported by @gsliepen
|
269
|
+
cli : fix : content size written in header by default
|
270
|
+
cli : fix : improved LZ4 format support, by @felixhandte
|
271
|
+
cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file
|
272
|
+
api : fix : support large skippable frames, by @terrelln
|
273
|
+
api : fix : streaming interface was adding a useless 3-bytes null block to small frames
|
274
|
+
api : change : when setting `pledgedSrcSize`, use `ZSTD_CONTENTSIZE_UNKNOWN` macro value to mean "unknown"
|
275
|
+
build: fix : compilation under rhel6 and centos6, reported by @pixelb
|
276
|
+
build: added `check` target
|
277
|
+
|
278
|
+
v1.3.2 (Oct 10, 2017)
|
279
|
+
new : long range mode, using --long command, by Stella Lau (@stellamplau)
|
280
|
+
new : ability to generate and decode magicless frames (#591)
|
281
|
+
changed : maximum nb of threads reduced to 200, to avoid address space exhaustion in 32-bits mode
|
282
|
+
fix : multi-threading compression works with custom allocators
|
283
|
+
fix : ZSTD_sizeof_CStream() was over-evaluating memory usage
|
284
|
+
fix : a rare compression bug when compression generates very large distances and bunch of other conditions (only possible at --ultra -22)
|
285
|
+
fix : 32-bits build can now decode large offsets (levels 21+)
|
286
|
+
cli : added LZ4 frame support by default, by Felix Handte (@felixhandte)
|
287
|
+
cli : improved --list output
|
288
|
+
cli : new : can split input file for dictionary training, using command -B#
|
289
|
+
cli : new : clean operation artefact on Ctrl-C interruption
|
290
|
+
cli : fix : do not change /dev/null permissions when using command -t with root access, reported by @mike155 (#851)
|
291
|
+
cli : fix : write file size in header in multiple-files mode
|
292
|
+
api : added macro ZSTD_COMPRESSBOUND() for static allocation
|
293
|
+
api : experimental : new advanced decompression API
|
294
|
+
api : fix : sizeof_CCtx() used to over-estimate
|
295
|
+
build: fix : no-multithread variant compiles without pool.c dependency, reported by Mitchell Blank Jr (@mitchblank) (#819)
|
296
|
+
build: better compatibility with reproducible builds, by Bernhard M. Wiedemann (@bmwiedemann) (#818)
|
297
|
+
example : added streaming_memory_usage
|
298
|
+
license : changed /examples license to BSD + GPLv2
|
299
|
+
license : fix a few header files to reflect new license (#825)
|
300
|
+
|
301
|
+
v1.3.1 (Aug 21, 2017)
|
302
|
+
New license : BSD + GPLv2
|
303
|
+
perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt (@mcmilk)
|
304
|
+
perf: Multi-threading supports up to 256 threads. Cap at 256 when more are requested (#760)
|
305
|
+
cli : improved and fixed --list command, by @ib (#772)
|
306
|
+
cli : command -vV to list supported formats, by @ib (#771)
|
307
|
+
build : fixed binary variants, reported by @svenha (#788)
|
308
|
+
build : fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (@GregSlazinski) (#718)
|
309
|
+
API exp : breaking change : ZSTD_getframeHeader() provides more information
|
310
|
+
API exp : breaking change : pinned down values of error codes
|
311
|
+
doc : fixed huffman example, by Ulrich Kunitz (@ulikunitz)
|
312
|
+
new : contrib/adaptive-compression, I/O driven compression strength, by Paul Cruz (@paulcruz74)
|
313
|
+
new : contrib/long_distance_matching, statistics by Stella Lau (@stellamplau)
|
314
|
+
updated : contrib/linux-kernel, by Nick Terrell (@terrelln)
|
315
|
+
|
316
|
+
v1.3.0 (Jul 6, 2017)
|
317
|
+
cli : new : `--list` command, by Paul Cruz
|
318
|
+
cli : changed : xz/lzma support enabled by default
|
319
|
+
cli : changed : `-t *` continue processing list after a decompression error
|
320
|
+
API : added : ZSTD_versionString()
|
321
|
+
API : promoted to stable status : ZSTD_getFrameContentSize(), by Sean Purcell
|
322
|
+
API exp : new advanced API : ZSTD_compress_generic(), ZSTD_CCtx_setParameter()
|
323
|
+
API exp : new : API for static or external allocation : ZSTD_initStatic?Ctx()
|
324
|
+
API exp : added : ZSTD_decompressBegin_usingDDict(), requested by Guy Riddle (#700)
|
325
|
+
API exp : clarified memory estimation / measurement functions.
|
326
|
+
API exp : changed : strongest strategy renamed ZSTD_btultra, fastest strategy ZSTD_fast set to 1
|
327
|
+
tools : decodecorpus can generate random dictionary-compressed samples, by Paul Cruz
|
328
|
+
new : contrib/seekable_format, demo and API, by Sean Purcell
|
329
|
+
changed : contrib/linux-kernel, updated version and license, by Nick Terrell
|
330
|
+
|
331
|
+
v1.2.0 (May 5, 2017)
|
332
|
+
cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable)
|
333
|
+
cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell
|
334
|
+
cli : new : zstdmt symlink hardwired to `zstd -T0`
|
335
|
+
cli : new : command --threads=# (#671)
|
336
|
+
cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell
|
337
|
+
cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters
|
338
|
+
cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell
|
339
|
+
cli : fix : does not output compressed data on console
|
340
|
+
cli : fix : ignore symbolic links unless --force specified,
|
341
|
+
API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument
|
342
|
+
API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters.
|
343
|
+
API : improved: ZSTDMT_compressCCtx() reduced memory usage
|
344
|
+
API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634)
|
345
|
+
API : fix : src size stored in frame header is controlled at end of frame
|
346
|
+
API : fix : enforced consistent rules for pledgedSrcSize==0 (#641)
|
347
|
+
API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate
|
348
|
+
build: improved cmake script, by @Majlen
|
349
|
+
build: enabled Multi-threading support for *BSD, by Baptiste Daroussin
|
350
|
+
tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target.
|
351
|
+
new : contrib/linux-kernel version, by Nick Terrell
|
352
|
+
|
353
|
+
v1.1.4 (Mar 18, 2017)
|
354
|
+
cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
|
355
|
+
cli : new : advanced benchmark command --priority=rt
|
356
|
+
cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
|
357
|
+
cli : fix : --rm remains silent when input is stdin
|
358
|
+
cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
|
359
|
+
speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
|
360
|
+
memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
|
361
|
+
arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
|
362
|
+
API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
|
363
|
+
API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
|
364
|
+
build : new: meson build system in contrib/meson, by Dima Krasner
|
365
|
+
build : improved cmake script, by @Majlen
|
366
|
+
build : added -Wformat-security flag, as recommended by Padraig Brady
|
367
|
+
doc : new : educational decoder, by Sean Purcell
|
368
|
+
|
369
|
+
v1.1.3 (Feb 7, 2017)
|
370
|
+
cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
|
371
|
+
cli : new : experimental target `make zstdmt`, with multi-threading support
|
372
|
+
cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
|
373
|
+
cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
|
374
|
+
cli : fix zstdless on Mac OS-X, by Andrew Janke
|
375
|
+
cli : fix #232 "compress non-files"
|
376
|
+
dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
|
377
|
+
API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
|
378
|
+
API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
|
379
|
+
API : new : ZDICT_finalizeDictionary()
|
380
|
+
API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
|
381
|
+
API : fix : all symbols properly exposed in libzstd, by Nick Terrell
|
382
|
+
build : support for Solaris target, by Przemyslaw Skibinski
|
383
|
+
doc : clarified specification, by Sean Purcell
|
384
|
+
|
385
|
+
v1.1.2 (Dec 15, 2016)
|
386
|
+
API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
|
387
|
+
API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
|
388
|
+
API : zbuff : changed : prototypes now generate deprecation warnings
|
389
|
+
lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
|
390
|
+
lib : changed : only public ZSTD_ symbols are now exposed
|
391
|
+
lib : changed : reduced usage of stack memory
|
392
|
+
lib : fixed : several corner case bugs, by Nick Terrell
|
393
|
+
cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
|
394
|
+
cli : new : preserve file attributes
|
395
|
+
cli : new : added zstdless and zstdgrep tools
|
396
|
+
cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
|
397
|
+
cli : fixed : zstdcat
|
398
|
+
zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
|
399
|
+
install : better compatibility with FreeBSD, by Dimitry Andric
|
400
|
+
source tree : changed : zbuff source files moved to lib/deprecated
|
401
|
+
|
402
|
+
v1.1.1 (Nov 2, 2016)
|
403
|
+
New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
|
404
|
+
New : doc/zstd_manual.html, by Przemyslaw Skibinski
|
405
|
+
Improved : slightly better compression ratio at --ultra levels (>= 20)
|
406
|
+
Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
|
407
|
+
Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
|
408
|
+
Added : example/multiple_streaming_compression.c
|
409
|
+
Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
|
410
|
+
Updated man page
|
411
|
+
Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
|
412
|
+
|
413
|
+
v1.1.0 (Sep 28, 2016)
|
414
|
+
New : contrib/pzstd, parallel version of zstd, by Nick Terrell
|
415
|
+
added : NetBSD install target (#338)
|
416
|
+
Improved : speed for batches of small files
|
417
|
+
Improved : speed of zlib wrapper, by Przemyslaw Skibinski
|
418
|
+
Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
|
419
|
+
Fixed : CLI -d output to stdout by default when input is stdin (#322)
|
420
|
+
Fixed : CLI correctly detects console on Mac OS-X
|
421
|
+
Fixed : CLI supports recursive mode `-r` on Mac OS-X
|
422
|
+
Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
|
423
|
+
Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
|
424
|
+
Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
|
425
|
+
Fixed : zstd-pgo, reported by octoploid (#329)
|
426
|
+
|
427
|
+
v1.0.0 (Sep 1, 2016)
|
428
|
+
Change Licensing, all project is now BSD, Copyright Facebook
|
429
|
+
Small decompression speed improvement
|
430
|
+
API : Streaming API supports legacy format
|
431
|
+
API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParameter()
|
432
|
+
CLI supports legacy formats v0.4+
|
433
|
+
Fixed : compression fails on certain huge files, reported by Jesse McGrew
|
434
|
+
Enhanced documentation, by Przemyslaw Skibinski
|
435
|
+
|
436
|
+
v0.8.1 (Aug 18, 2016)
|
437
|
+
New streaming API
|
438
|
+
Changed : --ultra now enables levels beyond 19
|
439
|
+
Changed : -i# now selects benchmark time in second
|
440
|
+
Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
|
441
|
+
Fixed : speed regression on specific patterns (#272)
|
442
|
+
Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
|
443
|
+
Fixed : ICC compilation, by Przemyslaw Skibinski
|
444
|
+
|
445
|
+
v0.8.0 (Aug 2, 2016)
|
446
|
+
Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
|
447
|
+
New : Build on FreeBSD and DragonFly, thanks to JrMarino
|
448
|
+
Changed : modified API : ZSTD_compressEnd()
|
449
|
+
Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
|
450
|
+
Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
|
451
|
+
Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
|
452
|
+
Fixed : checksum correctly checked in single-pass mode
|
453
|
+
Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
|
454
|
+
Modified : minor compression level adaptations
|
455
|
+
Updated : compression format specification to v0.2.0
|
456
|
+
changed : zstd.h moved to /lib directory
|
457
|
+
|
458
|
+
v0.7.5 (Aug 1, 2016)
|
459
|
+
Transition version, supporting decoding of v0.8.x
|
460
|
+
|
461
|
+
v0.7.4 (Jul 17, 2016)
|
462
|
+
Added : homebrew for Mac, by Daniel Cade
|
463
|
+
Added : more examples
|
464
|
+
Fixed : segfault when using small dictionaries, reported by Felix Handte
|
465
|
+
Modified : default compression level for CLI is now 3
|
466
|
+
Updated : specification, to v0.1.1
|
467
|
+
|
468
|
+
v0.7.3 (Jul 9, 2016)
|
469
|
+
New : compression format specification
|
470
|
+
New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
|
471
|
+
New : `ZSTD_getDecompressedSize()`
|
472
|
+
New : OpenBSD target, by Juan Francisco Cantero Hurtado
|
473
|
+
New : `examples` directory
|
474
|
+
fixed : dictBuilder using HC levels, reported by Bartosz Taudul
|
475
|
+
fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
|
476
|
+
fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
|
477
|
+
modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
|
478
|
+
modified : legacy functions no longer need magic number
|
479
|
+
|
480
|
+
v0.7.2 (Jul 4, 2016)
|
481
|
+
fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
|
482
|
+
fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
|
483
|
+
fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
|
484
|
+
|
485
|
+
v0.7.1 (Jun 23, 2016)
|
486
|
+
fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
|
487
|
+
fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв
|
488
|
+
fixed : corruption issue, reported by cj
|
489
|
+
modified : checksum enabled by default in command line mode
|
490
|
+
|
491
|
+
v0.7.0 (Jun 17, 2016)
|
492
|
+
New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
|
493
|
+
New : Command `--rm`, to remove source file after successful de/compression
|
494
|
+
New : Visual build scripts, by Christophe Chevalier
|
495
|
+
New : Support for Sparse File-systems (do not use space for zero-filled sectors)
|
496
|
+
New : Frame checksum support
|
497
|
+
New : Support pass-through mode (when using `-df`)
|
498
|
+
API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
|
499
|
+
API : create dictionary files from custom content, by Giuseppe Ottaviano
|
500
|
+
API : support for custom malloc/free functions
|
501
|
+
New : controllable Dictionary ID
|
502
|
+
New : Support for skippable frames
|
503
|
+
|
504
|
+
v0.6.1 (May 13, 2016)
|
505
|
+
New : zlib wrapper API, thanks to Przemyslaw Skibinski
|
506
|
+
New : Ability to compile compressor / decompressor separately
|
507
|
+
Changed : new lib directory structure
|
508
|
+
Fixed : Legacy codec v0.5 compatible with dictionary decompression
|
509
|
+
Fixed : Decoder corruption error (#173)
|
510
|
+
Fixed : null-string roundtrip (#176)
|
511
|
+
New : benchmark mode can select directory as input
|
512
|
+
Experimental : midipix support, VMS support
|
513
|
+
|
514
|
+
v0.6.0 (Apr 13, 2016)
|
515
|
+
Stronger high compression modes, thanks to Przemyslaw Skibinski
|
516
|
+
API : ZSTD_getFrameParams() provides size of decompressed content
|
517
|
+
New : highest compression modes require `--ultra` command to fully unleash their capacity
|
518
|
+
Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner
|
519
|
+
|
520
|
+
v0.5.1 (Feb 18, 2016)
|
521
|
+
New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
|
522
|
+
Changed : Dictionary builder integrated into libzstd and zstd cli
|
523
|
+
Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
|
524
|
+
Fix : high compression modes for big-endian platforms
|
525
|
+
New : zstd cli : `-t` | `--test` command
|
526
|
+
|
527
|
+
v0.5.0 (Feb 5, 2016)
|
528
|
+
New : dictionary builder utility
|
529
|
+
Changed : streaming & dictionary API
|
530
|
+
Improved : better compression of small data
|
531
|
+
|
532
|
+
v0.4.7 (Jan 22, 2016)
|
533
|
+
Improved : small compression speed improvement in HC mode
|
534
|
+
Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
|
535
|
+
fix : bt search bug
|
536
|
+
|
537
|
+
v0.4.6 (Jan 13, 2016)
|
538
|
+
fix : fast compression mode on Windows
|
539
|
+
New : cmake configuration file, thanks to Artyom Dymchenko
|
540
|
+
Improved : high compression mode on repetitive data
|
541
|
+
New : block-level API
|
542
|
+
New : ZSTD_duplicateCCtx()
|
543
|
+
|
544
|
+
v0.4.5 (Dec 18, 2015)
|
545
|
+
new : -m/--multiple : compress/decompress multiple files
|
546
|
+
|
547
|
+
v0.4.4 (Dec 14, 2015)
|
548
|
+
Fixed : high compression modes for Windows 32 bits
|
549
|
+
new : external dictionary API extended to buffered mode and accessible through command line
|
550
|
+
new : windows DLL project, thanks to Christophe Chevalier
|
551
|
+
|
552
|
+
v0.4.3 (Dec 7, 2015)
|
553
|
+
new : external dictionary API
|
554
|
+
new : zstd-frugal
|
555
|
+
|
556
|
+
v0.4.2 (Dec 2, 2015)
|
557
|
+
Generic minor improvements for small blocks
|
558
|
+
Fixed : big-endian compatibility, by Peter Harris (#85)
|
559
|
+
|
560
|
+
v0.4.1 (Dec 1, 2015)
|
561
|
+
Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
|
562
|
+
removed `zstd.c`
|
563
|
+
|
564
|
+
v0.4.0 (Nov 29, 2015)
|
565
|
+
Command line utility compatible with high compression levels
|
566
|
+
Removed zstdhc => merged into zstd
|
567
|
+
Added : ZBUFF API (see zstd_buffered.h)
|
568
|
+
Rolling buffer support
|
569
|
+
|
570
|
+
v0.3.6 (Nov 10, 2015)
|
571
|
+
small blocks params
|
572
|
+
|
573
|
+
v0.3.5 (Nov 9, 2015)
|
574
|
+
minor generic compression improvements
|
575
|
+
|
576
|
+
v0.3.4 (Nov 6, 2015)
|
577
|
+
Faster fast cLevels
|
578
|
+
|
579
|
+
v0.3.3 (Nov 5, 2015)
|
580
|
+
Small compression ratio improvement
|
581
|
+
|
582
|
+
v0.3.2 (Nov 2, 2015)
|
583
|
+
Fixed Visual Studio
|
584
|
+
|
585
|
+
v0.3.1 (Nov 2, 2015)
|
586
|
+
Small compression ratio improvement
|
587
|
+
|
588
|
+
v0.3 (Oct 30, 2015)
|
589
|
+
HC mode : compression levels 2-26
|
590
|
+
|
591
|
+
v0.2.2 (Oct 28, 2015)
|
592
|
+
Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
|
593
|
+
|
594
|
+
v0.2.1 (Oct 24, 2015)
|
595
|
+
Fix : Read errors, advanced fuzzer tests, by Hanno Böck
|
596
|
+
|
597
|
+
v0.2.0 (Oct 22, 2015)
|
598
|
+
**Breaking format change**
|
599
|
+
Faster decompression speed
|
600
|
+
Can still decode v0.1 format
|
601
|
+
|
602
|
+
v0.1.3 (Oct 15, 2015)
|
603
|
+
fix uninitialization warning, reported by Evan Nemerson
|
604
|
+
|
605
|
+
v0.1.2 (Sep 11, 2015)
|
606
|
+
frame concatenation support
|
607
|
+
|
608
|
+
v0.1.1 (Aug 27, 2015)
|
609
|
+
fix compression bug
|
610
|
+
detects write-flush errors
|
611
|
+
|
612
|
+
v0.1.0 (Aug 25, 2015)
|
613
|
+
first release
|