Skip to content

Changelog

All notable changes to this project are documented in the CHANGELOG.md file on GitHub.


Latest Releases

v1.3.25 (2026-03-06)

  • Improved: load_archive from URL no longer loads the file into RAM, reducing memory consumption. Instead, the data is efficiently downloaded in chunks to a temporary file for loading.

v1.3.24

  • Improved: Moved internal _openers variable to module level, eliminating per-call dictionary allocation.
  • Improved: loader by caching isinstance(line, bytes) check, evaluating only once instead of per iteration.
  • Improved: dump_archive worker using os.makedirs(exist_ok=True) to eliminate race conditions and reduce syscalls.
  • Improved: Streamlined dump function by combining isinstance(file, (str, os.PathLike)) check with os.fspath.
  • Improved: Removed redundant iter() call and improved _looks_like_url code structure for better readability.

v1.3.23

  • Changed: Documentation - Use zensical instead mkdocs for documentation generation.

v1.3.22

  • Improved documentation examples for json.dump and json.load keyword arguments.
  • Enabled additional ruff linting rules and passed all checks.
  • Enhanced docstrings with full sphinx-linter compliance.

v1.3.21

  • Added sphinx-linter and pymport linters to CI/CD pipeline.
  • Updated README.md badges for better visibility.

v1.3.20

  • Added support for Python 3.14.

v1.3.19

  • Improved compression detection: load_archive and load now use magic-number detection as fallback.

v1.3.18

  • Replaced deprecated urllib.request.urlretrieve with modern alternative.

v1.3.17

  • load_archive now supports loading directly from URLs.
  • Added acceptance tests for URL-based loading with a local HTTP server.

v1.3.16

  • load now supports loading directly from URLs.
  • dump_archive and dump_fork now accept pathlib.Path objects.

v1.3.14

  • Added dump_archive function for writing archives.

v1.3.13

  • Added load_archive function for reading archives.
  • Reached 100% test coverage.

For the complete history, see the full changelog on GitHub.