v1.1.0
What's Changed
Added
- A new
--add-instapaper-urlcommand-line argument to include a full, clickable URL for each article in the output.
Changed
- Developer Experience & Tooling:
- Migrated development tools from
blacktorufffor formatting and linting, and integratedpre-commithooks to automate code quality checks. - Configured the
mypypre-commit hook to only run on thesrc/directory to improve performance.
- Migrated development tools from
- 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 csvwill result inmy-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_urlon modern SQLite versions (>=3.31.0), with a fallback for older versions to ensure compatibility.
- The output filename extension is now automatically corrected based on the selected format (e.g., providing
- 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.mdfor clarity and correctness.
- Updated project badges in
Fixed
- Improved type safety and robustness across the codebase.
Full Changelog: v1.0.0...v1.1.0