Changelog
[v0.15.0] - 2026-10-13#
api: Implement variable-length file footer and frame info API (#489)
api: Enable seekable archives in compression context API (#487)
api: Add support for zero-allocation in-place decompression (#461)
api: Introduces kernel zxc support (#454)
api: Introduce format v9 and .zxd dictionary v2 (#452)
api: Announce the seek table with a HAS_SEEK_TABLE header flag (#448)
api: Support 64-bit block counts for seekable archives (#438)
api: Validate the seek table per group of 64 blocks and load it lazily (#436)
api: Checksum decompressed blocks, seeded by position, and add an archive digest (#434)
api: Replace xor/shift header checksums with multiplication-based hashing (#432)
perf: Optimizes parallel stream decompression I/O (#495)
perf: Optimizes LZ77 compression performance (#466)
perf: Reduce register pressure in GHI batch decompression (#460)
perf: Optimizes wild copy decompression loops (#439)
perf: Simplify the PivCo Huffman tree representation (#451)
perf: Split long GLO matches into inline sequences at L3-L5 (#441)
cli: Add zxcgrep utility for searching compressed files (#507)
cli: Add zxcless utility and enhances decompression pass-through (#506)
cli: Add zxccat alias for concatenated decompression (#503)
cli: Install the man page with the CLI (#504)
cli: Unify path concatenation for directory walking (#500)
cli: prevent mode misinterpretation of files named like command verbs (#494)
cli: Address frame validation and dictionary handling edge cases
cli: Honour --progress and tty detection in benchmark mode (#464)
fix: Stop -c from truncating a >> redirect (#503)
fix: Make the stream processor callback type-safe (#449)
fix: Enforce strict read/write separation in in-place decompression (#450)
fix: Work around an MSVC 19.51 ARM64 miscompile of the SEK size fold (#458)
fix: Throw on failed WASM heap allocation (#459)
build: Replace #error with static_assert for compile-time validation (#509)
build: Release Windows with MinGW-w64, build MSVC at /W4 (#498)
build: Trigger wrapper tests on pull requests (#501)
build: Enable compiler warnings as errors in CI (#497)
build: Bump source-map-js in /wrappers/nodejs (#496)
build: Standardizes SPDX headers and copyright notices (#483)
build: Bump scikit-build-core in /wrappers/python (#475)
build: Bump setuptools-scm in /wrappers/python (#473)
build: Bump cibuildwheel from 4.2.0 to 4.2.1 in /wrappers/python (#474)
build: Bump vitest from 4.1.11 to 5.0.2 in /wrappers/nodejs (#472)
build: Bump build from 1.6.0 to 1.6.1 in /wrappers/python (#477)
build: Bump cc from 1.4.4 to 1.5.1 in /wrappers/rust (#470)
build: Bump thiserror from 2.0.20 to 2.0.21 in /wrappers/rust (#471)
build: Implement apt package caching for multiarch workflows (#482)
build: Rename lzbench directory to reflect lz+entropy integration
build: Refresh toolchains, add Clang 21-22 and a glibc floor check (#465)
build: Remove temporary Docker downgrade workaround (#462)
build: Add Linux kernel module support and its CI workflow (#454)
build: Flush stream output and report write errors (#453)
build: Prevent auxv header inclusion when ZXC_ONLY_DEFAULT is defined (#447)
doc: Correct Doxygen markup in header files (#508)
doc: Update documentation structure and content (#485)
misc: Reject blocks with trailing bytes in RLE sections (#511)
misc: Wrapper Python: add seekable to compress() and Cctx (#505)
misc: Wrapper Go - honor WithSeekable in Compress/CompressTo, accept empty input (#499)
misc: Wrapper Go - recover reader panics in the Go seekable trampoline (#486)
misc: Supports multi-frame ZXC archives (#490)
misc: Bump github/codeql-action/init from 4.37.9 to 4.38.2 (#476)
misc: Bump actions-rust-lang/setup-rust-toolchain (#467)
misc: Bump github/codeql-action/upload-sarif (#478)
misc: Bump oss-fuzz-base/base-builder in /.clusterfuzzlite (#479)
misc: Bump meson from 1.12.0 to 1.12.1 in /.github/requirements (#480)
misc: Bump ninja from 1.13.0 to 1.13.2 in /.github/requirements (#481)
misc: Bump orhun/git-cliff-action from 4.8.0 to 4.9.1 (#468)
misc: Bump actions/cache from 5.0.5 to 6.1.0 (#469)
misc: Add block API fuzzer and dictionary huffman table coverage (#463)
[v0.14.1] - 2026-09-19#
api: Enforces strict block size and EOF validation (#428)
api: Implements reusable compression contexts (#424)
api: Enhances seekable API with checksum control and robust range validation (#425)
api: Fix empty frame compression in contexts (#422)
api: Enforce strict block size bounds for static decompression contexts (#417)
api: Adds shared literal table support to block API (#415)
api: Extends dictionary support for reusable contexts (#414)
api: Refines README documentation (#408)
perf: Optimizes block decompression for direct and flexible output (#418)
cli: Report checksum presence from the archive header in -l and -t (#435)
build: Migrate release workflows to trusted publishing (#421)
build: Enforce rapidhash resolution at configure/setup time (#420)
build: Resolve dependency resolution in wrapper test (#410) (#411)
build: Enhances wrapper packaging and release integrity (#409)
doc: Clarify crate branding and improve documentation metadata (#410)
misc: Compile library objects separately for fuzzers (#440)
misc: Add fuzzer for streaming API (#443)
misc: Skip SARIF uploads for fork pull requests
misc: Enforce dictionary size limits on decompression path (#430)
misc: Prevent stack memory escape in multi-threaded decompression (#429)
misc: Drop unpinned global npm install from publish job (#426)
misc: Drop unpinned global npm install from publish job (#427)
misc: Consolidates checksums (#423)
misc: Formalizes dictionary ID calculation and enhances fuzzer (#ossf-557281704) (#413)
misc: Tidy the nudge tuning macros (#412)
[v0.14.0] - 2026-09-03#
api: Pin the glibc floor at 2.34, make libzxc.pc relocatable (#385)
api: Wire format v8, faster overlap copies, stricter block validation (#374)
perf: Optimizes PivCo Huffman with advanced SIMD (#373)
perf: Make the short match distance floor a default policy (#376)
perf: Widen the PivCo merge to 256 bits on AVX2 (#377)
perf: Improve code and enhances robustness (#391)
fix: Validates in-place footer size and buffer separation (#375)
build: Bump setuptools from 83.0.0 to 84.0.0 in /wrappers/python (#397)
build: Bump build from 1.5.0 to 1.6.0 in /wrappers/python (#394)
build: Bump cibuildwheel from 4.1.1 to 4.2.0 in /wrappers/python (#398)
build: Bump vitest from 4.1.10 to 4.1.11 in /wrappers/nodejs (#395)
build: Bump thiserror from 2.0.19 to 2.0.20 in /wrappers/rust (#393)
build: Bump cc from 1.4.0 to 1.4.4 in /wrappers/rust (#392)
build: Bump node-addon-api from 8.9.1 to 8.9.2 in /wrappers/nodejs (#396)
build: Bump github/codeql-action/analyze from 4.36.0 to 4.37.9 (#400)
build: Bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.2 (#402)
build: Bump cross-platform-actions/action from 1.2.0 to 1.5.0 (#401)
build: Bump meson from 1.11.2 to 1.12.0 in /.github/requirements (#399)
build: Bump actions/setup-go from 6.4.0 to 7.0.0 (#404)
build: Rename release checksum manifest to checksums.sha256
build: Improve release verifiability and automation (#383)
doc: Fix hexdump examples
doc: Clean up Doxygen warnings and improve API documentation structure (#390) (#378)
doc: Rename CRC to checksum in documentation and code comments (#389)
misc: Enhances format testing and maintainability (#407)
misc: Formalize Developer Certificate of Origin requirements (#388)
misc: Enforce 10-minute timeout for CI jobs (#387)
misc: Drop the tag's "v" from the SBOM file name
[v0.13.3] - 2026-08-17#
api: Refine comments for improved clarity (#366)
perf: Optimizes decode offset validation and clarifies GHI format (#368)
cli: Add MSVC CLI build configuration and unzxc alias (#348)
build: Tag the Go submodule on release (#371)
build: Publish the WebAssembly build to npm (#372)
build: Update node.js wrapper dependencies
build: Bump scikit-build-core from 0.12.2 to 1.0.3 in /wrappers/python (#362)
build: Bump cibuildwheel from 4.1.0 to 4.1.1 in /wrappers/python (#360)
build: Bump setuptools-scm from 10.2.0 to 10.2.1 in /wrappers/python (#361)
build: Remove scheduled workflow trigger
build: Bump cc from 1.2.65 to 1.4.0 in /wrappers/rust (#355)
build: Bump thiserror from 2.0.18 to 2.0.19 in /wrappers/rust (#354)
build: Bump libc from 0.2.186 to 0.2.189 in /wrappers/rust (#357)
build: Bump vitest from 4.1.9 to 4.1.10 in /wrappers/nodejs (#358)
build: Reset dict_size in compression context (#351)
build: Prevent Windows static library linking failures (#350)
build: Modularize CMakeLists.txt into dedicated modules (#347)
doc: Update fuzzing status and details in README
fix: Ensure correct offset validation bounds for GHI decompression (ossfuzz #544800535) (#367)
fix: Enhance output buffer overflow checks during decompression (ossfuzz #546426939) (#369)
misc: Add PivCo-Huffman attribution for algorithm elements
misc: Bump meson from 1.11.1 to 1.11.2 in /.github/requirements (#363)
misc: Bump oss-fuzz-base/base-builder in /.clusterfuzzlite (#359)
misc: Bump cross-platform-actions/action (#365)
misc: Bump github/codeql-action/upload-sarif (#364)
misc: Bump actions/checkout from 6.0.2 to 7.0.1 (#356)
misc: Bump softprops/action-gh-release from 3.0.1 to 3.0.2 (#353)
misc: Bump actions/setup-python from 6.3.0 to 7.0.0 (#352)
[v0.13.2] - 2026-07-30#
fix: Fix typos
fix: Fix MSVC /arch + /wd4244 flags (wrapdb CI warnings) (#326)
perf: Extend code length nudging to level 6 (#343)
perf: Optimizes Huffman code lengths for faster PivCo decode (#336)
cli: Make project embeddable as a subproject (#338)
cli: Resolve compiler warnings (#342)
build: Format wrapper sources and guard it in CI (#330)
portability: Remove compiler-rt dependency for x86 CPUID (#339)
misc: Stage short RAW literal sections to prevent overread (#341)
misc: Reserve the trailing framing in the in-place bound (#337)
misc: Deduplicate the GLO/GHI decode loops (#328)
misc: Update npm dev dependencies to address alerts (#218) (#335)
misc: Remove duplicate SSE2/NEON FMV variants, drop -mfma, harden x86 dispatch gates (#331)
misc: Compile ISA-independent dict tree setup once, not per-variant (#327)
misc: Test the AVX-512 tier under Intel SDE instead of QEMU (#325)
[v0.13.1] - 2026-07-15#
api: Define zxc_lib_EXPORTS in Meson so the Windows DLL exports its API
misc: Require Meson >= 0.63.0 so c_std applies in subproject builds
doc: Update Option 6 to specify 'Winget' for installation
[v0.13.0] - 2026-07-14#
api: Refines code coverage reporting (#322)
api: Adds Level 7 (Ultra) compression to wrappers (#317)
api: ZXC format v7: PivCo Huffman, level 7 (ULTRA), space-speed selection, in-place decode (#315)
api: Bump node-addon-api from 8.8.0 to 8.9.0 in /wrappers/nodejs (#308)
api: Refines documentation and API option descriptions (#299)
api: Enhances code quality and analysis setup (#294)
perf: Optimizes compression and decompression performance (#319)
perf: Optimizes Huffman decoding and compression margins (#301)
cli: Refines CLI with progress, robust parsing, and file I/O (#318)
cli: Update README with zxc CLI installation option (#316)
cli: Enhances code quality and robustness across components (#296)
cli: Enhance README clarity and quick start
build: Upgrades Python build deps and fixes Rust linker (#323)
build: Bump pytest from 9.0.3 to 9.1.1 in /wrappers/python (#310)
build: Bump setuptools-scm in /wrappers/python (#311)
build: Bump cibuildwheel from 3.4.1 to 4.1.0 in /wrappers/python (#309)
build: Bump vitest from 4.1.7 to 4.1.9 in /wrappers/nodejs (#307)
build: Refines code style, type safety, and modernizes JS/Go wrappers (#297)
build: Refines CI/CD workflows and test stability (#292)
portability: Add OS and libc compatibility CI for musl Linux and FreeBSD (#291)
doc: Refactor LZ77 search loop conditions (#298)
doc: Update README badges
misc: Ignore vendors code in coverage reports
misc: Improves robustness and refines memory management (#321)
misc: Update lzbench benchmark source to v0.13.0
misc: Caches dict Huffman tree upon attach (#320)
misc: Bump actions/setup-python from 6.2.0 to 6.3.0 (#305)
misc: Bump oss-fuzz-base/base-builder in /.clusterfuzzlite (#312)
misc: Bump msys2/setup-msys2 from 2.31.1 to 2.32.0 (#304)
misc: Bump actions-rust-lang/setup-rust-toolchain (#306)
misc: Bump actions/attest-build-provenance from 4.1.0 to 4.1.1 (#303)
misc: Bump softprops/action-gh-release from 3.0.0 to 3.0.1 (#302)
misc: Refines code quality and addresses warnings (#295)
misc: Update bash conditional expressions to '[[ ... ]]' (#293)
misc: Statically define Meson project version and SOVERSION (#290)
[v0.12.0] - 2026-06-18#
api: Implements shared dictionary Huffman table (#275)
api: Enhances format validation (#271)
api: Overhauls dictionary fuzzer for robust testing (#270)
api: Adds comprehensive dictionary API to all wrappers (#269)
api: Introduces pre-trained dictionary compression (#261)
api: Bump node-addon-api from 8.7.0 to 8.8.0 in /wrappers/nodejs (#253)
api: Adds conformance test suite and improves empty frame handling (#246)
api: Harden decompressor buffer bounds checks (#229)
api: Introduces static context API for caller-managed workspaces (#242)
api: Adds custom reader interface for seekable archives (#240)
api: Adds seekable random-access decompression API (#224)
api: Internalizes Sans-IO API and frame primitives (#225)
perf: Optimize LZ run decoding for short offsets (#276)
perf: Add make target to run decoder conformance suite
perf: Improve Huffman leaf sorting with bucket sort (#244)
cli: Enable native wildcard expansion for CLI on Windows (#284)
cli: Adds unzxc alias and renames dictionary training option (#272)
cli: Remove Snyk policy ignore
cli: Addresses Snyk scan findings and improves robustness (#273)
cli: Adds native Meson build system support (#245)
build: Consolidate ClusterFuzzLite fuzzer builds and runs (#287)
build: Bump tar from 7.5.13 to 7.5.16 in /wrappers/nodejs (#286)
build: Bump vite from 8.0.14 to 8.0.16 in /wrappers/nodejs (#285)
build: Add GCC 15 and 16 to CI multi-compiler matrix (#274)
build: Update LZbench branch for benchmark workflow
build: Enables empty data compression/decompression (#265)
build: Update package descriptions
build: Introduce dedicated SSE2 SIMD optimization path for x86-64 (#259)
build: Enforces golden file format stability (#256)
build: Bump vitest from 4.1.6 to 4.1.7 in /wrappers/nodejs (#254)
build: Restrict SBOM generation to tag pushes
build: Add qemu cpu targeting for simd dispatch coverage (#238)
build: Bump cibuildwheel from 3.3.1 to 3.4.1 in /wrappers/python (#233)
build: Bump vitest from 4.1.5 to 4.1.6 in /wrappers/nodejs (#234)
build: Use upstream LZbench for benchmarks
build: Add automated ABI stability check workflow (#222)
build: Generates SBOM for GitHub releases (#226)
build: Automate CHANGELOG generation for releases (#220)
build: Standardizes release artifact structure and naming (#223)
build: Pins Python wrapper build dependencies (#221)
build: Pin Python wrapper dependencies with hashes (#219)
build: Strengthens CI/CD security and reliability (#218)
build: Updates Node.js and Rust wrapper CI & scope heavy workflows to source paths (#217)
portability: Abstracts memory and sorting for portability (#228)
doc: Enhance API documentation with full Doxygen comments (#280)
doc: Removes NUM block type and advances format to v6 (#264)
doc: Enhance README with specific decode performance claims
doc: Include README and add brief descriptions to Doxygen output
doc: Add format conformance and stability overview to README
doc: Add OpenSSF Scorecard badge to README
misc: Gate AVX2/AVX512 detection on OS-enabled YMM/ZMM state (#283)
misc: Support empty shared Huffman tables (#278) (#279)
misc: Update Codecov action to v7 (#267)
misc: Update Ubuntu version badge to 26.10
misc: Rename SBOM template to lowercase
misc: Define LZ77 search limit as symbolic constant (#262)
misc: Bump oss-fuzz-base/base-builder in /.clusterfuzzlite (#260)
misc: Accelerate LZ77 match finding with repeat offset seed @L6 (#257)
misc: Bump oss-fuzz-base/base-builder in /.clusterfuzzlite (#255)
misc: Add seekable random-access decompression to Python (#250)
misc: Bump github/codeql-action from 4.35.5 to 4.36.0 (#252)
misc: Pin Meson and Ninja dependencies with hashes (#204) (#251)
misc: Adjust decompressor output buffer tail padding (#249)
misc: Exclude conformance directory from Snyk Code scanning
misc: Move Doxyfile to docs directory (#243)
misc: Bump actions/attest-build-provenance from 3.0.0 to 4.1.0 (#232)
misc: Bump codecov/codecov-action from 6.0.0 to 6.0.1 (#231)
misc: Update ClusterFuzzLite base image and enable Dependabot (#230)
[v0.11.0] - 2026-05-13#
api: Increases default block size to 512 KB (#216)
api: Introduces Level 6 compression with Huffman literals (#208)
api: Add WHATWG TransformStream adapters and detectZxc utility (#211)
api: Add Go io.Reader/Writer adapters for zxc streams (#209)
api: Introduce push-based streaming API for non-blocking integrations (#204)
api: Harden block API: overflow fix, memory shrink, wrapper coverage (#198)
api: Integrates seekable API fuzzer (#196)
fix: Fix TSan data race between async writer and shutdown sentinel (#201)
perf: Introduce compression level 6 and tune default block size
perf: Update whitepaper with Decompression Bandwidth Frontier graph
perf: Refresh Apple M2 benchmark data and clarify effective throughput formula
perf: Update whitepaper and README with AMD EPYC 7763 benchmarks
perf: Update documentation with zxc v0.11.0 effective throughput benchmark
perf: Optimize LZ77 match finding for fast levels with tag-first filter (#215)
cli: Customize release artifacts with tailored README and manual
build: Adds LEVEL_DENSITY support to wrappers (#214)
build: Add std::io streaming adapters to Rust wrapper (#213)
build: Allow direct Emscripten module factory injection in WASM wrapper
build: Reverts LZbench source to upstream repository
build: Updates CI for Go ARM64 and Node.js 22 (#195)
doc: Remove Python scripts for benchmark chart generation
doc: Migrate benchmark figures to SVG format and streamline documentation
doc: Refine benchmark presentation and standardize documentation terminology
doc: Refresh v0.11.0 benchmark graphs and update documentation references
doc: Update README with current fuzzing iteration count
doc: Update whitepaper: streamline memory usage and remove ratio benchmarks
doc: Update documentation with zxc v0.11.0 benchmarks for Apple M2
doc: Update documentation with zxc v0.11.0 benchmarks for Apple M2
doc: Update whitepaper memory usage statistics
doc: Update documentation with zxc v0.11.0 benchmarks for Apple M2
doc: Update documentation with zxc v0.11.0 benchmarks for AMD EPYC 9B45
doc: Update documentation with zxc v0.11.0 benchmarks for Google Axion
doc: Update README memory usage statistics to reflect recent optimizations
doc: Add Node.js stream.Transform adapters and zxc frame detection (#212)
doc: Add Free Pascal community binding to README + EXAMPLES
doc: Adds Nim bindings to README and EXAMPLES
doc: Updates README with TurboBench verification details
doc: Updates README with architecture support and ARM performance details
doc: Updates formatting in README performance table
doc: Updates benchmark decompression cycles image for v0.10.0
doc: Updates benchmark performance metrics in documentation
misc: Add Python io.RawIOBase adapters and zxc magic detection (#210)
misc: Use named constants for compression level checks
misc: Bump mymindstorm/setup-emsdk from 14 to 16 (#206)
misc: Bump softprops/action-gh-release from 2 to 3 (#205)
misc: Remove PPA requirement for GCC on Ubuntu 22.04 in CI (#207)
misc: Harden decompression logic against integer overflows on 32-bits platforms (#202)
misc: Split monolithic tests (#200)
[v0.10.0] - 2026-04-16#
api: Adds Seekable API documentation and bumps SOVERSION to 3
api: Simplifies checksum selection and standardizes on RapidHash
api: Adds seekable archives for random access (#188)
api: Adds WebAssembly (WASM) support (#189)
api: Adds runtime library information API (#163)
api: Introduces enum for future pluggable hashing (#153)
api: Add block-level API for compression without file framing (#148)
api: Add clang-format integration and top-level Makefile (#147)
fix: Fixes CLI error handling and edge cases (#170)
perf: Refreshes benchmark performance metrics for competitor libraries
perf: Refreshes benchmark performance metrics in whitepaper
perf: Refreshes benchmark performance metrics in whitepaper
perf: Refreshes benchmark performance metrics in README
perf: Adds block size tuning guidelines and benchmarks to documentation
perf: Optimizes literal copying with a unified 32-byte fast path (#181)
perf: Optimizes LZ77 match finding with split hash table (#179)
perf: Optimizes core compression and decompression logic (#177)
perf: Optimizes block compression and decompression (#164)
perf: Improves workflows (#166)
perf: Enhances I/O buffering (#162)
perf: Optimizes log2 and enables BMI/LZCNT extensions (#159)
cli: Standardizes PGO and documents usage (#185)
cli: Refines stream engine for robustness (#146)
cli: Change default file extension to .zxc (#143)
cli: Updates CLI default checksum settings (#142)
build: Bumps WASM package version to 0.10.0
build: Updates workflow documentation in README
build: Updates README badge layout
build: Adds Windows ARM64 Build and Refines CI (#194)
build: Updates triggers for the WASM build workflow
build: Updates GitHub Actions documentation for WASM and security workflows
build: Update documentation for ZXC_DISABLE_SIMD
build: Add option to disable explicit SIMD code paths (#174)
build: Updates Xcode 26.4 path in CI workflows
build: Upgrade CI to macOS 26 and latest compilers (#169)
build: Update rand requirement from 0.9 to 0.10 in /wrappers/rust (#168)
build: Adds fuzzing coverage report workflow (#160)
build: Update benchmark suite
build: Expands security analysis and updates Go CI (#152)
build: Expands security analysis and updates Go CI (#151)
build: Adds official Go wrapper (#149)
build: Update security badges in README
build: Update lzbench source in benchmark workflow
doc: Updates status badges in README
doc: Updates benchmark methodology and performance claims in documentation
doc: Updates decompression efficiency benchmark graph to v0.10.0
doc: Refreshes benchmark data for v0.10.0 in documentation
doc: Updates benchmark data and hardware targets in documentation
doc: Updates version to 0.10.0 and refreshes benchmark data in documentation
doc: Updates benchmark environment details in documentation
doc: Refines varint decoding and match length (#186)
doc: Streamlines internal encoding and block size definitions (#175)
doc: Parameterizes lazy matching length threshold (#158)
doc: Add compression ratio benchmarks to the whitepaper
doc: Update benchmark graphs for version 0.9.0
misc: Updates Python publish runner to ubuntu-latest
misc: Defines ZXC_STATIC_DEFINE for Rust sys-crate build
misc: Defines versioning policy and error handling requirements
misc: Defines versioning policy and error handling requirements
misc: Refactors varint encoding and hash variables for clarity (#183)
misc: Hardens decompression overflow checks with padding margin (#146) (#178)
misc: Bump codecov/codecov-action from 5 to 6 (#167)
misc: Factorize decompression macros to consolidate copy logic (#150)
misc: Exclude hard-to-test error paths from code coverage
misc: Rename pkg-config module from zxc to libzxc (#144)
misc: Cache context variables locally in encoder blocks (#141)
[v0.9.1] - 2026-03-16#
fix: Fix CLI parsing and adds block size option (#140)
doc: Add tar integration instructions to README
[v0.9.0] - 2026-03-15#
api: Add flexible block sizes options and reusable contexts (#138)
cli: Update license headers and add SPDX identifier
build: Use upstream lzbench and shallow clone in benchmark workflow
doc: Update documentation for sticky options in reusable contexts
doc: Add Homebrew installation instructions to README
doc: Add Homebrew packaging status badge to README
doc: Update README with installation instructions and packaging status
doc: Add Conan installation section in README (#136)
doc: Update documentation
misc: Update benchmark images for 0.9.0
misc: Configures corpus storage for fuzzing CI (#139)
misc: Implement direct decompression fast path (#135)
[v0.8.3] - 2026-03-06#
build: Add compiler compatibility CI workflow (#134)
[v0.8.2] - 2026-03-05#
api: Optimizes fuzzers for buffer API and memory reuse (#126)
fix: Fix file handle leak in CLI benchmark (#132)
cli: Resource management and enforces thread limits (#131)
cli: CLI: enhances robustness and resource handling (#130)
misc: Refine output file closing logic to avoid closing stdout (#133)
misc: Prevents out-of-bounds memory access (#129)
[v0.8.1] - 2026-03-01#
build: Updates wrapper versions and refactors ABI versioning
build: Adds Node.js wrapper badge
[v0.8.0] - 2026-03-01#
api: Adds Node.js wrapper for zxc compression (#107)
api: Refactors error handling with errors codes, improves docs and benchmark CLI (#103)
fix: Fixes CLI benchmark deadline calculation (#116)
fix: Fix potential buffer overflows, decoder underflows, and path handling issues (#105)
fix: Fixes typos in documentation
perf: Optimizes Node.js wrapper builds and CI
perf: Optimize LZ77 hashing strategy and standardize hash table configuration (#106)
cli: Adds recursive directory mode (#112)
cli: Enforces const correctness for local variables (#110)
build: Adds CI support for Alpha architecture (#122)
build: Wrapper Python: closes file handles in stream tests (#115)
build: Updates benchmark branch
build: Wrapper Python: exposes C error constants and enhances error reporting (#111)
build: Adds vcpkg installation instructions
build: Adds multi-arch support for more architectures
doc: Refresh benchmark results for zxc 0.8.0
doc: Adopts dual-scale encoding for chunk size (#118)
doc: Standardizes block unit and chunk size logic (#114)
doc: Replaces benchmark PNG images with WebP
doc: Adds zxc command man page
doc: Implement LZ offset bias (+1) to eliminate zero-offset attack vectors (#104)
doc: Update README with additional package badges
doc: Updates README with TL;DR
doc: Adds vcpkg badge to README
misc: Bump actions/download-artifact from 7 to 8 (#121)
misc: Bump actions/upload-artifact from 6 to 7 (#120)
misc: Refactors path handling for robustness (#119)
misc: Revert "Standardizes block unit and chunk size logic (#114)" (#117)
misc: Clarifies rapidhash component license
misc: Adds file format specification
misc: Refine introduction wording.
misc: Add comprehensive ZXC file format spec with byte-level structures and worked hexdump example
[v0.7.3] - 2026-02-18#
fix: Fix workfows builds
build: Moves rapidhash.h to vendor directory
misc: Finds rapidhash via system or vendored fallback
misc: Use lzbench master branch
[v0.7.2] - 2026-02-16#
fix: Fix warning for AVX2/AVX512 macro redefinition in native mode build (#94)
[v0.7.1] - 2026-02-14#
fix: Fixes potential out-of-bounds read in decompression (#92)
doc: Updates documentation
misc: Specifies Release config for /O2 flag (#93)
misc: Uses zxc-add-0.7.x branch of lzbench fork
[v0.7.0] - 2026-02-13#
fix: Fix potential out-of-bounds read (static analysis) (#89)
cli: Adds JSON output option for CLI (#88)
build: Refactors multiarch CI to use Debian containers (#91)
build: Enables big-endian architecture support (#86)
[v0.6.3] - 2026-02-11#
api: Add shared library support with BUILD_SHARED_LIBS option (#81)
fix: Fix rust version test
fix: Fix whitepaper links to graphs
build: Improves workflows and wrapper builds (#85)
build: Updates binding package names (#84)
build: Add Python wrapper (#75)
doc: Update bindings docs
misc: Add edge case tests (#83)
misc: Add Rust support to CodeQL security analysis and fix config path filtering. (#82)
[v0.6.2] - 2026-02-09#
fix: Fixes Rust wrapper build for cargo publish (#69)
cli: Addresses vulnerabilities and input validation into CLI (#77)
cli: Enables code coverage and configures thresholds
cli: Adds test for decompressed size function (#73)
cli: Enables code coverage reporting (#72)
build: Reverts to official LZbench repository
build: Wrapper Rust: improves compression/decompression handling (#70)
doc: Move WHITEPAPER to docs folder
misc: Add snyk config file
misc: Updates license headers and contributing guidelines (#76)
misc: Updates contribution guidelines
misc: Adds TODO list for future development
[v0.6.1] - 2026-02-06#
api: Adds Rust wrapper for ZXC compression (#68)
misc: Corrects bit reader initialization (#67)
[v0.6.0] - 2026-02-05#
api: Improves compression, ratio and data integrity (#65)
build: Update vendors workflow
build: Automatic update of rapidhash.h (#59)
build: Adds workflow to update rapidhash.h
build: Refactors CI workflows and removes SDE testing (#56)
doc: Adds brotli to lzbench benchmark (#58)
misc: Bump peter-evans/create-pull-request from 7 to 8 (#64)
misc: Adds funding file
[v0.5.1] - 2026-01-22#
fix: Fixes ARM32 compilation (#55)
cli: Enhances CLI input/output security (#52)
cli: I/O security, Bit Packing improving and code cleanup (#51)
misc: Enables NEON32 support (#54)
misc: Bump softprops/action-gh-release from 1 to 2 (#53)
[v0.5.0] - 2026-01-20#
fix: Fix benchmark graph to reflect v0.5.0
perf: Improves compression with rapidhash integration and new GHI block format (#43)
build: Implements runtime CPU feature dispatch (#50)
build: Enhances code quality and security checks
build: Updates benchmark workflow
doc: Improves RLE and vbyte encoding (#45)
doc: Updates copyright year
misc: Adds bounds checks to decode block (#49)
misc: Applies size mask to section sizes
misc: Refactors RLE token handling for clarity
misc: Removes release template file
misc: Updates copyright year
[v0.4.0] - 2026-01-07#
perf: Variable offsets, optimized parsing & layout (#23)
[v0.3.3] - 2026-01-06#
fix: Fixes buffering issues with stdin and stdout (#37)
portability: Set binary mode for standard streams (#39)
[v0.3.2] - 2026-01-05#
cli: Updates build system and CI configuration (#24)
build: Add CI with multi-arch builds + dependabot (#30)
build: Improves file handling and code robustness (#28)
build: Configures CodeQL with config file (#27)
build: Adds CodeQL security analysis (#26)
misc: Bump actions/checkout from 4 to 6 (#31)
misc: Bump actions/upload-artifact from 4 to 6 (#32)
misc: Bump actions/download-artifact from 4 to 7 (#35)
misc: Bump actions/cache from 4 to 5 (#33)
misc: Bump github/codeql-action from 3 to 4 (#34)
misc: Replaces not operator for branchless evaluation. (#29)
[v0.3.1] - 2025-12-27#
doc: Add community bindings to readme (#21)
doc: Update documentation
misc: Flush stdout buffer before exit when using -c flag (#22)
[v0.3.0] - 2025-12-26#
perf: Improves compression and decompression (#18)
build: Configures fuzzing workflows for multiple targets
misc: Use -1..-5 as compression levels (#16)
misc: Add short options to help, version (#15)
[v0.2.0] - 2025-12-19#
api: Updates include path in fuzz test
api: Restructure public headers to provide a "sans-IO" API (#9)
fix: Fixes potential buffer overflow in decompression
fix: Fix fuzzers names
perf: Optimize hot path
cli: Updates includes for buffer and constants
build: Removes 'candidate' branch from CI workflows
build: Improves decompression robustness and fixes bugs
misc: Initializes memory block after allocation
misc: Suppresses cppcheck false positive
misc: Refactors compression context buffer management
misc: Reduces memory usage of chain table
misc: Reduces thread contention in stream engine
misc: Refactors file closing and adds benchmark mode
misc: Updates atomic type definition
misc: Improves fuzzing and stream handling
misc: Adds checks to prevent buffer overflows
misc: Remove duplicate docs from *.c files
misc: Updates fuzzing schedule
misc: Adds size check for raw blocks
misc: Adds capacity check to avoid buffer overflow
misc: Adds bounds check for bits value
misc: Prevents buffer overflows during decompression
misc: Moves buffer allocation for I/O performance
misc: Removes unused memory freeing
misc: Signals reader on I/O error in async writer
misc: Updates I/O error flag to atomic type
misc: Refactors fuzzing tests for better coverage
misc: Format code
[v0.1.2] - 2025-12-17#
fix: Fixes potential null pointer dereference
doc: Adds parameter documentation
misc: Adds more unit tests
misc: Removes redundant file pointer check
misc: Adds input validation to prevent crashes
[v0.1.1] - 2025-12-17#
build: Adds name to fuzzing job for clarity
build: Enhances fuzzing workflow with manual control
build: Updates fuzzing workflow concurrency group
build: Adds fuzzing infrastructure with ClusterFuzzLite
doc: Update README
misc: Quotes cron expression for fuzzing schedule
misc: Prevents potential buffer overruns
misc: Adds zstd_fast to benchmark
misc: Use official lzbench repo for benchmarks
[v0.1.0] - 2025-12-15#
api: Update API documentation
api: Enhances C/C++ integration with examples
fix: Fixes CRC32 detection for SSE4.2 (#6)
fix: Fixes compilation on Windows
perf: Optimizes decompression for ARM64
build: Removes path restrictions on workflows
build: Updates concurrency group key for workflows
build: Excludes Markdown files from CI triggers
build: Updates benchmark branch
build: Adds CI workflows for code quality and benchmarks
doc: Initializes the ZXC compression library
misc: Adds NEON 32-bit support (#3)
misc: Adds code ownership using CODEOWNERS
misc: Documenting SIMD Instructions
misc: Improves code readability
misc: Adds initial contribution guidelines
misc: Adds initial implementation of ZXC library
misc: Adds the project license
misc: Initial commit