blob: a710da8b96f1b9091a05d280f2b4000d7444025a [file] [log] [blame]
Yann Collet58af6142017-02-13 18:32:12 -08001v1.1.4
Yann Colletc09d16b2017-02-14 10:45:19 -08002cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
3cli : new : advanced benchmark command --priority=rt
Yann Collet58af6142017-02-13 18:32:12 -08004cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
5API : new : ZSTD_getFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize(), by Sean Purcell
Yann Colletc09d16b2017-02-14 10:45:19 -08006API : change : ZSTD_compress*() with srcSize==0 create an empty-frame of known size
Yann Collet58af6142017-02-13 18:32:12 -08007doc : new : educational decoder, by Sean Purcell
8
Yann Colletd46ecb52016-12-17 16:28:12 +01009v1.1.3
Yann Collet5962e582017-02-05 18:09:35 -080010cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
Yann Collet122b6aa2017-01-27 03:22:37 -080011cli : new : experimental target `make zstdmt`, with multi-threading support
Yann Collet00ea51f2017-02-07 12:05:28 -080012cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
Yann Colletd76d1a92016-12-22 20:18:43 +010013cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
Yann Colletaca113f2016-12-23 22:25:03 +010014cli : fix zstdless on Mac OS-X, by Andrew Janke
Yann Collet122b6aa2017-01-27 03:22:37 -080015cli : fix #232 "compress non-files"
Yann Collet8e44bd82017-01-17 13:15:25 -080016dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
Yann Collet122b6aa2017-01-27 03:22:37 -080017API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
Yann Collet4e5eea62016-12-21 16:44:35 +010018API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
Yann Colletd76d1a92016-12-22 20:18:43 +010019API : new : ZDICT_finalizeDictionary()
Yann Collet122b6aa2017-01-27 03:22:37 -080020API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
21API : fix : all symbols properly exposed in libzstd, by Nick Terrell
22build : support for Solaris target, by Przemyslaw Skibinski
Yann Collet816edeb2017-02-06 17:39:54 -080023doc : clarified specification, by Sean Purcell
Yann Colletd46ecb52016-12-17 16:28:12 +010024
Yann Collet0018ca22016-11-07 14:41:21 -080025v1.1.2
Yann Colletb23420f2016-12-13 19:47:17 +010026API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
27API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
Yann Collet08698532016-12-13 11:45:19 +010028API : zbuff : changed : prototypes now generate deprecation warnings
29lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
30lib : changed : only public ZSTD_ symbols are now exposed
31lib : changed : reduced usage of stack memory
32lib : fixed : several corner case bugs, by Nick Terrell
Yann Collet743b33f2016-12-02 15:18:57 -080033cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
34cli : new : preserve file attributes
Yann Collet9ffbeea2016-12-02 18:37:38 -080035cli : new : added zstdless and zstdgrep tools
Yann Collet22383122016-12-02 11:36:11 -080036cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
Yann Collet743b33f2016-12-02 15:18:57 -080037cli : fixed : zstdcat
Yann Collete7a41a52016-12-05 16:21:06 -080038zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
Yann Collet08698532016-12-13 11:45:19 +010039install : better compatibility with FreeBSD, by Dimitry Andric
40source tree : changed : zbuff source files moved to lib/deprecated
Yann Collet0018ca22016-11-07 14:41:21 -080041
Yann Collete405c7a2016-10-12 15:29:22 -070042v1.1.1
Yann Collet2b361cf2016-10-14 16:03:34 -070043New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
Yann Collet37d13002016-10-24 17:22:12 -070044New : doc/zstd_manual.html, by Przemyslaw Skibinski
Yann Collet95162342016-10-25 16:19:52 -070045Improved : slightly better compression ratio at --ultra levels (>= 20)
Yann Collet4c0b44f2016-11-01 11:13:22 -070046Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
47Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
48Added : example/multiple_streaming_compression.c
49Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
Yann Collet22de81e2016-10-28 13:58:31 -070050Updated man page
Yann Collet37d13002016-10-24 17:22:12 -070051Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
Yann Collete405c7a2016-10-12 15:29:22 -070052
Yann Collet1eb2fdc2016-09-18 12:21:47 +020053v1.1.0
Yann Collet1563bfe2016-09-02 11:44:21 -070054New : contrib/pzstd, parallel version of zstd, by Nick Terrell
Yann Colleta4c212c2016-09-05 08:06:33 -070055added : NetBSD install target (#338)
Yann Collet83543a72016-09-28 00:15:03 +020056Improved : speed for batches of small files
57Improved : speed of zlib wrapper, by Przemyslaw Skibinski
58Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
Yann Collet7304eb72016-09-01 15:47:33 -070059Fixed : CLI -d output to stdout by default when input is stdin (#322)
Yann Collet60181e32016-09-01 17:12:26 -070060Fixed : CLI correctly detects console on Mac OS-X
Yann Collet220c5672016-09-13 19:40:50 +020061Fixed : CLI supports recursive mode `-r` on Mac OS-X
62Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
Yann Collet855766d2016-09-02 17:04:49 -070063Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
Yann Collet30d30562016-09-13 17:23:31 +020064Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
Yann Collet1563bfe2016-09-02 11:44:21 -070065Fixed : zstd-pgo, reported by octoploid (#329)
Yann Collet7304eb72016-09-01 15:47:33 -070066
Yann Collet0588ee62016-08-31 09:05:22 -070067v1.0.0
68Change Licensing, all project is now BSD, Copyright Facebook
Yann Collet8baf78a2016-08-20 03:47:49 +020069Small decompression speed improvement
Yann Collet0588ee62016-08-31 09:05:22 -070070API : Streaming API supports legacy format
71API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParamter()
72CLI supports legacy formats v0.4+
73Fixed : compression fails on certain huge files, reported by Jesse McGrew
Yann Collet94376ac2016-08-25 19:09:21 +020074Enhanced documentation, by Przemyslaw Skibinski
Yann Collet8baf78a2016-08-20 03:47:49 +020075
Yann Collet346efcc2016-08-02 14:26:00 +020076v0.8.1
Yann Collet655393c2016-08-14 00:16:20 +020077New streaming API
Yann Colletfe0590f2016-08-12 18:04:15 +020078Changed : --ultra now enables levels beyond 19
Yann Collet346efcc2016-08-02 14:26:00 +020079Changed : -i# now selects benchmark time in second
80Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
Yann Colletfe0590f2016-08-12 18:04:15 +020081Fixed : speed regression on specific patterns (#272)
Yann Colletb3950ee2016-08-16 15:10:30 +020082Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
Yann Collet79d9cdd2016-08-18 11:50:37 +020083Fixed : ICC compilation, by Przemyslaw Skibinski
Yann Collet346efcc2016-08-02 14:26:00 +020084
Yann Collet6fa05a22016-07-20 14:58:49 +020085v0.8.0
Yann Colletdd25a272016-07-27 12:35:29 +020086Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
Yann Collet8f29e8e2016-07-31 02:43:17 +020087New : Build on FreeBSD and DragonFly, thanks to JrMarino
Yann Collet62470b42016-07-28 15:29:08 +020088Changed : modified API : ZSTD_compressEnd()
Yann Colletd5c5a772016-07-19 15:06:55 +020089Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
Yann Collet24a3d902016-07-26 01:26:56 +020090Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
Yann Collet3ca75032016-08-01 02:26:20 +020091Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
Yann Collet6fa05a22016-07-20 14:58:49 +020092Fixed : checksum correctly checked in single-pass mode
Yann Collet24a3d902016-07-26 01:26:56 +020093Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
Yann Collet85f39192016-07-17 20:42:21 +020094Modified : minor compression level adaptations
Yann Collet6fa05a22016-07-20 14:58:49 +020095Updated : compression format specification to v0.2.0
Yann Collet356e5e22016-07-18 03:14:58 +020096changed : zstd.h moved to /lib directory
Yann Colletd54b2d22016-07-17 15:53:18 +020097
Yann Colletef9999f2016-09-01 16:44:48 -070098v0.7.5
99Transition version, supporting decoding of v0.8.x
100
Yann Collet5e80dd32016-07-13 17:38:39 +0200101v0.7.4
Yann Colletd5c5a772016-07-19 15:06:55 +0200102Added : homebrew for Mac, by Daniel Cade
Yann Collet3b8b5752016-07-16 20:04:47 +0200103Added : more examples
Yann Collet227cc392016-07-15 11:27:09 +0200104Fixed : segfault when using small dictionaries, reported by Felix Handte
Yann Collet3b8b5752016-07-16 20:04:47 +0200105Modified : default compression level for CLI is now 3
106Updated : specification, to v0.1.1
Yann Colletea2ecdc2016-07-14 22:43:12 +0200107
Yann Colletd916c902016-07-04 00:42:58 +0200108v0.7.3
Yann Colletd4e103a2016-07-08 19:18:30 +0200109New : compression format specification
Yann Collet19c27d22016-07-07 14:40:13 +0200110New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
111New : `ZSTD_getDecompressedSize()`
112New : OpenBSD target, by Juan Francisco Cantero Hurtado
113New : `examples` directory
Yann Colleta295b312016-07-06 13:13:12 +0200114fixed : dictBuilder using HC levels, reported by Bartosz Taudul
Yann Colletf246cf52016-07-06 20:30:52 +0200115fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
Yann Colletd4e103a2016-07-08 19:18:30 +0200116fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
Yann Collet19c27d22016-07-07 14:40:13 +0200117modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
118modified : legacy functions no longer need magic number
Yann Colletd916c902016-07-04 00:42:58 +0200119
Yann Collet529d9c72016-06-27 10:03:10 +0200120v0.7.2
Yann Collet00d44ab2016-07-04 01:29:47 +0200121fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
Yann Colletd96e8f22016-07-02 22:03:08 +0200122fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
123fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
Yann Collet529d9c72016-06-27 10:03:10 +0200124
Yann Colletc98f8e72016-06-20 16:31:24 +0200125v0.7.1
Yann Colletaa292262016-06-21 14:04:57 +0200126fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
Yann Collet3755eb82016-06-22 13:15:53 +0200127fixed : dictBuilder fails if first sample is too small, reported by ะ ัƒัะปะฐะฝ ะšะพะฒะฐะปั‘ะฒ
Yann Colleta436a522016-06-20 23:34:04 +0200128fixed : corruption issue, reported by cj
129modified : checksum enabled by default in command line mode
Yann Colletc98f8e72016-06-20 16:31:24 +0200130
Yann Collete3f4e6c2016-05-31 10:12:04 +0200131v0.7.0
Yann Colletdd97e242016-05-30 14:05:44 +0200132New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
Yann Colletb09b12c2016-06-09 22:59:51 +0200133New : Command `--rm`, to remove source file after successful de/compression
Yann Collet662a5412016-06-08 11:11:02 +0200134New : Visual build scripts, by Christophe Chevalier
Yann Colletde95f962016-05-23 19:46:47 +0200135New : Support for Sparse File-systems (do not use space for zero-filled sectors)
Yann Collet0d311602016-06-04 00:09:02 +0200136New : Frame checksum support
Yann Collete3f4e6c2016-05-31 10:12:04 +0200137New : Support pass-through mode (when using `-df`)
Yann Collet4948f272016-06-16 15:38:51 +0200138API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
139API : create dictionary files from custom content, by Giuseppe Ottaviano
140API : support for custom malloc/free functions
Yann Collete3f4e6c2016-05-31 10:12:04 +0200141New : controllable Dictionary ID
Yann Collet0d311602016-06-04 00:09:02 +0200142New : Support for skippable frames
Yann Colletde95f962016-05-23 19:46:47 +0200143
Yann Colletf6ca09b2016-05-09 04:44:45 +0200144v0.6.1
Yann Collete6aa23b2016-05-13 11:29:38 +0200145New : zlib wrapper API, thanks to Przemyslaw Skibinski
Yann Colletd9b3cca2016-05-13 12:43:36 +0200146New : Ability to compile compressor / decompressor separately
147Changed : new lib directory structure
Yann Colletf6ca09b2016-05-09 04:44:45 +0200148Fixed : Legacy codec v0.5 compatible with dictionary decompression
149Fixed : Decoder corruption error (#173)
Yann Collet918b9342016-05-10 07:00:07 +0200150Fixed : null-string roundtrip (#176)
Yann Collete6aa23b2016-05-13 11:29:38 +0200151New : benchmark mode can select directory as input
Yann Colletd9b3cca2016-05-13 12:43:36 +0200152Experimental : midipix support, VMS support
Yann Colletf6ca09b2016-05-09 04:44:45 +0200153
Yann Collet6cb41352016-03-15 15:47:38 +0100154v0.6.0
155Stronger high compression modes, thanks to Przemyslaw Skibinski
156API : ZSTD_getFrameParams() provides size of decompressed content
Yann Collet34b20ec2016-03-15 20:47:23 +0100157New : highest compression modes require `--ultra` command to fully unleash their capacity
Yann Colletfbc40b82016-03-16 16:53:47 +0100158Fixed : 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 +0100159
Yann Collet0db41152016-02-10 14:50:22 +0100160v0.5.1
161New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
Yann Collet459a6b72016-02-15 20:37:23 +0100162Changed : Dictionary builder integrated into libzstd and zstd cli
Yann Collet4c64d512016-02-18 01:01:42 +0100163Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
Yann Collet459a6b72016-02-15 20:37:23 +0100164Fix : high compression modes for big-endian platforms
Yann Collet2d08b092016-02-16 14:42:08 +0100165New : zstd cli : `-t` | `--test` command
Yann Collet0db41152016-02-10 14:50:22 +0100166
Yann Colletfb810d62016-01-28 00:18:06 +0100167v0.5.0
Yann Collete618f8e2016-01-28 00:29:58 +0100168New : dictionary builder utility
Yann Colletfd416f12016-01-30 03:14:15 +0100169Changed : streaming & dictionary API
Yann Collet45ff4302016-02-05 15:24:57 +0100170Improved : better compression of small data
Yann Colletfb810d62016-01-28 00:18:06 +0100171
Yann Collet223f6332016-01-21 13:33:05 +0100172v0.4.7
173Improved : small compression speed improvement in HC mode
174Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
175fix : bt search bug
176
Yann Collet5f9f9872015-12-30 19:52:08 +0100177v0.4.6
178fix : fast compression mode on Windows
Yann Collet3e5b73b2016-01-10 20:46:20 +0100179New : cmake configuration file, thanks to Artyom Dymchenko
Yann Collet5f9f9872015-12-30 19:52:08 +0100180Improved : high compression mode on repetitive data
Yann Colletbf42c8e2016-01-09 01:08:23 +0100181New : block-level API
182New : ZSTD_duplicateCCtx()
Yann Collet5f9f9872015-12-30 19:52:08 +0100183
Yann Colletdeb078b2015-12-17 20:30:14 +0100184v0.4.5
185new : -m/--multiple : compress/decompress multiple files
186
Yann Collet7b7027f2015-12-10 23:53:21 +0100187v0.4.4
Yann Collet6c3e2e72015-12-11 10:44:07 +0100188Fixed : high compression modes for Windows 32 bits
Yann Colletf6f3d752015-12-13 13:35:21 +0100189new : external dictionary API extended to buffered mode and accessible through command line
Yann Collet7b7027f2015-12-10 23:53:21 +0100190new : windows DLL project, thanks to Christophe Chevalier
191
Yann Collet28e7cef2015-12-03 12:11:30 +0100192v0.4.3 :
Yann Collet417890c2015-12-04 17:16:37 +0100193new : external dictionary API
Yann Collet56005e72015-12-07 10:44:25 +0100194new : zstd-frugal
Yann Collet28e7cef2015-12-03 12:11:30 +0100195
Yann Colletaaf6f202015-12-02 15:03:11 +0100196v0.4.2 :
197Generic minor improvements for small blocks
198Fixed : big-endian compatibility, by Peter Harris (#85)
199
Yann Colleta85a8dd2015-11-30 11:53:11 +0100200v0.4.1
Yann Collet44287a32015-11-30 23:13:56 +0100201Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
Yann Colletdaa1c652015-11-30 12:25:48 +0100202removed `zstd.c`
Yann Colleta85a8dd2015-11-30 11:53:11 +0100203
Yann Collet7f6e91f2015-11-11 14:39:50 +0100204v0.4.0
Yann Colletdd97e242016-05-30 14:05:44 +0200205Command line utility compatible with high compression levels
Yann Collet7f6e91f2015-11-11 14:39:50 +0100206Removed zstdhc => merged into zstd
Yann Collet88fcd292015-11-25 14:42:45 +0100207Added : ZBUFF API (see zstd_buffered.h)
Yann Collet5b78d2f2015-11-12 15:36:05 +0100208Rolling buffer support
Yann Collet7f6e91f2015-11-11 14:39:50 +0100209
Yann Collet43e0cd52015-11-09 16:38:17 +0100210v0.3.6
211small blocks params
212
Yann Colletf48e35c2015-11-07 01:13:31 +0100213v0.3.5
214minor generic compression improvements
215
Yann Colletf12c1302015-11-05 18:16:59 +0100216v0.3.4
Yann Colletacd222c2015-11-06 12:39:39 +0100217Faster fast cLevels
Yann Colletf12c1302015-11-05 18:16:59 +0100218
Yann Collet35644872015-11-02 16:14:46 +0100219v0.3.3
220Small compression ratio improvement
221
Yann Collet7671f392015-11-02 12:17:39 +0100222v0.3.2
223Fixed Visual Studio
224
Yann Collet66d22b82015-11-02 02:36:10 +0100225v0.3.1 :
226Small compression ratio improvement
227
Yann Colletc776c462015-10-29 19:10:54 +0100228v0.3
229HC mode : compression levels 2-26
230
Yann Collet1077bb82015-10-28 12:32:25 +0100231v0.2.2
232Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
233
Yann Collet81e49e62015-10-28 15:56:48 +0100234v0.2.1
Yann Colletdd97e242016-05-30 14:05:44 +0200235Fix : Read errors, advanced fuzzer tests, by Hanno Bรถck
Yann Collet1077bb82015-10-28 12:32:25 +0100236
Yann Colleta3befd32015-10-21 11:13:31 +0100237v0.2.0
238**Breaking format change**
239Faster decompression speed
240Can still decode v0.1 format
241
242v0.1.3
243fix uninitialization warning, reported by Evan Nemerson
244
Yann Collet5abd8202015-08-27 03:16:04 +0100245v0.1.2
Yann Colleta3befd32015-10-21 11:13:31 +0100246frame concatenation support
Yann Collet5abd8202015-08-27 03:16:04 +0100247
248v0.1.1
249fix compression bug
250detects write-flush errors
Yann Collet33a04652016-09-02 22:11:49 -0700251
Yann Collet5abd8202015-08-27 03:16:04 +0100252v0.1.0
253first release