Home | History | Annotate | Line # | Download | only in dist
      1 V1.5.6 (Mar 2024)
      2 api: Promote `ZSTD_c_targetCBlockSize` to Stable API by @felixhandte
      3 api: new `ZSTD_d_maxBlockSize` experimental parameter, to reduce streaming decompression memory, by @terrelln
      4 perf: improve performance of param `ZSTD_c_targetCBlockSize`, by @Cyan4973
      5 perf: improved compression of arrays of integers at high compression, by @Cyan4973
      6 lib: reduce binary size with selective built-time exclusion, by @felixhandte
      7 lib: improved huffman speed on small data and linux kernel, by @terrelln
      8 lib: accept dictionaries with partial literal tables, by @terrelln
      9 lib: fix CCtx size estimation with external sequence producer, by @embg
     10 lib: fix corner case decoder behaviors, by @Cyan4973 and @aimuz
     11 lib: fix zdict prototype mismatch in static_only mode, by @ldv-alt
     12 lib: fix several bugs in magicless-format decoding, by @embg
     13 cli: add common compressed file types to `--exclude-compressed`` by @daniellerozenblit
     14 cli: fix mixing `-c` and `-o` commands with `--rm`, by @Cyan4973
     15 cli: fix erroneous exclusion of hidden files with `--output-dir-mirror` by @felixhandte
     16 cli: improved time accuracy on BSD, by @felixhandte
     17 cli: better errors on argument parsing, by @KapJI
     18 tests: better compatibility with older versions of `grep`, by @Cyan4973
     19 tests: lorem ipsum generator as default backup content, by @Cyan4973
     20 build: cmake improvements by @terrelln, @sighingnow, @gjasny, @JohanMabille, @Saverio976, @gruenich, @teo-tsirpanis
     21 build: bazel support, by @jondo2010
     22 build: fix cross-compiling for AArch64 with lld by @jcelerier
     23 build: fix Apple platform compatibility, by @nidhijaju
     24 build: fix Visual 2012 and lower compatibility, by @Cyan4973
     25 build: improve win32 support, by @DimitriPapadopoulos
     26 build: better C90 compliance for zlibWrapper, by @emaste
     27 port: make: fat binaries on macos, by @mredig
     28 port: ARM64EC compatibility for Windows, by @dunhor
     29 port: QNX support by @klausholstjacobsen
     30 port: MSYS2 and Cygwin makefile installation and test support, by @QBos07
     31 port: risc-v support validation in CI, by @Cyan4973
     32 port: sparc64 support validation in CI, by @Cyan4973
     33 port: AIX compatibility, by @likema
     34 port: HP-UX compatibility, by @likema
     35 doc: Improved specification accuracy, by @elasota
     36 bug: Fix and deprecate ZSTD_generateSequences (#3981)
     37 
     38 v1.5.5 (Apr 2023)
     39 fix: fix rare corruption bug affecting the high compression mode, reported by @danlark1 (#3517, @terrelln)
     40 perf: improve mid-level compression speed (#3529, #3533, #3543, @yoniko and #3552, @terrelln)
     41 lib: deprecated bufferless block-level API (#3534) by @terrelln
     42 cli: mmap large dictionaries to save memory, by @daniellerozenblit
     43 cli: improve speed of --patch-from mode (~+50%) (#3545) by @daniellerozenblit
     44 cli: improve i/o speed (~+10%) when processing lots of small files (#3479) by @felixhandte
     45 cli: zstd no longer crashes when requested to write into write-protected directory (#3541) by @felixhandte
     46 cli: fix decompression into block device using -o, reported by @georgmu (#3583)
     47 build: fix zstd CLI compiled with lzma support but not zlib support (#3494) by @Hello71
     48 build: fix cmake does no longer require 3.18 as minimum version (#3510) by @kou
     49 build: fix MSVC+ClangCL linking issue (#3569) by @tru
     50 build: fix zstd-dll, version of zstd CLI that links to the dynamic library (#3496) by @yoniko
     51 build: fix MSVC warnings (#3495) by @embg
     52 doc: updated zstd specification to clarify corner cases, by @Cyan4973
     53 doc: document how to create fat binaries for macos (#3568) by @rickmark
     54 misc: improve seekable format ingestion speed (~+100%) for very small chunk sizes (#3544) by @Cyan4973
     55 misc: tests/fullbench can benchmark multiple files (#3516) by @dloidolt
     56 
     57 v1.5.4 (Feb 2023)
     58 perf: +20% faster huffman decompression for targets that can't compile x64 assembly (#3449, @terrelln)
     59 perf: up to +10% faster streaming compression at levels 1-2 (#3114, @embg)
     60 perf: +4-13% for levels 5-12 by optimizing function generation (#3295, @terrelln)
     61 pref: +3-11% compression speed for `arm` target (#3199, #3164, #3145, #3141, #3138, @JunHe77 and #3139, #3160, @danlark1)
     62 perf: +5-30% faster dictionary compression at levels 1-4 (#3086, #3114, #3152, @embg)
     63 perf: +10-20% cold dict compression speed by prefetching CDict tables (#3177, @embg)
     64 perf: +1% faster compression by removing a branch in ZSTD_fast_noDict (#3129, @felixhandte)
     65 perf: Small compression ratio improvements in high compression mode (#2983, #3391, @Cyan4973 and #3285, #3302, @daniellerozenblit)
     66 perf: small speed improvement by better detecting `STATIC_BMI2` for `clang` (#3080, @TocarIP)
     67 perf: Improved streaming performance when `ZSTD_c_stableInBuffer` is set (#2974, @Cyan4973)
     68 cli: Asynchronous I/O for improved cli speed (#2975, #2985, #3021, #3022, @yoniko)
     69 cli: Change `zstdless` behavior to align with `zless` (#2909, @binhdvo)
     70 cli: Keep original file if `-c` or `--stdout` is given (#3052, @dirkmueller)
     71 cli: Keep original files when result is concatenated into a single output with `-o` (#3450, @Cyan4973)
     72 cli: Preserve Permissions and Ownership of regular files (#3432, @felixhandte)
     73 cli: Print zlib/lz4/lzma library versions with `-vv` (#3030, @terrelln)
     74 cli: Print checksum value for single frame files with `-lv`  (#3332, @Cyan4973)
     75 cli: Print `dictID` when present with `-lv` (#3184, @htnhan)
     76 cli: when `stderr` is *not* the console, disable status updates, but preserve final summary (#3458, @Cyan4973)
     77 cli: support `--best` and `--no-name` in `gzip` compatibility mode (#3059, @dirkmueller)
     78 cli: support for `posix` high resolution timer `clock_gettime()`, for improved benchmark accuracy (#3423, @Cyan4973)
     79 cli: improved help/usage (`-h`,  `-H`) formatting (#3094, @dirkmueller and #3385, @jonpalmisc)
     80 cli: Fix better handling of bogus numeric values (#3268, @ctkhanhly)
     81 cli: Fix input consists of multiple files _and_ `stdin` (#3222, @yoniko)
     82 cli: Fix tiny files passthrough (#3215, @cgbur)
     83 cli: Fix for `-r` on empty directory (#3027, @brailovich)
     84 cli: Fix empty string as argument for `--output-dir-*` (#3220, @embg)
     85 cli: Fix decompression memory usage reported by `-vv --long` (#3042, @u1f35c, and #3232, @zengyijing)
     86 cli: Fix infinite loop when empty input is passed to trainer (#3081, @terrelln)
     87 cli: Fix `--adapt` doesn't work when `--no-progress` is also set (#3354, @terrelln)
     88 api: Support for Block-Level Sequence Producer (#3333, @embg)
     89 api: Support for in-place decompression (#3432, @terrelln)
     90 api: New  `ZSTD_CCtx_setCParams()`  function, set all parameters defined in a  `ZSTD_compressionParameters`  structure (#3403, @Cyan4973)
     91 api: Streaming decompression detects incorrect header ID sooner (#3175, @Cyan4973)
     92 api: Window size resizing optimization for edge case (#3345, @daniellerozenblit)
     93 api: More accurate error codes for busy-loop scenarios (#3413, #3455, @Cyan4973)
     94 api: Fix limit overflow in `compressBound` and `decompressBound` (#3362, #3373, Cyan4973) reported by @nigeltao
     95 api: Deprecate several advanced experimental functions: streaming (#3408, @embg), copy (#3196, @mileshu)
     96 bug: Fix corruption that rarely occurs in 32-bit mode with wlog=25 (#3361, @terrelln)
     97 bug: Fix for block-splitter (#3033, @Cyan4973)
     98 bug: Fixes for Sequence Compression API (#3023, #3040, @Cyan4973)
     99 bug: Fix leaking thread handles on Windows (#3147, @animalize)
    100 bug: Fix timing issues with cmake/meson builds (#3166, #3167, #3170, @Cyan4973)
    101 build: Allow user to select legacy level for cmake (#3050, @shadchin)
    102 build: Enable legacy support by default in cmake (#3079, @niamster)
    103 build: Meson build script improvements (#3039, #3120, #3122, #3327, #3357, @eli-schwartz and #3276, @neheb)
    104 build: Add aarch64 to supported architectures for zstd_trace (#3054, @ooosssososos)
    105 build: support AIX architecture (#3219, @qiongsiwu)
    106 build: Fix `ZSTD_LIB_MINIFY` build macro, which now reduces static library size by half (#3366, @terrelln)
    107 build: Fix Windows issues with Multithreading translation layer (#3364, #3380, @yoniko) and ARM64 target (#3320, @cwoffenden)
    108 build: Fix `cmake` script (#3382, #3392, @terrelln and #3252 @Tachi107 and #3167 @Cyan4973)
    109 doc: Updated man page, providing more details for `--train` mode (#3112, @Cyan4973)
    110 doc: Add decompressor errata document (#3092, @terrelln)
    111 misc: Enable Intel CET (#2992, #2994, @hjl-tools)
    112 misc: Fix `contrib/` seekable format (#3058, @yhoogstrate and #3346, @daniellerozenblit)
    113 misc: Improve speed of the one-file library generator (#3241, @wahern and #3005, @cwoffenden)
    114 
    115 v1.5.3 (dev version, unpublished)
    116 
    117 v1.5.2 (Jan, 2022)
    118 perf: Regain Minimal memset()-ing During Reuse of Compression Contexts (@Cyan4973, #2969)
    119 build: Build Zstd with `noexecstack` on All Architectures (@felixhandte, #2964)
    120 doc: Clarify Licensing (@terrelln, #2981)
    121 
    122 v1.5.1 (Dec, 2021)
    123 perf: rebalanced compression levels, to better match the intended speed/level curve, by @senhuang42
    124 perf: faster huffman decoder, using x64 assembly, by @terrelln
    125 perf: slightly faster high speed modes (strategies fast & dfast), by @felixhandte
    126 perf: improved binary size and faster compilation times, by @terrelln
    127 perf: new row64 mode, used notably in level 12, by @senhuang42
    128 perf: faster mid-level compression speed in presence of highly repetitive patterns, by @senhuang42
    129 perf: minor compression ratio improvements for small data at high levels, by @cyan4973
    130 perf: reduced stack usage (mostly useful for Linux Kernel), by @terrelln
    131 perf: faster compression speed on incompressible data, by @bindhvo
    132 perf: on-demand reduced ZSTD_DCtx state size, using build macro ZSTD_DECODER_INTERNAL_BUFFER, at a small cost of performance, by @bindhvo
    133 build: allows hiding static symbols in the dynamic library, using build macro, by @skitt
    134 build: support for m68k (Motorola 68000's), by @cyan4973
    135 build: improved AIX support, by @Helflym
    136 build: improved meson unofficial build, by @eli-schwartz
    137 cli : custom memory limit when training dictionary (#2925), by @embg
    138 cli : report advanced parameters information when compressing in very verbose mode (`-vv`), by @Svetlitski-FB
    139 
    140 v1.5.0  (May 11, 2021)
    141 api: Various functions promoted from experimental to stable API: (#2579-2581, @senhuang42)
    142   `ZSTD_defaultCLevel()`
    143   `ZSTD_getDictID_fromCDict()`
    144 api: Several experimental functions have been deprecated and will emit a compiler warning (#2582, @senhuang42)
    145   `ZSTD_compress_advanced()`
    146   `ZSTD_compress_usingCDict_advanced()`
    147   `ZSTD_compressBegin_advanced()`
    148   `ZSTD_compressBegin_usingCDict_advanced()`
    149   `ZSTD_initCStream_srcSize()`
    150   `ZSTD_initCStream_usingDict()`
    151   `ZSTD_initCStream_usingCDict()`
    152   `ZSTD_initCStream_advanced()`
    153   `ZSTD_initCStream_usingCDict_advanced()`
    154   `ZSTD_resetCStream()`
    155 api: ZSTDMT_NBWORKERS_MAX reduced to 64 for 32-bit environments (@Cyan4973)
    156 perf: Significant speed improvements for middle compression levels (#2494, @senhuang42 @terrelln)
    157 perf: Block splitter to improve compression ratio, enabled by default for high compression levels (#2447, @senhuang42)
    158 perf: Decompression loop refactor, speed improvements on `clang` and for `--long` modes (#2614 #2630, @Cyan4973)
    159 perf: Reduced stack usage during compression and decompression entropy stage (#2522 #2524, @terrelln)
    160 bug: Improve setting permissions of created files (#2525, @felixhandte)
    161 bug: Fix large dictionary non-determinism (#2607, @terrelln)
    162 bug: Fix non-determinism test failures on Linux i686 (#2606, @terrelln)
    163 bug: Fix various dedicated dictionary search bugs (#2540 #2586, @senhuang42 @felixhandte)
    164 bug: Ensure `ZSTD_estimateCCtxSize*() `monotonically increases with compression level (#2538, @senhuang42)
    165 bug: Fix --patch-from mode parameter bound bug with small files (#2637, @occivink)
    166 bug: Fix UBSAN error in decompression (#2625, @terrelln)
    167 bug: Fix superblock compression divide by zero bug (#2592, @senhuang42)
    168 bug: Make the number of physical CPU cores detection more robust (#2517, @PaulBone)
    169 doc: Improve `zdict.h` dictionary training API documentation (#2622, @terrelln)
    170 doc: Note that public `ZSTD_free*()` functions accept NULL pointers (#2521, @animalize)
    171 doc: Add style guide docs for open source contributors (#2626, @Cyan4973)
    172 tests: Better regression test coverage for different dictionary modes (#2559, @senhuang42)
    173 tests: Better test coverage of index reduction (#2603, @terrelln)
    174 tests: OSS-Fuzz coverage for seekable format (#2617, @senhuang42)
    175 tests: Test coverage for ZSTD threadpool API (#2604, @senhuang42)
    176 build: Dynamic library built multithreaded by default (#2584, @senhuang42)
    177 build: Move  `zstd_errors.h`  and  `zdict.h`  to  `lib/`  root (#2597, @terrelln)
    178 build: Allow `ZSTDMT_JOBSIZE_MIN` to be configured at compile-time, reduce default to 512KB (#2611, @Cyan4973)
    179 build: Single file library build script moved to `build/` directory (#2618, @felixhandte)
    180 build: `ZBUFF_*()` is no longer built by default (#2583, @senhuang42)
    181 build: Fixed Meson build (#2548, @SupervisedThinking @kloczek)
    182 build: Fix excessive compiler warnings with clang-cl and CMake (#2600, @nickhutchinson)
    183 build: Detect presence of `md5` on Darwin (#2609, @felixhandte)
    184 build: Avoid SIGBUS on armv6 (#2633, @bmwiedmann)
    185 cli: `--progress` flag added to always display progress bar (#2595, @senhuang42)
    186 cli: Allow reading from block devices with `--force` (#2613, @felixhandte)
    187 cli: Fix CLI filesize display bug (#2550, @Cyan4973)
    188 cli: Fix windows CLI `--filelist` end-of-line bug (#2620, @Cyan4973)
    189 contrib: Various fixes for linux kernel patch (#2539, @terrelln)
    190 contrib: Seekable format - Decompression hanging edge case fix (#2516, @senhuang42)
    191 contrib: Seekable format - New seek table-only API  (#2113 #2518, @mdittmer @Cyan4973)
    192 contrib: Seekable format - Fix seek table descriptor check when loading (#2534, @foxeng)
    193 contrib: Seekable format - Decompression fix for large offsets, (#2594, @azat)
    194 misc: Automatically published release tarballs available on Github (#2535, @felixhandte)
    195 
    196 v1.4.9  (Mar 1, 2021)
    197 bug: Use `umask()` to Constrain Created File Permissions (#2495, @felixhandte)
    198 bug: Make Simple Single-Pass Functions Ignore Advanced Parameters (#2498, @terrelln)
    199 api: Add (De)Compression Tracing Functionality (#2482, @terrelln)
    200 api: Support References to Multiple DDicts (#2446, @senhuang42)
    201 api: Add Function to Generate Skippable Frame (#2439, @senhuang42)
    202 perf: New Algorithms for the Long Distance Matcher (#2483, @mpu)
    203 perf: Performance Improvements for Long Distance Matcher (#2464, @mpu)
    204 perf: Don't Shrink Window Log when Streaming with a Dictionary (#2451, @terrelln)
    205 cli: Fix `--output-dir-mirror` rejection of `..` -containing paths (#2512, @felixhandte)
    206 cli: Allow Input From Console When `-f`/`--force` is Passed (#2466, @felixhandte)
    207 cli: Improve Help Message (#2500, @senhuang42)
    208 tests: Remove Flaky Tests (#2455, #2486, #2445, @Cyan4973)
    209 tests: Correctly Invoke md5 Utility on NetBSD (#2492, @niacat)
    210 tests: Avoid Using `stat -c` on NetBSD (#2513, @felixhandte)
    211 build: Zstd CLI Can Now be Linked to Dynamic `libzstd` (#2457, #2454 @Cyan4973)
    212 build: Hide and Avoid Using Static-Only Symbols (#2501, #2504, @skitt)
    213 build: CMake: Enable Only C for lib/ and programs/ Projects (#2498, @concatime)
    214 build: CMake: Use `configure_file()` to Create the `.pc` File (#2462, @lazka)
    215 build: Fix Fuzzer Compiler Detection & Update UBSAN Flags (#2503, @terrelln)
    216 build: Add Guards for `_LARGEFILE_SOURCE` and `_LARGEFILE64_SOURCE` (#2444, @indygreg)
    217 build: Improve `zlibwrapper` Makefile (#2437, @Cyan4973)
    218 contrib: Add `recover_directory` Program (#2473, @terrelln)
    219 doc: Change License Year to 2021 (#2452 & #2465, @terrelln & @senhuang42)
    220 doc: Fix Typos (#2459, @ThomasWaldmann)
    221 
    222 v1.4.8  (Dec 18, 2020)
    223 hotfix: wrong alignment of an internal buffer
    224 
    225 v1.4.7  (Dec 16, 2020)
    226 perf: stronger --long mode at high compression levels, by @senhuang42
    227 perf: stronger --patch-from at high compression levels, thanks to --long improvements
    228 perf: faster dictionary compression at medium compression levels, by @felixhandte
    229 perf: small speed & memory usage improvements for ZSTD_compress2(), by @terrelln
    230 perf: improved fast compression speeds with Visual Studio, by @animalize
    231 cli : Set nb of threads with environment variable ZSTD_NBTHREADS, by @senhuang42
    232 cli : accept decompressing files with *.zstd suffix
    233 cli : provide a condensed summary by default when processing multiple files
    234 cli : fix : stdin input no longer confused as user prompt
    235 cli : improve accuracy of several error messages
    236 api : new sequence ingestion API, by @senhuang42
    237 api : shared thread pool: control total nb of threads used by multiple compression jobs, by @marxin
    238 api : new ZSTD_getDictID_fromCDict(), by @LuAPi
    239 api : zlibWrapper only uses public API, and is compatible with dynamic library, by @terrelln
    240 api : fix : multithreaded compression has predictable output even in special cases (see #2327) (issue not accessible from cli)
    241 api : fix : dictionary compression correctly respects dictionary compression level (see #2303) (issue not accessible from cli)
    242 build: fix cmake script when using path with spaces, by @terrelln
    243 build: improved compile-time detection of aarch64/neon platforms, by @bsdimp
    244 build: Fix building on AIX 5.1, by @likema
    245 build: compile paramgrill with cmake on Windows, requested by @mirh
    246 doc : clarify repcode updates in format specification, by @felixhandte
    247 
    248 v1.4.6
    249 fix : Always return dstSize_tooSmall when that is the case
    250 fix : Fix ZSTD_initCStream_advanced() with static allocation and no dictionary
    251 perf: Improve small block decompression speed by 20%+, by @terrelln
    252 perf: Reduce compression stack usage by 1 KB, by @terrelln
    253 perf: Improve decompression speed by improving ZSTD_wildcopy, by @helloguo (#2252, #2256)
    254 perf: Improve histogram construction, by @cyan4973 (#2253)
    255 cli : Add --output-dir-mirror option, by @xxie24 (#2219)
    256 cli : Warn when (de)compressing multiple files into a single output, by @senhuang42 (#2279)
    257 cli : Improved progress bar and status summary when (de)compressing multiple files, by @senhuang42 (#2283)
    258 cli : Call stat less often, by @felixhandte (#2262)
    259 cli : Allow --patch-from XXX and --filelist XXX in addition to --patch-from=XXX and --filelist=XXX, by @cyan4973 (#2250)
    260 cli : Allow --patch-from to compress stdin with --stream-size, by @bimbashrestha (#2206)
    261 api : Do not install zbuff.h, since it has long been deprecated, by @cyan4973 (#2166).
    262 api : Fix ZSTD_CCtx_setParameter() with ZSTD_c_compressionLevel to make 0 mean default level, by @i-do-cpp (#2291)
    263 api : Rename ZSTDMT_NBTHREADS_MAX to ZSTDMT_NBWORKERS_MAX, by @marxin (#2228).
    264 build: Install pkg-config file with CMake and MinGW, by @tonytheodore (#2183)
    265 build: Install DLL with CMake on Windows, by @BioDataAnalysis (#2221)
    266 build: Fix DLL install location with CMake, by @xantares and @bimbashrestha (#2186)
    267 build: Add ZSTD_NO_UNUSED_FUNCTIONS macro to hide unused functions
    268 build: Add ZSTD_NO_INTRINSICS macro to avoid explicit intrinsics
    269 build: Add STATIC_BMI2 macro for compile time detection of BMI2 on MSVC, by @Niadb (#2258)
    270 build: Fix -Wcomma warnings, by @cwoffenden
    271 build: Remove distutils requirement for meson build, by @neheb (#2197)
    272 build: Fix cli compilation with uclibc
    273 build: Fix cli compilation without st_mtime, by @ffontaine (#2246)
    274 build: Fix shadowing warnings in library
    275 build: Fix single file library compilation with Enscripten, by @yoshihitoh (#2227)
    276 misc: Improve single file library and include dictBuilder, by @cwoffenden
    277 misc: Allow compression dictionaries with missing symbols
    278 misc: Add freestanding translation script in contrib/freestanding_lib
    279 misc: Collect all of zstd's libc dependencies into zstd_deps.h
    280 doc : Add ZSTD_versionString() to manual, by @animalize
    281 doc : Fix documentation for ZSTD_CCtxParams_setParameter(), by @felixhandte (#2270)
    282 
    283 v1.4.5  (May 22, 2020)
    284 fix : Compression ratio regression on huge files (> 3 GB) using high levels (--ultra) and multithreading, by @terrelln
    285 perf: Improved decompression speed: x64 : +10% (clang) / +5% (gcc); ARM : from +15% to +50%, depending on SoC, by @terrelln
    286 perf: Automatically downsizes ZSTD_DCtx when too large for too long (#2069, by @bimbashreshta)
    287 perf: Improved fast compression speed on aarch64 (#2040, ~+3%, by @caoyzh)
    288 perf: Small level 1 compression speed gains (depending on compiler)
    289 cli : New --patch-from command, create and apply patches from files, by @bimbashreshta
    290 cli : New --filelist= : Provide a list of files to operate upon from a file
    291 cli : -b -d command can now benchmark decompression on multiple files
    292 cli : New --no-content-size command
    293 cli : New --show-default-cparams information command
    294 api : ZDICT_finalizeDictionary() is promoted to stable (#2111)
    295 api : new experimental parameter ZSTD_d_stableOutBuffer (#2094)
    296 build: Generate a single-file libzstd library (#2065, by @cwoffenden)
    297 build: Relative includes no longer require -I compiler flags for zstd lib subdirs (#2103, by @felixhandte)
    298 build: zstd now compiles cleanly under -pedantic (#2099)
    299 build: zstd now compiles with make-4.3
    300 build: Support mingw cross-compilation from Linux, by @Ericson2314
    301 build: Meson multi-thread build fix on windows
    302 build: Some misc icc fixes backed by new ci test on travis
    303 misc: bitflip analyzer tool, by @felixhandte
    304 misc: Extend largeNbDicts benchmark to compression
    305 misc: Edit-distance match finder in contrib/
    306 doc : Improved beginner CONTRIBUTING.md docs
    307 doc : New issue templates for zstd
    308 
    309 v1.4.4  (Nov 6, 2019)
    310 perf: Improved decompression speed, by > 10%, by @terrelln
    311 perf: Better compression speed when re-using a context, by @felixhandte
    312 perf: Fix compression ratio when compressing large files with small dictionary, by @senhuang42
    313 perf: zstd reference encoder can generate RLE blocks, by @bimbashrestha
    314 perf: minor generic speed optimization, by @davidbolvansky
    315 api: new ability to extract sequences from the parser for analysis, by @bimbashrestha
    316 api: fixed decoding of magic-less frames, by @terrelln
    317 api: fixed ZSTD_initCStream_advanced() performance with fast modes, reported by @QrczakMK
    318 cli: Named pipes support, by @bimbashrestha
    319 cli: short tar's extension support, by @stokito
    320 cli: command --output-dir-flat= , generates target files into requested directory, by @senhuang42
    321 cli: commands --stream-size=# and --size-hint=#, by @nmagerko
    322 cli: command --exclude-compressed, by @shashank0791
    323 cli: faster `-t` test mode
    324 cli: improved some error messages, by @vangyzen
    325 cli: fix command `-D dictionary` on Windows, reported by @artyompetrov
    326 cli: fix rare deadlock condition within dictionary builder, by @terrelln
    327 build: single-file decoder with emscripten compilation script, by @cwoffenden
    328 build: fixed zlibWrapper compilation on Visual Studio, reported by @bluenlive
    329 build: fixed deprecation warning for certain gcc version, reported by @jasonma163
    330 build: fix compilation on old gcc versions, by @cemeyer
    331 build: improved installation directories for cmake script, by Dmitri Shubin
    332 pack: modified pkgconfig, for better integration into openwrt, requested by @neheb
    333 misc: Improved documentation : ZSTD_CLEVEL, DYNAMIC_BMI2, ZSTD_CDict, function deprecation, zstd format
    334 misc: fixed educational decoder : accept larger literals section, and removed UNALIGNED() macro
    335 
    336 v1.4.3  (Aug 20, 2019)
    337 bug: Fix Dictionary Compression Ratio Regression by @cyan4973 (#1709)
    338 bug: Fix Buffer Overflow in legacy v0.3 decompression by @felixhandte (#1722)
    339 build: Add support for IAR C/C++ Compiler for Arm by @joseph0918 (#1705)
    340 
    341 v1.4.2  (Jul 26, 2019)
    342 bug: Fix bug in zstd-0.5 decoder by @terrelln (#1696)
    343 bug: Fix seekable decompression in-memory API by @iburinoc (#1695)
    344 misc: Validate blocks are smaller than size limit by @vivekmg (#1685)
    345 misc: Restructure source files by @ephiepark (#1679)
    346 
    347 v1.4.1  (Jul 20, 2019)
    348 bug: Fix data corruption in niche use cases by @terrelln (#1659)
    349 bug: Fuzz legacy modes, fix uncovered bugs by @terrelln (#1593, #1594, #1595)
    350 bug: Fix out of bounds read by @terrelln (#1590)
    351 perf: Improve decode speed by ~7% @mgrice (#1668)
    352 perf: Slightly improved compression ratio of level 3 and 4 (ZSTD_dfast) by @cyan4973 (#1681)
    353 perf: Slightly faster compression speed when re-using a context by @cyan4973 (#1658)
    354 perf: Improve compression ratio for small windowLog by @cyan4973 (#1624)
    355 perf: Faster compression speed in high compression mode for repetitive data by @terrelln (#1635)
    356 api: Add parameter to generate smaller dictionaries by @tyler-tran (#1656)
    357 cli: Recognize symlinks when built in C99 mode by @felixhandte (#1640)
    358 cli: Expose cpu load indicator for each file on -vv mode by @ephiepark (#1631)
    359 cli: Restrict read permissions on destination files by @chungy (#1644)
    360 cli: zstdgrep: handle -f flag by @felixhandte (#1618)
    361 cli: zstdcat: follow symlinks by @vejnar (#1604)
    362 doc: Remove extra size limit on compressed blocks by @felixhandte (#1689)
    363 doc: Fix typo by @yk-tanigawa (#1633)
    364 doc: Improve documentation on streaming buffer sizes by @cyan4973 (#1629)
    365 build: CMake: support building with LZ4 @leeyoung624 (#1626)
    366 build: CMake: install zstdless and zstdgrep by @leeyoung624 (#1647)
    367 build: CMake: respect existing uninstall target by @j301scott (#1619)
    368 build: Make: skip multithread tests when built without support by @michaelforney (#1620)
    369 build: Make: Fix examples/ test target by @sjnam (#1603)
    370 build: Meson: rename options out of deprecated namespace by @lzutao (#1665)
    371 build: Meson: fix build by @lzutao (#1602)
    372 build: Visual Studio: don't export symbols in static lib by @scharan (#1650)
    373 build: Visual Studio: fix linking by @absotively (#1639)
    374 build: Fix MinGW-W64 build by @myzhang1029 (#1600)
    375 misc: Expand decodecorpus coverage by @ephiepark (#1664)
    376 
    377 v1.4.0  (Apr 17, 2019)
    378 perf: Improve level 1 compression speed in most scenarios by 6% by @gbtucker and @terrelln
    379 api: Move the advanced API, including all functions in the staging section, to the stable section
    380 api: Make ZSTD_e_flush and ZSTD_e_end block for maximum forward progress
    381 api: Rename ZSTD_CCtxParam_getParameter to ZSTD_CCtxParams_getParameter
    382 api: Rename ZSTD_CCtxParam_setParameter to ZSTD_CCtxParams_setParameter
    383 api: Don't export ZSTDMT functions from the shared library by default
    384 api: Require ZSTD_MULTITHREAD to be defined to use ZSTDMT
    385 api: Add ZSTD_decompressBound() to provide an upper bound on decompressed size by @shakeelrao
    386 api: Fix ZSTD_decompressDCtx() corner cases with a dictionary
    387 api: Move ZSTD_getDictID_*() functions to the stable section
    388 api: Add ZSTD_c_literalCompressionMode flag to enable or disable literal compression by @terrelln
    389 api: Allow compression parameters to be set when a dictionary is used
    390 api: Allow setting parameters before or after ZSTD_CCtx_loadDictionary() is called
    391 api: Fix ZSTD_estimateCStreamSize_usingCCtxParams()
    392 api: Setting ZSTD_d_maxWindowLog to 0 means use the default
    393 cli: Ensure that a dictionary is not used to compress itself by @shakeelrao
    394 cli: Add --[no-]compress-literals flag to enable or disable literal compression
    395 doc: Update the examples to use the advanced API
    396 doc: Explain how to transition from old streaming functions to the advanced API in the header
    397 build: Improve the Windows release packages
    398 build: Improve CMake build by @hjmjohnson
    399 build: Build fixes for FreeBSD by @lwhsu
    400 build: Remove redundant warnings by @thatsafunnyname
    401 build: Fix tests on OpenBSD by @bket
    402 build: Extend fuzzer build system to work with the new clang engine
    403 build: CMake now creates the libzstd.so.1 symlink
    404 build: Improve Menson build by @lzutao
    405 misc: Fix symbolic link detection on FreeBSD
    406 misc: Use physical core count for -T0 on FreeBSD by @cemeyer
    407 misc: Fix zstd --list on truncated files by @kostmo
    408 misc: Improve logging in debug mode by @felixhandte
    409 misc: Add CirrusCI tests by @lwhsu
    410 misc: Optimize dictionary memory usage in corner cases
    411 misc: Improve the dictionary builder on small or homogeneous data
    412 misc: Fix spelling across the repo by @jsoref
    413 
    414 v1.3.8  (Dec 28, 2018)
    415 perf: better decompression speed on large files (+7%) and cold dictionaries (+15%)
    416 perf: slightly better compression ratio at high compression modes
    417 api : finalized advanced API, last stage before "stable" status
    418 api : new --rsyncable mode, by @terrelln
    419 api : support decompression of empty frames into NULL (used to be an error) (#1385)
    420 build: new set of macros to build a minimal size decoder, by @felixhandte
    421 build: fix compilation on MIPS32, reported by @clbr (#1441)
    422 build: fix compilation with multiple -arch flags, by @ryandesign
    423 build: highly upgraded meson build, by @lzutao
    424 build: improved buck support, by @obelisk
    425 build: fix cmake script : can create debug build, by @pitrou
    426 build: Makefile : grep works on both colored consoles and systems without color support
    427 build: fixed zstd-pgo, by @bmwiedemann
    428 cli : support ZSTD_CLEVEL environment variable, by @yijinfb (#1423)
    429 cli : --no-progress flag, preserving final summary (#1371), by @terrelln
    430 cli : ensure destination file is not source file (#1422)
    431 cli : clearer error messages, especially when input file not present
    432 doc : clarified zstd_compression_format.md, by @ulikunitz
    433 misc: fixed zstdgrep, returns 1 on failure, by @lzutao
    434 misc: NEWS renamed as CHANGELOG, in accordance with fboss
    435 
    436 v1.3.7  (Oct 20, 2018)
    437 perf: slightly better decompression speed on clang (depending on hardware target)
    438 fix : performance of dictionary compression for small input < 4 KB at levels 9 and 10
    439 build: no longer build backtrace by default in release mode; restrict further automatic mode
    440 build: control backtrace support through build macro BACKTRACE
    441 misc: added man pages for zstdless and zstdgrep, by @samrussell
    442 
    443 v1.3.6  (Oct 6, 2018)
    444 perf: much faster dictionary builder, by @jenniferliu
    445 perf: faster dictionary compression on small data when using multiple contexts, by @felixhandte
    446 perf: faster dictionary decompression when using a very large number of dictionaries simultaneously
    447 cli : fix : does no longer overwrite destination when source does not exist (#1082)
    448 cli : new command --adapt, for automatic compression level adaptation
    449 api : fix : block api can be streamed with > 4 GB, reported by @catid
    450 api : reduced ZSTD_DDict size by 2 KB
    451 api : minimum negative compression level is defined, and can be queried using ZSTD_minCLevel().
    452 build: support Haiku target, by @korli
    453 build: Read Legacy format is limited to v0.5+ by default. Can be changed at compile time with macro ZSTD_LEGACY_SUPPORT.
    454 doc : zstd_compression_format.md updated to match wording in IETF RFC 8478
    455 misc: tests/paramgrill, a parameter optimizer, by @GeorgeLu97
    456 
    457 v1.3.5  (Jun 29, 2018)
    458 perf: much faster dictionary compression, by @felixhandte
    459 perf: small quality improvement for dictionary generation, by @terrelln
    460 perf: slightly improved high compression levels (notably level 19)
    461 mem : automatic memory release for long duration contexts
    462 cli : fix : overlapLog can be manually set
    463 cli : fix : decoding invalid lz4 frames
    464 api : fix : performance degradation for dictionary compression when using advanced API, by @terrelln
    465 api : change : clarify ZSTD_CCtx_reset() vs ZSTD_CCtx_resetParameters(), by @terrelln
    466 build: select custom libzstd scope through control macros, by @GeorgeLu97
    467 build: OpenBSD patch, by @bket
    468 build: make and make all are compatible with -j
    469 doc : clarify zstd_compression_format.md, updated for IETF RFC process
    470 misc: pzstd compatible with reproducible compilation, by @lamby
    471 
    472 v1.3.4  (Mar 27, 2018)
    473 perf: faster speed (especially decoding speed) on recent cpus (haswell+)
    474 perf: much better performance associating --long with multi-threading, by @terrelln
    475 perf: better compression at levels 13-15
    476 cli : asynchronous compression by default, for faster experience (use --single-thread for former behavior)
    477 cli : smoother status report in multi-threading mode
    478 cli : added command --fast=#, for faster compression modes
    479 cli : fix crash when not overwriting existing files, by Pdraig Brady (@pixelb)
    480 api : `nbThreads` becomes `nbWorkers` : 1 triggers asynchronous mode
    481 api : compression levels can be negative, for even more speed
    482 api : ZSTD_getFrameProgression() : get precise progress status of ZSTDMT anytime
    483 api : ZSTDMT can accept new compression parameters during compression
    484 api : implemented all advanced dictionary decompression prototypes
    485 build: improved meson recipe, by Shawn Landden (@shawnl)
    486 build: VS2017 scripts, by @HaydnTrigg
    487 misc: all /contrib projects fixed
    488 misc: added /contrib/docker script by @gyscos
    489 
    490 v1.3.3  (Dec 21, 2017)
    491 perf: faster zstd_opt strategy (levels 16-19)
    492 fix : bug #944 : multithreading with shared ditionary and large data, reported by @gsliepen
    493 cli : fix : content size written in header by default
    494 cli : fix : improved LZ4 format support, by @felixhandte
    495 cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file
    496 api : fix : support large skippable frames, by @terrelln
    497 api : fix : streaming interface was adding a useless 3-bytes null block to small frames
    498 api : change : when setting `pledgedSrcSize`, use `ZSTD_CONTENTSIZE_UNKNOWN` macro value to mean "unknown"
    499 build: fix : compilation under rhel6 and centos6, reported by @pixelb
    500 build: added `check` target
    501 
    502 v1.3.2  (Oct 10, 2017)
    503 new : long range mode, using --long command, by Stella Lau (@stellamplau)
    504 new : ability to generate and decode magicless frames (#591)
    505 changed : maximum nb of threads reduced to 200, to avoid address space exhaustion in 32-bits mode
    506 fix : multi-threading compression works with custom allocators
    507 fix : ZSTD_sizeof_CStream() was over-evaluating memory usage
    508 fix : a rare compression bug when compression generates very large distances and bunch of other conditions (only possible at --ultra -22)
    509 fix : 32-bits build can now decode large offsets (levels 21+)
    510 cli : added LZ4 frame support by default, by Felix Handte (@felixhandte)
    511 cli : improved --list output
    512 cli : new : can split input file for dictionary training, using command -B#
    513 cli : new : clean operation artefact on Ctrl-C interruption
    514 cli : fix : do not change /dev/null permissions when using command -t with root access, reported by @mike155 (#851)
    515 cli : fix : write file size in header in multiple-files mode
    516 api : added macro ZSTD_COMPRESSBOUND() for static allocation
    517 api : experimental : new advanced decompression API
    518 api : fix : sizeof_CCtx() used to over-estimate
    519 build: fix : no-multithread variant compiles without pool.c dependency, reported by Mitchell Blank Jr (@mitchblank) (#819)
    520 build: better compatibility with reproducible builds, by Bernhard M. Wiedemann (@bmwiedemann) (#818)
    521 example : added streaming_memory_usage
    522 license : changed /examples license to BSD + GPLv2
    523 license : fix a few header files to reflect new license (#825)
    524 
    525 v1.3.1  (Aug 21, 2017)
    526 New license : BSD + GPLv2
    527 perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt (@mcmilk)
    528 perf: Multi-threading supports up to 256 threads. Cap at 256 when more are requested (#760)
    529 cli : improved and fixed --list command, by @ib (#772)
    530 cli : command -vV to list supported formats, by @ib (#771)
    531 build : fixed binary variants, reported by @svenha (#788)
    532 build : fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (@GregSlazinski) (#718)
    533 API exp : breaking change : ZSTD_getframeHeader() provides more information
    534 API exp : breaking change : pinned down values of error codes
    535 doc : fixed huffman example, by Ulrich Kunitz (@ulikunitz)
    536 new : contrib/adaptive-compression, I/O driven compression strength, by Paul Cruz (@paulcruz74)
    537 new : contrib/long_distance_matching, statistics by Stella Lau (@stellamplau)
    538 updated : contrib/linux-kernel, by Nick Terrell (@terrelln)
    539 
    540 v1.3.0  (Jul 6, 2017)
    541 cli : new : `--list` command, by Paul Cruz
    542 cli : changed : xz/lzma support enabled by default
    543 cli : changed : `-t *` continue processing list after a decompression error
    544 API : added : ZSTD_versionString()
    545 API : promoted to stable status : ZSTD_getFrameContentSize(), by Sean Purcell
    546 API exp : new advanced API : ZSTD_compress_generic(), ZSTD_CCtx_setParameter()
    547 API exp : new : API for static or external allocation : ZSTD_initStatic?Ctx()
    548 API exp : added : ZSTD_decompressBegin_usingDDict(), requested by Guy Riddle (#700)
    549 API exp : clarified memory estimation / measurement functions.
    550 API exp : changed : strongest strategy renamed ZSTD_btultra, fastest strategy ZSTD_fast set to 1
    551 tools : decodecorpus can generate random dictionary-compressed samples, by Paul Cruz
    552 new : contrib/seekable_format, demo and API, by Sean Purcell
    553 changed : contrib/linux-kernel, updated version and license, by Nick Terrell
    554 
    555 v1.2.0  (May 5, 2017)
    556 cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable)
    557 cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell
    558 cli : new : zstdmt symlink hardwired to `zstd -T0`
    559 cli : new : command --threads=# (#671)
    560 cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell
    561 cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters
    562 cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell
    563 cli : fix : does not output compressed data on console
    564 cli : fix : ignore symbolic links unless --force specified,
    565 API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument
    566 API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters.
    567 API : improved: ZSTDMT_compressCCtx() reduced memory usage
    568 API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634)
    569 API : fix : src size stored in frame header is controlled at end of frame
    570 API : fix : enforced consistent rules for pledgedSrcSize==0 (#641)
    571 API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate
    572 build: improved cmake script, by @Majlen
    573 build: enabled Multi-threading support for *BSD, by Baptiste Daroussin
    574 tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target.
    575 new : contrib/linux-kernel version, by Nick Terrell
    576 
    577 v1.1.4  (Mar 18, 2017)
    578 cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
    579 cli : new : advanced benchmark command --priority=rt
    580 cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
    581 cli : fix : --rm remains silent when input is stdin
    582 cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
    583 speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
    584 memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
    585 arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
    586 API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
    587 API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
    588 build : new: meson build system in contrib/meson, by Dima Krasner
    589 build : improved cmake script, by @Majlen
    590 build : added -Wformat-security flag, as recommended by Padraig Brady
    591 doc : new : educational decoder, by Sean Purcell
    592 
    593 v1.1.3  (Feb 7, 2017)
    594 cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
    595 cli : new : experimental target `make zstdmt`, with multi-threading support
    596 cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
    597 cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
    598 cli : fix zstdless on Mac OS-X, by Andrew Janke
    599 cli : fix #232 "compress non-files"
    600 dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
    601 API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
    602 API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
    603 API : new : ZDICT_finalizeDictionary()
    604 API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
    605 API : fix : all symbols properly exposed in libzstd, by Nick Terrell
    606 build : support for Solaris target, by Przemyslaw Skibinski
    607 doc : clarified specification, by Sean Purcell
    608 
    609 v1.1.2  (Dec 15, 2016)
    610 API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
    611 API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
    612 API : zbuff : changed : prototypes now generate deprecation warnings
    613 lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
    614 lib : changed : only public ZSTD_ symbols are now exposed
    615 lib : changed : reduced usage  of stack memory
    616 lib : fixed : several corner case bugs, by Nick Terrell
    617 cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
    618 cli : new : preserve file attributes
    619 cli : new : added zstdless and zstdgrep tools
    620 cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
    621 cli : fixed : zstdcat
    622 zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
    623 install : better compatibility with FreeBSD, by Dimitry Andric
    624 source tree : changed : zbuff source files moved to lib/deprecated
    625 
    626 v1.1.1  (Nov 2, 2016)
    627 New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
    628 New : doc/zstd_manual.html, by Przemyslaw Skibinski
    629 Improved : slightly better compression ratio at --ultra levels (>= 20)
    630 Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
    631 Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
    632 Added : example/multiple_streaming_compression.c
    633 Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
    634 Updated man page
    635 Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
    636 
    637 v1.1.0  (Sep 28, 2016)
    638 New : contrib/pzstd, parallel version of zstd, by Nick Terrell
    639 added : NetBSD install target (#338)
    640 Improved : speed for batches of small files
    641 Improved : speed of zlib wrapper, by Przemyslaw Skibinski
    642 Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
    643 Fixed : CLI -d output to stdout by default when input is stdin (#322)
    644 Fixed : CLI correctly detects console on Mac OS-X
    645 Fixed : CLI supports recursive mode `-r` on Mac OS-X
    646 Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
    647 Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
    648 Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
    649 Fixed : zstd-pgo, reported by octoploid (#329)
    650 
    651 v1.0.0  (Sep 1, 2016)
    652 Change Licensing, all project is now BSD, Copyright Facebook
    653 Small decompression speed improvement
    654 API : Streaming API supports legacy format
    655 API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParameter()
    656 CLI supports legacy formats v0.4+
    657 Fixed : compression fails on certain huge files, reported by Jesse McGrew
    658 Enhanced documentation, by Przemyslaw Skibinski
    659 
    660 v0.8.1  (Aug 18, 2016)
    661 New streaming API
    662 Changed : --ultra now enables levels beyond 19
    663 Changed : -i# now selects benchmark time in second
    664 Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
    665 Fixed : speed regression on specific patterns (#272)
    666 Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
    667 Fixed : ICC compilation, by Przemyslaw Skibinski
    668 
    669 v0.8.0  (Aug 2, 2016)
    670 Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
    671 New : Build on FreeBSD and DragonFly, thanks to JrMarino
    672 Changed : modified API : ZSTD_compressEnd()
    673 Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
    674 Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
    675 Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
    676 Fixed : checksum correctly checked in single-pass mode
    677 Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
    678 Modified : minor compression level adaptations
    679 Updated : compression format specification to v0.2.0
    680 changed : zstd.h moved to /lib directory
    681 
    682 v0.7.5  (Aug 1, 2016)
    683 Transition version, supporting decoding of v0.8.x
    684 
    685 v0.7.4  (Jul 17, 2016)
    686 Added : homebrew for Mac, by Daniel Cade
    687 Added : more examples
    688 Fixed : segfault when using small dictionaries, reported by Felix Handte
    689 Modified : default compression level for CLI is now 3
    690 Updated : specification, to v0.1.1
    691 
    692 v0.7.3  (Jul 9, 2016)
    693 New : compression format specification
    694 New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
    695 New : `ZSTD_getDecompressedSize()`
    696 New : OpenBSD target, by Juan Francisco Cantero Hurtado
    697 New : `examples` directory
    698 fixed : dictBuilder using HC levels, reported by Bartosz Taudul
    699 fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
    700 fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
    701 modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
    702 modified : legacy functions no longer need magic number
    703 
    704 v0.7.2  (Jul 4, 2016)
    705 fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
    706 fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
    707 fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
    708 
    709 v0.7.1  (Jun 23, 2016)
    710 fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
    711 fixed : dictBuilder fails if first sample is too small, reported by  
    712 fixed : corruption issue, reported by cj
    713 modified : checksum enabled by default in command line mode
    714 
    715 v0.7.0  (Jun 17, 2016)
    716 New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
    717 New : Command `--rm`, to remove source file after successful de/compression
    718 New : Visual build scripts, by Christophe Chevalier
    719 New : Support for Sparse File-systems (do not use space for zero-filled sectors)
    720 New : Frame checksum support
    721 New : Support pass-through mode (when using `-df`)
    722 API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
    723 API : create dictionary files from custom content, by Giuseppe Ottaviano
    724 API : support for custom malloc/free functions
    725 New : controllable Dictionary ID
    726 New : Support for skippable frames
    727 
    728 v0.6.1  (May 13, 2016)
    729 New : zlib wrapper API, thanks to Przemyslaw Skibinski
    730 New : Ability to compile compressor / decompressor separately
    731 Changed : new lib directory structure
    732 Fixed : Legacy codec v0.5 compatible with dictionary decompression
    733 Fixed : Decoder corruption error (#173)
    734 Fixed : null-string roundtrip (#176)
    735 New : benchmark mode can select directory as input
    736 Experimental : midipix support, VMS support
    737 
    738 v0.6.0  (Apr 13, 2016)
    739 Stronger high compression modes, thanks to Przemyslaw Skibinski
    740 API : ZSTD_getFrameParams() provides size of decompressed content
    741 New : highest compression modes require `--ultra` command to fully unleash their capacity
    742 Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner
    743 
    744 v0.5.1  (Feb 18, 2016)
    745 New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
    746 Changed : Dictionary builder integrated into libzstd and zstd cli
    747 Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
    748 Fix : high compression modes for big-endian platforms
    749 New : zstd cli : `-t` | `--test` command
    750 
    751 v0.5.0  (Feb 5, 2016)
    752 New : dictionary builder utility
    753 Changed : streaming & dictionary API
    754 Improved : better compression of small data
    755 
    756 v0.4.7  (Jan 22, 2016)
    757 Improved : small compression speed improvement in HC mode
    758 Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
    759 fix : bt search bug
    760 
    761 v0.4.6  (Jan 13, 2016)
    762 fix : fast compression mode on Windows
    763 New : cmake configuration file, thanks to Artyom Dymchenko
    764 Improved : high compression mode on repetitive data
    765 New : block-level API
    766 New : ZSTD_duplicateCCtx()
    767 
    768 v0.4.5  (Dec 18, 2015)
    769 new : -m/--multiple : compress/decompress multiple files
    770 
    771 v0.4.4  (Dec 14, 2015)
    772 Fixed : high compression modes for Windows 32 bits
    773 new : external dictionary API extended to buffered mode and accessible through command line
    774 new : windows DLL project, thanks to Christophe Chevalier
    775 
    776 v0.4.3  (Dec 7, 2015)
    777 new : external dictionary API
    778 new : zstd-frugal
    779 
    780 v0.4.2  (Dec 2, 2015)
    781 Generic minor improvements for small blocks
    782 Fixed : big-endian compatibility, by Peter Harris (#85)
    783 
    784 v0.4.1  (Dec 1, 2015)
    785 Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
    786 removed `zstd.c`
    787 
    788 v0.4.0  (Nov 29, 2015)
    789 Command line utility compatible with high compression levels
    790 Removed zstdhc => merged into zstd
    791 Added : ZBUFF API (see zstd_buffered.h)
    792 Rolling buffer support
    793 
    794 v0.3.6  (Nov 10, 2015)
    795 small blocks params
    796 
    797 v0.3.5  (Nov 9, 2015)
    798 minor generic compression improvements
    799 
    800 v0.3.4  (Nov 6, 2015)
    801 Faster fast cLevels
    802 
    803 v0.3.3  (Nov 5, 2015)
    804 Small compression ratio improvement
    805 
    806 v0.3.2  (Nov 2, 2015)
    807 Fixed Visual Studio
    808 
    809 v0.3.1  (Nov 2, 2015)
    810 Small compression ratio improvement
    811 
    812 v0.3  (Oct 30, 2015)
    813 HC mode : compression levels 2-26
    814 
    815 v0.2.2  (Oct 28, 2015)
    816 Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
    817 
    818 v0.2.1  (Oct 24, 2015)
    819 Fix : Read errors, advanced fuzzer tests, by Hanno Bck
    820 
    821 v0.2.0  (Oct 22, 2015)
    822 **Breaking format change**
    823 Faster decompression speed
    824 Can still decode v0.1 format
    825 
    826 v0.1.3  (Oct 15, 2015)
    827 fix uninitialization warning, reported by Evan Nemerson
    828 
    829 v0.1.2  (Sep 11, 2015)
    830 frame concatenation support
    831 
    832 v0.1.1  (Aug 27, 2015)
    833 fix compression bug
    834 detects write-flush errors
    835 
    836 v0.1.0  (Aug 25, 2015)
    837 first release
    838