New
- Telegram notification plugin: queued, batched messages for added, finished and removed torrents (#3274)
- Seedingtime fills a missing time from rTorrent's own finished time (#3526)
Data safety
- Erasedata keeps files that another loaded torrent still uses: cross-seeds, a pack and one of its files,
symlinks (#3523) - "Delete Path" keeps its flag with httprpc enabled (#3525)
- Edit and Retrackers no longer delete the download's tied .torrent file (#3518)
Paths with a quote or a backslash
- Edit (#3509), Source (#3516), Retrackers (#3524) and Dump (#3527) find the torrent file
- XMLRPC faults are told apart from values that contain "faultCode" (#3521)
rTorrent 0.16
- Retrackers waits for the session copy rTorrent 0.16 writes later (#3528)
- d.check_hash works through the XMLRPC proxy (#3522)
Other fixes
- 32-bit PHP: torrent integers past 2 GiB (#3512), and the PHP suite runs on 32-bit in CI (#3520)
- _task: kills only a task's own tree, and quotes the task's path for sh (#3506, #3519)
- AutoTools Move keeps pointing at its data when the label is its folder (#3501, #3515)
- Feeds show rTorrent's strings unescaped, names that are not UTF-8, and the tracker status (#3510, #3517)
- fastResume refuses a torrent it cannot read instead of throwing (#3511)
- The mobile page survives a settings save that holds its lock (#3507)
- The CPU load graph keeps only the last three minutes (#3513)
- UTF::display() stays correct under PHP 8.1's tracing JIT (#3502)
- The log keeps O_APPEND, opening r+b only when ab is refused (#3505)
Development
- PHP formatted to PER Coding Style 3.0 and checked by PHP-CS-Fixer in CI (#3503), with git blame pointed past
the formatting commits (#3504) - Test-suite umask fix (#3508)
What's Changed
- Php per cs formatting by @xirvik in #3503
- Point git blame at the formatting commits on master by @xirvik in #3504
- _task: kill a task's tree only while its pid still runs the task by @IvanShift in #3506
- FileUtil: keep O_APPEND in toLog() and open r+b only when ab is refused by @IvanShift in #3505
- Keep an AutoTools Move pointed at its data when the label is its folder by @IvanShift in #3501
- edit: find the torrent file when its path holds a quote or a backslash by @IvanShift in #3509
- feeds: print rTorrent's strings unescaped and show the tracker status by @IvanShift in #3510
- fastResume: refuse a torrent it cannot read instead of throwing by @IvanShift in #3511
- fix decode_integer for 32-bit systems by @kaloyan13 in #3512
- Pass the PHP test suite on 32-bit PHP, and run it in CI by @xirvik in #3520
- mobile: keep the page while the settings save holds its lock by @IvanShift in #3507
- UTF: keep display() right under PHP 8.1's tracing JIT by @IvanShift in #3502
- tests: clear the owner's bits of the umask the PHP suite runs under by @IvanShift in #3508
- cpuload: keep only the last three minutes in the status bar graph by @Heliedan in #3513
- autotools: read the label as move.php does and compare it as a folder by @IvanShift in #3515
- source: find the zipped torrent files when their paths hold a quote or a backslash by @IvanShift in #3516
- feeds: show a name, label or comment that is not UTF-8 by @IvanShift in #3517
- edit, retrackers: do not delete the download's tied .torrent file by @IvanShift in #3518
- _task: quote a task's path for sh, keep a task its kill left running by @IvanShift in #3519
- Tell an XMLRPC fault from a value that contains "faultCode" by @IvanShift in #3521
- xmlrpc proxy: add sanitization exception for d.check_hash by @notfirecc in #3522
- retrackers: find the torrent file when its path holds a quote or a backslash by @IvanShift in #3524
- ttprpc: stop dropping the flag of erasedata's "Delete Path" by @IvanShift in #3525
- erasedata: keep the files another loaded torrent still uses by @IvanShift in #3523
- Telegram Notification Plugin by @drrako in #3274
- seedingtime: fill a missing time from the finished time by @xirvik in #3526
- dump: find the torrent when its path holds a quote or a backslash by @xirvik in #3527
- retrackers: wait for the session copy rtorrent 0.16 writes later by @xirvik in #3528
- Bump version to 5.3.22 by @xirvik in #3529
New Contributors
- @kaloyan13 made their first contribution in #3512
- @notfirecc made their first contribution in #3522
Full Changelog: v5.3.21...v5.3.22