Skip to content

v0.4.0

Choose a tag to compare

@goshitsarch-eng goshitsarch-eng released this 11 Apr 16:23
· 6 commits to main since this release

Added

  • Recursive HTTP directory mirroring behind the recursive-http feature flag
  • discover_http_recursive() and add_http_recursive() engine APIs
  • Recursive boundary types: RecursiveOptions, RecursiveManifest, RecursiveJob, TrackedRecursiveJob, RecursiveJobStatus, and RecursiveJobEvent
  • Recursive parent job lifecycle APIs: list_recursive_jobs(), recursive_job(), cancel_recursive_job(), remove_recursive_job(), and subscribe_recursive_jobs()
  • Dedicated recursive parent event stream separate from DownloadEvent
  • SQLite schema v4 support for persisted tracked recursive jobs
  • Regression coverage for HTTP limiter accounting, mirror failover, magnet preference retention, live config updates, and recursive parent-job behavior

Changed

  • Recursive HTTP child downloads now reuse the standard HTTP pipeline while carrying redirect-scope and fail-fast runtime metadata through persistence/restart
  • Runtime configuration updates now propagate to live HTTP bandwidth limits and download queue concurrency
  • Torrent downloads now derive runtime transport, webseed, and scheduling settings from EngineConfig::torrent

Fixed

  • Recursive enqueue is now transactional: if child creation fails partway through, already-added children are rolled back instead of being left orphaned
  • Recursive redirect scope is enforced during discovery, child downloads, and resumed child downloads restored from storage
  • HTTP rate limiting now charges exact byte counts instead of incorrect fixed-size chunks
  • Per-download HTTP mirrors and max_connections are now wired into execution
  • Resume now preserves priority, checksum, and mirrors
  • Magnet selected_files and sequential preferences now persist until metadata is available
  • Torrent webseed, transport policy, and encryption settings are now wired through without regressing plaintext/TCP defaults
  • Recursive HTTP child downloads no longer deadlock in Queued during state-transition updates

Documentation

  • Updated the README, technical spec, and recursive design/checklist docs to match the current shipped recursive feature set and remaining follow-up work