aquatic/CHANGELOG.md
Joakim Frostegård e5ffedc10c Update CHANGELOG
2022-09-25 11:45:59 +02:00

1.8 KiB

Changelog

Unreleased

Added

  • Add cli flag for printing parsed config
  • Add aquatic_http_private, an experiment for integrating with private trackers
  • aquatic_udp: implement optional response resend buffer
  • aquatic_udp: add optional extended statistics
  • aquatic_udp: add Dockerfile to make it easier to get started
  • aquatic_ws: add HTTP health check route when running without TLS

Changed

  • Rename request workers to swarm workers
  • Switch to thin LTO for faster compile times
  • Use proper workspace path declarations and remove workspace patch section
  • Use Rust 1.64 workspace inheritance
  • Reduce space taken by ValidUntil struct from 128 to 32 bits, reducing memory consumtion for each stored peer by same amount
  • Use regular (non-amortized) IndexMap for peer and pending scrape response maps (but not for torrent maps)
  • Improve privilege dropping
  • Quit whole program if any thread panics
  • Update dependencies
  • aquatic_udp: replace ConnectionMap with BLAKE3-based connection validator, greatly decreasing memory consumtion
  • aquatic_udp: ignore requests with source port value of zero
  • aquatic_ws: reduce size of various structs
  • aquatic_ws: make TLS optional
  • aquatic_ws: support reverse proxies

Fixed

  • Forbid unrecognized keys when parsing config files
  • aquatic_http_protocol: explicity check for /scrape path
  • aquatic_http_protocol: return NeedMoreData until headers are fully parsed
  • aquatic_http_protocol: fix issues with ScrapeRequest::write and AnnounceRequest::write
  • aquatic_http_protocol: expose write and parse methods for subtypes
  • aquatic_http_load_test: exclusively use TLS 1.3
  • aquatic_ws: remove peer from swarms immediately when connection is closed