v1.6.0 (Dec 2025)
- API: Legacy format support is now disabled by default
- Build:
ZSTD_LEGACY_SUPPORTdefaults to0in Makefile and CMake
v1.5.7 (Feb 2025)
Fixes
- Fix: Compression bug in 32-bit mode associated with long-lasting sessions
API
- New: Method
ZSTD_compressSequencesAndLiterals()(#4217, #4232) - Enhancement:
ZSTD_getFrameHeader()works on skippable frames (#4228)
Performance
- Perf: Substantial compression speed improvements (up to +30%) on small data, by @TocarIP (#4144) and @cyan4973 (#4165)
- Perf: Improved compression speed (~+5%) for dictionary compression at low levels (#4170)
- Perf: Much faster speed for
--patch-fromat high compression levels (#4276) - Perf: Higher
--patch-fromcompression ratios, notably at high levels (#4288) - Perf: Better speed for binaries on Windows (@pps83) and when compiled with Visual Studio (@MessyHack)
- Perf: Slight compression ratio improvement thanks to better block boundaries (#4136, #4176, #4178)
- Perf: Slight compression ratio improvement for
dfast, aka levels 3 and 4 (#4171) - Perf: Runtime bmi2 detection enabled on x86 32-bit mode (#4251)
CLI
- New: Multi-threading as default CLI setting, by @daniellerozenblit
- New:
--maxcommand (#4290)
Build
- Enhancement: Improve
msbuildversion autodetection, support VS2022, by @ManuelBlanc - Fix:
mesonbuild by @artem and @Victor-C-Zhang, and on Windows by @bgilbert - Enhancement: Compatibility with Apple Framework, by @Treata11
- Enhancement: Improve icc/icx compatibility, by @josepho0918 and @luau-project
- Enhancement: Improve compatibility with Android NDK, by Adenilson Cavalcanti
Portability
- Enhancement: Linux kernel branch, with improved support for Sequence producers (@embg, @gcabiddu, @cyan4973)
- Enhancement: Improved qnx compatibility, suggested by @rainbowball
- Enhancement: Improved install script for FreeBSD, by @sunpoet
- Fix: Test suite compatibility with gnu hurd, by @diegonc
Documentation
- Enhancement: Clarify specification, by @elasota
Miscellaneous
- Enhancement: Improved tests/decodecorpus validation tool (#4102), by antmicro
v1.5.6 (Mar 2024)
API
- Promotion:
ZSTD_c_targetCBlockSizeto Stable API by @felixhandte - New:
ZSTD_d_maxBlockSizeexperimental parameter, to reduce streaming decompression memory, by @terrelln
Performance
- Perf: Improve performance of param
ZSTD_c_targetCBlockSize, by @Cyan4973 - Perf: Improved compression of arrays of integers at high compression, by @Cyan4973
Library
- Enhancement: Reduce binary size with selective build-time exclusion, by @felixhandte
- Perf: Improved huffman speed on small data and linux kernel, by @terrelln
- Enhancement: Accept dictionaries with partial literal tables, by @terrelln
- Fix: CCtx size estimation with external sequence producer, by @embg
- Fix: Corner case decoder behaviors, by @Cyan4973 and @aimuz
- Fix: Zdict prototype mismatch in static_only mode, by @ldv-alt
- Fix: Several bugs in magicless-format decoding, by @embg
CLI
- New: Add common compressed file types to
--exclude-compressedby @daniellerozenblit - Fix: Mixing
-cand-ocommands with--rm, by @Cyan4973 - Fix: Erroneous exclusion of hidden files with
--output-dir-mirrorby @felixhandte - Enhancement: Improved time accuracy on BSD, by @felixhandte
- Enhancement: Better errors on argument parsing, by @KapJI
Tests
- Enhancement: Better compatibility with older versions of
grep, by @Cyan4973 - Enhancement: Lorem ipsum generator as default backup content, by @Cyan4973
Build
- Enhancement: CMake improvements by @terrelln, @sighingnow, @gjasny, @JohanMabille, @Saverio976, @gruenich, @teo-tsirpanis
- New: Bazel support, by @jondo2010
- Fix: Cross-compiling for AArch64 with lld by @jcelerier
- Fix: Apple platform compatibility, by @nidhijaju
- Fix: Visual 2012 and lower compatibility, by @Cyan4973
- Enhancement: Improve win32 support, by @DimitriPapadopoulos
- Enhancement: Better C90 compliance for zlibWrapper, by @emaste
Portability
- New: Fat binaries on macos, by @mredig
- New: ARM64EC compatibility for Windows, by @dunhor
- New: QNX support by @klausholstjacobsen
- Enhancement: MSYS2 and Cygwin makefile installation and test support, by @QBos07
- Enhancement: RISC-V support validation in CI, by @Cyan4973
- Enhancement: Sparc64 support validation in CI, by @Cyan4973
- Enhancement: AIX compatibility, by @likema
- Enhancement: HP-UX compatibility, by @likema
Documentation
- Enhancement: Improved specification accuracy, by @elasota
Bug Fixes
- Fix: Fix and deprecate ZSTD_generateSequences (#3981)
v1.5.5 (Apr 2023)
Fixes
- Fix: Rare corruption bug affecting the high compression mode, reported by @danlark1 (#3517, @terrelln)
Performance
- Perf: Improve mid-level compression speed (#3529, #3533, #3543, @yoniko and #3552, @terrelln)
Library
- Deprecation: Bufferless block-level API (#3534) by @terrelln
CLI
- Enhancement: Mmap large dictionaries to save memory, by @daniellerozenblit
- Perf: Improve speed of —patch-from mode (~+50%) (#3545) by @daniellerozenblit
- Perf: Improve i/o speed (~+10%) when processing lots of small files (#3479) by @felixhandte
- Fix: Zstd no longer crashes when requested to write into write-protected directory (#3541) by @felixhandte
- Fix: Decompression into block device using -o, reported by @georgmu (#3583)
Build
- Fix: Zstd CLI compiled with lzma support but not zlib support (#3494) by @Hello71
- Fix: CMake does no longer require 3.18 as minimum version (#3510) by @kou
- Fix: MSVC+ClangCL linking issue (#3569) by @tru
- Fix: zstd-dll, version of zstd CLI that links to the dynamic library (#3496) by @yoniko
- Fix: MSVC warnings (#3495) by @embg
Documentation
- Enhancement: Updated zstd specification to clarify corner cases, by @Cyan4973
- Enhancement: Document how to create fat binaries for macos (#3568) by @rickmark
Miscellaneous
- Perf: Improve seekable format ingestion speed (~+100%) for very small chunk sizes (#3544) by @Cyan4973
- Enhancement: tests/fullbench can benchmark multiple files (#3516) by @dloidolt
v1.5.4 (Feb 2023)
Performance
- Perf: +20% faster huffman decompression for targets that can’t compile x64 assembly (#3449, @terrelln)
- Perf: Up to +10% faster streaming compression at levels 1-2 (#3114, @embg)
- Perf: +4-13% for levels 5-12 by optimizing function generation (#3295, @terrelln)
- Perf: +3-11% compression speed for
armtarget (#3199, #3164, #3145, #3141, #3138, @JunHe77 and #3139, #3160, @danlark1) - Perf: +5-30% faster dictionary compression at levels 1-4 (#3086, #3114, #3152, @embg)
- Perf: +10-20% cold dict compression speed by prefetching CDict tables (#3177, @embg)
- Perf: +1% faster compression by removing a branch in ZSTD_fast_noDict (#3129, @felixhandte)
- Perf: Small compression ratio improvements in high compression mode (#2983, #3391, @Cyan4973 and #3285, #3302, @daniellerozenblit)
- Perf: Small speed improvement by better detecting
STATIC_BMI2forclang(#3080, @TocarIP) - Perf: Improved streaming performance when
ZSTD_c_stableInBufferis set (#2974, @Cyan4973)
CLI
- New: Asynchronous I/O for improved cli speed (#2975, #2985, #3021, #3022, @yoniko)
- Change:
zstdlessbehavior to align withzless(#2909, @binhdvo) - Enhancement: Keep original file if
-cor--stdoutis given (#3052, @dirkmueller) - Enhancement: Keep original files when result is concatenated into a single output with
-o(#3450, @Cyan4973) - Enhancement: Preserve Permissions and Ownership of regular files (#3432, @felixhandte)
- Enhancement: Print zlib/lz4/lzma library versions with
-vv(#3030, @terrelln) - Enhancement: Print checksum value for single frame files with
-lv(#3332, @Cyan4973) - Enhancement: Print
dictIDwhen present with-lv(#3184, @htnhan) - Enhancement: When
stderris not the console, disable status updates, but preserve final summary (#3458, @Cyan4973) - Enhancement: Support
--bestand--no-nameingzipcompatibility mode (#3059, @dirkmueller) - Enhancement: Support for
posixhigh resolution timerclock_gettime(), for improved benchmark accuracy (#3423, @Cyan4973) - Enhancement: Improved help/usage (
-h,-H) formatting (#3094, @dirkmueller and #3385, @jonpalmisc) - Fix: Better handling of bogus numeric values (#3268, @ctkhanhly)
- Fix: Input consists of multiple files and
stdin(#3222, @yoniko) - Fix: Tiny files passthrough (#3215, @cgbur)
- Fix:
-ron empty directory (#3027, @brailovich) - Fix: Empty string as argument for
--output-dir-*(#3220, @embg) - Fix: Decompression memory usage reported by
-vv --long(#3042, @u1f35c, and #3232, @zengyijing) - Fix: Infinite loop when empty input is passed to trainer (#3081, @terrelln)
- Fix:
--adaptdoesn’t work when--no-progressis also set (#3354, @terrelln)
API
- New: Support for Block-Level Sequence Producer (#3333, @embg)
- New: Support for in-place decompression (#3432, @terrelln)
- New:
ZSTD_CCtx_setCParams()function, set all parameters defined in aZSTD_compressionParametersstructure (#3403, @Cyan4973) - Enhancement: Streaming decompression detects incorrect header ID sooner (#3175, @Cyan4973)
- Enhancement: Window size resizing optimization for edge case (#3345, @daniellerozenblit)
- Enhancement: More accurate error codes for busy-loop scenarios (#3413, #3455, @Cyan4973)
- Fix: Limit overflow in
compressBoundanddecompressBound(#3362, #3373, Cyan4973) reported by @nigeltao - Deprecation: Several advanced experimental functions: streaming (#3408, @embg), copy (#3196, @mileshu)
Bug Fixes
- Fix: Corruption that rarely occurs in 32-bit mode with wlog=25 (#3361, @terrelln)
- Fix: Block-splitter (#3033, @Cyan4973)
- Fix: Sequence Compression API (#3023, #3040, @Cyan4973)
- Fix: Leaking thread handles on Windows (#3147, @animalize)
- Fix: Timing issues with cmake/meson builds (#3166, #3167, #3170, @Cyan4973)
Build
- Enhancement: Allow user to select legacy level for cmake (#3050, @shadchin)
- Enhancement: Enable legacy support by default in cmake (#3079, @niamster)
- Enhancement: Meson build script improvements (#3039, #3120, #3122, #3327, #3357, @eli-schwartz and #3276, @neheb)
- Enhancement: Add aarch64 to supported architectures for zstd_trace (#3054, @ooosssososos)
- Enhancement: Support AIX architecture (#3219, @qiongsiwu)
- Fix:
ZSTD_LIB_MINIFYbuild macro, which now reduces static library size by half (#3366, @terrelln) - Fix: Windows issues with Multithreading translation layer (#3364, #3380, @yoniko) and ARM64 target (#3320, @cwoffenden)
- Fix:
cmakescript (#3382, #3392, @terrelln and #3252 @Tachi107 and #3167 @Cyan4973)
Documentation
- Enhancement: Updated man page, providing more details for
--trainmode (#3112, @Cyan4973) - New: Decompressor errata document (#3092, @terrelln)
Miscellaneous
- Enhancement: Enable Intel CET (#2992, #2994, @hjl-tools)
- Fix:
contrib/seekable format (#3058, @yhoogstrate and #3346, @daniellerozenblit) - Enhancement: Improve speed of the one-file library generator (#3241, @wahern and #3005, @cwoffenden)