2.0.12 released
- fix issue where file priorities could be cleared by force recheck
- fix issue in XML parser
- when building against OpenSSL, require at least version 1.1.1
- add setting to set no-copy-on-write flag on new files
- add performance counters to file pool
- add high_priority flag to torrent_handle::force_reannounce()
- update default DSCP value and update docs
- fix python binding for set_notify_function()
- fix error handling in mmap disk I/O when hashing files
- improve copy_file_range() fallback
- don't overwrite existing files when renaming
- add option to send host header in HTTP proxy CONNECT command
- cache DNS failures for a shorter time
- file_renamed_alert is always posted, regardless of alert mask
- add feature to request resume data synchronously
- don't leak file descriptors to child processes (O_CLOEXEC)
- optimize the utp resend
- optimize tracker announcements
- fix handling of invalid filenames
- add support for I2CP inbound.lengthVariance and outbound.lengthVariance tunnel settings
- add natpmp_gateway setting to manually set the default gateway for the NAT-PMP protocol
What's Changed
- fix publish to pypi by @arvidn in #7836
- fix warning in posix_storage and TORRENT_RVO by @arvidn in #7846
- fix assert in bdecode.cpp by @arvidn in #7857
- fix handling of invalid filenames by @arvidn in #7858
- cirrus: Bump freebsd image by @xavier2k6 in #7861
- Bump numerous pre-commit-hook revisions by @xavier2k6 in #7863
- cibuildwheel: Migrate away from deprecated input by @xavier2k6 in #7862
- cirrus: Increment freebsd image by @xavier2k6 in #7870
- AppVeyor: Bump python to 3.8 by @xavier2k6 in #7887
- silence clang warning on BSD build image by @arvidn in #7899
- Suppress msvc C5054 warning by @Chocobo1 in #7888
- Fix arguments of dispatched functions cannot be actually moved by @glassez in #7873
- Optimizations by @arvidn in #7916
- support find_torrent() for v2 torrents by @arvidn in #7921
- Utp resend optimization by @arvidn in #7931
- GHA CI - Windows: Explicitly use
windows-latestby @xavier2k6 in #7932 - Don't leak file descriptors to child processes by @Chocobo1 in #7937
- Python bindings: Revise supported python versions by @xavier2k6 in #7939
- enable android.cloexec check in clang-tidy by @arvidn in #7941
- update ChangeLog by @arvidn in #7944
- Fix use after move by @glassez in #7957
- Improve loading sparse merkle tree by @glassez in #7956
- Add inbound and outbound tunnels length variance in i2p stream settings. by @ljfp in #7942
- Fix wrong variable in CMake by @Chocobo1 in #7951
- PEP 621 Compliance - Add
name&versionfields topyproject.tomlby @xavier2k6 in #7955 - update set_version.py to update pyproject.toml by @arvidn in #7966
- install openssl before building the wheel by @arvidn in #7970
- Bump some pre-commit-hook revs by @xavier2k6 in #7968
- Add ability to get resume data synchronously by @glassez in #7869
- add documentation and changelog entry for get_resume_data() by @arvidn in #7972
- file_renamed_alert by @arvidn in #7975
- cache DNS failures for a shorter time by @arvidn in #7976
- New clang warnings by @arvidn in #7977
- improve error handling in parse_info_section() by @arvidn in #7984
- update manylinux docker scripts by @arvidn in #7971
- add option to send host header in HTTP proxy CONNECT command by @arvidn in #7710
- fix warnings by @arvidn in #7991
- Fix use after move by @glassez in #7997
- fix stack_allocator to fail gracefully when running out of memory by @arvidn in #7998
- bump boost to 1.88 on CI by @arvidn in #7986
- cache stack_allocator's allocation of torrent name by @arvidn in #8000
- improve stack_allocator oom handling by @arvidn in #8002
- GHA CI: bumped
checkoutaction tov5by @xavier2k6 in #8009 - add test for torrent with two invalid directory names by @arvidn in #8010
- don't link against libboost_system explicitly by @arvidn in #8030
- avoid replacing files when renaming by @arvidn in #8028
- Fix backslash handling in filenames on non-Windows systems by @cocopaw in #8014
- fix build issues when disabling i2p support by @arvidn in #8029
- Bump
setup-pythonaction of linux workflow by @xavier2k6 in #8032 - cirrus: Update
freebsd imagetofreebsd-14-3. by @xavier2k6 in #8068 - make copy_file_range() fall back if it fails with ENOSYS by @arvidn in #8071
- search Program Files/OpenSSL/ for OpenSSL on windows runners by @arvidn in #8076
- fix mmap disk I/O error handling when hashing files by @arvidn in #8070
- bump python to 3.14 in MacOS CI by @arvidn in #8075
- update default DSCP value and update docs by @arvidn in #8072
- Update pre-commit-config workflow by @xavier2k6 in #8046
- fix MingW CI workflow by @arvidn in #8078
- fix issue causing CI to run out of disk space by @arvidn in #8081
- Disable SSL3 by @arvidn in #8079
- add high_priority flag to tracker announcements by @arvidn in #8054
- GHA CI: Bump multiple
actionrevs by @xavier2k6 in #8077 - Use Boost 1.90.0 in Windows CI by @xavier2k6 in #8085
- update boost-build links in build documentation by @arvidn in #8094
- enable libc++ hardening with debug-iterators=on by @arvidn in #8095
- fix warning in test_transfer by @arvidn in #8098
- fix simulate slow read by @arvidn in #8097
- modernize run_benchmark and parse_session_stats python scripts by @arvidn in #8101
- Also build & test with newer OS version (10) in Windows CI by @xavier2k6 in #8100
- fix broken request latency measurement by @arvidn in #8102
- fix
run_benchmark.pyby @arvidn in #8105 - add performance counters to file pool by @arvidn in #8106
- in client_test, print performance counters to a separate file by @arvidn in #8107
- add new setting disk_disable_copy_on_write by @arvidn in #8103
- improve parse_session_stats to split long runs into 1-hour slots by @arvidn in #8115
- fix no-copy-on-write flag setting by @arvidn in #8116
- when building against OpenSSL, require at least version 1.1.1 by @arvidn in #8114
- fix issue in XML parser by @arvidn in #8130
- another XML parser edge case by @arvidn in #8134
- Improve compatibility with C++23 by @Chocobo1 in #8136
- fix premature seed detection in is_seed() by @peterdrier in #8122
- Fixed Python CI paths and deprecations by @qstokkink in #8142
- added python 314 compatibility by @HavenCTO in #8138
- disable disk_disable_copy_on_write by default by @database64128 in #8146
- remove bad invariant check by @arvidn in #8148
- Add RC_2_0 Python type stubs by @qstokkink in #8007
- support for overriding the NAT-PMP gateway by @arvidn in #8154
- send host in CONNECT by @arvidn in #8155
- Bump python version to latest available on AppVeyor image by @xavier2k6 in #8157
- improve doc comment for disk_disable_copy_on_write by @database64128 in #8158
- Disable DTLS 1.0, TLS 1.0 and TLS 1.1 by @xavier2k6 in #8163
- Update pre-commit related workflows by @xavier2k6 in #8167
- fixed incorrect RC_2_0 Python types by @qstokkink in #8180
- Backport by @arvidn in #8188
- preserve file priorities when force-recheck re-creates the piece picker by @arvidn in #8200
- reject invalid tracker urls by @vafada in #8202
- strip lib-prefix and .a-suffix from library dependencies in the gener… by @arvidn in #8203
- bump version to 2.0.12 by @arvidn in #8204
New Contributors
- @ljfp made their first contribution in #7942
- @cocopaw made their first contribution in #8014
- @peterdrier made their first contribution in #8122
- @HavenCTO made their first contribution in #8138
- @database64128 made their first contribution in #8146
- @vafada made their first contribution in #8202
Full Changelog: v2.0.11...v2.0.12