Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

CHANGELOG 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555
  1. v1.4.5
  2. fix : Compression ratio regression on huge files (> 3 GB) using high levels (--ultra) and multithreading, by @terrelln
  3. perf: Improved decompression speed: x64 : +10% (clang) / +5% (gcc); ARM : from +15% to +50%, depending on SoC, by @terrelln
  4. perf: Automatically downsizes ZSTD_DCtx when too large for too long (#2069, by @bimbashreshta)
  5. perf: Improved fast compression speed on aarch64 (#2040, ~+3%, by @caoyzh)
  6. perf: Small level 1 compression speed gains (depending on compiler)
  7. cli : New --patch-from command, create and apply patches from files, by @bimbashreshta
  8. cli : New --filelist= : Provide a list of files to operate upon from a file
  9. cli : -b -d command can now benchmark decompression on multiple files
  10. cli : New --no-content-size command
  11. cli : New --show-default-cparams information command
  12. api : ZDICT_finalizeDictionary() is promoted to stable (#2111)
  13. api : new experimental parameter ZSTD_d_stableOutBuffer (#2094)
  14. build: Generate a single-file libzstd library (#2065, by @cwoffenden)
  15. build: Relative includes no longer require -I compiler flags for zstd lib subdirs (#2103, by @felixhandte)
  16. build: zstd now compiles cleanly under -pedantic (#2099)
  17. build: zstd now compiles with make-4.3
  18. build: Support mingw cross-compilation from Linux, by @Ericson2314
  19. build: Meson multi-thread build fix on windows
  20. build: Some misc icc fixes backed by new ci test on travis
  21. misc: bitflip analyzer tool, by @felixhandte
  22. misc: Extend largeNbDicts benchmark to compression
  23. misc: Edit-distance match finder in contrib/
  24. doc : Improved beginner CONTRIBUTING.md docs
  25. doc : New issue templates for zstd
  26. v1.4.4
  27. perf: Improved decompression speed, by > 10%, by @terrelln
  28. perf: Better compression speed when re-using a context, by @felixhandte
  29. perf: Fix compression ratio when compressing large files with small dictionary, by @senhuang42
  30. perf: zstd reference encoder can generate RLE blocks, by @bimbashrestha
  31. perf: minor generic speed optimization, by @davidbolvansky
  32. api: new ability to extract sequences from the parser for analysis, by @bimbashrestha
  33. api: fixed decoding of magic-less frames, by @terrelln
  34. api: fixed ZSTD_initCStream_advanced() performance with fast modes, reported by @QrczakMK
  35. cli: Named pipes support, by @bimbashrestha
  36. cli: short tar's extension support, by @stokito
  37. cli: command --output-dir-flat= , generates target files into requested directory, by @senhuang42
  38. cli: commands --stream-size=# and --size-hint=#, by @nmagerko
  39. cli: command --exclude-compressed, by @shashank0791
  40. cli: faster `-t` test mode
  41. cli: improved some error messages, by @vangyzen
  42. cli: fix command `-D dictionary` on Windows, reported by @artyompetrov
  43. cli: fix rare deadlock condition within dictionary builder, by @terrelln
  44. build: single-file decoder with emscripten compilation script, by @cwoffenden
  45. build: fixed zlibWrapper compilation on Visual Studio, reported by @bluenlive
  46. build: fixed deprecation warning for certain gcc version, reported by @jasonma163
  47. build: fix compilation on old gcc versions, by @cemeyer
  48. build: improved installation directories for cmake script, by Dmitri Shubin
  49. pack: modified pkgconfig, for better integration into openwrt, requested by @neheb
  50. misc: Improved documentation : ZSTD_CLEVEL, DYNAMIC_BMI2, ZSTD_CDict, function deprecation, zstd format
  51. misc: fixed educational decoder : accept larger literals section, and removed UNALIGNED() macro
  52. v1.4.3
  53. bug: Fix Dictionary Compression Ratio Regression by @cyan4973 (#1709)
  54. bug: Fix Buffer Overflow in legacy v0.3 decompression by @felixhandte (#1722)
  55. build: Add support for IAR C/C++ Compiler for Arm by @joseph0918 (#1705)
  56. v1.4.2
  57. bug: Fix bug in zstd-0.5 decoder by @terrelln (#1696)
  58. bug: Fix seekable decompression in-memory API by @iburinoc (#1695)
  59. misc: Validate blocks are smaller than size limit by @vivekmg (#1685)
  60. misc: Restructure source files by @ephiepark (#1679)
  61. v1.4.1
  62. bug: Fix data corruption in niche use cases by @terrelln (#1659)
  63. bug: Fuzz legacy modes, fix uncovered bugs by @terrelln (#1593, #1594, #1595)
  64. bug: Fix out of bounds read by @terrelln (#1590)
  65. perf: Improve decode speed by ~7% @mgrice (#1668)
  66. perf: Slightly improved compression ratio of level 3 and 4 (ZSTD_dfast) by @cyan4973 (#1681)
  67. perf: Slightly faster compression speed when re-using a context by @cyan4973 (#1658)
  68. perf: Improve compression ratio for small windowLog by @cyan4973 (#1624)
  69. perf: Faster compression speed in high compression mode for repetitive data by @terrelln (#1635)
  70. api: Add parameter to generate smaller dictionaries by @tyler-tran (#1656)
  71. cli: Recognize symlinks when built in C99 mode by @felixhandte (#1640)
  72. cli: Expose cpu load indicator for each file on -vv mode by @ephiepark (#1631)
  73. cli: Restrict read permissions on destination files by @chungy (#1644)
  74. cli: zstdgrep: handle -f flag by @felixhandte (#1618)
  75. cli: zstdcat: follow symlinks by @vejnar (#1604)
  76. doc: Remove extra size limit on compressed blocks by @felixhandte (#1689)
  77. doc: Fix typo by @yk-tanigawa (#1633)
  78. doc: Improve documentation on streaming buffer sizes by @cyan4973 (#1629)
  79. build: CMake: support building with LZ4 @leeyoung624 (#1626)
  80. build: CMake: install zstdless and zstdgrep by @leeyoung624 (#1647)
  81. build: CMake: respect existing uninstall target by @j301scott (#1619)
  82. build: Make: skip multithread tests when built without support by @michaelforney (#1620)
  83. build: Make: Fix examples/ test target by @sjnam (#1603)
  84. build: Meson: rename options out of deprecated namespace by @lzutao (#1665)
  85. build: Meson: fix build by @lzutao (#1602)
  86. build: Visual Studio: don't export symbols in static lib by @scharan (#1650)
  87. build: Visual Studio: fix linking by @absotively (#1639)
  88. build: Fix MinGW-W64 build by @myzhang1029 (#1600)
  89. misc: Expand decodecorpus coverage by @ephiepark (#1664)
  90. v1.4.0
  91. perf: Improve level 1 compression speed in most scenarios by 6% by @gbtucker and @terrelln
  92. api: Move the advanced API, including all functions in the staging section, to the stable section
  93. api: Make ZSTD_e_flush and ZSTD_e_end block for maximum forward progress
  94. api: Rename ZSTD_CCtxParam_getParameter to ZSTD_CCtxParams_getParameter
  95. api: Rename ZSTD_CCtxParam_setParameter to ZSTD_CCtxParams_setParameter
  96. api: Don't export ZSTDMT functions from the shared library by default
  97. api: Require ZSTD_MULTITHREAD to be defined to use ZSTDMT
  98. api: Add ZSTD_decompressBound() to provide an upper bound on decompressed size by @shakeelrao
  99. api: Fix ZSTD_decompressDCtx() corner cases with a dictionary
  100. api: Move ZSTD_getDictID_*() functions to the stable section
  101. api: Add ZSTD_c_literalCompressionMode flag to enable or disable literal compression by @terrelln
  102. api: Allow compression parameters to be set when a dictionary is used
  103. api: Allow setting parameters before or after ZSTD_CCtx_loadDictionary() is called
  104. api: Fix ZSTD_estimateCStreamSize_usingCCtxParams()
  105. api: Setting ZSTD_d_maxWindowLog to 0 means use the default
  106. cli: Ensure that a dictionary is not used to compress itself by @shakeelrao
  107. cli: Add --[no-]compress-literals flag to enable or disable literal compression
  108. doc: Update the examples to use the advanced API
  109. doc: Explain how to transition from old streaming functions to the advanced API in the header
  110. build: Improve the Windows release packages
  111. build: Improve CMake build by @hjmjohnson
  112. build: Build fixes for FreeBSD by @lwhsu
  113. build: Remove redundant warnings by @thatsafunnyname
  114. build: Fix tests on OpenBSD by @bket
  115. build: Extend fuzzer build system to work with the new clang engine
  116. build: CMake now creates the libzstd.so.1 symlink
  117. build: Improve Menson build by @lzutao
  118. misc: Fix symbolic link detection on FreeBSD
  119. misc: Use physical core count for -T0 on FreeBSD by @cemeyer
  120. misc: Fix zstd --list on truncated files by @kostmo
  121. misc: Improve logging in debug mode by @felixhandte
  122. misc: Add CirrusCI tests by @lwhsu
  123. misc: Optimize dictionary memory usage in corner cases
  124. misc: Improve the dictionary builder on small or homogeneous data
  125. misc: Fix spelling across the repo by @jsoref
  126. v1.3.8
  127. perf: better decompression speed on large files (+7%) and cold dictionaries (+15%)
  128. perf: slightly better compression ratio at high compression modes
  129. api : finalized advanced API, last stage before "stable" status
  130. api : new --rsyncable mode, by @terrelln
  131. api : support decompression of empty frames into NULL (used to be an error) (#1385)
  132. build: new set of macros to build a minimal size decoder, by @felixhandte
  133. build: fix compilation on MIPS32, reported by @clbr (#1441)
  134. build: fix compilation with multiple -arch flags, by @ryandesign
  135. build: highly upgraded meson build, by @lzutao
  136. build: improved buck support, by @obelisk
  137. build: fix cmake script : can create debug build, by @pitrou
  138. build: Makefile : grep works on both colored consoles and systems without color support
  139. build: fixed zstd-pgo, by @bmwiedemann
  140. cli : support ZSTD_CLEVEL environment variable, by @yijinfb (#1423)
  141. cli : --no-progress flag, preserving final summary (#1371), by @terrelln
  142. cli : ensure destination file is not source file (#1422)
  143. cli : clearer error messages, especially when input file not present
  144. doc : clarified zstd_compression_format.md, by @ulikunitz
  145. misc: fixed zstdgrep, returns 1 on failure, by @lzutao
  146. misc: NEWS renamed as CHANGELOG, in accordance with fboss
  147. v1.3.7
  148. perf: slightly better decompression speed on clang (depending on hardware target)
  149. fix : performance of dictionary compression for small input < 4 KB at levels 9 and 10
  150. build: no longer build backtrace by default in release mode; restrict further automatic mode
  151. build: control backtrace support through build macro BACKTRACE
  152. misc: added man pages for zstdless and zstdgrep, by @samrussell
  153. v1.3.6
  154. perf: much faster dictionary builder, by @jenniferliu
  155. perf: faster dictionary compression on small data when using multiple contexts, by @felixhandte
  156. perf: faster dictionary decompression when using a very large number of dictionaries simultaneously
  157. cli : fix : does no longer overwrite destination when source does not exist (#1082)
  158. cli : new command --adapt, for automatic compression level adaptation
  159. api : fix : block api can be streamed with > 4 GB, reported by @catid
  160. api : reduced ZSTD_DDict size by 2 KB
  161. api : minimum negative compression level is defined, and can be queried using ZSTD_minCLevel().
  162. build: support Haiku target, by @korli
  163. build: Read Legacy format is limited to v0.5+ by default. Can be changed at compile time with macro ZSTD_LEGACY_SUPPORT.
  164. doc : zstd_compression_format.md updated to match wording in IETF RFC 8478
  165. misc: tests/paramgrill, a parameter optimizer, by @GeorgeLu97
  166. v1.3.5
  167. perf: much faster dictionary compression, by @felixhandte
  168. perf: small quality improvement for dictionary generation, by @terrelln
  169. perf: slightly improved high compression levels (notably level 19)
  170. mem : automatic memory release for long duration contexts
  171. cli : fix : overlapLog can be manually set
  172. cli : fix : decoding invalid lz4 frames
  173. api : fix : performance degradation for dictionary compression when using advanced API, by @terrelln
  174. api : change : clarify ZSTD_CCtx_reset() vs ZSTD_CCtx_resetParameters(), by @terrelln
  175. build: select custom libzstd scope through control macros, by @GeorgeLu97
  176. build: OpenBSD patch, by @bket
  177. build: make and make all are compatible with -j
  178. doc : clarify zstd_compression_format.md, updated for IETF RFC process
  179. misc: pzstd compatible with reproducible compilation, by @lamby
  180. v1.3.4
  181. perf: faster speed (especially decoding speed) on recent cpus (haswell+)
  182. perf: much better performance associating --long with multi-threading, by @terrelln
  183. perf: better compression at levels 13-15
  184. cli : asynchronous compression by default, for faster experience (use --single-thread for former behavior)
  185. cli : smoother status report in multi-threading mode
  186. cli : added command --fast=#, for faster compression modes
  187. cli : fix crash when not overwriting existing files, by Pádraig Brady (@pixelb)
  188. api : `nbThreads` becomes `nbWorkers` : 1 triggers asynchronous mode
  189. api : compression levels can be negative, for even more speed
  190. api : ZSTD_getFrameProgression() : get precise progress status of ZSTDMT anytime
  191. api : ZSTDMT can accept new compression parameters during compression
  192. api : implemented all advanced dictionary decompression prototypes
  193. build: improved meson recipe, by Shawn Landden (@shawnl)
  194. build: VS2017 scripts, by @HaydnTrigg
  195. misc: all /contrib projects fixed
  196. misc: added /contrib/docker script by @gyscos
  197. v1.3.3
  198. perf: faster zstd_opt strategy (levels 16-19)
  199. fix : bug #944 : multithreading with shared ditionary and large data, reported by @gsliepen
  200. cli : fix : content size written in header by default
  201. cli : fix : improved LZ4 format support, by @felixhandte
  202. cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file
  203. api : fix : support large skippable frames, by @terrelln
  204. api : fix : streaming interface was adding a useless 3-bytes null block to small frames
  205. api : change : when setting `pledgedSrcSize`, use `ZSTD_CONTENTSIZE_UNKNOWN` macro value to mean "unknown"
  206. build: fix : compilation under rhel6 and centos6, reported by @pixelb
  207. build: added `check` target
  208. v1.3.2
  209. new : long range mode, using --long command, by Stella Lau (@stellamplau)
  210. new : ability to generate and decode magicless frames (#591)
  211. changed : maximum nb of threads reduced to 200, to avoid address space exhaustion in 32-bits mode
  212. fix : multi-threading compression works with custom allocators
  213. fix : ZSTD_sizeof_CStream() was over-evaluating memory usage
  214. fix : a rare compression bug when compression generates very large distances and bunch of other conditions (only possible at --ultra -22)
  215. fix : 32-bits build can now decode large offsets (levels 21+)
  216. cli : added LZ4 frame support by default, by Felix Handte (@felixhandte)
  217. cli : improved --list output
  218. cli : new : can split input file for dictionary training, using command -B#
  219. cli : new : clean operation artefact on Ctrl-C interruption
  220. cli : fix : do not change /dev/null permissions when using command -t with root access, reported by @mike155 (#851)
  221. cli : fix : write file size in header in multiple-files mode
  222. api : added macro ZSTD_COMPRESSBOUND() for static allocation
  223. api : experimental : new advanced decompression API
  224. api : fix : sizeof_CCtx() used to over-estimate
  225. build: fix : no-multithread variant compiles without pool.c dependency, reported by Mitchell Blank Jr (@mitchblank) (#819)
  226. build: better compatibility with reproducible builds, by Bernhard M. Wiedemann (@bmwiedemann) (#818)
  227. example : added streaming_memory_usage
  228. license : changed /examples license to BSD + GPLv2
  229. license : fix a few header files to reflect new license (#825)
  230. v1.3.1
  231. New license : BSD + GPLv2
  232. perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt (@mcmilk)
  233. perf: Multi-threading supports up to 256 threads. Cap at 256 when more are requested (#760)
  234. cli : improved and fixed --list command, by @ib (#772)
  235. cli : command -vV to list supported formats, by @ib (#771)
  236. build : fixed binary variants, reported by @svenha (#788)
  237. build : fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (@GregSlazinski) (#718)
  238. API exp : breaking change : ZSTD_getframeHeader() provides more information
  239. API exp : breaking change : pinned down values of error codes
  240. doc : fixed huffman example, by Ulrich Kunitz (@ulikunitz)
  241. new : contrib/adaptive-compression, I/O driven compression strength, by Paul Cruz (@paulcruz74)
  242. new : contrib/long_distance_matching, statistics by Stella Lau (@stellamplau)
  243. updated : contrib/linux-kernel, by Nick Terrell (@terrelln)
  244. v1.3.0
  245. cli : new : `--list` command, by Paul Cruz
  246. cli : changed : xz/lzma support enabled by default
  247. cli : changed : `-t *` continue processing list after a decompression error
  248. API : added : ZSTD_versionString()
  249. API : promoted to stable status : ZSTD_getFrameContentSize(), by Sean Purcell
  250. API exp : new advanced API : ZSTD_compress_generic(), ZSTD_CCtx_setParameter()
  251. API exp : new : API for static or external allocation : ZSTD_initStatic?Ctx()
  252. API exp : added : ZSTD_decompressBegin_usingDDict(), requested by Guy Riddle (#700)
  253. API exp : clarified memory estimation / measurement functions.
  254. API exp : changed : strongest strategy renamed ZSTD_btultra, fastest strategy ZSTD_fast set to 1
  255. tools : decodecorpus can generate random dictionary-compressed samples, by Paul Cruz
  256. new : contrib/seekable_format, demo and API, by Sean Purcell
  257. changed : contrib/linux-kernel, updated version and license, by Nick Terrell
  258. v1.2.0
  259. cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable)
  260. cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell
  261. cli : new : zstdmt symlink hardwired to `zstd -T0`
  262. cli : new : command --threads=# (#671)
  263. cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell
  264. cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters
  265. cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell
  266. cli : fix : does not output compressed data on console
  267. cli : fix : ignore symbolic links unless --force specified,
  268. API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument
  269. API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters.
  270. API : improved: ZSTDMT_compressCCtx() reduced memory usage
  271. API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634)
  272. API : fix : src size stored in frame header is controlled at end of frame
  273. API : fix : enforced consistent rules for pledgedSrcSize==0 (#641)
  274. API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate
  275. build: improved cmake script, by @Majlen
  276. build: enabled Multi-threading support for *BSD, by Baptiste Daroussin
  277. tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target.
  278. new : contrib/linux-kernel version, by Nick Terrell
  279. v1.1.4
  280. cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
  281. cli : new : advanced benchmark command --priority=rt
  282. cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
  283. cli : fix : --rm remains silent when input is stdin
  284. cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
  285. speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
  286. memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
  287. arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
  288. API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
  289. API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
  290. build : new: meson build system in contrib/meson, by Dima Krasner
  291. build : improved cmake script, by @Majlen
  292. build : added -Wformat-security flag, as recommended by Padraig Brady
  293. doc : new : educational decoder, by Sean Purcell
  294. v1.1.3
  295. cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
  296. cli : new : experimental target `make zstdmt`, with multi-threading support
  297. cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
  298. cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
  299. cli : fix zstdless on Mac OS-X, by Andrew Janke
  300. cli : fix #232 "compress non-files"
  301. dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
  302. API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
  303. API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
  304. API : new : ZDICT_finalizeDictionary()
  305. API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
  306. API : fix : all symbols properly exposed in libzstd, by Nick Terrell
  307. build : support for Solaris target, by Przemyslaw Skibinski
  308. doc : clarified specification, by Sean Purcell
  309. v1.1.2
  310. API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
  311. API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
  312. API : zbuff : changed : prototypes now generate deprecation warnings
  313. lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
  314. lib : changed : only public ZSTD_ symbols are now exposed
  315. lib : changed : reduced usage of stack memory
  316. lib : fixed : several corner case bugs, by Nick Terrell
  317. cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
  318. cli : new : preserve file attributes
  319. cli : new : added zstdless and zstdgrep tools
  320. cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
  321. cli : fixed : zstdcat
  322. zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
  323. install : better compatibility with FreeBSD, by Dimitry Andric
  324. source tree : changed : zbuff source files moved to lib/deprecated
  325. v1.1.1
  326. New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
  327. New : doc/zstd_manual.html, by Przemyslaw Skibinski
  328. Improved : slightly better compression ratio at --ultra levels (>= 20)
  329. Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
  330. Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
  331. Added : example/multiple_streaming_compression.c
  332. Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
  333. Updated man page
  334. Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
  335. v1.1.0
  336. New : contrib/pzstd, parallel version of zstd, by Nick Terrell
  337. added : NetBSD install target (#338)
  338. Improved : speed for batches of small files
  339. Improved : speed of zlib wrapper, by Przemyslaw Skibinski
  340. Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
  341. Fixed : CLI -d output to stdout by default when input is stdin (#322)
  342. Fixed : CLI correctly detects console on Mac OS-X
  343. Fixed : CLI supports recursive mode `-r` on Mac OS-X
  344. Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
  345. Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
  346. Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
  347. Fixed : zstd-pgo, reported by octoploid (#329)
  348. v1.0.0
  349. Change Licensing, all project is now BSD, Copyright Facebook
  350. Small decompression speed improvement
  351. API : Streaming API supports legacy format
  352. API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParameter()
  353. CLI supports legacy formats v0.4+
  354. Fixed : compression fails on certain huge files, reported by Jesse McGrew
  355. Enhanced documentation, by Przemyslaw Skibinski
  356. v0.8.1
  357. New streaming API
  358. Changed : --ultra now enables levels beyond 19
  359. Changed : -i# now selects benchmark time in second
  360. Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
  361. Fixed : speed regression on specific patterns (#272)
  362. Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
  363. Fixed : ICC compilation, by Przemyslaw Skibinski
  364. v0.8.0
  365. Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
  366. New : Build on FreeBSD and DragonFly, thanks to JrMarino
  367. Changed : modified API : ZSTD_compressEnd()
  368. Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
  369. Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
  370. Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
  371. Fixed : checksum correctly checked in single-pass mode
  372. Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
  373. Modified : minor compression level adaptations
  374. Updated : compression format specification to v0.2.0
  375. changed : zstd.h moved to /lib directory
  376. v0.7.5
  377. Transition version, supporting decoding of v0.8.x
  378. v0.7.4
  379. Added : homebrew for Mac, by Daniel Cade
  380. Added : more examples
  381. Fixed : segfault when using small dictionaries, reported by Felix Handte
  382. Modified : default compression level for CLI is now 3
  383. Updated : specification, to v0.1.1
  384. v0.7.3
  385. New : compression format specification
  386. New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
  387. New : `ZSTD_getDecompressedSize()`
  388. New : OpenBSD target, by Juan Francisco Cantero Hurtado
  389. New : `examples` directory
  390. fixed : dictBuilder using HC levels, reported by Bartosz Taudul
  391. fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
  392. fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
  393. modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
  394. modified : legacy functions no longer need magic number
  395. v0.7.2
  396. fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
  397. fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
  398. fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
  399. v0.7.1
  400. fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
  401. fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв
  402. fixed : corruption issue, reported by cj
  403. modified : checksum enabled by default in command line mode
  404. v0.7.0
  405. New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
  406. New : Command `--rm`, to remove source file after successful de/compression
  407. New : Visual build scripts, by Christophe Chevalier
  408. New : Support for Sparse File-systems (do not use space for zero-filled sectors)
  409. New : Frame checksum support
  410. New : Support pass-through mode (when using `-df`)
  411. API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
  412. API : create dictionary files from custom content, by Giuseppe Ottaviano
  413. API : support for custom malloc/free functions
  414. New : controllable Dictionary ID
  415. New : Support for skippable frames
  416. v0.6.1
  417. New : zlib wrapper API, thanks to Przemyslaw Skibinski
  418. New : Ability to compile compressor / decompressor separately
  419. Changed : new lib directory structure
  420. Fixed : Legacy codec v0.5 compatible with dictionary decompression
  421. Fixed : Decoder corruption error (#173)
  422. Fixed : null-string roundtrip (#176)
  423. New : benchmark mode can select directory as input
  424. Experimental : midipix support, VMS support
  425. v0.6.0
  426. Stronger high compression modes, thanks to Przemyslaw Skibinski
  427. API : ZSTD_getFrameParams() provides size of decompressed content
  428. New : highest compression modes require `--ultra` command to fully unleash their capacity
  429. Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner
  430. v0.5.1
  431. New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
  432. Changed : Dictionary builder integrated into libzstd and zstd cli
  433. Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
  434. Fix : high compression modes for big-endian platforms
  435. New : zstd cli : `-t` | `--test` command
  436. v0.5.0
  437. New : dictionary builder utility
  438. Changed : streaming & dictionary API
  439. Improved : better compression of small data
  440. v0.4.7
  441. Improved : small compression speed improvement in HC mode
  442. Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
  443. fix : bt search bug
  444. v0.4.6
  445. fix : fast compression mode on Windows
  446. New : cmake configuration file, thanks to Artyom Dymchenko
  447. Improved : high compression mode on repetitive data
  448. New : block-level API
  449. New : ZSTD_duplicateCCtx()
  450. v0.4.5
  451. new : -m/--multiple : compress/decompress multiple files
  452. v0.4.4
  453. Fixed : high compression modes for Windows 32 bits
  454. new : external dictionary API extended to buffered mode and accessible through command line
  455. new : windows DLL project, thanks to Christophe Chevalier
  456. v0.4.3 :
  457. new : external dictionary API
  458. new : zstd-frugal
  459. v0.4.2 :
  460. Generic minor improvements for small blocks
  461. Fixed : big-endian compatibility, by Peter Harris (#85)
  462. v0.4.1
  463. Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
  464. removed `zstd.c`
  465. v0.4.0
  466. Command line utility compatible with high compression levels
  467. Removed zstdhc => merged into zstd
  468. Added : ZBUFF API (see zstd_buffered.h)
  469. Rolling buffer support
  470. v0.3.6
  471. small blocks params
  472. v0.3.5
  473. minor generic compression improvements
  474. v0.3.4
  475. Faster fast cLevels
  476. v0.3.3
  477. Small compression ratio improvement
  478. v0.3.2
  479. Fixed Visual Studio
  480. v0.3.1 :
  481. Small compression ratio improvement
  482. v0.3
  483. HC mode : compression levels 2-26
  484. v0.2.2
  485. Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
  486. v0.2.1
  487. Fix : Read errors, advanced fuzzer tests, by Hanno Böck
  488. v0.2.0
  489. **Breaking format change**
  490. Faster decompression speed
  491. Can still decode v0.1 format
  492. v0.1.3
  493. fix uninitialization warning, reported by Evan Nemerson
  494. v0.1.2
  495. frame concatenation support
  496. v0.1.1
  497. fix compression bug
  498. detects write-flush errors
  499. v0.1.0
  500. first release