chore(deps): update dependency hellobertrand/zxc to v0.7.3#13
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
chore(deps): update dependency hellobertrand/zxc to v0.7.3#13renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #13 +/- ##
=======================================
Coverage 81.06% 81.06%
=======================================
Files 3 3
Lines 169 169
=======================================
Hits 137 137
Misses 17 17
Partials 15 15 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
3ee2927 to
5af7271
Compare
5af7271 to
bcc2827
Compare
bcc2827 to
e3f438b
Compare
e3f438b to
559cafc
Compare
11aaa2f to
92f6420
Compare
92f6420 to
e74352a
Compare
e74352a to
5094282
Compare
5094282 to
60d734d
Compare
60d734d to
fc3a77c
Compare
3a7df24 to
b33722c
Compare
b33722c to
bb35c60
Compare
bb35c60 to
9e869e9
Compare
9e869e9 to
5796042
Compare
5796042 to
6abdc6d
Compare
6abdc6d to
0f3ef68
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.3.1→v0.7.3Release Notes
hellobertrand/zxc (hellobertrand/zxc)
v0.7.3: ZXC v0.7.3Compare Source
Release Notes
This release fix the vcpkg integration by moves the
rapidhash.hheader file to a dedicated vendor directory to improve project structure and dependency management.This change ensures better organization of external libraries and avoids potential naming conflicts. It also updates related build configurations, code analysis workflows, and coverage settings to reflect the new file location.
Changes
rapidhash.hto vendors directory #101rapidhashvia system or vendored fallback #102Full Changelog: hellobertrand/zxc@v0.7.2...v0.7.3
v0.7.2: ZXC v0.7.2Compare Source
Release Notes
This release fix a minor warning when zxc is build with ZXC_NATIVE_ARCH option to ON onto x86 architectures.
Bug Fixes & Safety
Full Changelog: hellobertrand/zxc@v0.7.1...v0.7.2
v0.7.1: ZXC v0.7.1Compare Source
Release Notes
This release focuses on hardening the decompression engine with safety checks and fix build for vcpkg port
Bug Fixes & Safety
Full Changelog: hellobertrand/zxc@v0.7.0...v0.7.1
v0.7.0: ZXC v0.7.0Compare Source
Release Notes
This release brings first-class big-endian architecture support, a new machine-readable JSON output mode for the CLI, and targeted safety fixes, making ZXC more portable, scriptable, and robust across platforms.
Changes
Big-Endian Architecture Support
ZXC now correctly compresses and decompresses data on big-endian systems. This is a foundational portability milestone.
multiarch.ymlworkflow with tiered architecture support via QEMU emulation:Tier 1: Core architectures
Tier 2: Extended Linux architectures
Tier 3: Experimental and old architectures
zxc_compress_boundandzxc_get_decompressed_sizenow return uint64_t instead of size_t to prevent overflow on platforms with smaller size_t.JSON Output for CLI
The CLI now supports structured JSON output for seamless integration with scripts and pipelines.
--json/-jproduce machine-readable JSON for all info commands.list,benchmark, andtest(integrity check) all emit JSON output.Bug Fixes & Safety
zxc_le_partialto prevent potential buffer overflow whenn > sizeof(uint64_t). Resolves-Wstringop-overflowcompiler warnings on GCC.Full Changelog: hellobertrand/zxc@v0.6.3...v0.7.0
v0.6.3: ZXC v0.6.3Compare Source
Release Notes
This release expands the library's reach with with official Python bindings, and Rust bindings, shared library support and significant CI/CD improvements. This release focuses on making ZXC accessible to more developers across more languages and build systems, while strengthening testing and security analysis coverage.
Thanks
Special thanks to @nuberchardzer1 for implementing and adding the Python bindings.
Changes
Shared Library Support
BUILD_SHARED_LIBSCMake option to build ZXC as a shared library (.so/.dylib/.dll)zxc_export.h: only public API symbols are exportedfind_package(zxc)) and pkg-config support for easy integrationPython Wrapper
compress,decompress,get_decompressed_size) and streaming API (stream_compress,stream_decompress)scikit-build-core+ CMake, version managed bysetuptools_scmpytest(buffer round-trip, streaming, corruption detection, edge cases)wheel.packages= ["src/zxc"] topyproject.tomlto ensure init.py is included in wheels. Previously, only the C extension was packaged, causing AttributeError on all wrapper functions.pyzxc_stream_compressandpyzxc_stream_decompress, resolving SystemError: returned NULL without setting an exception.Rust Wrapper
zxc-compressandzxc-compress-sysfor consistency with the Python packageCore Library
_M_ARM64check).Testing & Security
Full Changelog: v0.6.2...v0.6.3
v0.6.2: ZXC v0.6.2Compare Source
Release Notes
This commit addresses several minor issues in main.c, including potential buffer overflows in getopt_long, input validation for iteration and thread counts, improved error handling during file reads, and a path traversal vulnerability. It also adds casts to avoid potential overflows or compiler warnings.
Bug Fixes
CLI
getopt_longby ensuring the lengths of option names match exactly during comparison.zxc_validate_input_pathto prevent path traversal vulnerabilities when opening input files. The unlink call now uses resolved_in_path.Unit tests
Impact
Full Changelog: v0.6.1...v0.6.2
v0.6.1: ZXC v0.6.1Compare Source
Release Notes
This is a maintenance release focusing on core stability and correctness of the decompression engine. It addresses a critical initialization edge case in the bit reader logic.
Bug Fixes
Bit Reader Initialization: Fixed an improper initialization of the bit reader's valid bit count. When processing input sources smaller than 8 bytes, the reader now correctly caps the valid bits. This prevents potential out-of-bounds reads and ensures stability when handling very small or truncated data blocks.
Full Changelog: v0.6.0...v0.6.1
v0.6.0: ZXC v0.6.0Compare Source
Release Notes
This release introduces a major evolution of the file format (v4) centered on robust data integrity with comprehensive block and global checksums. It significantly upgrades the user experience by adding an archive listing command (
-l), a dedicated integrity check (-t), and a visual progress bar with modern unit formatting. Under the hood, the core engine has switched to Prefix Varint encoding for improved efficiency.Breaking Changes
This release introduces Format Version 4, with a new 16-byte header, Prefix Varint encoding, and mandatory footer structures. Files compressed with v0.6.0 are NOT compatible with older versions, and v0.6.0 cannot decompress files created by previous versions. You must re-compress your data to migrate to this new format. This overhaul establishes a robust baseline, and maintaining format stability is now a primary goal moving forward.
Features
Performance & Compression
New File Format and Core Engine
-t(--test) flag to verify the integrity of an archive without writing decompressed output.CLI & Usability
-l(--list) and-lv(--list --verbose) commands to inspect archive contents, compression ratios, and internal block details.zxc_stream_compress_exAPI allowing developers to hook into progress callbacks.Full Changelog: v0.5.1...v0.6.0
v0.5.1: ZXC v0.5.1Compare Source
Release Notes
Version v0.5.1 hardens file I/O security CLI, add tests for CLI interface, while enhancing bit manipulation precision via improved input masking.
Code Quality
Full Changelog: v0.5.0...v0.5.1
v0.5.0: ZXC v0.5.0Compare Source
Release Notes
Version 0.5.0 is bringing major architectural improvements that significantly enhance both compression ratio and decompression speed.
Breaking Changes
New Block Format: GHI (High-Velocity)
Multi-Algorithm Checksum Support
Implements runtime CPU feature dispatch
Adds runtime CPU feature detection and dispatches optimized functions for compression and decompression based on available CPU features (AVX2, AVX512, NEON).
Removes the need for separate AVX2/AVX512 build targets, simplifying the build process and enabling dynamic selection of the most efficient implementation at runtime.
Performance Improvements
Decompression Speed
Compression Efficiency
Technical Changes
Code Quality & Architecture
Build & Maintenance
LICENSE
Full Changelog: v0.4.0...v0.5.0
v0.4.0: ZXC v0.4.0Compare Source
Version 0.4.0 is bringing major architectural improvements that significantly enhance both compression ratio and decompression speed.
Changes
Optimizations & Core Logic
File Header Format
chunk_size / 4096)0= Legacy 256KB (backward compatible)64= 256KB (default)Performance Improvements
Download Guide
Build Selection
zxc-linux-x86_64.tar.gzzxc-windows-x64.exe.zipzxc-linux-x86_64-avx2.tar.gzzxc-windows-x64-avx2.exe.zipzxc-linux-x86_64-avx512.tar.gzzxc-windows-x64-avx512.exe.zipzxc-linux-aarch64.tar.gzzxc-macos-arm64.tar.gzUnsure? Use the generic x86-64 build for universal compatibility.
CPU Feature Detection (x86)
Performance
Build from Source
For optimal CPU-specific performance:
Enables
-march=nativefor maximum SIMD utilization.Full Changelog: hellobertrand/zxc@v0.3.3...v0.4.0
v0.3.3: ZXC v0.3.3Compare Source
This release focuses on CLI stability and I/O performance optimizations, resolving issues with archive consistency across different output targets.
Changes
stdout(Issue #36).setvbufhandling to ensure safe teardown and flushing of I/O streams across all platforms (Linux, Windows, macOS).stdinandstdoutby @tansy & @hellobertrand in #37Acknowledgments
A special thank you to @tansy for identifying the archive size discrepancy and providing the comprehensive test case required for reproduction and verification.
Download Guide
Build Selection
zxc-linux-x86_64.tar.gzzxc-windows-x64.exe.zipzxc-linux-x86_64-avx2.tar.gzzxc-windows-x64-avx2.exe.zipzxc-linux-x86_64-avx512.tar.gzzxc-windows-x64-avx512.exe.zipzxc-linux-aarch64.tar.gzzxc-macos-arm64.tar.gzUnsure? Use the generic x86-64 build for universal compatibility.
CPU Feature Detection (x86)
Performance
Build from Source
For optimal CPU-specific performance:
Enables
-march=nativefor maximum SIMD utilization.Full Changelog: hellobertrand/zxc@v0.3.2...v0.3.3
v0.3.2: ZXC v0.3.2Compare Source
Improvements
Better file handling (#28)
Performance optimizations (#29)
CI/CD
CodeQL security analysis (#26, #27)
Build system modernization (#24)
Add multi-arch builds (#30)
Dependabot Github Actions updates
Download Guide
Build Selection
zxc-linux-x86_64.tar.gzzxc-windows-x64.exe.zipzxc-linux-x86_64-avx2.tar.gzzxc-windows-x64-avx2.exe.zipzxc-linux-x86_64-avx512.tar.gzzxc-windows-x64-avx512.exe.zipzxc-linux-aarch64.tar.gzzxc-macos-arm64.tar.gzUnsure? Use the generic x86-64 build for universal compatibility.
CPU Feature Detection (x86)
Performance
Build from Source
For optimal CPU-specific performance:
Enables
-march=nativefor maximum SIMD utilization.Full Changelog: hellobertrand/zxc@v0.3.1...v0.3.2
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.
This PR was generated by Mend Renovate. View the repository job log.