Skip to content

v1.1.0

Choose a tag to compare

@chriskyfung chriskyfung released this 25 Dec 07:16
· 41 commits to master since this release
v1.1.0
5d51ec4

What's Changed

Added

  • A new --add-instapaper-url command-line argument to include a full, clickable URL for each article in the output.

Changed

  • Developer Experience & Tooling:
    • Migrated development tools from black to ruff for formatting and linting, and integrated pre-commit hooks to automate code quality checks.
    • Configured the mypy pre-commit hook to only run on the src/ directory to improve performance.
  • Testing:
    • Added comprehensive tests for API and authentication error handling to improve robustness.
    • Configured Codecov with new project and pull request coverage targets.
  • Output & Export:
    • The output filename extension is now automatically corrected based on the selected format (e.g., providing --output my-file.txt --format csv will result in my-file.csv).
    • CSV output is now fully RFC 4180 compliant, with all fields quoted to improve compatibility with spreadsheet applications.
    • SQLite output is optimized to use a generated column for the instapaper_url on modern SQLite versions (>=3.31.0), with a fallback for older versions to ensure compatibility.
  • Robustness & Error Handling:
    • Improved the CLI's resilience by adding robust error handling to gracefully manage exceptions during the file-saving process.
    • Enhanced the API client's robustness in handling malformed HTML and network errors, particularly for rate-limiting (HTTP 429) scenarios.
  • Internal Refactoring:
    • Restructured internal constants management into a centralized and more organized architecture, improving code clarity and maintainability.
  • Documentation:
    • Updated project badges in README.md for clarity and correctness.

Fixed

  • Improved type safety and robustness across the codebase.

Full Changelog: v1.0.0...v1.1.0