Highlights
New features
- Added a resizable torrent details panel with torrent information and file progress. Double-click a torrent to open it.
- Added watch folders for automatically uploading new
.torrentfiles. - Added reusable, server-specific download locations that can be selected when adding torrents.
- Added support for changing the download location of existing torrents on compatible clients.
- Added a system tray option so Electorrent can continue running after its window is closed.
- Added upload options for magnet links and expanded options across supported clients, including speed limits, peer limits, start state, sequential downloading, and save location.
- Added a collapsible torrent sidebar with compact label and tracker menus.
- Added confirmation before deleting torrents.
Improvements and fixes
- Added a convenient Settings button to the torrent page.
- External links now open in the system browser.
- Improved sorting by torrent progress and status.
- Improved layouts, navigation spacing, label menus, and torrent list scrolling.
- Fixed Deluge v2 magnet-link support.
- Fixed torrent uploads attempted while the client connection was still starting.
- Bundled fonts locally so icons and text no longer depend on Google Fonts.
- Fixed torrent-client icons and several settings-page display issues.
What's Changed
- chore(deps-dev): bump fast-uri from 3.0.6 to 3.1.2 by @dependabot[bot] in #449
- chore(deps-dev): bump fast-xml-builder from 1.1.4 to 1.2.0 by @dependabot[bot] in #448
- chore(deps-dev): bump axios from 1.15.0 to 1.16.0 by @dependabot[bot] in #447
- chore(deps): bump ip-address and socks by @dependabot[bot] in #446
- chore(deps-dev): bump fast-xml-parser from 5.5.11 to 5.7.3 by @dependabot[bot] in #443
- Feature/remove bower by @tympanix in #452
- fix: macos, quit when last window closed by @tympanix in #453
- refactor: angularjs directives to components by @tympanix in #454
- fix: update readme shield anchors to be inline by @dvuvud in #445
- refactor: angularjs page controller to directives by @tympanix in #455
- refactor: angularjs views to components by @tympanix in #456
- chore(deps-dev): bump @xmldom/xmldom from 0.8.12 to 0.8.13 by @dependabot[bot] in #442
- refactor: angularjs filters to classes by @tympanix in #457
- refactor: src into main, renderer electron structure by @tympanix in #458
- refactor: rename main.js for main, app.ts for ui renderer by @tympanix in #459
- refactor: replace gulp tasks with webpack plugins by @tympanix in #460
- refactor: use webpack webfonts-loader by @tympanix in #461
- refactor: electron ipc for main process logic by @tympanix in #462
- fix: avoid error notification on startup when no argc by @tympanix in #463
- fix: avoid file path traversal using ipc by @tympanix in #464
- refactor: bittorrent clients to main and renderer ipc by @tympanix in #465
- Refactor
src/mainto TypeScript and compile typed Electron main-process modules by @Copilot in #467 - feat: add settings page test suite and fix Server.prototype.equals regression by @Copilot in #470
- test: fix wdio session/window leak by @tympanix in #471
- refactor: canonical modal directive by @tympanix in #473
- refactor: merge src/common into src/shared by @Copilot in #474
- Add Copilot setup workflow for Electorrent by @Copilot in #475
- refactor: main ipc handlers to ipc.ts by @tympanix in #469
- refactor: remove legacy preload subscriptions by @Copilot in #466
- test: setting page test cases by @tympanix in #477
- fix: dropdown directive title update render by @tympanix in #478
- fix(tsconfig): restrict ambient types to prevent implicit plist compilation error by @Copilot in #479
- refactor: menu ipc; state ownership moved to main by @Copilot in #481
- feat: upgrade electron v42; fix webpack vendor bundle by @tympanix in #472
- Remove unused shared type declarations by @Copilot in #485
- Set up ESLint for TypeScript linting by @Copilot in #484
- Refactor config modules to settings by @Copilot in #482
- Align Electron webpack and TypeScript targets with process runtimes by @Copilot in #486
- refactor: migrate CommonJS modules to ESM by @Copilot in #487
- feat: delete confirmation modal for torrents by @tympanix in #488
- Introduce TS path aliases for main, renderer, and shared modules by @Copilot in #490
- feat: enable WebdriverIO autoXvfb by @Copilot in #489
- chore: switch root tooling to ESM and replace
.mjsconfigs with.jsby @Copilot in #491 - test: harden flaky test failures by @tympanix in #498
- feat: webpack bundle semantic ui styles/themes by @tympanix in #494
- chore(deps-dev): bump qs from 6.14.2 to 6.15.2 by @dependabot[bot] in #497
- chore(deps-dev): bump @tootallnate/once from 2.0.0 to 2.0.1 by @dependabot[bot] in #496
- feat: add settings button to torrents page by @tympanix in #499
- feat: magnet link upload options by @tympanix in #501
- feat: system tray, run in background by @tympanix in #500
- fix: bundle woff fonts instead of google fonts online by @tympanix in #502
- test: add deluge v2 test suite by @tympanix in #504
- fix: deluge v2 magnet link support by @tympanix in #505
- fix: torrent list sort by progress and status text by @tympanix in #506
- feat: upload options, save location by @tympanix in #507
- refactor: merge api client packages into repo by @tympanix in #509
- feature: torrent set location action by @tympanix in #510
- feat: torrent details panel by @tympanix in #511
- chore(deps-dev): bump tmp from 0.2.5 to 0.2.7 by @dependabot[bot] in #512
- fix: server selecton page + test case by @tympanix in #513
- fix: use flex container for actions + search by @tympanix in #514
- feat: ui quality of life improvements by @tympanix in #515
- feat: generalize column sorting directive by @tympanix in #516
- fix: resolve lint violations by @tympanix in #517
- feat: torrent watch folder automatic uploads by @tympanix in #518
- feature: extend upload options for clients by @tympanix in #519
- feat: torrent menu collaped layout by @tympanix in #521
- fix: label selection flyout menu, overflow by @tympanix in #522
- feat: torrent save locations in settings by @tympanix in #524
- fix: settings layout sort icon by @tympanix in #525
- refactor: IRootScopeService type definition, modal refs by @tympanix in #526
- fix: torrent list infinite scroll limit by @tympanix in #527
- fix: torrent client font icons by @tympanix in #528
- refactor: webpack build, avoid url rewrites by @tympanix in #529
New Contributors
Full Changelog: v2.9.0...v2.10.0