github ikatson/rqbit v9.0.0

5 hours ago

rqbit 9

Recap of the the most major changes since rqbit 8:

There's TONS of smaller changes, perf improvements etc.

Changes since beta.2:

What's Changed

  • feat(webui): add keyboard shortcuts by @ikatson in #536
  • fix: preserve tracker's built-in passkey query parameter when adding private torrents by @aji-555 in #542
  • feat: SHA-256 foundation + BEP 52 error types by @meatsquirk in #562
  • [DOCKER] Fix HOME env variable for podman by @lilianm in #573
  • Systemd socket activation by @Stebalien in #505
  • Add configurable client identity for HTTP User-Agent and peer handshakes by @libalpm64 in #577
  • Limit pending incoming handshake checks by @puneetdixit200 in #592
  • webui: restore playlist actions by @ikatson in #602
  • librqbit(dht): provide an option to set DhtConfig::listen_addr by @chantra in #591
  • Fixes before 9 release by @ikatson in #604
  • Expose peer client name in peer stats by @exbit in #606
  • Add ManagedTorrent::output_folder() accessor by @zemse in #610
  • Allow pausing during the initial file check by @exbit in #605
  • Add --upnp-port-forward flag to rqbit download by @rektide in #615
  • Fix DefaultBodyLimit to allow torrents bigger than 2 MB to be uploaded, Fixed init state throwing 500 internal server error by @libalpm64 in #616
  • feat: add mDNS advertising for the HTTP API by @Delarkz in #619
  • fix(deps): remediate RustSec advisories by @chantra in #620
  • fix windows pread_exact (#625) by @ikatson in #630
  • update all deps to latest versions by @ikatson in #631
  • (perf): smaller sample size in fastresume by @ikatson in #632

New Contributors

Full Changelog: v9.0.0-beta.2...v9.0.0

What's Changed since 8.1.1

  • Use Rust edition 2024 by @ikatson in #377
  • librqbit: backoff crate (unmaintained) -> backon by @ikatson in #378
  • uTP support (disabled by default) by @ikatson in #322
  • Preparing 9.0.0-beta.0 release by @ikatson in #379
  • Fix a very rare bug where DHT paniced by @ikatson in #380
  • [feature] allow creating torrents via HTTP API by @ikatson in #387
  • [bugfix] WebUI: padding files are not checked by default by @ikatson in #388
  • improvement: backend ignores only files if they are padding files + code reuse by @ikatson in #389
  • [enhancement]: create sparse files on Windows by @ikatson in #390
  • [feature] TCP and uTP: listen on IPv6 dualstack instead of IPv4 only by @ikatson in #392
  • [feature]: HTTP trackers now support IPv6 peers by @ikatson in #393
  • [feature]: UDP trackers IPv6 support by @ikatson in #394
  • [enhancement]: optimize tracker log verbosity + a improvement in HTTP retrying by @ikatson in #395
  • [feature]: DHT - dualstack over IPv6 by @ikatson in #396
  • DHT: patch persistence file for the upgraded DHT (to enable v6) by @ikatson in #397
  • [fix]: utp - better wait algorithm for TCP failures by @ikatson in #398
  • [refactor] Refactor compact ips code reuse by @ikatson in #399
  • [fix] invalid torrent names to use from_utf8_lossy #316 by @ikatson in #400
  • [fix] Do not try to delete padding files as they don't exist by @ikatson in #401
  • [refactor] small optimizations to new compact_ip.rs by @ikatson in #404
  • [enhancement] DHT improvements by @ikatson in #405
  • [refactor]: optimize bencode error handling and perf by @ikatson in #406
  • [breaking] rqbit download: make it a lot simpler (fixes #402) by @ikatson in #403
  • [refactor / perf] various (potential) perf tweaks by @ikatson in #409
  • Fix shell completion output by @Jeidnx in #413
  • [UX]: rqbit download tweaks + README updates by @ikatson in #414
  • [feature]: rqbit share CLI command by @ikatson in #415
  • [feature]: local service discovery by @ikatson in #416
  • [fix] various tweaks and fixes by @ikatson in #417
  • [feature] TCP connect now uses the same source port as announce port by @ikatson in #418
  • [fix] PEX: do not linger the task when the peer is dead by @ikatson in #419
  • [optimization] PEX: dont send local network peers to public by @ikatson in #420
  • [refactor] tweak error and log messages by @ikatson in #422
  • [perf] reduce memcpy by using pwritev on unix + rewrite protocol parsing for it by @ikatson in #421
  • [perf] read vectored by @ikatson in #423
  • [refactor] remove a bunch of unused stuff and specialized some generics by @ikatson in #424
  • [fix] upnp + IPv6: disable link-local responses by @ikatson in #427
  • [perf] various lower level perf optimizations by @ikatson in #428
  • [refactor] bencode: remove the hack for info hash computation by @ikatson in #430
  • [fix] http trackers: support responses with trailing bytes by @ikatson in #431
  • [fix] fix a recently introduced bug with ut_metadata by @ikatson in #432
  • Fix build errors when sha1 is missing by @ikatson in #433
  • various refactorings by @ikatson in #434
  • [fix][feature] various small fixes and tweaks by @ikatson in #435
  • [fix] bencode: parsing negative integers by @ikatson in #436
  • [perf] decrease CPU usage due to disabling tracing in several places by @ikatson in #437
  • [refactor] code reuse in rqbit's main.rs by @ikatson in #438
  • [perf] upgrade librqbit-utp + remove deadlock detection by @ikatson in #442
  • [perf] librqbit-utp vectored read + vectored write by @ikatson in #443
  • [feature] add peer uploaded bytes stat by @ikatson in #444
  • [feature] bind to a specific network device by @ikatson in #445
  • [refactor] tweak blocklist code by @ikatson in #446
  • [memory] blocklist - split into v4/v6 to save memory by @ikatson in #448
  • [fixes] various small fixes by @ikatson in #449
  • [feature] support filenames that are invalid utf-8 by @ikatson in #453
  • [feat] librqbit: support ephemeral ports when listening. by @ikatson in #455
  • [feature] detect non-utf8 character encodings + big refactor to validate the torrent once at init by @ikatson in #456
  • Update README for Homebrew install by @rossmacarthur in #459
  • Fix typo in shell completions command by @brendanny in #461
  • Update deps by @ikatson in #467
  • apply fmt 2024 (fix clippy warnings) by @oooo-ps in #475
  • Fix cargo warnings by @exbit in #479
  • Fix typos by @marsam in #480
  • Allow specifying DHT bootstrap nodes from commandline or environment by @crass in #485
  • Update dependencies by @ikatson in #488
  • Allowlist option (based on the shared registry implementation) by @oooo-ps in #497
  • require clippy + rustfmt for all targets by @oooo-ps in #498
  • streaming: support ranges with end by @ikatson in #503
  • Upgrade console-subscriber to 0.5 by @bbb651 in #513
  • Use serde_derive dependency instead of serde/derive feature by @bbb651 in #511
  • docs: AddTorrentOptions::overwrite required even with complete torrent by @angrynode in #515
  • Introduce "block_in_place" concurrency limit by @ikatson in #521
  • Async disk bitv flushing (remove mmap) by @ikatson in #522
  • Streaming: blocking permit for the whole stream duration by @ikatson in #523
  • PEX: kill the task as soon as peer dies by @ikatson in #530
  • Compact UI v2 by @ikatson in #529
  • Network Connectivity Improvements (Add Announce Port Override And ipv4-only Mode) by @alexmichaelkeith in #531
  • fix: piece state tracking and peer connection handling improvement by @ikatson in #532
  • refactor: migrate to workspace dependencies by @ikatson in #534
  • feat(webui): add keyboard shortcuts by @ikatson in #536
  • fix: preserve tracker's built-in passkey query parameter when adding private torrents by @aji-555 in #542
  • feat: SHA-256 foundation + BEP 52 error types by @meatsquirk in #562
  • [DOCKER] Fix HOME env variable for podman by @lilianm in #573
  • Systemd socket activation by @Stebalien in #505
  • Add configurable client identity for HTTP User-Agent and peer handshakes by @libalpm64 in #577
  • Limit pending incoming handshake checks by @puneetdixit200 in #592
  • webui: restore playlist actions by @ikatson in #602
  • librqbit(dht): provide an option to set DhtConfig::listen_addr by @chantra in #591
  • Fixes before 9 release by @ikatson in #604
  • Expose peer client name in peer stats by @exbit in #606
  • Add ManagedTorrent::output_folder() accessor by @zemse in #610
  • Allow pausing during the initial file check by @exbit in #605
  • Add --upnp-port-forward flag to rqbit download by @rektide in #615
  • Fix DefaultBodyLimit to allow torrents bigger than 2 MB to be uploaded, Fixed init state throwing 500 internal server error by @libalpm64 in #616
  • feat: add mDNS advertising for the HTTP API by @Delarkz in #619
  • fix(deps): remediate RustSec advisories by @chantra in #620
  • fix windows pread_exact (#625) by @ikatson in #630
  • update all deps to latest versions by @ikatson in #631
  • (perf): smaller sample size in fastresume by @ikatson in #632

New Contributors

Full Changelog: v8.1.0...v9.0.0

Don't miss a new rqbit release

NewReleases is sending notifications on new releases.