Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.5.6 #3984

Merged
merged 417 commits into from Mar 21, 2024
Merged

v1.5.6 #3984

merged 417 commits into from Mar 21, 2024

Conversation

Cyan4973
Copy link
Contributor

@Cyan4973 Cyan4973 commented Mar 21, 2024

V1.5.6 (Mar 2024)
api: Promote ZSTD_c_targetCBlockSize to Stable API by @felixhandte
api: new ZSTD_d_maxBlockSize experimental parameter, to reduce streaming decompression memory, by @terrelln
perf: improve performance of param ZSTD_c_targetCBlockSize, by @Cyan4973
perf: improved compression of arrays of integers at high compression, by @Cyan4973
lib: reduce binary size with selective built-time exclusion, by @felixhandte
lib: improved huffman speed on small data and linux kernel, by @terrelln
lib: accept dictionaries with partial literal tables, by @terrelln
lib: fix CCtx size estimation with external sequence producer, by @embg
lib: fix corner case decoder behaviors, by @Cyan4973 and @aimuz
lib: fix zdict prototype mismatch in static_only mode, by @ldv-alt
lib: fix several bugs in magicless-format decoding, by @embg
cli: add common compressed file types to --exclude-compressed by @daniellerozenblit
cli: fix mixing -c and -o commands with --rm, by @Cyan4973
cli: fix erroneous exclusion of hidden files with --output-dir-mirror by @felixhandte
cli: improved time accuracy on BSD, by @felixhandte
cli: better errors on argument parsing, by @KapJI
tests: better compatibility with older versions of grep, by @Cyan4973
tests: lorem ipsum generator as default backup content, by @Cyan4973
build: cmake improvements by @terrelln, @sighingnow, @gjasny, @JohanMabille, @Saverio976, @gruenich, @teo-tsirpanis
build: bazel support, by @jondo2010
build: fix cross-compiling for AArch64 with lld by @jcelerier
build: fix Apple platform compatibility, by @nidhijaju
build: fix Visual 2012 and lower compatibility, by @Cyan4973
build: improve win32 support, by @DimitriPapadopoulos
build: better C90 compliance for zlibWrapper, by @emaste
port: make: fat binaries on macos, by @mredig
port: ARM64EC compatibility for Windows, by @dunhor
port: QNX support by @klausholstjacobsen
port: MSYS2 and Cygwin makefile installation and test support, by @QBos07
port: risc-v support validation in CI, by @Cyan4973
port: sparc64 support validation in CI, by @Cyan4973
port: AIX compatibility, by @likema
port: HP-UX compatibility, by @likema
doc: Improved specification accuracy, by @elasota
bug: Fix and deprecate ZSTD_generateSequences (#3981)

jondo2010 and others added 30 commits November 8, 2023 09:08
Add Bazel module instructions to README.md
Clarify that a stream containing too many Huffman weights is invalid
List of updates : https://github.com/Cyan4973/xxHash/releases/tag/v0.8.2

This is also a preparation task before taking care of #3819
…_3.5

[cmake] Require CMake version 3.5 or newer
Linux started providing intptr_t in <linux/types.h> so we no longer need
to define it here.

https://lkml.kernel.org/r/ed66b9e4-1fb7-45be-9bb9-d4bc291c691f@p183
ZSTD_resetDStream() is deprecated and replaced by ZSTD_DCtx_reset().
This removes deprecation warnings from the kernel build.

This change is a no-op, see the docs suggesting this replacement.

https://github.com/facebook/zstd/blob/fcbf2fde9ac7ce1562c7b3a394350e764bcb580f/lib/zstd.h#L2655-L2663
We only use this constant when `DEBUGLEVEL>=2`, but we get
-Werror=pedantic errors for empty translation units, so still define it
except in kernel environments.

Backport from the kernel:

https://lore.kernel.org/lkml/20230616144400.172683-1-ben.dooks@codethink.co.uk/
gcc in the linux kernel was not unrolling the inner loops of the Huffman
decoder, which was destroying decoding performance. The compiler was
generating crazy code with all sorts of branches. I suspect because of
Spectre mitigations, but I'm not certain. Once the loops were manually
unrolled, performance was restored.

Additionally, when gcc couldn't prove that the variable left shift in
the 4X2 decode loop wasn't greater than 63, it inserted checks to verify
it. To fix this, mask `entry.nbBits & 0x3F`, which allows gcc to eliete
this check. This is a no op, because `entry.nbBits` is guaranteed to be
less than 64.

Lastly, introduce the `HUF_DISABLE_FAST_DECODE` macro to disable the
fast C loops for Issue #3762. So if even after this change, there is a
performance regression, users can opt-out at compile time.
* Rename `ilimit` to `ilowest` and set it equal to `src` instead of
  `src + 6 + 8`. This is safe because the fast decoding loops guarantee
  to never read below `ilowest` already. This allows the fast decoder to
  run for at least two more iterations, because it consumes at most 7
  bytes per iteration.
* Continue the fast loop all the way until the number of safe iterations
 is 0. Initially, I thought that when it got towards the end, the
 computation of how many iterations of safe might become expensive. But
 it ends up being slower to have to decode each of the 4 streams
 individually, which makes sense.

This drastically speeds up the Huffman decoder on the `github` dataset
for the issue raised in #3762, measured with `zstd -b1e1r github/`.

| Decoder  | Speed before | Speed after |
|----------|--------------|-------------|
| Fallback | 477 MB/s     | 477 MB/s    |
| Fast C   | 384 MB/s     | 492 MB/s    |
| Assembly | 385 MB/s     | 501 MB/s    |

We can also look at the speed delta for different block sizes of silesia
using `zstd -b1e1r silesia.tar -B#`.

| Decoder  | -B1K ∆ | -B2K ∆ | -B4K ∆ | -B8K ∆ | -B16K ∆ | -B32K ∆ | -B64K ∆ | -B128K ∆ |
|----------|--------|--------|--------|--------|---------|---------|---------|----------|
| Fast C   | +11.2% | +8.2%  | +6.1%  | +4.4%  | +2.7%   | +1.5%   | +0.6%   | +0.2%    |
| Assembly | +12.5% | +9.0%  | +6.2%  | +3.6%  | +1.5%   | +0.7%   | +0.2%   | +0.03%   |
`HUF_DecompressFastArgs_init()` was adding 0 to NULL. Fix it by exiting
early for empty outputs. This is no change in behavior, because the
function was already exiting 0 in this case, just slightly later.
update xxhash library to v0.8.2
This PR introduces no functional changes. It attempts to change all
macros currently using `{ }` or some variant of that to to
`do { } while (0)`, and introduces trailing `;` where necessary.
There were no bugs found during this migration.

The bug in Visual Studios warning on this has been fixed since VS2015.
Additionally, we have several instances of `do { } while (0)` which have
been present for several releases, so we don't have to worry about
breaking peoples builds.

Fixes Issue #3830.
The patch adds a validation to ensure that the last field, which is
reserved, must be all-zeroes in ZSTD_decodeSeqHeaders. This prevents
potential corruption from going undetected.

Fixes an issue where corrupted input could lead to undefined behavior
due to improper validation of reserved bits.

Signed-off-by: aimuz <mr.imuz@gmail.com>
Move offload API params into ZSTD_CCtx_params
12.4 is EOL as of the end of December 2023, and pkg installation will
start failing some time after that so remove those jobs now.
Update FreeBSD CI: drop 12.4 (nearly EOL)
Clang 16 (which is the system compiler in FreeBSD 14.0) no longer allows
K&R function definitions.  Formatting of the changes matches current
zlib.
If the relevant allocation returns NULL, ZSTD_createCDict_advanced_internal()
will return NULL. But ZSTD_createCDict_advanced2() doesn't check for
this and attempts to use the returned pointer anyway, which leads to
a segfault.
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.3 to 4.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@a8a3f3a...c7d193f)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Cyan4973 and others added 17 commits March 18, 2024 12:04
when requested CBlockSize is too low,
bound it to the minimum
instead of returning an error.
Fixes 2 issue in `simple_decompress.c`:
1. Wrong type used for storing the results of `ZSTD_findDecompressedSize` resulting in never matching to `ZSTD_CONTENTSIZE_ERROR` or `ZSTD_CONTENTSIZE_UNKNOWN`.

2. Experimental API is used (`ZSTD_findDecompressedSize`) without defining `ZSTD_STATIC_LINKING_ONLY`.
Fails on errors when building fuzzers with `fuzz.py` (adds `Werror`).
Currently allows `declaration-after-statement`, `c++-compat` and
`deprecated` as they are abundant in code (some fixes to
`declaration-after-statement` are presented in this commit).
* fuzzing and bugfixes for magicless format

* reset dctx before each decompression

* do not memcmp empty buffers

* nit: decompressor errata
This function was seriously flawed:
* It didn't do output bounds checks
* It produced invalid sequences when an uncompressed or RLE block was emitted
* It produced invalid sequences when the block splitter was enabled
* It produced invalid sequences when ZSTD_c_targetCBlockSize was enabled

I've attempted to fix these issues, but this function is just a bad idea,
so I've marked it as deprecated and unsafe. We should replace it with
`ZSTD_extractSequences()` which operates on a compressed frame.
Fail on errors when building fuzzers
[cmake] Emit warnings for contradictory build settings
Document the process for adding a new fuzzer
@github-advanced-security
Copy link

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

image: fbopensource/zstd-circleci-primary:0.0.1
options: --entrypoint /bin/bash
steps:
- uses: actions/checkout@v4

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 8: GitHub-owned GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
image: fbopensource/zstd-circleci-primary:0.0.1
options: --entrypoint /bin/bash
steps:
- uses: actions/checkout@v4

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 8: GitHub-owned GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
echo " are still good, copy it into the repo and commit it."
echo "> diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv"
diff tests/regression/results.csv $CIRCLE_ARTIFACTS/results.csv
- uses: actions/upload-artifact@v4

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 8: GitHub-owned GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
key: regression-cache-{{ checksum "tests/regression/data.c" }}-v0
path: tests/regression/cache
restore-keys: regression-cache-{{ checksum "tests/regression/data.c" }}-v0
- uses: actions/upload-artifact@v4

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 8: GitHub-owned GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
.github/workflows/commit.yml Fixed Show fixed Hide fixed
.github/workflows/nightly.yml Fixed Show fixed Hide fixed
env:
CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts"
steps:
- uses: actions/checkout@v4

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 8: GitHub-owned GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
steps:
- uses: actions/checkout@v4
- name: restore_cache
uses: actions/cache@v4

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 8: GitHub-owned GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
env:
CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts"
steps:
- uses: actions/checkout@v4

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 8: GitHub-owned GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
CIRCLE_ARTIFACTS: "/tmp/circleci-artifacts"
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 8: GitHub-owned GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
@Cyan4973
Copy link
Contributor Author

It seems that most (if not all) github bot warnings are generated from the code added in #3901 .
cc @jk0 .

@Cyan4973 Cyan4973 self-assigned this Mar 21, 2024
@yoniko
Copy link
Contributor

yoniko commented Mar 21, 2024

It seems that most (if not all) github bot warnings are generated from the code added in #3901 . cc @jk0 .

We should probably implement the same permission parameters that we've added to previous workflows at #3488.
I'll submit a PR.

EDIT: nvm, I see toy've already implemented those.

@Cyan4973 Cyan4973 merged commit 794ea1b into release Mar 21, 2024
98 checks passed
@teo-tsirpanis
Copy link
Contributor

@Cyan4973 did you forget to make a tag?

@Cyan4973
Copy link
Contributor Author

Nope,
the tag is not done yet.
It's not yet a release.

anakinxc pushed a commit to secretflow/spu that referenced this pull request Mar 27, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [com_github_facebook_zstd](https://togithub.com/facebook/zstd) |
http_archive | patch | `v1.5.5` -> `v1.5.6` |

---

### Release Notes

<details>
<summary>facebook/zstd (com_github_facebook_zstd)</summary>

### [`v1.5.6`](https://togithub.com/facebook/zstd/releases/tag/v1.5.6):
Zstandard v1.5.6 - Chrome Edition

[Compare
Source](https://togithub.com/facebook/zstd/compare/v1.5.5-kernel...v1.5.6)

This release highlights the deployment of Google [Chrome
123](https://developer.chrome.com/blog/new-in-chrome-123), introducing
`zstd-encoding` for Web traffic, introduced as a preferable option for
compression of dynamic contents. With limited web server support for
`zstd-encoding` due to its novelty, we are launching an updated
Zstandard version to facilitate broader adoption.

##### New stable parameter `ZSTD_c_targetCBlockSize`

Using `zstd` compression for large documents over the Internet, data is
segmented into smaller blocks of up to 128 KB, for incremental updates.
This is crucial for applications like Chrome that process parts of
documents as they arrive. However, on slow or congested networks, there
can be some brief unresponsiveness in the middle of a block
transmission, delaying update. To mitigate such scenarios, `libzstd`
introduces the new parameter `ZSTD_c_targetCBlockSize`, enabling the
division of blocks into even smaller segments to enhance initial byte
delivery speed. Activating this feature incurs a cost, both runtime
(equivalent to -2% speed at level 8) and a slight compression efficiency
decrease (<0.1%), but offers some interesting latency reduction, notably
beneficial in areas with less powerful network infrastructure.

##### Granular binary size selection

`libzstd` provides build customization, including options to compile
only the compression or decompression modules, minimizing binary size.
Enhanced in `v1.5.6`
([source](https://togithub.com/facebook/zstd/tree/dev/lib#modular-build)),
it now allows for even finer control by enabling selective inclusion or
exclusion of specific components within these modules. This advancement
aids applications needing precise binary size management.

##### Miscellaneous Enhancements

This release includes various minor enhancements and bug fixes to
enhance user experience. Key updates include an expanded list of
recognized compressed file suffixes for the `--exclude-compressed` flag,
improving efficiency by skipping presumed incompressible content.
Furthermore, compatibility has been broadened to include additional
chipsets (`sparc64`, `ARM64EC`, `risc-v`) and operating systems (`QNX`,
`AIX`, `Solaris`, `HP-UX`).

#### Change Log

api: Promote `ZSTD_c_targetCBlockSize` to Stable API by
[@&#8203;felixhandte](https://togithub.com/felixhandte)
api: new experimental `ZSTD_d_maxBlockSize` parameter, to reduce
streaming decompression memory, by
[@&#8203;terrelln](https://togithub.com/terrelln)
perf: improve performance of param `ZSTD_c_targetCBlockSize`, by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973)
perf: improved compression of arrays of integers at high compression, by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973)
lib: reduce binary size with selective built-time exclusion, by
[@&#8203;felixhandte](https://togithub.com/felixhandte)
lib: improved huffman speed on small data and linux kernel, by
[@&#8203;terrelln](https://togithub.com/terrelln)
lib: accept dictionaries with partial literal tables, by
[@&#8203;terrelln](https://togithub.com/terrelln)
lib: fix CCtx size estimation with external sequence producer, by
[@&#8203;embg](https://togithub.com/embg)
lib: fix corner case decoder behaviors, by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) and
[@&#8203;aimuz](https://togithub.com/aimuz)
lib: fix zdict prototype mismatch in static_only mode, by
[@&#8203;ldv-alt](https://togithub.com/ldv-alt)
lib: fix several bugs in magicless-format decoding, by
[@&#8203;embg](https://togithub.com/embg)
cli: add common compressed file types to `--exclude-compressed` by
[@&#8203;daniellerozenblit](https://togithub.com/daniellerozenblit)
(requested by [@&#8203;dcog989](https://togithub.com/dcog989))
cli: fix mixing `-c` and `-o` commands with `--rm`, by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973)
cli: fix erroneous exclusion of hidden files with `--output-dir-mirror`
by [@&#8203;felixhandte](https://togithub.com/felixhandte)
cli: improved time accuracy on BSD, by
[@&#8203;felixhandte](https://togithub.com/felixhandte)
cli: better errors on argument parsing, by
[@&#8203;KapJI](https://togithub.com/KapJI)
tests: better compatibility with older versions of `grep`, by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973)
tests: lorem ipsum generator as default content generator, by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973)
build: cmake improvements by
[@&#8203;terrelln](https://togithub.com/terrelln),
[@&#8203;sighingnow](https://togithub.com/sighingnow),
[@&#8203;gjasny](https://togithub.com/gjasny),
[@&#8203;JohanMabille](https://togithub.com/JohanMabille),
[@&#8203;Saverio976](https://togithub.com/Saverio976),
[@&#8203;gruenich](https://togithub.com/gruenich),
[@&#8203;teo-tsirpanis](https://togithub.com/teo-tsirpanis)
build: bazel support, by
[@&#8203;jondo2010](https://togithub.com/jondo2010)
build: fix cross-compiling for AArch64 with lld by
[@&#8203;jcelerier](https://togithub.com/jcelerier)
build: fix Apple platform compatibility, by
[@&#8203;nidhijaju](https://togithub.com/nidhijaju)
build: fix Visual 2012 and lower compatibility, by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973)
build: improve win32 support, by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
build: better C90 compliance for zlibWrapper, by
[@&#8203;emaste](https://togithub.com/emaste)
port: make: fat binaries on macos, by
[@&#8203;mredig](https://togithub.com/mredig)
port: ARM64EC compatibility for Windows, by
[@&#8203;dunhor](https://togithub.com/dunhor)
port: QNX support by
[@&#8203;klausholstjacobsen](https://togithub.com/klausholstjacobsen)
port: MSYS2 and Cygwin makefile installation and test support, by
[@&#8203;QBos07](https://togithub.com/QBos07)
port: risc-v support validation in CI, by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973)
port: sparc64 support validation in CI, by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973)
port: AIX compatibility, by
[@&#8203;likema](https://togithub.com/likema)
port: HP-UX compatibility, by
[@&#8203;likema](https://togithub.com/likema)
doc: Improved specification accuracy, by
[@&#8203;elasota](https://togithub.com/elasota)
bug: Fix and deprecate ZSTD_generateSequences
([#&#8203;3981](https://togithub.com/facebook/zstd/issues/3981)), by
[@&#8203;terrelln](https://togithub.com/terrelln)

#### Full change list (auto-generated)

- Add win32 to windows-artifacts.yml by
[@&#8203;Kim-SSi](https://togithub.com/Kim-SSi) in
[facebook/zstd#3600
- Fix mmap-dict help output by
[@&#8203;daniellerozenblit](https://togithub.com/daniellerozenblit) in
[facebook/zstd#3601
- \[oss-fuzz] Fix simple_round_trip fuzzer with overlapping
decompression by [@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3612
- Reduce streaming decompression memory by (128KB - blockSizeMax) by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3616
- removed travis & appveyor scripts by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3621
- Add ZSTD_d_maxBlockSize parameter by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3617
- \[doc] add decoder errata paragraph by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3620
- add makefile entry to build fat binary on macos by
[@&#8203;mredig](https://togithub.com/mredig) in
[facebook/zstd#3614
- Disable unused variable warning in msan configurations by
[@&#8203;danlark1](https://togithub.com/danlark1) in
[facebook/zstd#3624

[facebook/zstd#3634
- Allow Build-Time Exclusion of Individual Compression Strategies by
[@&#8203;felixhandte](https://togithub.com/felixhandte) in
[facebook/zstd#3623
- Get zstd working with ARM64EC on Windows by
[@&#8203;dunhor](https://togithub.com/dunhor) in
[facebook/zstd#3636
- minor : update streaming_compression example by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3631
- Fix UBSAN issue (zero addition to NULL) by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3658
- Add options in Makefile to cmake by
[@&#8203;sighingnow](https://togithub.com/sighingnow) in
[facebook/zstd#3657
- fix a minor inefficiency in compress_superblock by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3668
- Fixed a bug in the educational decoder by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3659
- changed LLU suffix into ULL for Visual 2012 and lower by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3664
- fixed decoder behavior when nbSeqs==0 is encoded using 2 bytes by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3669
- detect extraneous bytes in the Sequences section by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3674
- Bitstream produces only zeroes after an overflow event by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3676
- Update FreeBSD CI images to latest supported releases by
[@&#8203;emaste](https://togithub.com/emaste) in
[facebook/zstd#3684
- Clean up a false error message in the LDM debug log by
[@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3686
- Hide ASM symbols on Apple platforms by
[@&#8203;nidhijaju](https://togithub.com/nidhijaju) in
[facebook/zstd#3688
- Changed the decoding loop to detect more invalid cases of corruption
sooner by [@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3677
- Fix Intel Xcode builds with assembly by
[@&#8203;gjasny](https://togithub.com/gjasny) in
[facebook/zstd#3665
- Save one byte on the frame epilogue by
[@&#8203;Coder-256](https://togithub.com/Coder-256) in
[facebook/zstd#3700
- Update fileio.c: fix build failure with enabled LTO by
[@&#8203;LocutusOfBorg](https://togithub.com/LocutusOfBorg) in
[facebook/zstd#3695
- fileio_asyncio: handle malloc fails in AIO_ReadPool_create by
[@&#8203;void0red](https://togithub.com/void0red) in
[facebook/zstd#3704
- Fix typographical error in README.md by
[@&#8203;nikohoffren](https://togithub.com/nikohoffren) in
[facebook/zstd#3701
- Fixed typo by
[@&#8203;alexsifivetw](https://togithub.com/alexsifivetw) in
[facebook/zstd#3712
- Improve dual license wording in README by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3718
- Unpoison Workspace Memory Before Custom-Free by
[@&#8203;felixhandte](https://togithub.com/felixhandte) in
[facebook/zstd#3725
- added ZSTD_decompressDCtx() benchmark option to fullbench by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3726
- No longer reject dictionaries with literals maxSymbolValue < 255 by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3731
- fix: ZSTD_BUILD_DECOMPRESSION message by
[@&#8203;0o001](https://togithub.com/0o001) in
[facebook/zstd#3728
- Updated Makefiles for full MSYS2 and Cygwin installation and testing …
by [@&#8203;QBos07](https://togithub.com/QBos07) in
[facebook/zstd#3720
- Work around nullptr-with-nonzero-offset warning by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3738
- Fix & refactor Huffman repeat tables for dictionaries by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3737
- zdictlib: fix prototype mismatch by
[@&#8203;ldv-alt](https://togithub.com/ldv-alt) in
[facebook/zstd#3733
- Fixed zstd cmake shared build on windows by
[@&#8203;JohanMabille](https://togithub.com/JohanMabille) in
[facebook/zstd#3739
- Added qnx in the posix test section of platform.h by
[@&#8203;klausholstjacobsen](https://togithub.com/klausholstjacobsen) in
[facebook/zstd#3745
- added some documentation on ZSTD_estimate\*Size() variants by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3755
- Improve macro guards for ZSTD_assertValidSequence by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3770
- Stop suppressing pointer-overflow UBSAN errors by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3776
- fix x32 tests on Github CI by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3777
- Fix new typos found by codespell by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[facebook/zstd#3771
- Do not test WIN32, instead test \_WIN32 by
[@&#8203;DimitriPapadopoulos](https://togithub.com/DimitriPapadopoulos)
in
[facebook/zstd#3772
- Fix a very small formatting typo in the lib/README.md file by
[@&#8203;dloidolt](https://togithub.com/dloidolt) in
[facebook/zstd#3763
- Fix pzstd Makefile to allow setting `DESTDIR` and `BINDIR` separately
by [@&#8203;paulmenzel](https://togithub.com/paulmenzel) in
[facebook/zstd#3752
- Remove FlexArray pattern from ZSTDMT by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3786
- solving flexArray issue
[#&#8203;3785](https://togithub.com/facebook/zstd/issues/3785) in fse by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3789
- Add doc on how to use it with cmake FetchContent by
[@&#8203;Saverio976](https://togithub.com/Saverio976) in
[facebook/zstd#3795
- Correct FSE probability bit consumption in specification by
[@&#8203;elasota](https://togithub.com/elasota) in
[facebook/zstd#3806
- Add Bazel module instructions to README.md by
[@&#8203;jondo2010](https://togithub.com/jondo2010) in
[facebook/zstd#3812
- Clarify that a stream containing too many Huffman weights is invalid
by [@&#8203;elasota](https://togithub.com/elasota) in
[facebook/zstd#3813
- \[cmake] Require CMake version 3.5 or newer by
[@&#8203;gruenich](https://togithub.com/gruenich) in
[facebook/zstd#3807
- Three fixes for the Linux kernel by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3822
- \[huf] Improve fast huffman decoding speed in linux kernel by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3826
- \[huf] Improve fast C & ASM performance on small data by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3827
- update xxhash library to v0.8.2 by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3820
- Modernize macros to use `do { } while (0)` by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3831
- Clarify that the presence of weight value 1 is required, and a lone
implied 1 weight is invalid by
[@&#8203;elasota](https://togithub.com/elasota) in
[facebook/zstd#3814
- Move offload API params into ZSTD_CCtx_params by
[@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3839
- Update FreeBSD CI: drop 12.4 (nearly EOL) by
[@&#8203;emaste](https://togithub.com/emaste) in
[facebook/zstd#3845
- Make offload API compatible with static CCtx by
[@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3854
- zlibWrapper: convert to C89 / ANSI C by
[@&#8203;emaste](https://togithub.com/emaste) in
[facebook/zstd#3846
- Fix a nullptr dereference in ZSTD_createCDict_advanced2() by
[@&#8203;michoecho](https://togithub.com/michoecho) in
[facebook/zstd#3847
- Cirrus-CI: Add FreeBSD 14 by
[@&#8203;emaste](https://togithub.com/emaste) in
[facebook/zstd#3855
- CI: meson: use builtin handling for MSVC by
[@&#8203;eli-schwartz](https://togithub.com/eli-schwartz) in
[facebook/zstd#3858
- cli: better errors on argument parsing by
[@&#8203;KapJI](https://togithub.com/KapJI) in
[facebook/zstd#3850
- Clarify that probability tables must not contain non-zero
probabilities for invalid values by
[@&#8203;elasota](https://togithub.com/elasota) in
[facebook/zstd#3817
- \[x-compile] Fix cross-compiling for AArch64 with lld by
[@&#8203;jcelerier](https://togithub.com/jcelerier) in
[facebook/zstd#3760
- playTests.sh does no longer needs grep -E by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3865
- minor: playTests.sh more compatible with older versions of grep by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3877
- disable Intel CET Compatibility tests by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3884
- improve cmake test by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3883
- add sparc64 compilation test by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3886
- add a lorem ipsum generator by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3890
- Update Dependency in Intel CET Test; Re-Enable Test by
[@&#8203;felixhandte](https://togithub.com/felixhandte) in
[facebook/zstd#3893
- Improve compression of Arrays of Integers (High compression mode) by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3895
- \[Zstd] Less verbose log for patch mode. by
[@&#8203;sandreenko](https://togithub.com/sandreenko) in
[facebook/zstd#3899
- fix
[`5921623`](https://togithub.com/facebook/zstd/commit/5921623844651008)
by [@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3900
- Fix fuzz issue
[`5131069`](https://togithub.com/facebook/zstd/commit/5131069967892480)
by [@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3902
- Advertise Availability of Security Vulnerability Notifications by
[@&#8203;felixhandte](https://togithub.com/felixhandte) in
[facebook/zstd#3909
- updated setup-msys2 to v2.22.0 by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3914
- Lorem Ipsum generator update by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3913
- Reduce scope of variables by
[@&#8203;gruenich](https://togithub.com/gruenich) in
[facebook/zstd#3903
- Improve speed of ZSTD_c_targetCBlockSize by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3915
- More regular block sizes with `targetCBlockSize` by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3917
- removed sprintf usage from zstdcli.c by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3916
- Export a `zstd::libzstd` CMake target if only static or dynamic
linkage is specified. by
[@&#8203;teo-tsirpanis](https://togithub.com/teo-tsirpanis) in
[facebook/zstd#3811
- fix version of actions/checkout by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3926
- minor Makefile refactoring by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3753
- lib/decompress: check for reserved bit corruption in zstd by
[@&#8203;aimuz](https://togithub.com/aimuz) in
[facebook/zstd#3840
- Fix state table formatting by
[@&#8203;elasota](https://togithub.com/elasota) in
[facebook/zstd#3816
- Specify offset 0 as invalid and specify required fixup behavior by
[@&#8203;elasota](https://togithub.com/elasota) in
[facebook/zstd#3824
- update -V documentation by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3928
- fix LLU->ULL by [@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3929
- Fix building xxhash on AIX 5.1 by
[@&#8203;likema](https://togithub.com/likema) in
[facebook/zstd#3860
- Fix building on HP-UX 11.11 PA-RISC by
[@&#8203;likema](https://togithub.com/likema) in
[facebook/zstd#3862
- Fix AsyncIO reading seed queueing by
[@&#8203;yoniko](https://togithub.com/yoniko) in
[facebook/zstd#3940
- Use ZSTD_LEGACY_SUPPORT=5 in "make test" by
[@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3943
- Pin sanitizer CI jobs to ubuntu-20.04 by
[@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3945
- chore: fix some typos by
[@&#8203;acceptacross](https://togithub.com/acceptacross) in
[facebook/zstd#3949
- new method to deal with offset==0 erroneous edge case by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3937
- add tests inspired from
[#&#8203;2927](https://togithub.com/facebook/zstd/issues/2927) by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3948
- cmake refactor: move HP-UX specific logic into its own function by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3946
- Fix [#&#8203;3719](https://togithub.com/facebook/zstd/issues/3719) :
mixing -c, -o and --rm by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3942
- minor: fix incorrect debug level by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3936
- add RISC-V emulation tests to Github CI by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3934
- prevent XXH64 from being autovectorized by XXH512 by default by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3933
- Stop Hardcoding the POSIX Version on BSDs by
[@&#8203;felixhandte](https://togithub.com/felixhandte) in
[facebook/zstd#3952
- Convert the CircleCI workflow to a GitHub Actions workflow by
[@&#8203;jk0](https://togithub.com/jk0) in
[facebook/zstd#3901
- Add common compressed file types to --exclude-compressed by
[@&#8203;daniellerozenblit](https://togithub.com/daniellerozenblit) in
[facebook/zstd#3951
- Export ZSTD_LEGACY_SUPPORT in tests/Makefile by
[@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3955
- Exercise ZSTD_findDecompressedSize() in the simple decompression
fuzzer by [@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3959
- Update `ZSTD_RowFindBestMatch` comment by
[@&#8203;yoniko](https://togithub.com/yoniko) in
[facebook/zstd#3947
- Add the zeroSeq sample by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3954
- \[cpu] Backport fix for rbx clobbering on Windows with Clang by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3957
- Do not truncate file name in verbose mode by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3956
- updated documentation by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3958
- \[asm]\[aarch64] Mark that BTI and PAC are supported by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3961
- Use `utimensat()` on FreeBSD by
[@&#8203;felixhandte](https://togithub.com/felixhandte) in
[facebook/zstd#3960
- reduce the amount of #include in cover.h by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3962
- Remove Erroneous Exclusion of Hidden Files and Folders in
`--output-dir-mirror` by
[@&#8203;felixhandte](https://togithub.com/felixhandte) in
[facebook/zstd#3963
- Promote `ZSTD_c_targetCBlockSize` Parameter to Stable API by
[@&#8203;felixhandte](https://togithub.com/felixhandte) in
[facebook/zstd#3964
- \[cmake] Always create libzstd target by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3965
- Remove incorrect docs regarding ZSTD_findFrameCompressedSize() by
[@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3967
- add line number to debug traces by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3966
- bump version number by
[@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3969
- Export zstd's public headers via BUILD_INTERFACE by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3968
- Fix bug with streaming decompression of magicless format by
[@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3971
- pzstd: use c++14 without conditions by
[@&#8203;kanavin](https://togithub.com/kanavin) in
[facebook/zstd#3682
- Fix bugs in simple decompression fuzzer by
[@&#8203;yoniko](https://togithub.com/yoniko) in
[facebook/zstd#3978
- Fuzzing and bugfixes for magicless-format decoding by
[@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3976
- Fix & fuzz ZSTD_generateSequences by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3981
- Fail on errors when building fuzzers by
[@&#8203;yoniko](https://togithub.com/yoniko) in
[facebook/zstd#3979
- \[cmake] Emit warnings for contradictory build settings by
[@&#8203;terrelln](https://togithub.com/terrelln) in
[facebook/zstd#3975
- Document the process for adding a new fuzzer by
[@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3982
- Fix -Werror=pointer-arith in fuzzers by
[@&#8203;embg](https://togithub.com/embg) in
[facebook/zstd#3983
- Doc update by [@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3977
- v1.5.6 by [@&#8203;Cyan4973](https://togithub.com/Cyan4973) in
[facebook/zstd#3984

#### New Contributors

- [@&#8203;Kim-SSi](https://togithub.com/Kim-SSi) made their first
contribution in
[facebook/zstd#3600
- [@&#8203;mredig](https://togithub.com/mredig) made their first
contribution in
[facebook/zstd#3614
- [@&#8203;dunhor](https://togithub.com/dunhor) made their first
contribution in
[facebook/zstd#3636
- [@&#8203;sighingnow](https://togithub.com/sighingnow) made their first
contribution in
[facebook/zstd#3657
- [@&#8203;nidhijaju](https://togithub.com/nidhijaju) made their first
contribution in
[facebook/zstd#3688
- [@&#8203;gjasny](https://togithub.com/gjasny) made their first
contribution in
[facebook/zstd#3665
- [@&#8203;Coder-256](https://togithub.com/Coder-256) made their first
contribution in
[facebook/zstd#3700
- [@&#8203;LocutusOfBorg](https://togithub.com/LocutusOfBorg) made their
first contribution in
[facebook/zstd#3695
- [@&#8203;void0red](https://togithub.com/void0red) made their first
contribution in
[facebook/zstd#3704
- [@&#8203;nikohoffren](https://togithub.com/nikohoffren) made their
first contribution in
[facebook/zstd#3701
- [@&#8203;alexsifivetw](https://togithub.com/alexsifivetw) made their
first contribution in
[facebook/zstd#3712
- [@&#8203;0o001](https://togithub.com/0o001) made their first
contribution in
[facebook/zstd#3728
- [@&#8203;QBos07](https://togithub.com/QBos07) made their first
contribution in
[facebook/zstd#3720
- [@&#8203;JohanMabille](https://togithub.com/JohanMabille) made their
first contribution in
[facebook/zstd#3739
- [@&#8203;klausholstjacobsen](https://togithub.com/klausholstjacobsen)
made their first contribution in
[facebook/zstd#3745
- [@&#8203;Saverio976](https://togithub.com/Saverio976) made their first
contribution in
[facebook/zstd#3795
- [@&#8203;elasota](https://togithub.com/elasota) made their first
contribution in
[facebook/zstd#3806
- [@&#8203;jondo2010](https://togithub.com/jondo2010) made their first
contribution in
[facebook/zstd#3812
- [@&#8203;gruenich](https://togithub.com/gruenich) made their first
contribution in
[facebook/zstd#3807
- [@&#8203;michoecho](https://togithub.com/michoecho) made their first
contribution in
[facebook/zstd#3847
- [@&#8203;KapJI](https://togithub.com/KapJI) made their first
contribution in
[facebook/zstd#3850
- [@&#8203;jcelerier](https://togithub.com/jcelerier) made their first
contribution in
[facebook/zstd#3760
- [@&#8203;sandreenko](https://togithub.com/sandreenko) made their first
contribution in
[facebook/zstd#3899
- [@&#8203;teo-tsirpanis](https://togithub.com/teo-tsirpanis) made their
first contribution in
[facebook/zstd#3811
- [@&#8203;aimuz](https://togithub.com/aimuz) made their first
contribution in
[facebook/zstd#3840
- [@&#8203;acceptacross](https://togithub.com/acceptacross) made their
first contribution in
[facebook/zstd#3949
- [@&#8203;jk0](https://togithub.com/jk0) made their first contribution
in
[facebook/zstd#3901

**Full Changelog**:
facebook/zstd@v1.5.5...v1.5.6

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/secretflow/spu).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet