What's Changed
- test: seed torrents with aria2 by @tympanix in #648
- test: add rtorrent 0.16.x fixture by @tympanix in #646
- test: cover queued torrent uploads by @tympanix in #657
- docs: add 'mochaOpts.grep' to AGENTS.md by @tympanix in #654
- feat(qbittorrent): show moving status by @tympanix in #655
- fix: reuse downloaded application updates by @tympanix in #656
- ci: remove test retry action by @tympanix in #658
- build: macos local network usage desc by @tympanix in #660
- test: cover manual software updates by @tympanix in #661
- chore(deps-dev): bump ws from 8.20.1 to 8.21.0 by @dependabot[bot] in #659
- fix: delete rtorrent data directly by @tympanix in #649
- fix: navigate torrent table with arrow keys by @tympanix in #669
- fix: submit modal forms on Enter by @tympanix in #667
- feat: extend selection with shift arrows by @tympanix in #670
- fix: consume launch arguments once by @tympanix in #674
- fix: toggle focused dropdown with space by @tympanix in #673
- feat: add delete-with-data shortcut by @tympanix in #668
- feat: select torrent location from saved paths by @tympanix in #672
- feat: improve client connection errors by @tympanix in #665
- fix(test): make generated torrents private by @tympanix in #675
- test: generate slow torrents at runtime by @tympanix in #676
- fix(upload): guard torrent submission by @tympanix in #677
- feat: add upload file selection by @tympanix in #639
- feat: add label colors by @tympanix in #666
- chore: update package-lock.json by @tympanix in #678
- chore: simplify label color texts by @tympanix in #679
- feat: expand label color picker by @tympanix in #680
- feat(qbittorrent): group queue actions by @tympanix in #681
- refactor: remove dead settings exports by @tympanix in #684
- refactor(types): tighten IPC boundaries by @tympanix in #686
- feat(ui): default to overflow resizing by @tympanix in #687
- feat(menu): unify title menu model by @tympanix in #685
- feat: add hierarchical torrent file selection by @tympanix in #682
- refactor: isolate torrent details tabs by @tympanix in #688
- refactor(settings): centralize defaults by @tympanix in #689
- refactor(clients): make registries exhaustive by @tympanix in #690
- refactor(settings): type persisted store by @tympanix in #694
- refactor(ipc): split torrent detail requests by @tympanix in #695
- feat(ui): improve torrent info layout by @tympanix in #692
- fix(ui): align torrent files headers by @tympanix in #693
- fix: blank unavailable torrent size by @tympanix in #705
- feat(details): add torrent peers tab by @tympanix in #702
- feat: add torrent trackers details tab by @tympanix in #701
- feat: compact torrent details tabs by @tympanix in #703
- refactor(styles): colocate directive less by @tympanix in #699
- test(details): cover peers tab, fix rtorrent peers by @tympanix in #707
- fix(details): stabilize peer and tracker tables by @tympanix in #708
- feat(menu): add torrent actions menu by @tympanix in #704
- feat(details): copy info values by @tympanix in #709
- refactor(details): isolate tab data loading by @tympanix in #710
- chore(deps-dev): bump axios from 1.16.0 to 1.18.1 by @dependabot[bot] in #706
- style(details): reduce max height of tabs by @tympanix in #713
- fix(menu): position title menu submenus by @tympanix in #711
- chore(deps-dev): bump fast-uri from 3.1.2 to 3.1.4 by @dependabot[bot] in #714
- test(mock): cover search actions servers by @tympanix in #712
- fix(packaging): include geoip runtime dependency by @tympanix in #717
- test: run CI against packaged app by @tympanix in #718
- test(wdio): retry flaky Mocha tests by @tympanix in #719
- fix(torrent-details): restore table scrolling by @tympanix in #720
Full Changelog: v2.13.2...v2.14.0