Repository navigation
v4.3.0
Platforms: linux, windows
Changes in v4.2.4..v4.3.0:
- release: v4.3.0
- test(ipfilter): documentation addresses in the tests
- fix(ui): fit a column to its badges, not only to its text
- fix(linkscan): publish the stored hardlink summary before the settle
- fix(delete): keep the files another torrent reads
- fix(ui): a column turned on showed at 0px; double-click a grip to fit all
- fix(api): set location keeps a trailing space in the folder name
- fix(ui): the Trackers tab on a phone, one card per row
- fix(ui): two cards per row on the overview
- feat(workflows): move files to a folder, add trackers
- fix(ui): categories in alphabetical order, whatever their case
- feat(ui): sortable, reorderable peer lists in the detail panels
- feat(workflows): run a workflow when a torrent is added
- fix(import): qBittorrent and Transmission imports, ported for real
- docs: one comparison, at the scale Hydranos is built for
- feat(overview): seed size per tracker, and the space it takes on disk
- feat(hoard): one ratio definition, and Hardlinks / Checked columns
- fix(ui): the hoard search box keeps one line and a usable width
- fix(tags): read one torrent's tags the way every reader does
- feat(ui): a progress panel for bulk actions
- fix(counters): count the session from bytes moved, not lifetime sums minus marks
- fix(workflows): tag one torrent by reading its row, not the engine's
- docs(conformance): BEP 47 in its place
- feat(v2): BitTorrent v2 torrents, and pad files that stay off the disk
- feat(add): watched folders
- feat(net): an IP filter, lists and bans
- feat(magnets): magnet links, end to end
- feat(workflows): a webhook action
- feat(trackers): UDP trackers, BEP 15 with BEP 41
- test(workflows): the recheck, the hour and the restart, locked down
- feat(workflows): run when a download completes
- fix(categories): stop offering the routing 4.x never applied
- feat(torrents): set location without a category; optional Save Path column
- fix(trackers): the per-tracker pass runs on a blocking thread; warn at 5 s
- fix(trackers): name the torrent in the errors dialog; one line when v4 and v6 agree
- feat(trackers): a tracker's errors open on a click, in its own words
- feat(trackers): real per-tracker figures, bucketed chart, compacted history
- perf(trackers): per-tracker stats read only what they show
- feat(announce): race like qBittorrent + autobrr, without crossing a tracker's floor
- fix(announce): tracker conformance an operator can check -- and interop to prove it
- perf(store): 64 MB page cache for the writer, set writes in lots of 10 000
- perf(selection): store-only actions are one write, not a request per torrent
- feat(selection): every selection action takes a filter
- feat(export): download a selection as .torrent files, hashes or CSV
- docs: a README for a million torrents
- fix(links): resolve a torrent's files from the engine's save path
- fix(workflows): a pass no longer holds the store writer; free space only when asked
- feat(workflows): a hardlink index kept in the background; no stopped announce on boot
- feat(ui): a search that does not shake the list; three more reads off the writer
- perf(store): WAL, a read connection, logged lock holds; resolve hashes by range
- perf(move): scan for shared files in slices across threads
- fix(store): stop holding the store for twelve minutes an hour; cheaper move checks
- perf(list): a page in a fifth of a second at a million torrents
- fix(announce): a 429 does not trip the breaker
- fix(announce): a rise that bought nothing is taken back, no more
- fix(announce): a cut that does not bring latency down makes it the new normal
- feat(announce): pace announces per tracker, Vegas-style
- fix(announce): size the pool for the torrents joining and the ones already late
- feat: agent endpoint, real category moves, adaptive announcing