blob: 0c09b4ad3635f753d346a3349922836996e3a23e [file] [log] [blame]
Nick Terrell2e8c19f2019-02-20 10:46:14 -08001dev
2api : Rename ZSTD_CCtxParam_getParameter to ZSTD_CCtxParams_getParameter
3api : Rename ZSTD_CCtxParam_setParameter to ZSTD_CCtxParams_setParameter
4
Yann Collet092c4ab2018-11-13 15:53:38 -08005v1.3.8
6perf: better decompression speed on large files (+7%) and cold dictionaries (+15%)
Yann Collet0d212dd2018-12-22 12:10:29 -08007perf: slightly better compression ratio at high compression modes
8api : finalized advanced API, last stage before "stable" status
9api : new --rsyncable mode, by @terrelln
10api : support decompression of empty frames into NULL (used to be an error) (#1385)
11build: new set of macros to build a minimal size decoder, by @felixhandte
12build: fix compilation on MIPS32, reported by @clbr (#1441)
13build: fix compilation with multiple -arch flags, by @ryandesign
14build: highly upgraded meson build, by @lzutao
15build: improved buck support, by @obelisk
16build: fix cmake script : can create debug build, by @pitrou
17build: Makefile : grep works on both colored consoles and systems without color support
Yann Collet092c4ab2018-11-13 15:53:38 -080018build: fixed zstd-pgo, by @bmwiedemann
Yann Collet0d212dd2018-12-22 12:10:29 -080019cli : support ZSTD_CLEVEL environment variable, by @yijinfb (#1423)
20cli : --no-progress flag, preserving final summary (#1371), by @terrelln
21cli : ensure destination file is not source file (#1422)
22cli : clearer error messages, especially when input file not present
Yann Collet092c4ab2018-11-13 15:53:38 -080023doc : clarified zstd_compression_format.md, by @ulikunitz
Yann Collet0d212dd2018-12-22 12:10:29 -080024misc: fixed zstdgrep, returns 1 on failure, by @lzutao
25misc: NEWS renamed as CHANGELOG, in accordance with fboss
Yann Collet092c4ab2018-11-13 15:53:38 -080026
Yann Colleta2708de2018-10-11 16:49:55 -070027v1.3.7
28perf: slightly better decompression speed on clang (depending on hardware target)
29fix : performance of dictionary compression for small input < 4 KB at levels 9 and 10
30build: no longer build backtrace by default in release mode; restrict further automatic mode
31build: control backtrace support through build macro BACKTRACE
Yann Collet21cd8a92018-10-16 20:58:52 -070032misc: added man pages for zstdless and zstdgrep, by @samrussell
Yann Colleta2708de2018-10-11 16:49:55 -070033
Yann Collet63a519d2018-09-11 17:23:44 -070034v1.3.6
35perf: much faster dictionary builder, by @jenniferliu
Yann Collet8514bd82018-10-01 17:49:18 -070036perf: faster dictionary compression on small data when using multiple contexts, by @felixhandte
37perf: faster dictionary decompression when using a very large number of dictionaries simultaneously
38cli : fix : does no longer overwrite destination when source does not exist (#1082)
39cli : new command --adapt, for automatic compression level adaptation
40api : fix : block api can be streamed with > 4 GB, reported by @catid
41api : reduced ZSTD_DDict size by 2 KB
42api : minimum negative compression level is defined, and can be queried using ZSTD_minCLevel().
Yann Collet11cd2ea2018-10-03 16:37:50 -070043build: support Haiku target, by @korli
44build: Read Legacy format is limited to v0.5+ by default. Can be changed at compile time with macro ZSTD_LEGACY_SUPPORT.
Yann Collet8514bd82018-10-01 17:49:18 -070045doc : zstd_compression_format.md updated to match wording in IETF RFC 8478
Yann Collet63a519d2018-09-11 17:23:44 -070046misc: tests/paramgrill, a parameter optimizer, by @GeorgeLu97
47
Yann Collet24319972018-06-06 15:51:55 -070048v1.3.5
49perf: much faster dictionary compression, by @felixhandte
50perf: small quality improvement for dictionary generation, by @terrelln
51perf: slightly improved high compression levels (notably level 19)
52mem : automatic memory release for long duration contexts
53cli : fix : overlapLog can be manually set
54cli : fix : decoding invalid lz4 frames
55api : fix : performance degradation for dictionary compression when using advanced API, by @terrelln
56api : change : clarify ZSTD_CCtx_reset() vs ZSTD_CCtx_resetParameters(), by @terrelln
57build: select custom libzstd scope through control macros, by @GeorgeLu97
58build: OpenBSD patch, by @bket
59build: make and make all are compatible with -j
60doc : clarify zstd_compression_format.md, updated for IETF RFC process
61misc: pzstd compatible with reproducible compilation, by @lamby
62
Yann Collet8c6dbf42018-03-09 16:22:34 -080063v1.3.4
Yann Colleteba13db2018-03-26 10:21:49 -070064perf: faster speed (especially decoding speed) on recent cpus (haswell+)
65perf: much better performance associating --long with multi-threading, by @terrelln
66perf: better compression at levels 13-15
67cli : asynchronous compression by default, for faster experience (use --single-thread for former behavior)
68cli : smoother status report in multi-threading mode
69cli : added command --fast=#, for faster compression modes
Yann Collet8c6dbf42018-03-09 16:22:34 -080070cli : fix crash when not overwriting existing files, by Pádraig Brady (@pixelb)
71api : `nbThreads` becomes `nbWorkers` : 1 triggers asynchronous mode
Yann Colleteba13db2018-03-26 10:21:49 -070072api : compression levels can be negative, for even more speed
Yann Collet8c6dbf42018-03-09 16:22:34 -080073api : ZSTD_getFrameProgression() : get precise progress status of ZSTDMT anytime
74api : ZSTDMT can accept new compression parameters during compression
Yann Colleteba13db2018-03-26 10:21:49 -070075api : implemented all advanced dictionary decompression prototypes
Yann Collet8c6dbf42018-03-09 16:22:34 -080076build: improved meson recipe, by Shawn Landden (@shawnl)
Yann Colleteba13db2018-03-26 10:21:49 -070077build: VS2017 scripts, by @HaydnTrigg
78misc: all /contrib projects fixed
79misc: added /contrib/docker script by @gyscos
Yann Collet8c6dbf42018-03-09 16:22:34 -080080
Yann Collet2cff66b2017-12-14 16:11:20 -080081v1.3.3
Yann Collet8c6dbf42018-03-09 16:22:34 -080082perf: faster zstd_opt strategy (levels 16-19)
Yann Collet2cff66b2017-12-14 16:11:20 -080083fix : bug #944 : multithreading with shared ditionary and large data, reported by @gsliepen
84cli : fix : content size written in header by default
85cli : fix : improved LZ4 format support, by @felixhandte
86cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file
87api : fix : support large skippable frames, by @terrelln
88api : fix : streaming interface was adding a useless 3-bytes null block to small frames
89api : change : when setting `pledgedSrcSize`, use `ZSTD_CONTENTSIZE_UNKNOWN` macro value to mean "unknown"
90build: fix : compilation under rhel6 and centos6, reported by @pixelb
91build: added `check` target
92
Yann Collet90238982017-08-30 17:44:12 -070093v1.3.2
Yann Collet92889702017-09-18 13:41:54 -070094new : long range mode, using --long command, by Stella Lau (@stellamplau)
Yann Collet7e00df42017-10-02 16:27:25 -070095new : ability to generate and decode magicless frames (#591)
96changed : maximum nb of threads reduced to 200, to avoid address space exhaustion in 32-bits mode
Yann Collet92889702017-09-18 13:41:54 -070097fix : multi-threading compression works with custom allocators
Yann Colletf97c2db2017-09-21 16:07:29 -070098fix : ZSTD_sizeof_CStream() was over-evaluating memory usage
99fix : a rare compression bug when compression generates very large distances and bunch of other conditions (only possible at --ultra -22)
Yann Collet92889702017-09-18 13:41:54 -0700100fix : 32-bits build can now decode large offsets (levels 21+)
Yann Collet7e00df42017-10-02 16:27:25 -0700101cli : added LZ4 frame support by default, by Felix Handte (@felixhandte)
102cli : improved --list output
Yann Collet92889702017-09-18 13:41:54 -0700103cli : new : can split input file for dictionary training, using command -B#
Yann Collet7e00df42017-10-02 16:27:25 -0700104cli : new : clean operation artefact on Ctrl-C interruption
Yann Collet92889702017-09-18 13:41:54 -0700105cli : fix : do not change /dev/null permissions when using command -t with root access, reported by @mike155 (#851)
Yann Collet7e00df42017-10-02 16:27:25 -0700106cli : fix : write file size in header in multiple-files mode
107api : added macro ZSTD_COMPRESSBOUND() for static allocation
108api : experimental : new advanced decompression API
109api : fix : sizeof_CCtx() used to over-estimate
Yann Collet0d6ecc72017-09-11 14:09:34 -0700110build: fix : no-multithread variant compiles without pool.c dependency, reported by Mitchell Blank Jr (@mitchblank) (#819)
Yann Collet90238982017-08-30 17:44:12 -0700111build: better compatibility with reproducible builds, by Bernhard M. Wiedemann (@bmwiedemann) (#818)
Yann Collet7e00df42017-10-02 16:27:25 -0700112example : added streaming_memory_usage
113license : changed /examples license to BSD + GPLv2
114license : fix a few header files to reflect new license (#825)
Yann Collet90238982017-08-30 17:44:12 -0700115
Yann Collet40156a42017-07-08 04:55:09 -0700116v1.3.1
Yann Collet4912fc22017-08-20 11:45:58 -0700117New license : BSD + GPLv2
118perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt (@mcmilk)
Yann Collet6733c072017-07-13 15:34:44 -0700119perf: Multi-threading supports up to 256 threads. Cap at 256 when more are requested (#760)
Yann Colletc523c932017-08-18 15:57:53 -0700120cli : improved and fixed --list command, by @ib (#772)
Yann Collet4912fc22017-08-20 11:45:58 -0700121cli : command -vV to list supported formats, by @ib (#771)
122build : fixed binary variants, reported by @svenha (#788)
123build : fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (@GregSlazinski) (#718)
Yann Collet8ef666c2017-07-12 14:23:34 -0700124API exp : breaking change : ZSTD_getframeHeader() provides more information
Yann Collet2bd64402017-07-13 17:12:16 -0700125API exp : breaking change : pinned down values of error codes
Yann Collet4912fc22017-08-20 11:45:58 -0700126doc : fixed huffman example, by Ulrich Kunitz (@ulikunitz)
127new : contrib/adaptive-compression, I/O driven compression strength, by Paul Cruz (@paulcruz74)
128new : contrib/long_distance_matching, statistics by Stella Lau (@stellamplau)
129updated : contrib/linux-kernel, by Nick Terrell (@terrelln)
Yann Collet40156a42017-07-08 04:55:09 -0700130
Yann Collet257a7222017-06-02 17:35:11 -0700131v1.3.0
Yann Collet224e7a12017-06-21 15:58:36 -0700132cli : new : `--list` command, by Paul Cruz
Yann Colletacbef3d2017-06-29 05:18:09 -0700133cli : changed : xz/lzma support enabled by default
Yann Collet224e7a12017-06-21 15:58:36 -0700134cli : changed : `-t *` continue processing list after a decompression error
Yann Collet01743a32017-06-16 17:56:41 -0700135API : added : ZSTD_versionString()
Yann Colletacbef3d2017-06-29 05:18:09 -0700136API : promoted to stable status : ZSTD_getFrameContentSize(), by Sean Purcell
Yann Collet86bd83e2017-06-02 17:43:55 -0700137API exp : new advanced API : ZSTD_compress_generic(), ZSTD_CCtx_setParameter()
138API exp : new : API for static or external allocation : ZSTD_initStatic?Ctx()
139API exp : added : ZSTD_decompressBegin_usingDDict(), requested by Guy Riddle (#700)
Yann Colletacbef3d2017-06-29 05:18:09 -0700140API exp : clarified memory estimation / measurement functions.
Yann Collet224e7a12017-06-21 15:58:36 -0700141API exp : changed : strongest strategy renamed ZSTD_btultra, fastest strategy ZSTD_fast set to 1
Yann Colletacbef3d2017-06-29 05:18:09 -0700142tools : decodecorpus can generate random dictionary-compressed samples, by Paul Cruz
Yann Collet257a7222017-06-02 17:35:11 -0700143new : contrib/seekable_format, demo and API, by Sean Purcell
144changed : contrib/linux-kernel, updated version and license, by Nick Terrell
145
Yann Collet8b669532017-04-27 12:50:20 -0700146v1.2.0
Yann Collet5a804452017-04-27 12:49:22 -0700147cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable)
148cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell
149cli : new : zstdmt symlink hardwired to `zstd -T0`
Yann Collet7bd68e12017-04-28 08:54:13 -0700150cli : new : command --threads=# (#671)
Yann Collet7aada3c2017-05-02 12:14:12 -0700151cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell
152cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters
Yann Colletc08e5682017-05-03 14:32:33 -0700153cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell
Yann Collet5a804452017-04-27 12:49:22 -0700154cli : fix : does not output compressed data on console
155cli : fix : ignore symbolic links unless --force specified,
156API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument
Yann Collet68a7d3d2017-04-28 12:46:48 -0700157API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters.
Yann Collet5a804452017-04-27 12:49:22 -0700158API : improved: ZSTDMT_compressCCtx() reduced memory usage
159API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634)
160API : fix : src size stored in frame header is controlled at end of frame
Yann Collet7aada3c2017-05-02 12:14:12 -0700161API : fix : enforced consistent rules for pledgedSrcSize==0 (#641)
162API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate
Yann Colletf3dfcdc2017-03-21 12:18:28 -0700163build: improved cmake script, by @Majlen
Yann Collet5a804452017-04-27 12:49:22 -0700164build: enabled Multi-threading support for *BSD, by Baptiste Daroussin
165tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target.
166new : contrib/linux-kernel version, by Nick Terrell
Yann Colletf3dfcdc2017-03-21 12:18:28 -0700167
Yann Collet58af6142017-02-13 18:32:12 -0800168v1.1.4
Yann Colletc09d16b2017-02-14 10:45:19 -0800169cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
170cli : new : advanced benchmark command --priority=rt
Yann Collet58af6142017-02-13 18:32:12 -0800171cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
Yann Colletdccd6b62017-02-27 15:57:50 -0800172cli : fix : --rm remains silent when input is stdin
Yann Collet7ae30392017-03-14 04:19:51 -0700173cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
Yann Collet43764cd2017-02-28 17:44:17 -0800174speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
Yann Collet5a804452017-04-27 12:49:22 -0700175memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
176arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
Yann Collete02409f2017-03-02 17:14:57 -0800177API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
Yann Collet7ae30392017-03-14 04:19:51 -0700178API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
Yann Collet5a804452017-04-27 12:49:22 -0700179build : new: meson build system in contrib/meson, by Dima Krasner
180build : improved cmake script, by @Majlen
181build : added -Wformat-security flag, as recommended by Padraig Brady
Yann Collet58af6142017-02-13 18:32:12 -0800182doc : new : educational decoder, by Sean Purcell
183
Yann Colletd46ecb52016-12-17 16:28:12 +0100184v1.1.3
Yann Collet5962e582017-02-05 18:09:35 -0800185cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
Yann Collet122b6aa2017-01-27 03:22:37 -0800186cli : new : experimental target `make zstdmt`, with multi-threading support
Yann Collet00ea51f2017-02-07 12:05:28 -0800187cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
Yann Colletd76d1a92016-12-22 20:18:43 +0100188cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
Yann Colletaca113f2016-12-23 22:25:03 +0100189cli : fix zstdless on Mac OS-X, by Andrew Janke
Yann Collet122b6aa2017-01-27 03:22:37 -0800190cli : fix #232 "compress non-files"
Yann Collet8e44bd82017-01-17 13:15:25 -0800191dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
Yann Collet122b6aa2017-01-27 03:22:37 -0800192API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
Yann Collet4e5eea62016-12-21 16:44:35 +0100193API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
Yann Colletd76d1a92016-12-22 20:18:43 +0100194API : new : ZDICT_finalizeDictionary()
Yann Collet122b6aa2017-01-27 03:22:37 -0800195API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
196API : fix : all symbols properly exposed in libzstd, by Nick Terrell
197build : support for Solaris target, by Przemyslaw Skibinski
Yann Collet816edeb2017-02-06 17:39:54 -0800198doc : clarified specification, by Sean Purcell
Yann Colletd46ecb52016-12-17 16:28:12 +0100199
Yann Collet0018ca22016-11-07 14:41:21 -0800200v1.1.2
Yann Colletb23420f2016-12-13 19:47:17 +0100201API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
202API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
Yann Collet08698532016-12-13 11:45:19 +0100203API : zbuff : changed : prototypes now generate deprecation warnings
204lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
205lib : changed : only public ZSTD_ symbols are now exposed
206lib : changed : reduced usage of stack memory
207lib : fixed : several corner case bugs, by Nick Terrell
Yann Collet743b33f2016-12-02 15:18:57 -0800208cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
209cli : new : preserve file attributes
Yann Collet9ffbeea2016-12-02 18:37:38 -0800210cli : new : added zstdless and zstdgrep tools
Yann Collet22383122016-12-02 11:36:11 -0800211cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
Yann Collet743b33f2016-12-02 15:18:57 -0800212cli : fixed : zstdcat
Yann Collete7a41a52016-12-05 16:21:06 -0800213zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
Yann Collet08698532016-12-13 11:45:19 +0100214install : better compatibility with FreeBSD, by Dimitry Andric
215source tree : changed : zbuff source files moved to lib/deprecated
Yann Collet0018ca22016-11-07 14:41:21 -0800216
Yann Collete405c7a2016-10-12 15:29:22 -0700217v1.1.1
Yann Collet2b361cf2016-10-14 16:03:34 -0700218New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
Yann Collet37d13002016-10-24 17:22:12 -0700219New : doc/zstd_manual.html, by Przemyslaw Skibinski
Yann Collet95162342016-10-25 16:19:52 -0700220Improved : slightly better compression ratio at --ultra levels (>= 20)
Yann Collet4c0b44f2016-11-01 11:13:22 -0700221Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
222Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
223Added : example/multiple_streaming_compression.c
224Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
Yann Collet22de81e2016-10-28 13:58:31 -0700225Updated man page
Yann Collet37d13002016-10-24 17:22:12 -0700226Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
Yann Collete405c7a2016-10-12 15:29:22 -0700227
Yann Collet1eb2fdc2016-09-18 12:21:47 +0200228v1.1.0
Yann Collet1563bfe2016-09-02 11:44:21 -0700229New : contrib/pzstd, parallel version of zstd, by Nick Terrell
Yann Colleta4c212c2016-09-05 08:06:33 -0700230added : NetBSD install target (#338)
Yann Collet83543a72016-09-28 00:15:03 +0200231Improved : speed for batches of small files
232Improved : speed of zlib wrapper, by Przemyslaw Skibinski
233Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
Yann Collet7304eb72016-09-01 15:47:33 -0700234Fixed : CLI -d output to stdout by default when input is stdin (#322)
Yann Collet60181e32016-09-01 17:12:26 -0700235Fixed : CLI correctly detects console on Mac OS-X
Yann Collet220c5672016-09-13 19:40:50 +0200236Fixed : CLI supports recursive mode `-r` on Mac OS-X
237Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
Yann Collet855766d2016-09-02 17:04:49 -0700238Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
Yann Collet30d30562016-09-13 17:23:31 +0200239Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
Yann Collet1563bfe2016-09-02 11:44:21 -0700240Fixed : zstd-pgo, reported by octoploid (#329)
Yann Collet7304eb72016-09-01 15:47:33 -0700241
Yann Collet0588ee62016-08-31 09:05:22 -0700242v1.0.0
243Change Licensing, all project is now BSD, Copyright Facebook
Yann Collet8baf78a2016-08-20 03:47:49 +0200244Small decompression speed improvement
Yann Collet0588ee62016-08-31 09:05:22 -0700245API : Streaming API supports legacy format
246API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParamter()
247CLI supports legacy formats v0.4+
248Fixed : compression fails on certain huge files, reported by Jesse McGrew
Yann Collet94376ac2016-08-25 19:09:21 +0200249Enhanced documentation, by Przemyslaw Skibinski
Yann Collet8baf78a2016-08-20 03:47:49 +0200250
Yann Collet346efcc2016-08-02 14:26:00 +0200251v0.8.1
Yann Collet655393c2016-08-14 00:16:20 +0200252New streaming API
Yann Colletfe0590f2016-08-12 18:04:15 +0200253Changed : --ultra now enables levels beyond 19
Yann Collet346efcc2016-08-02 14:26:00 +0200254Changed : -i# now selects benchmark time in second
255Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
Yann Colletfe0590f2016-08-12 18:04:15 +0200256Fixed : speed regression on specific patterns (#272)
Yann Colletb3950ee2016-08-16 15:10:30 +0200257Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
Yann Collet79d9cdd2016-08-18 11:50:37 +0200258Fixed : ICC compilation, by Przemyslaw Skibinski
Yann Collet346efcc2016-08-02 14:26:00 +0200259
Yann Collet6fa05a22016-07-20 14:58:49 +0200260v0.8.0
Yann Colletdd25a272016-07-27 12:35:29 +0200261Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
Yann Collet8f29e8e2016-07-31 02:43:17 +0200262New : Build on FreeBSD and DragonFly, thanks to JrMarino
Yann Collet62470b42016-07-28 15:29:08 +0200263Changed : modified API : ZSTD_compressEnd()
Yann Colletd5c5a772016-07-19 15:06:55 +0200264Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
Yann Collet24a3d902016-07-26 01:26:56 +0200265Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
Yann Collet3ca75032016-08-01 02:26:20 +0200266Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
Yann Collet6fa05a22016-07-20 14:58:49 +0200267Fixed : checksum correctly checked in single-pass mode
Yann Collet24a3d902016-07-26 01:26:56 +0200268Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
Yann Collet85f39192016-07-17 20:42:21 +0200269Modified : minor compression level adaptations
Yann Collet6fa05a22016-07-20 14:58:49 +0200270Updated : compression format specification to v0.2.0
Yann Collet356e5e22016-07-18 03:14:58 +0200271changed : zstd.h moved to /lib directory
Yann Colletd54b2d22016-07-17 15:53:18 +0200272
Yann Colletef9999f2016-09-01 16:44:48 -0700273v0.7.5
274Transition version, supporting decoding of v0.8.x
275
Yann Collet5e80dd32016-07-13 17:38:39 +0200276v0.7.4
Yann Colletd5c5a772016-07-19 15:06:55 +0200277Added : homebrew for Mac, by Daniel Cade
Yann Collet3b8b5752016-07-16 20:04:47 +0200278Added : more examples
Yann Collet227cc392016-07-15 11:27:09 +0200279Fixed : segfault when using small dictionaries, reported by Felix Handte
Yann Collet3b8b5752016-07-16 20:04:47 +0200280Modified : default compression level for CLI is now 3
281Updated : specification, to v0.1.1
Yann Colletea2ecdc2016-07-14 22:43:12 +0200282
Yann Colletd916c902016-07-04 00:42:58 +0200283v0.7.3
Yann Colletd4e103a2016-07-08 19:18:30 +0200284New : compression format specification
Yann Collet19c27d22016-07-07 14:40:13 +0200285New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
286New : `ZSTD_getDecompressedSize()`
287New : OpenBSD target, by Juan Francisco Cantero Hurtado
288New : `examples` directory
Yann Colleta295b312016-07-06 13:13:12 +0200289fixed : dictBuilder using HC levels, reported by Bartosz Taudul
Yann Colletf246cf52016-07-06 20:30:52 +0200290fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
Yann Colletd4e103a2016-07-08 19:18:30 +0200291fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
Yann Collet19c27d22016-07-07 14:40:13 +0200292modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
293modified : legacy functions no longer need magic number
Yann Colletd916c902016-07-04 00:42:58 +0200294
Yann Collet529d9c72016-06-27 10:03:10 +0200295v0.7.2
Yann Collet00d44ab2016-07-04 01:29:47 +0200296fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
Yann Colletd96e8f22016-07-02 22:03:08 +0200297fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
298fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
Yann Collet529d9c72016-06-27 10:03:10 +0200299
Yann Colletc98f8e72016-06-20 16:31:24 +0200300v0.7.1
Yann Colletaa292262016-06-21 14:04:57 +0200301fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
Yann Collet3755eb82016-06-22 13:15:53 +0200302fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв
Yann Colleta436a522016-06-20 23:34:04 +0200303fixed : corruption issue, reported by cj
304modified : checksum enabled by default in command line mode
Yann Colletc98f8e72016-06-20 16:31:24 +0200305
Yann Collete3f4e6c2016-05-31 10:12:04 +0200306v0.7.0
Yann Colletdd97e242016-05-30 14:05:44 +0200307New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
Yann Colletb09b12c2016-06-09 22:59:51 +0200308New : Command `--rm`, to remove source file after successful de/compression
Yann Collet662a5412016-06-08 11:11:02 +0200309New : Visual build scripts, by Christophe Chevalier
Yann Colletde95f962016-05-23 19:46:47 +0200310New : Support for Sparse File-systems (do not use space for zero-filled sectors)
Yann Collet0d311602016-06-04 00:09:02 +0200311New : Frame checksum support
Yann Collete3f4e6c2016-05-31 10:12:04 +0200312New : Support pass-through mode (when using `-df`)
Yann Collet4948f272016-06-16 15:38:51 +0200313API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
314API : create dictionary files from custom content, by Giuseppe Ottaviano
315API : support for custom malloc/free functions
Yann Collete3f4e6c2016-05-31 10:12:04 +0200316New : controllable Dictionary ID
Yann Collet0d311602016-06-04 00:09:02 +0200317New : Support for skippable frames
Yann Colletde95f962016-05-23 19:46:47 +0200318
Yann Colletf6ca09b2016-05-09 04:44:45 +0200319v0.6.1
Yann Collete6aa23b2016-05-13 11:29:38 +0200320New : zlib wrapper API, thanks to Przemyslaw Skibinski
Yann Colletd9b3cca2016-05-13 12:43:36 +0200321New : Ability to compile compressor / decompressor separately
322Changed : new lib directory structure
Yann Colletf6ca09b2016-05-09 04:44:45 +0200323Fixed : Legacy codec v0.5 compatible with dictionary decompression
324Fixed : Decoder corruption error (#173)
Yann Collet918b9342016-05-10 07:00:07 +0200325Fixed : null-string roundtrip (#176)
Yann Collete6aa23b2016-05-13 11:29:38 +0200326New : benchmark mode can select directory as input
Yann Colletd9b3cca2016-05-13 12:43:36 +0200327Experimental : midipix support, VMS support
Yann Colletf6ca09b2016-05-09 04:44:45 +0200328
Yann Collet6cb41352016-03-15 15:47:38 +0100329v0.6.0
330Stronger high compression modes, thanks to Przemyslaw Skibinski
331API : ZSTD_getFrameParams() provides size of decompressed content
Yann Collet34b20ec2016-03-15 20:47:23 +0100332New : highest compression modes require `--ultra` command to fully unleash their capacity
Yann Colletfbc40b82016-03-16 16:53:47 +0100333Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner
Yann Collet6cb41352016-03-15 15:47:38 +0100334
Yann Collet0db41152016-02-10 14:50:22 +0100335v0.5.1
336New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
Yann Collet459a6b72016-02-15 20:37:23 +0100337Changed : Dictionary builder integrated into libzstd and zstd cli
Yann Collet4c64d512016-02-18 01:01:42 +0100338Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
Yann Collet459a6b72016-02-15 20:37:23 +0100339Fix : high compression modes for big-endian platforms
Yann Collet2d08b092016-02-16 14:42:08 +0100340New : zstd cli : `-t` | `--test` command
Yann Collet0db41152016-02-10 14:50:22 +0100341
Yann Colletfb810d62016-01-28 00:18:06 +0100342v0.5.0
Yann Collete618f8e2016-01-28 00:29:58 +0100343New : dictionary builder utility
Yann Colletfd416f12016-01-30 03:14:15 +0100344Changed : streaming & dictionary API
Yann Collet45ff4302016-02-05 15:24:57 +0100345Improved : better compression of small data
Yann Colletfb810d62016-01-28 00:18:06 +0100346
Yann Collet223f6332016-01-21 13:33:05 +0100347v0.4.7
348Improved : small compression speed improvement in HC mode
349Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
350fix : bt search bug
351
Yann Collet5f9f9872015-12-30 19:52:08 +0100352v0.4.6
353fix : fast compression mode on Windows
Yann Collet3e5b73b2016-01-10 20:46:20 +0100354New : cmake configuration file, thanks to Artyom Dymchenko
Yann Collet5f9f9872015-12-30 19:52:08 +0100355Improved : high compression mode on repetitive data
Yann Colletbf42c8e2016-01-09 01:08:23 +0100356New : block-level API
357New : ZSTD_duplicateCCtx()
Yann Collet5f9f9872015-12-30 19:52:08 +0100358
Yann Colletdeb078b2015-12-17 20:30:14 +0100359v0.4.5
360new : -m/--multiple : compress/decompress multiple files
361
Yann Collet7b7027f2015-12-10 23:53:21 +0100362v0.4.4
Yann Collet6c3e2e72015-12-11 10:44:07 +0100363Fixed : high compression modes for Windows 32 bits
Yann Colletf6f3d752015-12-13 13:35:21 +0100364new : external dictionary API extended to buffered mode and accessible through command line
Yann Collet7b7027f2015-12-10 23:53:21 +0100365new : windows DLL project, thanks to Christophe Chevalier
366
Yann Collet28e7cef2015-12-03 12:11:30 +0100367v0.4.3 :
Yann Collet417890c2015-12-04 17:16:37 +0100368new : external dictionary API
Yann Collet56005e72015-12-07 10:44:25 +0100369new : zstd-frugal
Yann Collet28e7cef2015-12-03 12:11:30 +0100370
Yann Colletaaf6f202015-12-02 15:03:11 +0100371v0.4.2 :
372Generic minor improvements for small blocks
373Fixed : big-endian compatibility, by Peter Harris (#85)
374
Yann Colleta85a8dd2015-11-30 11:53:11 +0100375v0.4.1
Yann Collet44287a32015-11-30 23:13:56 +0100376Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
Yann Colletdaa1c652015-11-30 12:25:48 +0100377removed `zstd.c`
Yann Colleta85a8dd2015-11-30 11:53:11 +0100378
Yann Collet7f6e91f2015-11-11 14:39:50 +0100379v0.4.0
Yann Colletdd97e242016-05-30 14:05:44 +0200380Command line utility compatible with high compression levels
Yann Collet7f6e91f2015-11-11 14:39:50 +0100381Removed zstdhc => merged into zstd
Yann Collet88fcd292015-11-25 14:42:45 +0100382Added : ZBUFF API (see zstd_buffered.h)
Yann Collet5b78d2f2015-11-12 15:36:05 +0100383Rolling buffer support
Yann Collet7f6e91f2015-11-11 14:39:50 +0100384
Yann Collet43e0cd52015-11-09 16:38:17 +0100385v0.3.6
386small blocks params
387
Yann Colletf48e35c2015-11-07 01:13:31 +0100388v0.3.5
389minor generic compression improvements
390
Yann Colletf12c1302015-11-05 18:16:59 +0100391v0.3.4
Yann Colletacd222c2015-11-06 12:39:39 +0100392Faster fast cLevels
Yann Colletf12c1302015-11-05 18:16:59 +0100393
Yann Collet35644872015-11-02 16:14:46 +0100394v0.3.3
395Small compression ratio improvement
396
Yann Collet7671f392015-11-02 12:17:39 +0100397v0.3.2
398Fixed Visual Studio
399
Yann Collet66d22b82015-11-02 02:36:10 +0100400v0.3.1 :
401Small compression ratio improvement
402
Yann Colletc776c462015-10-29 19:10:54 +0100403v0.3
404HC mode : compression levels 2-26
405
Yann Collet1077bb82015-10-28 12:32:25 +0100406v0.2.2
407Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
408
Yann Collet81e49e62015-10-28 15:56:48 +0100409v0.2.1
Yann Colletdd97e242016-05-30 14:05:44 +0200410Fix : Read errors, advanced fuzzer tests, by Hanno Böck
Yann Collet1077bb82015-10-28 12:32:25 +0100411
Yann Colleta3befd32015-10-21 11:13:31 +0100412v0.2.0
413**Breaking format change**
414Faster decompression speed
415Can still decode v0.1 format
416
417v0.1.3
418fix uninitialization warning, reported by Evan Nemerson
419
Yann Collet5abd8202015-08-27 03:16:04 +0100420v0.1.2
Yann Colleta3befd32015-10-21 11:13:31 +0100421frame concatenation support
Yann Collet5abd8202015-08-27 03:16:04 +0100422
423v0.1.1
424fix compression bug
425detects write-flush errors
Yann Collet33a04652016-09-02 22:11:49 -0700426
Yann Collet5abd8202015-08-27 03:16:04 +0100427v0.1.0
428first release