zstd/CHANGELOG

614 lines
33 KiB
Plaintext
Raw Permalink Normal View History

2020-12-15 02:45:57 +00:00
v1.4.7
perf: stronger --long mode at high compression levels, by @senhuang42
perf: stronger --patch-from at high compression levels, thanks to --long improvements
perf: faster dictionary compression at medium compression levels, by @felixhandte
perf: small speed & memory usage improvements for ZSTD_compress2(), by @terrelln
perf: improved fast compression speeds with Visual Studio, by @animalize
cli : Set nb of threads with environment variable ZSTD_NBTHREADS, by @senhuang42
cli : accept decompressing files with *.zstd suffix
cli : provide a condensed summary by default when processing multiple files
cli : fix : stdin input no longer confused as user prompt
cli : improve accuracy of several error messages
api : new sequence ingestion API, by @senhuang42
api : shared thread pool: control total nb of threads used by multiple compression jobs, by @marxin
api : new ZSTD_getDictID_fromCDict(), by @LuAPi
api : zlibWrapper only uses public API, and is compatible with dynamic library, by @terrelln
api : fix : multithreaded compression has predictable output even in special cases (see #2327) (issue not accessible from cli)
api : fix : dictionary compression correctly respects dictionary compression level (see #2303) (issue not accessible from cli)
2020-12-15 02:45:57 +00:00
build: fix cmake script when using path with spaces, by @terrelln
build: improved compile-time detection of aarch64/neon platforms, by @bsdimp
build: Fix building on AIX 5.1, by @likema
build: compile paramgrill with cmake on Windows, requested by @mirh
doc : clarify repcode updates in format specification, by @felixhandte
2020-09-10 00:13:34 +00:00
v1.4.6
fix : Always return dstSize_tooSmall when that is the case
fix : Fix ZSTD_initCStream_advanced() with static allocation and no dictionary
perf: Improve small block decompression speed by 20%+, by @terrelln
perf: Reduce compression stack usage by 1 KB, by @terrelln
perf: Improve decompression speed by improving ZSTD_wildcopy, by @helloguo (#2252, #2256)
perf: Improve histogram construction, by @cyan4973 (#2253)
cli : Add --output-dir-mirror option, by @xxie24 (#2219)
cli : Warn when (de)compressing multiple files into a single output, by @senhuang42 (#2279)
cli : Improved progress bar and status summary when (de)compressing multiple files, by @senhuang42 (#2283)
cli : Call stat less often, by @felixhandte (#2262)
cli : Allow --patch-from XXX and --filelist XXX in addition to --patch-from=XXX and --filelist=XXX, by @cyan4973 (#2250)
cli : Allow --patch-from to compress stdin with --stream-size, by @bimbashrestha (#2206)
api : Do not install zbuff.h, since it has long been deprecated, by @cyan4973 (#2166).
api : Fix ZSTD_CCtx_setParameter() with ZSTD_c_compressionLevel to make 0 mean default level, by @i-do-cpp (#2291)
api : Rename ZSTDMT_NBTHREADS_MAX to ZSTDMT_NBWORKERS_MAX, by @marxin (#2228).
build: Install pkg-config file with CMake and MinGW, by @tonytheodore (#2183)
build: Install DLL with CMake on Windows, by @BioDataAnalysis (#2221)
build: Fix DLL install location with CMake, by @xantares and @bimbashrestha (#2186)
build: Add ZSTD_NO_UNUSED_FUNCTIONS macro to hide unused functions
build: Add ZSTD_NO_INTRINSICS macro to avoid explicit intrinsics
build: Add STATIC_BMI2 macro for compile time detection of BMI2 on MSVC, by @Niadb (#2258)
build: Fix -Wcomma warnings, by @cwoffenden
build: Remove distutils requirement for meson build, by @neheb (#2197)
build: Fix cli compilation with uclibc
build: Fix cli compilation without st_mtime, by @ffontaine (#2246)
build: Fix shadowing warnings in library
build: Fix single file library compilation with Enscripten, by @yoshihitoh (#2227)
misc: Improve single file library and include dictBuilder, by @cwoffenden
misc: Allow compression dictionaries with missing symbols
misc: Add freestanding translation script in contrib/freestanding_lib
misc: Collect all of zstd's libc dependencies into zstd_deps.h
doc : Add ZSTD_versionString() to manual, by @animalize
doc : Fix documentation for ZSTD_CCtxParams_setParameter(), by @felixhandte (#2270)
2020-12-14 02:27:35 +00:00
v1.4.5 (May 22, 2020)
2020-01-24 22:12:25 +00:00
fix : Compression ratio regression on huge files (> 3 GB) using high levels (--ultra) and multithreading, by @terrelln
2020-05-16 00:19:00 +00:00
perf: Improved decompression speed: x64 : +10% (clang) / +5% (gcc); ARM : from +15% to +50%, depending on SoC, by @terrelln
perf: Automatically downsizes ZSTD_DCtx when too large for too long (#2069, by @bimbashreshta)
perf: Improved fast compression speed on aarch64 (#2040, ~+3%, by @caoyzh)
perf: Small level 1 compression speed gains (depending on compiler)
cli : New --patch-from command, create and apply patches from files, by @bimbashreshta
cli : New --filelist= : Provide a list of files to operate upon from a file
cli : -b -d command can now benchmark decompression on multiple files
cli : New --no-content-size command
cli : New --show-default-cparams information command
api : ZDICT_finalizeDictionary() is promoted to stable (#2111)
api : new experimental parameter ZSTD_d_stableOutBuffer (#2094)
build: Generate a single-file libzstd library (#2065, by @cwoffenden)
build: Relative includes no longer require -I compiler flags for zstd lib subdirs (#2103, by @felixhandte)
build: zstd now compiles cleanly under -pedantic (#2099)
build: zstd now compiles with make-4.3
build: Support mingw cross-compilation from Linux, by @Ericson2314
build: Meson multi-thread build fix on windows
build: Some misc icc fixes backed by new ci test on travis
misc: bitflip analyzer tool, by @felixhandte
2020-05-16 00:19:00 +00:00
misc: Extend largeNbDicts benchmark to compression
misc: Edit-distance match finder in contrib/
doc : Improved beginner CONTRIBUTING.md docs
doc : New issue templates for zstd
2020-12-14 02:27:35 +00:00
v1.4.4 (Nov 6, 2019)
2019-10-28 19:57:05 +00:00
perf: Improved decompression speed, by > 10%, by @terrelln
perf: Better compression speed when re-using a context, by @felixhandte
perf: Fix compression ratio when compressing large files with small dictionary, by @senhuang42
perf: zstd reference encoder can generate RLE blocks, by @bimbashrestha
perf: minor generic speed optimization, by @davidbolvansky
api: new ability to extract sequences from the parser for analysis, by @bimbashrestha
api: fixed decoding of magic-less frames, by @terrelln
api: fixed ZSTD_initCStream_advanced() performance with fast modes, reported by @QrczakMK
cli: Named pipes support, by @bimbashrestha
cli: short tar's extension support, by @stokito
cli: command --output-dir-flat= , generates target files into requested directory, by @senhuang42
cli: commands --stream-size=# and --size-hint=#, by @nmagerko
2019-10-30 19:16:45 +00:00
cli: command --exclude-compressed, by @shashank0791
2019-10-28 19:57:05 +00:00
cli: faster `-t` test mode
cli: improved some error messages, by @vangyzen
cli: fix command `-D dictionary` on Windows, reported by @artyompetrov
cli: fix rare deadlock condition within dictionary builder, by @terrelln
2019-10-28 19:57:05 +00:00
build: single-file decoder with emscripten compilation script, by @cwoffenden
build: fixed zlibWrapper compilation on Visual Studio, reported by @bluenlive
build: fixed deprecation warning for certain gcc version, reported by @jasonma163
build: fix compilation on old gcc versions, by @cemeyer
build: improved installation directories for cmake script, by Dmitri Shubin
pack: modified pkgconfig, for better integration into openwrt, requested by @neheb
misc: Improved documentation : ZSTD_CLEVEL, DYNAMIC_BMI2, ZSTD_CDict, function deprecation, zstd format
misc: fixed educational decoder : accept larger literals section, and removed UNALIGNED() macro
2020-12-14 02:27:35 +00:00
v1.4.3 (Aug 20, 2019)
2019-08-06 17:44:05 +00:00
bug: Fix Dictionary Compression Ratio Regression by @cyan4973 (#1709)
2019-10-28 19:57:05 +00:00
bug: Fix Buffer Overflow in legacy v0.3 decompression by @felixhandte (#1722)
2019-08-06 17:44:05 +00:00
build: Add support for IAR C/C++ Compiler for Arm by @joseph0918 (#1705)
2020-12-14 02:27:35 +00:00
v1.4.2 (Jul 26, 2019)
2019-07-24 21:35:52 +00:00
bug: Fix bug in zstd-0.5 decoder by @terrelln (#1696)
bug: Fix seekable decompression in-memory API by @iburinoc (#1695)
misc: Validate blocks are smaller than size limit by @vivekmg (#1685)
misc: Restructure source files by @ephiepark (#1679)
2020-12-14 02:27:35 +00:00
v1.4.1 (Jul 20, 2019)
2019-07-19 15:18:10 +00:00
bug: Fix data corruption in niche use cases by @terrelln (#1659)
bug: Fuzz legacy modes, fix uncovered bugs by @terrelln (#1593, #1594, #1595)
bug: Fix out of bounds read by @terrelln (#1590)
perf: Improve decode speed by ~7% @mgrice (#1668)
perf: Slightly improved compression ratio of level 3 and 4 (ZSTD_dfast) by @cyan4973 (#1681)
perf: Slightly faster compression speed when re-using a context by @cyan4973 (#1658)
perf: Improve compression ratio for small windowLog by @cyan4973 (#1624)
perf: Faster compression speed in high compression mode for repetitive data by @terrelln (#1635)
api: Add parameter to generate smaller dictionaries by @tyler-tran (#1656)
cli: Recognize symlinks when built in C99 mode by @felixhandte (#1640)
cli: Expose cpu load indicator for each file on -vv mode by @ephiepark (#1631)
cli: Restrict read permissions on destination files by @chungy (#1644)
cli: zstdgrep: handle -f flag by @felixhandte (#1618)
cli: zstdcat: follow symlinks by @vejnar (#1604)
doc: Remove extra size limit on compressed blocks by @felixhandte (#1689)
doc: Fix typo by @yk-tanigawa (#1633)
doc: Improve documentation on streaming buffer sizes by @cyan4973 (#1629)
build: CMake: support building with LZ4 @leeyoung624 (#1626)
build: CMake: install zstdless and zstdgrep by @leeyoung624 (#1647)
build: CMake: respect existing uninstall target by @j301scott (#1619)
build: Make: skip multithread tests when built without support by @michaelforney (#1620)
build: Make: Fix examples/ test target by @sjnam (#1603)
build: Meson: rename options out of deprecated namespace by @lzutao (#1665)
build: Meson: fix build by @lzutao (#1602)
build: Visual Studio: don't export symbols in static lib by @scharan (#1650)
build: Visual Studio: fix linking by @absotively (#1639)
build: Fix MinGW-W64 build by @myzhang1029 (#1600)
misc: Expand decodecorpus coverage by @ephiepark (#1664)
2020-12-14 02:27:35 +00:00
v1.4.0 (Apr 17, 2019)
2019-04-15 20:57:42 +00:00
perf: Improve level 1 compression speed in most scenarios by 6% by @gbtucker and @terrelln
api: Move the advanced API, including all functions in the staging section, to the stable section
api: Make ZSTD_e_flush and ZSTD_e_end block for maximum forward progress
api: Rename ZSTD_CCtxParam_getParameter to ZSTD_CCtxParams_getParameter
api: Rename ZSTD_CCtxParam_setParameter to ZSTD_CCtxParams_setParameter
api: Don't export ZSTDMT functions from the shared library by default
api: Require ZSTD_MULTITHREAD to be defined to use ZSTDMT
2019-04-15 20:57:42 +00:00
api: Add ZSTD_decompressBound() to provide an upper bound on decompressed size by @shakeelrao
api: Fix ZSTD_decompressDCtx() corner cases with a dictionary
api: Move ZSTD_getDictID_*() functions to the stable section
api: Add ZSTD_c_literalCompressionMode flag to enable or disable literal compression by @terrelln
api: Allow compression parameters to be set when a dictionary is used
api: Allow setting parameters before or after ZSTD_CCtx_loadDictionary() is called
api: Fix ZSTD_estimateCStreamSize_usingCCtxParams()
api: Setting ZSTD_d_maxWindowLog to 0 means use the default
cli: Ensure that a dictionary is not used to compress itself by @shakeelrao
cli: Add --[no-]compress-literals flag to enable or disable literal compression
doc: Update the examples to use the advanced API
doc: Explain how to transition from old streaming functions to the advanced API in the header
build: Improve the Windows release packages
build: Improve CMake build by @hjmjohnson
build: Build fixes for FreeBSD by @lwhsu
build: Remove redundant warnings by @thatsafunnyname
build: Fix tests on OpenBSD by @bket
build: Extend fuzzer build system to work with the new clang engine
build: CMake now creates the libzstd.so.1 symlink
build: Improve Menson build by @lzutao
misc: Fix symbolic link detection on FreeBSD
misc: Use physical core count for -T0 on FreeBSD by @cemeyer
misc: Fix zstd --list on truncated files by @kostmo
misc: Improve logging in debug mode by @felixhandte
misc: Add CirrusCI tests by @lwhsu
misc: Optimize dictionary memory usage in corner cases
misc: Improve the dictionary builder on small or homogeneous data
misc: Fix spelling across the repo by @jsoref
2019-02-20 18:46:14 +00:00
2020-12-14 02:27:35 +00:00
v1.3.8 (Dec 28, 2018)
2018-11-13 23:53:38 +00:00
perf: better decompression speed on large files (+7%) and cold dictionaries (+15%)
2018-12-22 20:10:29 +00:00
perf: slightly better compression ratio at high compression modes
api : finalized advanced API, last stage before "stable" status
api : new --rsyncable mode, by @terrelln
api : support decompression of empty frames into NULL (used to be an error) (#1385)
build: new set of macros to build a minimal size decoder, by @felixhandte
build: fix compilation on MIPS32, reported by @clbr (#1441)
build: fix compilation with multiple -arch flags, by @ryandesign
build: highly upgraded meson build, by @lzutao
build: improved buck support, by @obelisk
build: fix cmake script : can create debug build, by @pitrou
build: Makefile : grep works on both colored consoles and systems without color support
2018-11-13 23:53:38 +00:00
build: fixed zstd-pgo, by @bmwiedemann
2018-12-22 20:10:29 +00:00
cli : support ZSTD_CLEVEL environment variable, by @yijinfb (#1423)
cli : --no-progress flag, preserving final summary (#1371), by @terrelln
cli : ensure destination file is not source file (#1422)
cli : clearer error messages, especially when input file not present
2018-11-13 23:53:38 +00:00
doc : clarified zstd_compression_format.md, by @ulikunitz
2018-12-22 20:10:29 +00:00
misc: fixed zstdgrep, returns 1 on failure, by @lzutao
misc: NEWS renamed as CHANGELOG, in accordance with fboss
2018-11-13 23:53:38 +00:00
2020-12-14 02:27:35 +00:00
v1.3.7 (Oct 20, 2018)
2018-10-11 23:49:55 +00:00
perf: slightly better decompression speed on clang (depending on hardware target)
fix : performance of dictionary compression for small input < 4 KB at levels 9 and 10
build: no longer build backtrace by default in release mode; restrict further automatic mode
build: control backtrace support through build macro BACKTRACE
2018-10-17 03:58:52 +00:00
misc: added man pages for zstdless and zstdgrep, by @samrussell
2018-10-11 23:49:55 +00:00
2020-12-14 02:27:35 +00:00
v1.3.6 (Oct 6, 2018)
perf: much faster dictionary builder, by @jenniferliu
perf: faster dictionary compression on small data when using multiple contexts, by @felixhandte
perf: faster dictionary decompression when using a very large number of dictionaries simultaneously
cli : fix : does no longer overwrite destination when source does not exist (#1082)
cli : new command --adapt, for automatic compression level adaptation
api : fix : block api can be streamed with > 4 GB, reported by @catid
api : reduced ZSTD_DDict size by 2 KB
api : minimum negative compression level is defined, and can be queried using ZSTD_minCLevel().
2018-10-03 23:37:50 +00:00
build: support Haiku target, by @korli
build: Read Legacy format is limited to v0.5+ by default. Can be changed at compile time with macro ZSTD_LEGACY_SUPPORT.
doc : zstd_compression_format.md updated to match wording in IETF RFC 8478
misc: tests/paramgrill, a parameter optimizer, by @GeorgeLu97
2020-12-14 02:27:35 +00:00
v1.3.5 (Jun 29, 2018)
2018-06-06 22:51:55 +00:00
perf: much faster dictionary compression, by @felixhandte
perf: small quality improvement for dictionary generation, by @terrelln
perf: slightly improved high compression levels (notably level 19)
mem : automatic memory release for long duration contexts
cli : fix : overlapLog can be manually set
cli : fix : decoding invalid lz4 frames
api : fix : performance degradation for dictionary compression when using advanced API, by @terrelln
api : change : clarify ZSTD_CCtx_reset() vs ZSTD_CCtx_resetParameters(), by @terrelln
build: select custom libzstd scope through control macros, by @GeorgeLu97
build: OpenBSD patch, by @bket
build: make and make all are compatible with -j
doc : clarify zstd_compression_format.md, updated for IETF RFC process
misc: pzstd compatible with reproducible compilation, by @lamby
2020-12-14 02:27:35 +00:00
v1.3.4 (Mar 27, 2018)
2018-03-26 17:21:49 +00:00
perf: faster speed (especially decoding speed) on recent cpus (haswell+)
perf: much better performance associating --long with multi-threading, by @terrelln
perf: better compression at levels 13-15
cli : asynchronous compression by default, for faster experience (use --single-thread for former behavior)
cli : smoother status report in multi-threading mode
cli : added command --fast=#, for faster compression modes
2018-03-10 00:22:34 +00:00
cli : fix crash when not overwriting existing files, by Pádraig Brady (@pixelb)
api : `nbThreads` becomes `nbWorkers` : 1 triggers asynchronous mode
2018-03-26 17:21:49 +00:00
api : compression levels can be negative, for even more speed
2018-03-10 00:22:34 +00:00
api : ZSTD_getFrameProgression() : get precise progress status of ZSTDMT anytime
api : ZSTDMT can accept new compression parameters during compression
2018-03-26 17:21:49 +00:00
api : implemented all advanced dictionary decompression prototypes
2018-03-10 00:22:34 +00:00
build: improved meson recipe, by Shawn Landden (@shawnl)
2018-03-26 17:21:49 +00:00
build: VS2017 scripts, by @HaydnTrigg
misc: all /contrib projects fixed
misc: added /contrib/docker script by @gyscos
2018-03-10 00:22:34 +00:00
2020-12-14 02:27:35 +00:00
v1.3.3 (Dec 21, 2017)
2018-03-10 00:22:34 +00:00
perf: faster zstd_opt strategy (levels 16-19)
2017-12-15 00:11:20 +00:00
fix : bug #944 : multithreading with shared ditionary and large data, reported by @gsliepen
cli : fix : content size written in header by default
cli : fix : improved LZ4 format support, by @felixhandte
cli : new : hidden command `-S`, to benchmark multiple files while generating one result per file
api : fix : support large skippable frames, by @terrelln
api : fix : streaming interface was adding a useless 3-bytes null block to small frames
api : change : when setting `pledgedSrcSize`, use `ZSTD_CONTENTSIZE_UNKNOWN` macro value to mean "unknown"
build: fix : compilation under rhel6 and centos6, reported by @pixelb
build: added `check` target
2020-12-14 02:27:35 +00:00
v1.3.2 (Oct 10, 2017)
new : long range mode, using --long command, by Stella Lau (@stellamplau)
new : ability to generate and decode magicless frames (#591)
changed : maximum nb of threads reduced to 200, to avoid address space exhaustion in 32-bits mode
fix : multi-threading compression works with custom allocators
2017-09-21 23:07:29 +00:00
fix : ZSTD_sizeof_CStream() was over-evaluating memory usage
fix : a rare compression bug when compression generates very large distances and bunch of other conditions (only possible at --ultra -22)
fix : 32-bits build can now decode large offsets (levels 21+)
cli : added LZ4 frame support by default, by Felix Handte (@felixhandte)
cli : improved --list output
cli : new : can split input file for dictionary training, using command -B#
cli : new : clean operation artefact on Ctrl-C interruption
cli : fix : do not change /dev/null permissions when using command -t with root access, reported by @mike155 (#851)
cli : fix : write file size in header in multiple-files mode
api : added macro ZSTD_COMPRESSBOUND() for static allocation
api : experimental : new advanced decompression API
api : fix : sizeof_CCtx() used to over-estimate
build: fix : no-multithread variant compiles without pool.c dependency, reported by Mitchell Blank Jr (@mitchblank) (#819)
2017-08-31 00:44:12 +00:00
build: better compatibility with reproducible builds, by Bernhard M. Wiedemann (@bmwiedemann) (#818)
example : added streaming_memory_usage
license : changed /examples license to BSD + GPLv2
license : fix a few header files to reflect new license (#825)
2017-08-31 00:44:12 +00:00
2020-12-14 02:27:35 +00:00
v1.3.1 (Aug 21, 2017)
2017-08-20 18:45:58 +00:00
New license : BSD + GPLv2
perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt (@mcmilk)
2017-07-13 22:34:44 +00:00
perf: Multi-threading supports up to 256 threads. Cap at 256 when more are requested (#760)
cli : improved and fixed --list command, by @ib (#772)
2017-08-20 18:45:58 +00:00
cli : command -vV to list supported formats, by @ib (#771)
build : fixed binary variants, reported by @svenha (#788)
build : fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (@GregSlazinski) (#718)
API exp : breaking change : ZSTD_getframeHeader() provides more information
API exp : breaking change : pinned down values of error codes
2017-08-20 18:45:58 +00:00
doc : fixed huffman example, by Ulrich Kunitz (@ulikunitz)
new : contrib/adaptive-compression, I/O driven compression strength, by Paul Cruz (@paulcruz74)
new : contrib/long_distance_matching, statistics by Stella Lau (@stellamplau)
updated : contrib/linux-kernel, by Nick Terrell (@terrelln)
2017-07-08 11:55:09 +00:00
2020-12-14 02:27:35 +00:00
v1.3.0 (Jul 6, 2017)
cli : new : `--list` command, by Paul Cruz
cli : changed : xz/lzma support enabled by default
cli : changed : `-t *` continue processing list after a decompression error
2017-06-17 00:56:41 +00:00
API : added : ZSTD_versionString()
API : promoted to stable status : ZSTD_getFrameContentSize(), by Sean Purcell
2017-06-03 00:43:55 +00:00
API exp : new advanced API : ZSTD_compress_generic(), ZSTD_CCtx_setParameter()
API exp : new : API for static or external allocation : ZSTD_initStatic?Ctx()
API exp : added : ZSTD_decompressBegin_usingDDict(), requested by Guy Riddle (#700)
API exp : clarified memory estimation / measurement functions.
API exp : changed : strongest strategy renamed ZSTD_btultra, fastest strategy ZSTD_fast set to 1
tools : decodecorpus can generate random dictionary-compressed samples, by Paul Cruz
2017-06-03 00:35:11 +00:00
new : contrib/seekable_format, demo and API, by Sean Purcell
changed : contrib/linux-kernel, updated version and license, by Nick Terrell
2020-12-14 02:27:35 +00:00
v1.2.0 (May 5, 2017)
2017-04-27 19:49:22 +00:00
cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable)
cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell
cli : new : zstdmt symlink hardwired to `zstd -T0`
2017-04-28 15:54:13 +00:00
cli : new : command --threads=# (#671)
2017-05-02 19:14:12 +00:00
cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell
cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters
2017-05-03 21:32:33 +00:00
cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell
2017-04-27 19:49:22 +00:00
cli : fix : does not output compressed data on console
cli : fix : ignore symbolic links unless --force specified,
API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument
API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters.
2017-04-27 19:49:22 +00:00
API : improved: ZSTDMT_compressCCtx() reduced memory usage
API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634)
API : fix : src size stored in frame header is controlled at end of frame
2017-05-02 19:14:12 +00:00
API : fix : enforced consistent rules for pledgedSrcSize==0 (#641)
API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate
2017-03-21 19:18:28 +00:00
build: improved cmake script, by @Majlen
2017-04-27 19:49:22 +00:00
build: enabled Multi-threading support for *BSD, by Baptiste Daroussin
tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target.
new : contrib/linux-kernel version, by Nick Terrell
2017-03-21 19:18:28 +00:00
2020-12-14 02:27:35 +00:00
v1.1.4 (Mar 18, 2017)
cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
cli : new : advanced benchmark command --priority=rt
2017-02-14 02:32:12 +00:00
cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
cli : fix : --rm remains silent when input is stdin
2017-03-14 11:19:51 +00:00
cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
2017-04-27 19:49:22 +00:00
memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
2017-03-14 11:19:51 +00:00
API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
2017-04-27 19:49:22 +00:00
build : new: meson build system in contrib/meson, by Dima Krasner
build : improved cmake script, by @Majlen
build : added -Wformat-security flag, as recommended by Padraig Brady
2017-02-14 02:32:12 +00:00
doc : new : educational decoder, by Sean Purcell
2020-12-14 02:27:35 +00:00
v1.1.3 (Feb 7, 2017)
2017-02-06 02:09:35 +00:00
cli : zstd can decompress .gz files (can be disabled with `make zstd-nogz` or `make HAVE_ZLIB=0`)
2017-01-27 11:22:37 +00:00
cli : new : experimental target `make zstdmt`, with multi-threading support
2017-02-07 20:05:28 +00:00
cli : new : improved dictionary builder "cover" (experimental), by Nick Terrell, based on prior work by Giuseppe Ottaviano.
2016-12-22 19:18:43 +00:00
cli : new : advanced commands for detailed parameters, by Przemyslaw Skibinski
2016-12-23 21:25:03 +00:00
cli : fix zstdless on Mac OS-X, by Andrew Janke
2017-01-27 11:22:37 +00:00
cli : fix #232 "compress non-files"
2017-01-17 21:15:25 +00:00
dictBuilder : improved dictionary generation quality, thanks to Nick Terrell
2017-01-27 11:22:37 +00:00
API : new : lib/compress/ZSTDMT_compress.h multithreading API (experimental)
2016-12-21 15:44:35 +00:00
API : new : ZSTD_create?Dict_byReference(), requested by Bartosz Taudul
2016-12-22 19:18:43 +00:00
API : new : ZDICT_finalizeDictionary()
2017-01-27 11:22:37 +00:00
API : fix : ZSTD_initCStream_usingCDict() properly writes dictID into frame header, by Gregory Szorc (#511)
API : fix : all symbols properly exposed in libzstd, by Nick Terrell
build : support for Solaris target, by Przemyslaw Skibinski
2017-02-07 01:39:54 +00:00
doc : clarified specification, by Sean Purcell
2016-12-17 15:28:12 +00:00
2020-12-14 02:27:35 +00:00
v1.1.2 (Dec 15, 2016)
2016-12-13 18:47:17 +00:00
API : streaming : decompression : changed : automatic implicit reset when chain-decoding new frames without init
API : experimental : added : dictID retrieval functions, and ZSTD_initCStream_srcSize()
2016-12-13 10:45:19 +00:00
API : zbuff : changed : prototypes now generate deprecation warnings
lib : improved : faster decompression speed at ultra compression settings and 32-bits mode
lib : changed : only public ZSTD_ symbols are now exposed
lib : changed : reduced usage of stack memory
lib : fixed : several corner case bugs, by Nick Terrell
2016-12-02 23:18:57 +00:00
cli : new : gzstd, experimental version able to decode .gz files, by Przemyslaw Skibinski
cli : new : preserve file attributes
cli : new : added zstdless and zstdgrep tools
2016-12-02 19:36:11 +00:00
cli : fixed : status displays total amount decoded, even for file consisting of multiple frames (like pzstd)
2016-12-02 23:18:57 +00:00
cli : fixed : zstdcat
zlib_wrapper : added support for gz* functions, by Przemyslaw Skibinski
2016-12-13 10:45:19 +00:00
install : better compatibility with FreeBSD, by Dimitry Andric
source tree : changed : zbuff source files moved to lib/deprecated
2020-12-14 02:27:35 +00:00
v1.1.1 (Nov 2, 2016)
2016-10-14 23:03:34 +00:00
New : command -M#, --memory=, --memlimit=, --memlimit-decompress= to limit allowed memory consumption
2016-10-25 00:22:12 +00:00
New : doc/zstd_manual.html, by Przemyslaw Skibinski
Improved : slightly better compression ratio at --ultra levels (>= 20)
Improved : better memory usage when using streaming compression API, thanks to @Rogier-5 report
Added : API : ZSTD_initCStream_usingCDict(), ZSTD_initDStream_usingDDict() (experimental section)
Added : example/multiple_streaming_compression.c
Changed : zstd_errors.h is now installed within /include (and replaces errors_public.h)
2016-10-28 20:58:31 +00:00
Updated man page
2016-10-25 00:22:12 +00:00
Fixed : zstd-small, zstd-compress and zstd-decompress compilation targets
2016-10-12 22:29:22 +00:00
2020-12-14 02:27:35 +00:00
v1.1.0 (Sep 28, 2016)
New : contrib/pzstd, parallel version of zstd, by Nick Terrell
2016-09-05 15:06:33 +00:00
added : NetBSD install target (#338)
2016-09-27 22:15:03 +00:00
Improved : speed for batches of small files
Improved : speed of zlib wrapper, by Przemyslaw Skibinski
Changed : libzstd on Windows supports legacy formats, by Christophe Chevalier
2016-09-01 22:47:33 +00:00
Fixed : CLI -d output to stdout by default when input is stdin (#322)
Fixed : CLI correctly detects console on Mac OS-X
2016-09-13 17:40:50 +00:00
Fixed : CLI supports recursive mode `-r` on Mac OS-X
Fixed : Legacy decoders use unified error codes, reported by benrg (#341), fixed by Przemyslaw Skibinski
Fixed : compatibility with OpenBSD, reported by Juan Francisco Cantero Hurtado (#319)
2016-09-13 15:23:31 +00:00
Fixed : compatibility with Hurd, by Przemyslaw Skibinski (#365)
Fixed : zstd-pgo, reported by octoploid (#329)
2016-09-01 22:47:33 +00:00
2020-12-14 02:27:35 +00:00
v1.0.0 (Sep 1, 2016)
2016-08-31 16:05:22 +00:00
Change Licensing, all project is now BSD, Copyright Facebook
2016-08-20 01:47:49 +00:00
Small decompression speed improvement
2016-08-31 16:05:22 +00:00
API : Streaming API supports legacy format
Spelling (#1582) * spelling: accidentally * spelling: across * spelling: additionally * spelling: addresses * spelling: appropriate * spelling: assumed * spelling: available * spelling: builder * spelling: capacity * spelling: compiler * spelling: compressibility * spelling: compressor * spelling: compression * spelling: contract * spelling: convenience * spelling: decompress * spelling: description * spelling: deflate * spelling: deterministically * spelling: dictionary * spelling: display * spelling: eliminate * spelling: preemptively * spelling: exclude * spelling: failure * spelling: independence * spelling: independent * spelling: intentionally * spelling: matching * spelling: maximum * spelling: meaning * spelling: mishandled * spelling: memory * spelling: occasionally * spelling: occurrence * spelling: official * spelling: offsets * spelling: original * spelling: output * spelling: overflow * spelling: overridden * spelling: parameter * spelling: performance * spelling: probability * spelling: receives * spelling: redundant * spelling: recompression * spelling: resources * spelling: sanity * spelling: segment * spelling: series * spelling: specified * spelling: specify * spelling: subtracted * spelling: successful * spelling: return * spelling: translation * spelling: update * spelling: unrelated * spelling: useless * spelling: variables * spelling: variety * spelling: verbatim * spelling: verification * spelling: visited * spelling: warming * spelling: workers * spelling: with
2019-04-12 18:18:11 +00:00
API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParameter()
2016-08-31 16:05:22 +00:00
CLI supports legacy formats v0.4+
Fixed : compression fails on certain huge files, reported by Jesse McGrew
2016-08-25 17:09:21 +00:00
Enhanced documentation, by Przemyslaw Skibinski
2016-08-20 01:47:49 +00:00
2020-12-14 02:27:35 +00:00
v0.8.1 (Aug 18, 2016)
2016-08-13 22:16:20 +00:00
New streaming API
2016-08-12 16:04:15 +00:00
Changed : --ultra now enables levels beyond 19
2016-08-02 12:26:00 +00:00
Changed : -i# now selects benchmark time in second
Fixed : ZSTD_compress* can now compress > 4 GB in a single pass, reported by Nick Terrell
2016-08-12 16:04:15 +00:00
Fixed : speed regression on specific patterns (#272)
Fixed : support for Z_SYNC_FLUSH, by Dmitry Krot (#291)
2016-08-18 09:50:37 +00:00
Fixed : ICC compilation, by Przemyslaw Skibinski
2016-08-02 12:26:00 +00:00
2020-12-14 02:27:35 +00:00
v0.8.0 (Aug 2, 2016)
Improved : better speed on clang and gcc -O2, thanks to Eric Biggers
2016-07-31 00:43:17 +00:00
New : Build on FreeBSD and DragonFly, thanks to JrMarino
2016-07-28 13:29:08 +00:00
Changed : modified API : ZSTD_compressEnd()
2016-07-19 13:06:55 +00:00
Fixed : legacy mode with ZSTD_HEAPMODE=0, by Christopher Bergqvist
2016-07-25 23:26:56 +00:00
Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
2016-08-01 00:26:20 +00:00
Fixed : large dictionaries (> 384 KB), reported by Ilona Papava
Fixed : checksum correctly checked in single-pass mode
2016-07-25 23:26:56 +00:00
Fixed : combined --test amd --rm, reported by Andreas M. Nilsson
2016-07-17 18:42:21 +00:00
Modified : minor compression level adaptations
Updated : compression format specification to v0.2.0
2016-07-18 01:14:58 +00:00
changed : zstd.h moved to /lib directory
2020-12-14 02:27:35 +00:00
v0.7.5 (Aug 1, 2016)
Transition version, supporting decoding of v0.8.x
2020-12-14 02:27:35 +00:00
v0.7.4 (Jul 17, 2016)
2016-07-19 13:06:55 +00:00
Added : homebrew for Mac, by Daniel Cade
2016-07-16 18:04:47 +00:00
Added : more examples
Fixed : segfault when using small dictionaries, reported by Felix Handte
2016-07-16 18:04:47 +00:00
Modified : default compression level for CLI is now 3
Updated : specification, to v0.1.1
2016-07-14 20:43:12 +00:00
2020-12-14 02:27:35 +00:00
v0.7.3 (Jul 9, 2016)
2016-07-08 17:18:30 +00:00
New : compression format specification
New : `--` separator, stating that all following arguments are file names. Suggested by Chip Turner.
New : `ZSTD_getDecompressedSize()`
New : OpenBSD target, by Juan Francisco Cantero Hurtado
New : `examples` directory
2016-07-06 11:13:12 +00:00
fixed : dictBuilder using HC levels, reported by Bartosz Taudul
fixed : legacy support from ZSTD_decompress_usingDDict(), reported by Felix Handte
2016-07-08 17:18:30 +00:00
fixed : multi-blocks decoding with intermediate uncompressed blocks, reported by Greg Slazinski
modified : removed "mem.h" and "error_public.h" dependencies from "zstd.h" (experimental section)
modified : legacy functions no longer need magic number
2016-07-03 22:42:58 +00:00
2020-12-14 02:27:35 +00:00
v0.7.2 (Jul 4, 2016)
2016-07-03 23:29:47 +00:00
fixed : ZSTD_decompressBlock() using multiple consecutive blocks. Reported by Greg Slazinski.
2016-07-02 20:03:08 +00:00
fixed : potential segfault on very large files (many gigabytes). Reported by Chip Turner.
fixed : CLI displays system error message when destination file cannot be created (#231). Reported by Chip Turner.
2016-06-27 08:03:10 +00:00
2020-12-14 02:27:35 +00:00
v0.7.1 (Jun 23, 2016)
fixed : ZBUFF_compressEnd() called multiple times with too small `dst` buffer, reported by Christophe Chevalier
2016-06-22 11:15:53 +00:00
fixed : dictBuilder fails if first sample is too small, reported by Руслан Ковалёв
fixed : corruption issue, reported by cj
modified : checksum enabled by default in command line mode
2020-12-14 02:27:35 +00:00
v0.7.0 (Jun 17, 2016)
2016-05-30 12:05:44 +00:00
New : Support for directory compression, using `-r`, thanks to Przemyslaw Skibinski
New : Command `--rm`, to remove source file after successful de/compression
New : Visual build scripts, by Christophe Chevalier
New : Support for Sparse File-systems (do not use space for zero-filled sectors)
New : Frame checksum support
2016-05-31 08:12:04 +00:00
New : Support pass-through mode (when using `-df`)
API : more efficient Dictionary API : `ZSTD_compress_usingCDict()`, `ZSTD_decompress_usingDDict()`
API : create dictionary files from custom content, by Giuseppe Ottaviano
API : support for custom malloc/free functions
2016-05-31 08:12:04 +00:00
New : controllable Dictionary ID
New : Support for skippable frames
2020-12-14 02:27:35 +00:00
v0.6.1 (May 13, 2016)
2016-05-13 09:29:38 +00:00
New : zlib wrapper API, thanks to Przemyslaw Skibinski
New : Ability to compile compressor / decompressor separately
Changed : new lib directory structure
Fixed : Legacy codec v0.5 compatible with dictionary decompression
Fixed : Decoder corruption error (#173)
2016-05-10 05:00:07 +00:00
Fixed : null-string roundtrip (#176)
2016-05-13 09:29:38 +00:00
New : benchmark mode can select directory as input
Experimental : midipix support, VMS support
2020-12-14 02:27:35 +00:00
v0.6.0 (Apr 13, 2016)
2016-03-15 14:47:38 +00:00
Stronger high compression modes, thanks to Przemyslaw Skibinski
API : ZSTD_getFrameParams() provides size of decompressed content
2016-03-15 19:47:23 +00:00
New : highest compression modes require `--ultra` command to fully unleash their capacity
2016-03-16 15:53:47 +00:00
Fixed : zstd cli return error code > 0 and removes dst file artifact when decompression fails, thanks to Chip Turner
2016-03-15 14:47:38 +00:00
2020-12-14 02:27:35 +00:00
v0.5.1 (Feb 18, 2016)
2016-02-10 13:50:22 +00:00
New : Optimal parsing => Very high compression modes, thanks to Przemyslaw Skibinski
Changed : Dictionary builder integrated into libzstd and zstd cli
2016-02-18 00:01:42 +00:00
Changed (!) : zstd cli now uses "multiple input files" as default mode. See `zstd -h`.
Fix : high compression modes for big-endian platforms
New : zstd cli : `-t` | `--test` command
2016-02-10 13:50:22 +00:00
2020-12-14 02:27:35 +00:00
v0.5.0 (Feb 5, 2016)
2016-01-27 23:29:58 +00:00
New : dictionary builder utility
Changed : streaming & dictionary API
2016-02-05 14:24:57 +00:00
Improved : better compression of small data
2016-01-27 23:18:06 +00:00
2020-12-14 02:27:35 +00:00
v0.4.7 (Jan 22, 2016)
2016-01-21 12:33:05 +00:00
Improved : small compression speed improvement in HC mode
Changed : `zstd_decompress.c` has ZSTD_LEGACY_SUPPORT to 0 by default
fix : bt search bug
2020-12-14 02:27:35 +00:00
v0.4.6 (Jan 13, 2016)
fix : fast compression mode on Windows
2016-01-10 19:46:20 +00:00
New : cmake configuration file, thanks to Artyom Dymchenko
Improved : high compression mode on repetitive data
2016-01-09 00:08:23 +00:00
New : block-level API
New : ZSTD_duplicateCCtx()
2020-12-14 02:27:35 +00:00
v0.4.5 (Dec 18, 2015)
2015-12-17 19:30:14 +00:00
new : -m/--multiple : compress/decompress multiple files
2020-12-14 02:27:35 +00:00
v0.4.4 (Dec 14, 2015)
Fixed : high compression modes for Windows 32 bits
new : external dictionary API extended to buffered mode and accessible through command line
2015-12-10 22:53:21 +00:00
new : windows DLL project, thanks to Christophe Chevalier
2020-12-14 02:27:35 +00:00
v0.4.3 (Dec 7, 2015)
new : external dictionary API
2015-12-07 09:44:25 +00:00
new : zstd-frugal
2015-12-03 11:11:30 +00:00
2020-12-14 02:27:35 +00:00
v0.4.2 (Dec 2, 2015)
2015-12-02 14:03:11 +00:00
Generic minor improvements for small blocks
Fixed : big-endian compatibility, by Peter Harris (#85)
2020-12-14 02:27:35 +00:00
v0.4.1 (Dec 1, 2015)
2015-11-30 22:13:56 +00:00
Fixed : ZSTD_LEGACY_SUPPORT=0 build mode (reported by Luben)
removed `zstd.c`
2020-12-14 02:27:35 +00:00
v0.4.0 (Nov 29, 2015)
2016-05-30 12:05:44 +00:00
Command line utility compatible with high compression levels
2015-11-11 13:39:50 +00:00
Removed zstdhc => merged into zstd
2015-11-25 13:42:45 +00:00
Added : ZBUFF API (see zstd_buffered.h)
Rolling buffer support
2015-11-11 13:39:50 +00:00
2020-12-14 02:27:35 +00:00
v0.3.6 (Nov 10, 2015)
2015-11-09 15:38:17 +00:00
small blocks params
2020-12-14 02:27:35 +00:00
v0.3.5 (Nov 9, 2015)
2015-11-07 00:13:31 +00:00
minor generic compression improvements
2020-12-14 02:27:35 +00:00
v0.3.4 (Nov 6, 2015)
2015-11-06 11:39:39 +00:00
Faster fast cLevels
2015-11-05 17:16:59 +00:00
2020-12-14 02:27:35 +00:00
v0.3.3 (Nov 5, 2015)
2015-11-02 15:14:46 +00:00
Small compression ratio improvement
2020-12-14 02:27:35 +00:00
v0.3.2 (Nov 2, 2015)
2015-11-02 11:17:39 +00:00
Fixed Visual Studio
2020-12-14 02:27:35 +00:00
v0.3.1 (Nov 2, 2015)
2015-11-02 01:36:10 +00:00
Small compression ratio improvement
2020-12-14 02:27:35 +00:00
v0.3 (Oct 30, 2015)
2015-10-29 18:10:54 +00:00
HC mode : compression levels 2-26
2020-12-14 02:27:35 +00:00
v0.2.2 (Oct 28, 2015)
2015-10-28 11:32:25 +00:00
Fix : Visual Studio 2013 & 2015 release compilation, by Christophe Chevalier
2020-12-14 02:27:35 +00:00
v0.2.1 (Oct 24, 2015)
2016-05-30 12:05:44 +00:00
Fix : Read errors, advanced fuzzer tests, by Hanno Böck
2015-10-28 11:32:25 +00:00
2020-12-14 02:27:35 +00:00
v0.2.0 (Oct 22, 2015)
2015-10-21 10:13:31 +00:00
**Breaking format change**
Faster decompression speed
Can still decode v0.1 format
2020-12-14 02:27:35 +00:00
v0.1.3 (Oct 15, 2015)
2015-10-21 10:13:31 +00:00
fix uninitialization warning, reported by Evan Nemerson
2020-12-14 02:27:35 +00:00
v0.1.2 (Sep 11, 2015)
2015-10-21 10:13:31 +00:00
frame concatenation support
2020-12-14 02:27:35 +00:00
v0.1.1 (Aug 27, 2015)
fix compression bug
detects write-flush errors
2016-09-03 05:11:49 +00:00
2020-12-14 02:27:35 +00:00
v0.1.0 (Aug 25, 2015)
first release