Releases: aioue/any.down
Releases · aioue/any.down
anydown 1.4.0
Highlights
- Watch mode: ntfy.sh notifications on failures and on first successful sync after startup; exit after 3 consecutive sync failures.
- CLI: Detect non-interactive environments and fail gracefully instead of hanging.
- Docs: Document
--watchandrotate_client_idin config.
Commits since v1.3.0
- feat: send ntfy notification on first successful watch sync
- feat: add ntfy.sh notification support for watch mode failures
- feat: exit
--watchmode after 3 consecutive sync failures - feat: detect non-interactive environments and fail gracefully
- docs: document
--watchmode androtate_client_idconfig option
1.3.0
Bug Fixes
- Fixed double 2FA verification email being sent on every login —
_handle_2fa_interactivewas calling_trigger_2fa_emaila second time afterlogin()had already triggered it - Fixed HTTP retry adapter retrying POST requests on 5xx responses, which could silently fire additional 2FA emails; retries are now limited to idempotent methods (GET, HEAD, OPTIONS)
- Fixed 2FA login returning a prompt for the code even when the trigger returned 403 — now fails immediately with a clear error message
Improvements
- Persist
client_idinsession.jsonso each run presents as the same device to Any.do, reducing unnecessary 2FA challenges - Add
rotate_client_idconfig option (defaultfalse) to opt into generating a fresh client ID on every run - Add
--watchmode for continuous background syncing — keeps running and syncs on a recurring schedule--watch-intervalsets the base interval in minutes (default: 90)--watch-jittersets random ± variation per interval (default: ±10 min) to avoid a predictable cadence
- Migrated to
uvwithpyproject.toml - Restructured codebase into
src/anydownpackage layout - Added duplicate task finder (
anydown-dupes) - Added Docker and container orchestration support
- Improved error handling and code quality throughout
1.2.0
1.0.0
Features
- Session-based authentication with 2FA support
- JSON and Markdown export formats
- Incremental sync to reduce server load
- Network optimizations (connection pooling, caching, compression)
- Change detection for selective file generation
- Command-line interface with configuration options