Summary
In preparation for 1.0 release logging categories where changed/removed and this could break some frontends and user config files.
Reorganized Logging Categories
The last few cascading logging categories have been removed, replaced by errors, events and debug_trace.
Development Funding
Current development relies on donations, and as such is highly appreciated.
Donations make futher development possible, and as such are highly appreciated:
- Paypal
- Patreon
- SubscribeStar
- Bitcoin: 1MpmXm5AHtdBoDaLZstJw8nupJJaeKu8V8
- Ethereum: 0x9AB1e3C3d8a875e870f161b3e9287Db0E6DAfF78
- Litecoin: LdyaVR67LBnTf6mAT4QJnjSG2Zk67qxmfQ
- Cardano: addr1qytaslmqmk6dspltw06sp0zf83dh09u79j49ceh5y26zdcccgq4ph7nmx6kgmzeldauj43254ey97f3x4xw49d86aguqwfhlte
What's Changed
Bug Fixes / Cleanup / Improvements
- Reimplement torrent::Rate with a per-second ring buffer by @rakshasa
- Removed old LOG_TORRENT_* categories and replaced with LOG_TORRENT_{D… by @rakshasa
- Make storage logging categories non-cascading by @rakshasa
- Make general severity log categories non-cascading by @rakshasa
- Removed log_subsystem to simplify the logging API. by @rakshasa
- Optimize Piece queues by using unorderd_map with linked list. by @rakshasa
- Never keep more requests in flight to one peer than it queues by @silasmariusz and @fffe by @fffe
- Refuse a zero info hash in download_add() as invalid input by @IvanShift
- Erase NetworkConfig's pending change notification on destruction by @IvanShift
- Return an invalid Download from download_find() for an unknown hash by @IvanShift
- Add fd_flag_v6 so fd_open_family() opens AF_INET6 without an IPv4 fal… by @IvanShift
- Remove leftover downloads before torrent::cleanup() destroys the threads by @IvanShift
- Pause the listener when accept() runs out of descriptors instead of throwing by @silasmariusz
- Add string_utf8 text objects that treat control characters as binary by @IvanShift
- Let the clang-tidy comment workflow check out fork pull requests by @IvanShift
- Close eventfd descriptors in ~EventFd() by @IvanShift
- Run the clang-tidy job on ubuntu-26.04 by @IvanShift
- Added missing header by @PPN-SD
- Parse multicall commands once per call by @davidscottpope-gif
- Removed old LOG_TORRENT_* categories and replaced with LOG_TORRENT_{D… by @rakshasa
- Collapse cascading log levels into LOG_ERRORS / LOG_EVENTS / LOG_DEBUG_TRACE by @rakshasa
- Align logging calls with libtorrent API by @rakshasa
- Update example configuration files to align with wiki template by @LastElaphine
- Add
session.umask.setto configure session file permissions by @rakshasa - Clear a stale hash check message after a complete hash check by @IvanShift
- Report open errors from the quick hash check by @noctuum
- Pause the SCGI listener when accept() runs out of descriptors instead of throwing by @silasmariusz
- Abort loading a torrent when file_split_all() fails by @IvanShift
- Save session data once on shutdown, before waiting for stopped announces by @IvanShift
- Let the clang-tidy comment workflow check out fork pull requests by @IvanShift
- Use the string_utf8 text objects in the *.or_base64 and *.or_as_binary commands by @IvanShift
- Install libcppunit-dev in the clang-tidy job by @IvanShift
- Build out of tree so clang-tidy sees changed src lines by @IvanShift
- Add support for session umask by @MarkusLange
- Name the unit test workflow "Unit tests" by @IvanShift
- Clear a stale Hashing failed message on open by @noctuum