mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
2.6 KiB
2.6 KiB
Changelog
Unreleased
General
Added
- Add
aquatic_peer_idcrate with peer client information logic
aquatic_udp
Added
- Add support for reporting peer client information
aquatic_ws
Added
- Add support for reporting peer client information
0.8.0 - 2023-03-17
General
Added
- Support exposing a Prometheus endpoint for metrics
- Add cli flag for printing parsed config
- Add
aquatic_http_private, an experiment for integrating with private trackers
Changed
- Rename request workers to swarm workers
- Switch to thin LTO for faster compile times
- Use proper workspace path declarations instead of workspace patch section
- Use Rust 1.64 workspace inheritance
- Reduce space taken by ValidUntil struct from 128 to 32 bits, reducing memory consumption for each stored peer by same amount
- Use regular indexmap instead of amortized-indexmap. This goes for torrent, peer and pending scrape response maps
- Improve privilege dropping
- Quit whole program if any thread panics
- Update dependencies
Fixed
- Forbid unrecognized keys when parsing config files
- Stop including invalid avx512 key in
./scripts/env-native-cpu-without-avx-512
aquatic_udp
Added
- Add experimental io_uring backend with higher throughput
- Add optional response resend buffer for use on on operating systems that don't buffer outgoing UDP traffic
- Add optional extended statistics (peers per torrent histogram)
- Add Dockerfile to make it easier to get started
Changed
- Replace ConnectionMap with BLAKE3-based connection validator, greatly decreasing memory consumtion
- Don't return any response peers if announce event is stopped
- Ignore requests with source port value of zero
Fixed
- When calculating bandwidth statistics, include size of protocol headers
aquatic_http
Changed
- Don't return any response peers if announce event is stopped
aquatic_http_protocol
Fixed
- Explicity check for /scrape path
- Return NeedMoreData until headers are fully parsed
- Fix issues with ScrapeRequest::write and AnnounceRequest::write
- Expose write and parse methods for subtypes
aquatic_http_load_test
Changed
- Exclusively use TLS 1.3
aquatic_ws
Added
- Add HTTP health check route when running without TLS
Changed
- Make TLS optional
- Support reverse proxies
- Reduce size of various structs
Fixed
- Remove peer from swarms immediately when connection is closed
- Allow peers to use multiple peer IDs, as long as they only use one per info hash
aquatic_ws_load_test
Changed
- Exclusively use TLS 1.3