Skip to content

Releases: jjjake/internetarchive

Version 5.8.0

18 Feb 22:54
cfc55fa

Choose a tag to compare

Features and Improvements

  • Rewrote PostDataAction in CLI to accept both JSON strings and key:value format.
    Previously only JSON was accepted; now key:value pairs are also supported.
  • Added "can be specified multiple times" hints to repeatable CLI flags.
  • Standardized CLI help text capitalization across all subcommands.

Bugfixes

  • Fixed CLI argument parsing bug where nargs="+" on options like --header,
    --metadata, and --format would greedily consume subsequent positional
    arguments (e.g. the identifier). Changed to nargs=1 with repeated flags.
  • Fixed mutable default={} bug in custom argparse actions (PostDataAction,
    QueryStringAction, MetadataAction, FlattenListAction) that caused state
    leakage when parsers were reused across multiple invocations.
  • Fixed RecursionError caused by socket.connect being monkey-patched on every
    ArchiveSession instantiation. Each new session would wrap the already-patched
    function, causing infinite mutual recursion after ~980 sessions. The patch is now
    applied once at module import time
    (#746 <https://github.com/jjjake/internetarchive/issues/746>_).

v5.7.2

29 Jan 21:28

Choose a tag to compare

+++++++++

Features and Improvements

  • Added support for appending a custom suffix to the User-Agent string.
    The default User-Agent (including access key) is always sent to ensure
    proper request tracking.

    Example: With user_agent_suffix = MyApp/1.0, the full User-Agent becomes:
    internetarchive/5.7.2 (Darwin x86_64; N; en; ACCESS_KEY) Python/3.9.0 MyApp/1.0

    • CLI: ia --user-agent-suffix "MyApp/1.0" <command>
    • Config file: user_agent_suffix = MyApp/1.0 in [general] section
    • Python API: get_session(config={'general': {'user_agent_suffix': 'MyApp/1.0'}})

Bugfixes

  • Fixed bug where metadata append was not working correctly when source metadata field was a list, and failing with obscure messages in some cases.
  • Fixed inverted logic for --download-history flag in ia download where passing the flag would ignore history files instead of downloading them (#735 <https://github.com/jjjake/internetarchive/issues/735>_).

Version 5.7.1

29 Oct 16:49

Choose a tag to compare

Bugfixes

  • Explicitly set Content-Type header in account API requests.
    This header wasn't being set in some cases and caused some requests to fail.

Version 5.7.0

17 Oct 17:50

Choose a tag to compare

Bugfixes

  • Fixed critical bug in ia delete --glob and ia delete --format where all files were being deleted regardless
    of the glob pattern. This bug was introduced in version v5.4.1 (2025-07-16).
  • More metadata insert bugfixes and refactoring.

Version 5.6.1

14 Oct 16:51

Choose a tag to compare

Bugfixes

  • Fixed bug where metadata insert was clobbering and indexed modify writes were inserting.

Version 5.6.0

10 Oct 17:49

Choose a tag to compare

Bugfixes

  • Fixed bug in ia download where identifier was needlessly being validated and blocking some items from being downloaded.
  • Fixed regression in ia download --stdout where directories were being created.

Features and Improvements

  • Added support for the Retry-After HTTP header to improve handling of rate-limited API responses.
  • Added support for configuring IA-S3 keys via IA_ACCESS_KEY_ID and IA_SECRET_ACCESS_KEY environment variables.
  • Added headers parameter to internetarchive.files.File.download() for adding custom headers to download requests.
  • Improved Windows filename sanitization.

Version 5.5.1

05 Sep 18:34

Choose a tag to compare

Security

  • Fixed a critical directory traversal vulnerability in File.download(). All users are urged to upgrade immediately. This prevents malicious filenames from writing files outside the target directory, a risk especially critical for Windows users.
  • Added automatic filename sanitization with platform-specific rules.
  • Added path resolution checks to block directory traversal attacks.
  • Introduced warnings when filenames are sanitized to maintain user awareness.

Please see the security advisory for more details.

Bugfixes

  • Fixed bug in JSON parsing for ia upload --file-metadata ....

Version 5.5.0

17 Jul 21:09

Choose a tag to compare

Features and Improvements

  • Added --parameters option to ia metadata.

Version 5.4.1

16 Jul 17:23

Choose a tag to compare

Features and Improvements

  • Stop setting scanner on upload per policy change.

Bugfixes

  • Fixed bug where REMOVE_TAG was not working with indexed keys.
  • Fixed argument validation and option parsing in ia download.

Version 5.4.0

30 Apr 22:47

Choose a tag to compare

Features and Improvements

  • Added --print-auth-header option to ia configure.

Bugfixes

  • Corrected behavior of ia_copy to avoid dropping path prefixes, fixing ia_move to properly delete moved files in subdirectories (via :gh:693).
  • Fixed bug where hardcoded test comment was being sent with every request.
  • Fixed issue where ia reviews --index/--noindex only worked for configured user.