|
|
|
@ -1,6 +1,67 @@
@@ -1,6 +1,67 @@
|
|
|
|
|
# for this file format description, |
|
|
|
|
# see https://github.com/olivierlacan/keep-a-changelog |
|
|
|
|
|
|
|
|
|
## [2.51.0] - 2024-04-06 |
|
|
|
|
### Added |
|
|
|
|
- Non-blocking mode for UDP sockets |
|
|
|
|
- Set SSU2 socket buffer size based on bandwidth limit |
|
|
|
|
- Encrypted tunnel tests |
|
|
|
|
- Support for multiple UDP server tunnels on one destination |
|
|
|
|
- Publish medium congestion indication |
|
|
|
|
- Local domain sockets for SOCKS proxy upstream |
|
|
|
|
- Tunnel status "declined" in web console |
|
|
|
|
- SAM error reply "Incompatible crypto" if remote destination has incompatible crypto |
|
|
|
|
- Reduce amount of traffic by handling local message drops |
|
|
|
|
- Keep SSU2 socket open even if it fails to bind |
|
|
|
|
- Lower SSU2 resend traffic spikes |
|
|
|
|
- Expiration for messages in SSU2 send queue |
|
|
|
|
- Use EWMA for stream RTT estimation |
|
|
|
|
- Request choking delay if too many NACKs in stream |
|
|
|
|
- Allow 0ms latency for tunnel |
|
|
|
|
- Randomize tunnels selection for tests |
|
|
|
|
### Changed |
|
|
|
|
- Upstream SOCKS proxy from SOCKS4 to SOCKS5 |
|
|
|
|
- Transit tunnels limit to 4 bytes. Default value to 10K |
|
|
|
|
- Reply CANT_REACH_PEER if connect to ourselves in SAM |
|
|
|
|
- Don't send already expired I2NP messages |
|
|
|
|
- Use monotonic timer to measure tunnel test latency |
|
|
|
|
- Standard NTCP2 frame doesn't exceed 16K |
|
|
|
|
- Always send request through tunnels in case of restricted routes |
|
|
|
|
- Don't delete connected routers from NetDb |
|
|
|
|
- Send lookup reply directly to reply tunnel gateway if possible |
|
|
|
|
- Reduce unreachable router ban interval to 8 minutes |
|
|
|
|
- Don't request banned routers / don't try to connect to unreachable router |
|
|
|
|
- Consider 'M' routers as low bandwidth |
|
|
|
|
- Limit minimal received SSU2 packet size to 40 bytes |
|
|
|
|
- Bob picks peer test session only if Charlie's address supports peer testing |
|
|
|
|
- Reject peer test msg 2 if peer testing is not supported |
|
|
|
|
- Don't request termination if SSU2 session was not established |
|
|
|
|
- Set maximum SSU2 queue size depending on RTT value |
|
|
|
|
- New streaming RTT calculation algorithm |
|
|
|
|
- Don't double initial RTO for streams when changing tunnels |
|
|
|
|
- Restore failed tunnel if test or data for inbound tunnel received |
|
|
|
|
- Don't fail last remaining tunnel in pool |
|
|
|
|
- Publish LeasetSet again if local destination was not ready or no tunnels |
|
|
|
|
- Make more attempts to pick high bandwidth hop for client tunnel |
|
|
|
|
- Reduced SSU2 session termination timeout to 165 seconds |
|
|
|
|
- Reseeds list |
|
|
|
|
### Fixed |
|
|
|
|
- ECIESx25519 symmetric key tagset early expiration |
|
|
|
|
- Encrypted LeaseSet lookup |
|
|
|
|
- Outbound tunnel build fails if it's endpoint is the same as reply tunnel gateway |
|
|
|
|
- I2PControl RouterManager returns invalid JSON when unknown params are passed |
|
|
|
|
- Mix of data between different UDP sessions on the same server |
|
|
|
|
- TARGET_OS_SIMULATOR check |
|
|
|
|
- Handling of "reservedrange" param |
|
|
|
|
- New NTCP2 session gets teminated upon termination of old one |
|
|
|
|
- New SSU2 session gets teminated upon termination of old one |
|
|
|
|
- Peer test to non-supporting router |
|
|
|
|
- Streaming ackThrough off 1 if number of NACKs exceeds 255 |
|
|
|
|
- Race condition in ECIESx25519 tags table |
|
|
|
|
- Good tunnel becomes failed |
|
|
|
|
- Crash when packet comes to terminated stream |
|
|
|
|
- Stream hangs during LeaseSet update |
|
|
|
|
|
|
|
|
|
## [2.50.2] - 2024-01-06 |
|
|
|
|
###Fixed |
|
|
|
|
- Crash with OpenSSL 3.2.0 |
|
|
|
|