Changed the PyPI downloads badge links in all README translations and documentation from pypi.org to pypistats.org for more accurate download statistics.
A link to the technical analysis article 'Deep Dive into tzst: A Modern Python Archiving Library Based on Zstandard' has been added to the introduction section of all language README files to provide readers with more detailed information about the project.
Added uv as a recommended installation method alongside pip in all README translations. Removed the note about downloading standalone binaries and using uvx for command line usage for brevity and consistency.
Adjusted the expected error message in the test for invalid compression level to match the new format, specifying that the value must be an integer between 1 and 22.
Introduces CLAUDE.md to provide architecture overview, development commands, code quality checks, build instructions, key features, and testing patterns for the tzst Python library. This file is intended to guide contributors and AI assistants working with the repository.
Introduces a SECURITY.md file detailing supported versions, security features, best practices for safe archive extraction, vulnerability reporting procedures, and development security practices for the tzst project.
Introduces a helper to ensure the archive path shown in CLI output matches the final file created, mirroring the extension logic from core.py. This improves user clarity by displaying the correct archive filename before and after creation.
Introduced _move_file_cross_platform to handle file moves across drives, especially on Windows where rename may fail. Updated archive extraction logic to use this utility, ensuring robust file operations during extraction and conflict resolution.
Standardized the naming convention for downloadable binaries across all documentation and translated README files. The new format uses 'tzst-{version}-{platform}-{arch}.zip' (e.g., 'tzst-{version}-linux-amd64.zip') for all platforms and architectures, replacing the previous inconsistent patterns.
Replaced 'x86_64' and 'aarch64' with 'amd64' and 'arm64' for consistency in architecture naming. Updated macOS 'os_name' to 'darwin' and removed 'v' prefix from artifact filenames to standardize naming conventions. Adjusted related conditions and paths in the workflow.
Replaced relative paths for the logo image with absolute URLs pointing to the GitHub repository. This ensures the logo is correctly displayed across all localized README files.
Updated the PyInstaller commands in the CI workflow to include a custom icon (`docs/_static/favicon.ico`) for all binary builds. This ensures the binaries have a consistent branding across platforms.
Added a centered logo and a link to the documentation in all README files across multiple languages. This enhances the visual presentation and provides direct access to the project's documentation.
Refactored error handling, added default behaviors for unknown resolutions, and improved documentation for unsupported modes. Enhanced memory efficiency and compatibility in archive operations, streamlined extraction logic, and validated compression levels more effectively.
Updated compression level validation to use a fallback max level if the zstandard constant is unavailable. Added checks to ensure paths are not None before file operations in the extract_archive function, improving robustness and preventing potential errors.
Enhanced error handling and validation in TzstArchive methods, including better checks for file object initialization and compressed stream creation. Updated compression level validation to use dynamic max level from zstd library. Simplified and clarified comments and error messages for unsupported modes and extraction operations.