Skip to content

Releases: aioue/any.down

anydown 1.4.0

02 Apr 17:42

Choose a tag to compare

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 --watch and rotate_client_id in 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 --watch mode after 3 consecutive sync failures
  • feat: detect non-interactive environments and fail gracefully
  • docs: document --watch mode and rotate_client_id config option

1.3.0

22 Mar 19:11

Choose a tag to compare

Bug Fixes

  • Fixed double 2FA verification email being sent on every login — _handle_2fa_interactive was calling _trigger_2fa_email a second time after login() 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_id in session.json so each run presents as the same device to Any.do, reducing unnecessary 2FA challenges
  • Add rotate_client_id config option (default false) to opt into generating a fresh client ID on every run
  • Add --watch mode for continuous background syncing — keeps running and syncs on a recurring schedule
    • --watch-interval sets the base interval in minutes (default: 90)
    • --watch-jitter sets random ± variation per interval (default: ±10 min) to avoid a predictable cadence
  • Migrated to uv with pyproject.toml
  • Restructured codebase into src/anydown package layout
  • Added duplicate task finder (anydown-dupes)
  • Added Docker and container orchestration support
  • Improved error handling and code quality throughout

1.2.0

13 Jul 00:19

Choose a tag to compare

Improvements

  • Fixed sync behavior to perform full sync when changes detected
    • Now mimics browser behavior: changes → complete refresh
  • Maintains efficiency with change detection + full sync pattern
  • Enhanced documentation and user messaging

1.0.0

12 Jul 22:37

Choose a tag to compare

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