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