Skip to content
Merged

v1.4.0 #1586

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
241 commits
Select commit Hold shift + click to select a range
77ef784
Improve setting the default build type
hjmjohnson Dec 24, 2018
1a279ae
BUG: list sub-command REMOVE_DUPLICATES requires list to be present
hjmjohnson Dec 24, 2018
889a492
travis: Use ninja from github
tesuji Dec 28, 2018
226cdff
meson: Update build guide [skip ci]
tesuji Dec 28, 2018
787a72c
meson: Correct generating pkgconf after Meson v0.49.0
tesuji Dec 28, 2018
142076c
travis: Remove deprecated sudo field
tesuji Dec 28, 2018
663c55e
Merge pull request #1484 from lzutao/meson-pkgconf
Cyan4973 Dec 28, 2018
bad7ed1
Merge pull request #1483 from lzutao/meson-readme
Cyan4973 Dec 28, 2018
c1a8623
Merge pull request #1482 from lzutao/travisTest
Cyan4973 Dec 28, 2018
6746de8
Merge pull request #1478 from hjmjohnson/remove-duplicates-validation
Cyan4973 Dec 28, 2018
23c73fe
Merge pull request #1474 from hjmjohnson/cmake-set-default-build-type
Cyan4973 Dec 28, 2018
8b22104
contrib/pzstd/Makefile: fix build of tests
ldv-alt Dec 27, 2018
97d1de3
Provide forward compatible cmake paradigms
hjmjohnson Dec 24, 2018
282000d
Merge pull request #1475 from hjmjohnson/cmake-version-setting
Cyan4973 Dec 31, 2018
a2f492f
Merge pull request #1485 from ldv-alt/dev
Cyan4973 Jan 2, 2019
f9e4f89
improved comments for adjustCParams() and getCParams()
Cyan4973 Jan 2, 2019
9448a37
Check CMake minor version support for VERSION_LESS_EQUAL
Jan 3, 2019
b174809
Merge pull request #1490 from erikwebb/dev
Cyan4973 Jan 3, 2019
fe82637
Fix #1425 - Use physical core count API on FreeBSD
cemeyer Jan 4, 2019
f8c8796
Merge pull request #1491 from cemeyer/freebsd_num_cores
Cyan4973 Jan 5, 2019
7b6a884
Fix #1428 - zstdgrep returned 1 on match and unmatch
tesuji Jan 6, 2019
de7e3be
Fix potential leak of 'outBuff' (reported by scan-build)
tesuji Jan 6, 2019
260ff2f
tests/legagy.c: More fixes
tesuji Jan 6, 2019
1cd61ea
Merge pull request #1493 from lzutao/fix-#1428
Cyan4973 Jan 6, 2019
c5be47c
Merge pull request #1494 from lzutao/fix-leak
Cyan4973 Jan 7, 2019
62c0dd7
ENH: Simplify conditional logic
hjmjohnson Jan 8, 2019
f8745ae
Merge pull request #1496 from hjmjohnson/cmake-improve-conditional-po…
Cyan4973 Jan 10, 2019
6ff9d5e
Include unistd.h on unix platforms for explicit function declaration
lwhsu Jan 15, 2019
4fa585a
fix --list on truncated files
Jan 15, 2019
ae087ec
Merge pull request #1500 from lwhsu/unistd
Cyan4973 Jan 16, 2019
bd2740f
Merge pull request #1499 from kostmo/detect-truncation
Cyan4973 Jan 16, 2019
1828c26
Add Cirrus-CI config for FreeBSD builds
lwhsu Jan 10, 2019
281c797
Add Cirrus-CI build status badge
lwhsu Jan 16, 2019
a139439
fixed minor conversion warnings in examples/
Cyan4973 Jan 20, 2019
2a6aa6b
updated clang tests
Cyan4973 Jan 20, 2019
4909a34
added clang test in travis
Cyan4973 Jan 20, 2019
54bd39a
Revert "added clang test in travis"
Cyan4973 Jan 20, 2019
31ba3f7
Merge pull request #1504 from facebook/conversionWarnings
Cyan4973 Jan 22, 2019
5e220bf
Remove global parameters, pass into public functions instead
Jan 23, 2019
2888c62
Merge pull request #1505 from kostmo/remove-global-params
Cyan4973 Jan 24, 2019
6b2f267
updated benchfn.h code comments
Cyan4973 Jan 25, 2019
f75ad2e
added ability to create timedFnState on stack
Cyan4973 Jan 25, 2019
07e0478
fixed fileio.c compilation with LZ4 enabled
Cyan4973 Jan 25, 2019
8c3ba44
Merge branch 'fileio_lz4' into benchfn
Cyan4973 Jan 25, 2019
b870110
fixed benchzstd to use new version of benchfn
Cyan4973 Jan 25, 2019
cee31bb
updated fullbench and paramgrill
Cyan4973 Jan 25, 2019
54fa31f
Add RETURN_ERROR_IF Macro That Logs Debug Information When Check Fails
felixhandte Dec 6, 2018
ea031f4
Convert Checks in zstd_decompress_block.c to RETURN_ERROR_IF
felixhandte Dec 6, 2018
c823237
Convert Checks in zstd_decompress.c to RETURN_ERROR_IF
felixhandte Jan 28, 2019
a3538bb
Add RETURN_ERROR and FORWARD_ERROR Macros
felixhandte Jan 28, 2019
800c87f
Switch Unconditional RETURN_ERROR_IF Calls to RETURN_ERROR
felixhandte Jan 28, 2019
32fed9c
Switch CHECK_F Calls to FORWARD_ERROR
felixhandte Jan 28, 2019
324e965
Add grep-able String to Error Macros
felixhandte Jan 28, 2019
cafc3b1
Also Convert zstd_compress.c
felixhandte Jan 28, 2019
6cf253f
Merge pull request #1508 from facebook/fileio_lz4
Cyan4973 Jan 28, 2019
64bb664
Replace CHECK_F Uses in zstdmt_compress.c and zstd_ddict.c
felixhandte Jan 28, 2019
7ebd897
Remove CHECK_F Macro
felixhandte Jan 28, 2019
03e040a
Replace Uses of CHECK_E with RETURN_ERROR_IF(*_isError(...
felixhandte Jan 28, 2019
2179ce0
Remove CHECK_E Macro
felixhandte Jan 28, 2019
429987c
Add Comment
felixhandte Jan 28, 2019
501eb25
Rename FORWARD_ERROR -> FORWARD_IF_ERROR
felixhandte Jan 29, 2019
a940e78
Merge pull request #1509 from felixhandte/verbose-errors
Cyan4973 Jan 29, 2019
79463a6
Merge pull request #1501 from lwhsu/cirrus-ci
terrelln Jan 30, 2019
1a6f2b4
Change Cirrus CI's badge to dev branch
lwhsu Jan 30, 2019
fafa322
Merge pull request #1511 from lwhsu/cirrus-ci
terrelln Jan 30, 2019
fb75615
fixed static size of benchFnState
Cyan4973 Jan 26, 2019
2ff9249
-Wformat-security not needed with -Wformat=2
thatsafunnyname Feb 1, 2019
2b7120e
-Wformat-security not needed with -Wformat=2
thatsafunnyname Feb 1, 2019
4a9e050
-Wformat-security not needed with -Wformat=2
thatsafunnyname Feb 1, 2019
723418f
-Wformat-security not needed with -Wformat=2
thatsafunnyname Feb 1, 2019
188c748
-Wformat-security not needed with -Wformat=2
thatsafunnyname Feb 1, 2019
894bbda
-Wformat-security not needed with -Wformat=2
thatsafunnyname Feb 1, 2019
1951c1b
-Wformat-security not needed with -Wformat=2
thatsafunnyname Feb 1, 2019
cdb3e7a
-Wformat-security not needed with -Wformat=2
thatsafunnyname Feb 1, 2019
5c1148a
Merge pull request #1515 from thatsafunnyname/patch-1
terrelln Feb 1, 2019
21616d8
[zdict] Improve documentation
terrelln Feb 1, 2019
197a573
Merge pull request #1516 from terrelln/dict-doc
terrelln Feb 2, 2019
b26c53b
'head -c BYTES' is non-portable.
bket Feb 11, 2019
a17369c
Merge pull request #1518 from bket/non-portable
terrelln Feb 11, 2019
1e4dc2e
Detect symbolic links on OpenBSD
bket Feb 11, 2019
482b84f
Make detection of symbolic links more consistent
bket Feb 11, 2019
77d9109
Add test
bket Feb 12, 2019
32a98ba
Merge pull request #1521 from bket/lstat
terrelln Feb 12, 2019
9c07166
[cirrus] Run playTests.sh
terrelln Feb 11, 2019
e1a799e
[util] Fix UTIL_isLink() for FreeBSD
terrelln Feb 12, 2019
ae7380d
Merge pull request #1519 from terrelln/play-bsd
terrelln Feb 13, 2019
f951311
[libzstd] Add ZSTD_c_literalCompressionMode flag
terrelln Feb 13, 2019
dbaa704
[regression] Test ZSTD_c_literalCompressionMode
terrelln Feb 13, 2019
4c870b7
Merge pull request #1522 from terrelln/enable-huf-flag
terrelln Feb 14, 2019
a96e67a
[regression] Test level 19 with uncompressed literals
terrelln Feb 15, 2019
3d7377b
[libzstd] Handle uncompressed literals
terrelln Feb 15, 2019
5261a28
Fix a bug in the compress cctx method
terrelln Feb 15, 2019
0c53c5a
[zstdcli] Add a flag to control literals compression
terrelln Feb 15, 2019
19ca3fb
[zstdcli] Respect --[no-]compress-literals in benchmark mode
terrelln Feb 15, 2019
54e9412
Merge pull request #1525 from terrelln/enable-huf-flag
terrelln Feb 16, 2019
f4abba0
[libzstd] Clean up parameter code
terrelln Feb 16, 2019
6efce7c
[fuzzer] Add test cases
terrelln Feb 19, 2019
eb3a7a3
Merge pull request #1530 from terrelln/param-order
terrelln Feb 19, 2019
0c86d23
[Windows] Move public headers to include/
terrelln Feb 19, 2019
9f9630f
[Windows] Don't use a .def file
terrelln Feb 20, 2019
7ad7ba3
[libzstd] Rename ZSTD_CCtxParam_* to ZSTD_CCtxParams_*
terrelln Feb 20, 2019
a36d930
Merge pull request #1531 from terrelln/appveyorTest
terrelln Feb 20, 2019
2e8c19f
Update changelog
terrelln Feb 20, 2019
be3bd70
Merge pull request #1532 from terrelln/cctx-params
terrelln Feb 20, 2019
4b0024a
[fuzz] Add --enable-fuzzer for clang fuzzing
terrelln Feb 28, 2019
820af1e
Provide an API function to estimate decompressed size.
shakeelrao Feb 28, 2019
97d3d28
Fix decl-after-stmnt build error
shakeelrao Feb 28, 2019
c9d674b
Remove autogenerated test file
shakeelrao Feb 28, 2019
d0a3f25
change return type to ULL
shakeelrao Feb 28, 2019
515c506
switch frameBound type to ULL
shakeelrao Feb 28, 2019
dce9a09
initialize local vars in decompressBound
shakeelrao Feb 28, 2019
8b7fa49
Merge pull request #1541 from terrelln/fuzz
terrelln Feb 28, 2019
8930c3c
implement API-level changes
shakeelrao Mar 1, 2019
03026c3
change compressedBound to ULL
shakeelrao Mar 1, 2019
44ae395
change nbBlocks to size_t for consistency
shakeelrao Mar 1, 2019
2bb5eec
update missing error case to CONTENTSIZE_ERROR
shakeelrao Mar 1, 2019
1e08c49
add stylistic changes
shakeelrao Mar 2, 2019
3da3dc2
add missing size content test
shakeelrao Mar 2, 2019
95dfd48
update formatting
shakeelrao Mar 2, 2019
9ad3f31
update documentation for decompressBound
shakeelrao Mar 3, 2019
13cc7c6
Merge pull request #1543 from shakeelrao/dev
terrelln Mar 4, 2019
79827a1
Fix incorrectly assigned value in ZSTD_errorFrameSizeInfo
shakeelrao Mar 13, 2019
18d3a97
Add unit test to validate the error case
shakeelrao Mar 13, 2019
0594e81
[libzstd] Free local cdict when referencing cdict
terrelln Mar 13, 2019
ea3b81f
Merge pull request #1549 from terrelln/ref-cdict-free
terrelln Mar 13, 2019
787b769
[libzstd] Allow compression parameters to be set with a cdict
terrelln Mar 13, 2019
18fbcdd
[zstreamtest] Remove outdated test
terrelln Mar 14, 2019
45139e9
Merge pull request #1550 from terrelln/cparams-cdict
terrelln Mar 14, 2019
91ffc8d
Add test to validate patch
shakeelrao Mar 15, 2019
4c0540d
Add static linking to legacy tests
shakeelrao Mar 15, 2019
f52a7d8
Merge pull request #1547 from shakeelrao/fix-error
terrelln Mar 15, 2019
60796e7
Add legacy support to decompressBound
shakeelrao Mar 15, 2019
8cd423a
Reorder declaration in ZSTD_findFrameSizeInfoLegacy
shakeelrao Mar 15, 2019
19b75b6
Test new ZSTD_findFrameCompressedSize and update documentation
shakeelrao Mar 16, 2019
0033bb4
Update documentation for ZSTD_frameSizeInfo
shakeelrao Mar 18, 2019
20aa1b4
Stylistic changes
shakeelrao Mar 18, 2019
0a3fa6f
Add legacy mode in documentation
shakeelrao Mar 19, 2019
5740eb6
Remove extraneous spacing in comments
shakeelrao Mar 19, 2019
186ded6
Fix typo in legacy documentation
shakeelrao Mar 19, 2019
0dd3588
Merge pull request #1553 from shakeelrao/legacy-bound
terrelln Mar 19, 2019
11e7357
[regression] Add more streaming tests
terrelln Mar 21, 2019
e55da9e
Wrap the new advanced api completely
terrelln Mar 13, 2019
20f9ff7
Update documentation to tell how to replace the old streaming API wit…
terrelln Mar 16, 2019
041bc0b
Merge pull request #1551 from terrelln/stream-wrap
terrelln Mar 21, 2019
6b053b9
[lib] Allow ZSTD_CCtx_loadDictionary() to be called before parameters…
terrelln Mar 21, 2019
0c7668c
Merge pull request #1555 from terrelln/load-dict
terrelln Mar 22, 2019
d0f5ba3
[cover] Improvements for small or homogeneous data
terrelln Mar 22, 2019
7ac2052
[libzstd] Specify soversion and version correctly for CMake build
nehaljwani Mar 23, 2019
d97605a
Merge pull request #1558 from nehaljwani/fix-version-soversion-libzstd
terrelln Mar 23, 2019
f5cbee9
[examples] Update streaming_compression to the new API
terrelln Mar 22, 2019
e5811e5
Extract file comparison into utility func
shakeelrao Mar 24, 2019
1290933
Implement file check
shakeelrao Mar 24, 2019
8ea219d
Modify error msg
shakeelrao Mar 24, 2019
5333e41
Add NULL check for dict
shakeelrao Mar 24, 2019
2b4491d
Add CLI test to validate error
shakeelrao Mar 24, 2019
b25d7ea
Rename test
shakeelrao Mar 24, 2019
44f77b5
Add whitespace to test case
shakeelrao Mar 24, 2019
7186a50
Merge pull request #1559 from shakeelrao/reject-dict
terrelln Mar 25, 2019
440f390
Merge pull request #1557 from terrelln/examples
terrelln Mar 25, 2019
dcc6c7e
Merge pull request #1556 from terrelln/dictbuilder
terrelln Mar 25, 2019
dca73db
fix srcSize typo and add new UTIL func to comment
shakeelrao Mar 29, 2019
6625f3b
Merge pull request #1561 from shakeelrao/fix-typo
terrelln Mar 29, 2019
f00407b
Split out zstd_fast dict match state function
terrelln Mar 29, 2019
425ce55
Merge pull request #1563 from terrelln/dms-sep
terrelln Mar 29, 2019
fb13d75
[examples] Update multiple_streaming_compression.c
terrelln Apr 1, 2019
04325cb
Fix indentation
terrelln Apr 2, 2019
56682a7
Fix ZSTD_estimateCStreamSize_usingCCtxParams()
terrelln Apr 2, 2019
882ceb8
Merge pull request #1566 from terrelln/examples
terrelln Apr 3, 2019
de58910
[examples] Update streaming_decompression.c
terrelln Apr 2, 2019
95624b7
[libzstd] Speed up single segment zstd_fast by 5%
terrelln Mar 29, 2019
00679da
[libzstd] Setting ZSTD_d_maxWindowLog to 0 means default
terrelln Apr 3, 2019
cdc8ae2
[examples] Update streaming_memory_usage.c
terrelln Apr 2, 2019
816a3f4
Merge pull request #1568 from terrelln/examples3
Cyan4973 Apr 3, 2019
5626100
Merge pull request #1567 from terrelln/examples2
terrelln Apr 3, 2019
72a3fbc
Merge pull request #1562 from terrelln/2fast
terrelln Apr 4, 2019
0827ede
[libzstd] Bump the library version to 1.4.0
terrelln Apr 2, 2019
d7d8951
Stabilize advance API
terrelln Mar 29, 2019
cf7d601
Move the dictionary API and mark the legacy API
terrelln Apr 4, 2019
7231ea7
[libzstd] Reword the streaming docs for the new API
terrelln Apr 4, 2019
50c634b
[regression] Update results.csv for level 1 change
terrelln Apr 5, 2019
dbc8a59
Merge pull request #1569 from terrelln/stable
terrelln Apr 5, 2019
a63aaaa
Merge pull request #1573 from terrelln/regression
terrelln Apr 5, 2019
ce388fe
[libzstd] Fix return value docs for ZSTD_compressStream2()
terrelln Apr 6, 2019
1dfe37f
[libzstd] Stabilize ZSTD_getDictID_*() functions
terrelln Apr 6, 2019
1d0c170
[examples] Clean up and comment the examples
terrelln Apr 6, 2019
d5910a5
Merge pull request #1574 from terrelln/examples
terrelln Apr 6, 2019
641e594
[libzstd] Remove ZSTDMT from the shared object
terrelln Apr 8, 2019
947548c
Remove double the from README
terrelln Apr 8, 2019
1a90133
Merge pull request #1575 from terrelln/zstdmt
terrelln Apr 8, 2019
bfcd5b8
[libzstd] Don't check the dictID in fuzzing mode
terrelln Apr 9, 2019
e649fad
[dictBuilder] Fix displayLevel for corpus warning
terrelln Apr 9, 2019
f871b51
[fuzz] Use the new advanced API
terrelln Apr 9, 2019
4629185
[fuzzer] Fix stream_round_trip for the new options
terrelln Apr 9, 2019
7a1fde2
[fuzzer] Add dictionary fuzzers
terrelln Apr 9, 2019
48a6427
[libzstd] Fix ZSTD_compress2() for multithreaded compression
terrelln Apr 9, 2019
c5d70b7
[fuzzer] Sometimes fuzz with one less output byte
terrelln Apr 9, 2019
824aaa6
[libzstd] Fix ZSTD_decompressDCtx() with a dictionary
terrelln Apr 10, 2019
10a3d4d
[fuzzer] Make the regression_driver work while fuzzers are active
terrelln Apr 10, 2019
c45dec1
[fuzzer] Use ZSTD_DCtx_loadDictionary_advanced() half the time
terrelln Apr 10, 2019
bdeb478
Fixed `-r` typo
orip Apr 10, 2019
90c0462
minor presentation refactoring
Cyan4973 Apr 10, 2019
5f6ca3c
Merge pull request #1578 from orip/r-flag-typo
terrelln Apr 10, 2019
f86d4bd
Merge pull request #1576 from terrelln/dict-fuzz
terrelln Apr 10, 2019
094c000
Merge branch 'dev' into benchfn
Cyan4973 Apr 10, 2019
59a7116
benchfn dependencies reduced to only timefn
Cyan4973 Apr 10, 2019
50b9c41
[libzstd] Fix decompression dictionary bugs and clean up initialization
terrelln Apr 10, 2019
4b8185c
tried a blindfix for unix + c11
Cyan4973 Apr 10, 2019
70802cd
fixed error message
Cyan4973 Apr 10, 2019
4765929
fixed perror include
Cyan4973 Apr 10, 2019
36d2dfd
moved C11 code path to timespec_get
Cyan4973 Apr 10, 2019
3d34657
no more need for CLOCK_MONOTONIC
Cyan4973 Apr 10, 2019
2c6b14e
fixed Windows header
Cyan4973 Apr 10, 2019
2fa4f2e
updated Visual projects
Cyan4973 Apr 10, 2019
885476f
FreeBSD_11 specific fix
Cyan4973 Apr 10, 2019
9703a59
fixed minor conversion warning
Cyan4973 Apr 10, 2019
526ec64
alternate static assert
Cyan4973 Apr 10, 2019
aafe97b
[libzstd] Switch dictUses to an enum
terrelln Apr 10, 2019
fbdd30d
fixed cmake build script for test programs
Cyan4973 Apr 11, 2019
30c26ab
fixed minor warning
Cyan4973 Apr 11, 2019
9563fb4
Merge pull request #1580 from terrelln/dict-fuzz
terrelln Apr 11, 2019
8f56fa2
fixed poolTests
Cyan4973 Apr 11, 2019
f8e9bec
fixed poolTests on Windows
Cyan4973 Apr 11, 2019
058da60
fixed minor conversion warning
Cyan4973 Apr 11, 2019
1e01560
fixed timespec_get() initialization bug on some targets
Cyan4973 Apr 11, 2019
8ac2831
Merge pull request #1581 from facebook/benchfn
Cyan4973 Apr 11, 2019
fb6901b
tests: Add missing header timefn.h
tesuji Apr 12, 2019
6c9b023
meson: Fix build
tesuji Apr 12, 2019
e31e7ca
travis: Make Mesonbuild non-optional
tesuji Apr 12, 2019
13fddac
Merge pull request #1583 from lzutao/meson
terrelln Apr 12, 2019
a880ca2
Spelling (#1582)
jsoref Apr 12, 2019
203aac5
Update benchmarks in README
terrelln Apr 15, 2019
bef6122
Update the changelog for zstd-1.4.0
terrelln Apr 15, 2019
d86c7ad
Merge pull request #1585 from terrelln/release-prep
terrelln Apr 15, 2019
6996804
[playTets] Don't pass status=none to dd
terrelln Apr 15, 2019
a821aee
Merge pull request #1587 from terrelln/release-prep
terrelln Apr 15, 2019
a48e32c
[fullbench] Fix measurements
terrelln Apr 16, 2019
de0499f
[libzstd] Require ZSTD_MULTITHREAD to create a ZSTDMT_CCtx
terrelln Apr 16, 2019
82d5a98
[visual] Compile with ZSTD_MULTITHREAD=1
terrelln Apr 16, 2019
41ad46f
Merge pull request #1588 from terrelln/release-prep
Cyan4973 Apr 16, 2019
a17fe4c
[visual] Fix unreachable code warning
terrelln Apr 16, 2019
b85f7d7
Merge pull request #1589 from terrelln/appveyorTest
terrelln Apr 16, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
env:
CIRRUS_CLONE_DEPTH: 1
ARCH: amd64

task:
freebsd_instance:
matrix:
image: freebsd-12-0-release-amd64
image: freebsd-11-2-release-amd64
install_script:
- sed -i.bak -e 's,pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly,pkg+http://pkg.FreeBSD.org/\${ABI}/latest,' /etc/pkg/FreeBSD.conf
- pkg upgrade -y
- pkg install -y gmake coreutils
script: |
MOREFLAGS="-Werror" gmake -j all
gmake shortest
14 changes: 8 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

language: c
dist: trusty
sudo: required

git:
depth: 1
Expand Down Expand Up @@ -179,14 +178,17 @@ matrix:

# meson dedicated test
- name: Xenial (Meson + clang)
# env: ALLOW_FAILURES=true
dist: xenial
language: cpp
compiler: clang
before_install:
install:
- sudo apt-get install -qq liblz4-dev valgrind tree
- curl -o ~/get-pip.py 'https://bootstrap.pypa.io/get-pip.py'
- python3 ~/get-pip.py --user
- pip3 install --user meson ninja
- travis_retry curl -o ~/ninja.zip -L 'https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip'
&& unzip ~/ninja.zip -d ~/.local/bin
- travis_retry curl -o ~/get-pip.py -L 'https://bootstrap.pypa.io/get-pip.py'
&& python3 ~/get-pip.py --user
&& pip3 install --user meson
script:
- meson --buildtype=debug
-Db_lundef=false
Expand All @@ -198,4 +200,4 @@ matrix:
- DESTDIR=./staging ninja install
- tree ./staging
allow_failures:
- name: Xenial (Meson + clang)
- env: ALLOW_FAILURES=true
39 changes: 38 additions & 1 deletion CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,40 @@
v1.4.0
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
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

v1.3.8
perf: better decompression speed on large files (+7%) and cold dictionaries (+15%)
perf: slightly better compression ratio at high compression modes
Expand Down Expand Up @@ -239,7 +276,7 @@ v1.0.0
Change Licensing, all project is now BSD, Copyright Facebook
Small decompression speed improvement
API : Streaming API supports legacy format
API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParamter()
API : ZDICT_getDictID(), ZSTD_sizeof_{CCtx, DCtx, CStream, DStream}(), ZSTD_setDStreamParameter()
CLI supports legacy formats v0.4+
Fixed : compression fails on certain huge files, reported by Jesse McGrew
Enhanced documentation, by Przemyslaw Skibinski
Expand Down
8 changes: 2 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ list:
done \
} | column -t -s $$'\t'

.PHONY: install clangtest armtest usan asan uasan
.PHONY: install armtest usan asan uasan
install:
@$(MAKE) -C $(ZSTDDIR) $@
@$(MAKE) -C $(PRGDIR) $@
Expand Down Expand Up @@ -188,7 +188,7 @@ gcc7build: clean
.PHONY: clangbuild
clangbuild: clean
clang -v
CXX=clang++ CC=clang $(MAKE) all MOREFLAGS="-Werror -Wconversion -Wno-sign-conversion -Wdocumentation"
CXX=clang++ CC=clang CFLAGS="-Werror -Wconversion -Wno-sign-conversion -Wdocumentation" $(MAKE) all

m32build: clean
gcc -v
Expand Down Expand Up @@ -232,10 +232,6 @@ gcc6test: clean
gcc-6 -v
$(MAKE) all CC=gcc-6 MOREFLAGS="-Werror"

clangtest: clean
clang -v
$(MAKE) all CXX=clang++ CC=clang MOREFLAGS="-Werror -Wconversion -Wno-sign-conversion -Wdocumentation"

armtest: clean
$(MAKE) -C $(TESTDIR) datagen # use native, faster
$(MAKE) -C $(TESTDIR) test CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static" FUZZER_FLAGS=--no-big-tests
Expand Down
25 changes: 14 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,24 @@ a list of known ports and bindings is provided on [Zstandard homepage](http://ww
[![Build Status][travisDevBadge]][travisLink]
[![Build status][AppveyorDevBadge]][AppveyorLink]
[![Build status][CircleDevBadge]][CircleLink]
[![Build status][CirrusDevBadge]][CirrusLink]

[travisDevBadge]: https://travis-ci.org/facebook/zstd.svg?branch=dev "Continuous Integration test suite"
[travisLink]: https://travis-ci.org/facebook/zstd
[AppveyorDevBadge]: https://ci.appveyor.com/api/projects/status/xt38wbdxjk5mrbem/branch/dev?svg=true "Windows test suite"
[AppveyorLink]: https://ci.appveyor.com/project/YannCollet/zstd-p0yf0
[CircleDevBadge]: https://circleci.com/gh/facebook/zstd/tree/dev.svg?style=shield "Short test suite"
[CircleLink]: https://circleci.com/gh/facebook/zstd
[CirrusDevBadge]: https://api.cirrus-ci.com/github/facebook/zstd.svg?branch=dev
[CirrusLink]: https://cirrus-ci.com/github/facebook/zstd

## Benchmarks

For reference, several fast compression algorithms were tested and compared
on a server running Linux Debian (`Linux version 4.14.0-3-amd64`),
with a Core i7-6700K CPU @ 4.0GHz,
on a server running Arch Linux (`Linux version 5.0.5-arch1-1`),
with a Core i9-9900K CPU @ 5.0GHz,
using [lzbench], an open-source in-memory benchmark by @inikep
compiled with [gcc] 7.3.0,
compiled with [gcc] 8.2.1,
on the [Silesia compression corpus].

[lzbench]: https://github.com/inikep/lzbench
Expand All @@ -37,14 +40,14 @@ on the [Silesia compression corpus].

| Compressor name | Ratio | Compression| Decompress.|
| --------------- | ------| -----------| ---------- |
| **zstd 1.3.4 -1** | 2.877 | 470 MB/s | 1380 MB/s |
| zlib 1.2.11 -1 | 2.743 | 110 MB/s | 400 MB/s |
| brotli 1.0.2 -0 | 2.701 | 410 MB/s | 430 MB/s |
| quicklz 1.5.0 -1 | 2.238 | 550 MB/s | 710 MB/s |
| lzo1x 2.09 -1 | 2.108 | 650 MB/s | 830 MB/s |
| lz4 1.8.1 | 2.101 | 750 MB/s | 3700 MB/s |
| snappy 1.1.4 | 2.091 | 530 MB/s | 1800 MB/s |
| lzf 3.6 -1 | 2.077 | 400 MB/s | 860 MB/s |
| **zstd 1.4.0 -1** | 2.884 | 530 MB/s | 1360 MB/s |
| zlib 1.2.11 -1 | 2.743 | 110 MB/s | 440 MB/s |
| brotli 1.0.7 -0 | 2.701 | 430 MB/s | 470 MB/s |
| quicklz 1.5.0 -1 | 2.238 | 600 MB/s | 800 MB/s |
| lzo1x 2.09 -1 | 2.106 | 680 MB/s | 950 MB/s |
| lz4 1.8.3 | 2.101 | 800 MB/s | 4220 MB/s |
| snappy 1.1.4 | 2.073 | 580 MB/s | 2020 MB/s |
| lzf 3.6 -1 | 2.077 | 440 MB/s | 930 MB/s |

[zlib]: http://www.zlib.net/
[LZ4]: http://www.lz4.org/
Expand Down
4 changes: 4 additions & 0 deletions build/VS2008/fullbench/fullbench.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,10 @@
RelativePath="..\..\..\programs\util.c"
>
</File>
<File
RelativePath="..\..\..\programs\timefn.c"
>
</File>
<File
RelativePath="..\..\..\lib\compress\zstd_fast.c"
>
Expand Down
12 changes: 8 additions & 4 deletions build/VS2008/fuzzer/fuzzer.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
Expand Down Expand Up @@ -121,7 +121,7 @@
EnableIntrinsicFunctions="true"
OmitFramePointers="true"
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
Expand Down Expand Up @@ -195,7 +195,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\programs"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
Expand Down Expand Up @@ -272,7 +272,7 @@
EnableIntrinsicFunctions="true"
OmitFramePointers="true"
AdditionalIncludeDirectories="$(SolutionDir)..\..\lib;$(SolutionDir)..\..\lib\common;$(SolutionDir)..\..\lib\dictBuilder;$(SolutionDir)..\..\lib\legacy;$(SolutionDir)..\..\lib\compress;$(SolutionDir)..\..\programs"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
PreprocessorDefinitions="ZSTD_MULTITHREAD=1;WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
Expand Down Expand Up @@ -332,6 +332,10 @@
RelativePath="..\..\..\programs\util.c"
>
</File>
<File
RelativePath="..\..\..\programs\timefn.c"
>
</File>
<File
RelativePath="..\..\..\programs\datagen.c"
>
Expand Down
4 changes: 4 additions & 0 deletions build/VS2008/zstd/zstd.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,10 @@
RelativePath="..\..\..\programs\util.c"
>
</File>
<File
RelativePath="..\..\..\programs\timefn.c"
>
</File>
<File
RelativePath="..\..\..\programs\benchfn.c"
>
Expand Down
1 change: 1 addition & 0 deletions build/VS2010/fullbench-dll/fullbench-dll.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@
<ItemGroup>
<ClCompile Include="..\..\..\lib\common\xxhash.c" />
<ClCompile Include="..\..\..\programs\util.c" />
<ClCompile Include="..\..\..\programs\timefn.c" />
<ClCompile Include="..\..\..\programs\datagen.c" />
<ClCompile Include="..\..\..\programs\benchfn.c" />
<ClCompile Include="..\..\..\tests\fullbench.c" />
Expand Down
3 changes: 2 additions & 1 deletion build/VS2010/fullbench/fullbench.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,6 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\lib\common\entropy_common.c" />
<ClCompile Include="..\..\..\programs\util.c" />
<ClCompile Include="..\..\..\lib\common\debug.c" />
<ClCompile Include="..\..\..\lib\common\fse_decompress.c" />
<ClCompile Include="..\..\..\lib\common\zstd_common.c" />
Expand All @@ -178,6 +177,8 @@
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress.c" />
<ClCompile Include="..\..\..\lib\decompress\zstd_decompress_block.c" />
<ClCompile Include="..\..\..\lib\decompress\zstd_ddict.c" />
<ClCompile Include="..\..\..\programs\util.c" />
<ClCompile Include="..\..\..\programs\timefn.c" />
<ClCompile Include="..\..\..\programs\datagen.c" />
<ClCompile Include="..\..\..\programs\benchfn.c" />
<ClCompile Include="..\..\..\tests\fullbench.c" />
Expand Down
9 changes: 5 additions & 4 deletions build/VS2010/fuzzer/fuzzer.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<TreatWarningAsError>true</TreatWarningAsError>
<EnablePREfast>false</EnablePREfast>
</ClCompile>
Expand All @@ -105,7 +105,7 @@
</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<TreatWarningAsError>true</TreatWarningAsError>
<EnablePREfast>false</EnablePREfast>
</ClCompile>
Expand All @@ -122,7 +122,7 @@
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<EnablePREfast>false</EnablePREfast>
<TreatWarningAsError>false</TreatWarningAsError>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
Expand All @@ -142,7 +142,7 @@
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>ZSTD_MULTITHREAD=1;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<TreatWarningAsError>false</TreatWarningAsError>
<EnablePREfast>false</EnablePREfast>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
Expand Down Expand Up @@ -182,6 +182,7 @@
<ClCompile Include="..\..\..\lib\dictBuilder\divsufsort.c" />
<ClCompile Include="..\..\..\lib\dictBuilder\zdict.c" />
<ClCompile Include="..\..\..\programs\util.c" />
<ClCompile Include="..\..\..\programs\timefn.c" />
<ClCompile Include="..\..\..\programs\datagen.c" />
<ClCompile Include="..\..\..\tests\fuzzer.c" />
</ItemGroup>
Expand Down
1 change: 1 addition & 0 deletions build/VS2010/zstd/zstd.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
<ClCompile Include="..\..\..\lib\legacy\zstd_v06.c" />
<ClCompile Include="..\..\..\lib\legacy\zstd_v07.c" />
<ClCompile Include="..\..\..\programs\util.c" />
<ClCompile Include="..\..\..\programs\timefn.c" />
<ClCompile Include="..\..\..\programs\benchfn.c" />
<ClCompile Include="..\..\..\programs\benchzstd.c" />
<ClCompile Include="..\..\..\programs\datagen.c" />
Expand Down
54 changes: 47 additions & 7 deletions build/cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,57 @@
# in the COPYING file in the root directory of this source tree).
# ################################################################

cmake_minimum_required(VERSION 2.8.9)
cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR)

# As of 2018-12-26 ZSTD has been validated to build with cmake version 3.13.2 new policies.
# Set and use the newest cmake policies that are validated to work
set(ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION "3")
set(ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION "13") #Policies never changed at PATCH level
if("${CMAKE_MAJOR_VERSION}" LESS 3)
set(ZSTD_CMAKE_POLICY_VERSION "${CMAKE_VERSION}")
elseif( "${ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION}" EQUAL "${CMAKE_MAJOR_VERSION}" AND
"${ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION}" GREATER "${CMAKE_MINOR_VERSION}")
set(ZSTD_CMAKE_POLICY_VERSION "${CMAKE_VERSION}")
else()
set(ZSTD_CMAKE_POLICY_VERSION "${ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION}.${ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION}.0")
endif()
cmake_policy(VERSION ${ZSTD_CMAKE_POLICY_VERSION})

project(zstd)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
set(ZSTD_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..")

if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "No build type selected, defaulting to Release")
set(CMAKE_BUILD_TYPE "Release")
set(LIBRARY_DIR ${ZSTD_SOURCE_DIR}/lib)
# Parse version
include(GetZstdLibraryVersion)
GetZstdLibraryVersion(${LIBRARY_DIR}/zstd.h zstd_VERSION_MAJOR zstd_VERSION_MINOR zstd_VERSION_PATCH)

if( CMAKE_MAJOR_VERSION LESS 3 )
## Provide cmake 3+ behavior for older versions of cmake
project(zstd)
set(PROJECT_VERSION_MAJOR ${zstd_VERSION_MAJOR})
set(PROJECT_VERSION_MINOR ${zstd_VERSION_MINOR})
set(PROJECT_VERSION_PATCH ${zstd_VERSION_PATCH})
set(PROJECT_VERSION "${zstd_VERSION_MAJOR}.${zstd_VERSION_MINOR}.${zstd_VERSION_PATCH}")
enable_language(C) # Main library is in C
enable_language(CXX) # Testing contributed code also utilizes CXX
else()
project(zstd
VERSION "${zstd_VERSION_MAJOR}.${zstd_VERSION_MINOR}.${zstd_VERSION_PATCH}"
LANGUAGES C # Main library is in C
CXX # Testing contributed code also utilizes CXX
)
endif()
message(STATUS "ZSTD VERSION: ${zstd_VERSION}")
set(zstd_HOMEPAGE_URL "http://www.zstd.net")
set(zstd_DESCRIPTION "Zstandard is a real-time compression algorithm, providing high compression ratios.")

# Set a default build type if none was specified
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to 'Release' as none was specified.")
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
include(GNUInstallDirs)

#-----------------------------------------------------------------------------
Expand Down
Loading