Vertopal CLI v2.2.0 Release Notes

Release Date: 2025-11-27 // 7 months ago
  • ✨ Added

    • 🆕 New API exceptions (TooManyRequestsError, FreeAppLimitedError, DisabledForFreeAppError, WrongFormatStructureError, InvalidFormatError).
    • ⚡️ Public Config class with support for in-memory runtime overrides (update, clear_overrides, get).
    • Masking of sensitive values (e.g., API tokens) in string representations.
    • 🔦 Exposed Config at the top-level package for external usage.

    🛠 🐛 Fixed

    • Improved _ChunkedFileWrapper to rewind file streams before upload, preventing EMPTY_FILE errors and truncated uploads. Added __len__, __iter__, and __next__ methods for better streaming client compatibility and chunk iteration.
    • Improved JSON response detection in vertopal.api.interface._Interface.send_request
      to correctly handle Content-Type headers with parameters (e.g. application/json; charset=utf-8).

    Full Changelog: v2.1.0...v2.2.0


Previous changes from v2.1.0

  • ✨ Added

    • 👌 Support for configurable upload and download chunk sizes:
      • New settings: stream_upload_chunk_size and stream_download_chunk_size (fall back to stream_chunk_size if unset).
      • New _ChunkedFileWrapper internal utility to enforce fixed chunk sizes during streaming.
      • New _Interface.upload_chunk_size and _Interface.download_chunk_size properties to resolve effective chunk sizes.
      • API.upload_file now accepts an optional chunk_size parameter, defaulting to configuration values.

    🛠 🐛 Fixed

    • 🛠 Fixed _ChunkedFileWrapper.read(-1) to return the full file instead of a single chunk, preventing truncated uploads for binary files.
    • Corrected send_request JSON validation logic to check the Content-Type header instead of endpoint path, preventing errors when handling binary responses (e.g., file downloads).
    • Explicitly use .value for InterfaceStrategyMode and InterfaceSublistMode to ensure consistent string output across Python versions (avoiding f-string differences introduced after Python 3.10).

    🛠 Changed

    • 🔨 Refactored type hints to use built-in generics (list, dict, and tuple) instead of typing.List, typing.Dict, and typing.Tuple.
    • ⚡️ Updated README installer instructions to use a unified endpoint for macOS and Linux (https://run.vertopal.com/cli/unix).

    Full Changelog: v2.0.3...v2.1.0