Skip to content

Releases: PurpleI2P/i2pd

2.54.0

07 Oct 16:54
2.54.0
905c6de
Compare
Choose a tag to compare
  1. New RTT, window size and number of NACKs calculation for streaming
  2. Maintain recently connected routers list to avoid false-positive peer test
  3. Exclude 'N' routers from high-bandwidth routers for client tunnels
  4. Fixed AEAD verification with LibreSSL
  5. Limited connectivity mode(through proxy)
  6. Show tunnel's routers bandwidth caps in web console
  7. Set default i2cp.leaseSetEncType to 0,4 and to 4 for server tunnels
  8. "senduseragent" HTTP proxy's param to pass through user's User-Agent
  9. Limit stream's inbound speed
  10. Fixed jump link crash if address book is disabled
  11. "i2p.streaming.profile" tunnel's param to let tunnel select also low-bandwidth routers
  12. C++11 support has been dropped, the minimal requirement is C++17 now, C++20 for some compilers
  13. Removed dependency from boost::date_time and boost::filesystem
  14. Exclude low bandwidth routers for first peer in high-bandwidth client tunnel
  15. Increase max number of generated tags to 800 per tagset
  16. Handle immediate ack requested flag in SSU2 data packets
  17. Resend and ack peer test and relay messages
  18. Don't include expired leases to LeaseSet
  19. Periodic ack requests in ratchets session
  20. Update introducer's iTag if session to introducer was replaced to new one
  21. Handle i2cp.inboundlimit and i2cp.outboundlimit params in I2CP
  22. Save timestamp from epoch instead local time to router profiles

2.53.1

05 Aug 05:25
Compare
Choose a tag to compare
  1. Fixed 100% CPU usage after I2CP/SAM/BOB session termination
  2. Fixed build with LibreSSL
  3. Correct client limits returned through I2CP
  4. I2CP performance improvement

2.53.0

21 Jul 12:09
2.53.0
9a66549
Compare
Choose a tag to compare
  1. New congestion control algorithm for streaming
  2. Set minimal router version to 0.9.59 for floodfills and 0.9.58 for client tunnels
  3. Recognize duplicated routers and bypass them
  4. Fixed crash when a destination gets terminated
  5. Update router's congestion caps before initial publishing
  6. Removed openssl 1.0.2 support
  7. Don't request relay tag for every session if enough introducers
  8. Update LeaseSet if inbound tunnel failed
  9. Select newest introducers to publish
  10. Fixed race condition between local RouterInfo buffer creation and sending it through the transports
  11. Don't create local destination with expired offline keys
  12. Limit stream's outbound speed
  13. Update timestamp for non-reachable or hidden router
  14. Random SSU2 resend interval
  15. Reset streaming routing path if duplicated SYN received

2.52.0

13 May 13:40
2.52.0
4163542
Compare
Choose a tag to compare
  1. Moved netdb's disk file operations to separate threads
  2. Fast exploratory lookup handling at floodfills
  3. Drop unsolicited database search replies
  4. Pick only confirmed routers for tunnels and exploratory replies if tunnel build rate is low
  5. More reliable long live streams
  6. Throttle database search requests
  7. Handle database search replies faster
  8. Don't accept too old routers and address with malformed keys
  9. Fixed different crashes on high load and shutdown

2.51.0

07 Apr 10:02
2.51.0
1b5f67e
Compare
Choose a tag to compare
  1. Encrypted tunnel tests
  2. New streaming RTT/RTO/Window calculation algorithms
  3. Publish medium congestion indication
  4. Changed upstream SOCKS proxy from SOCKS4 to SOCKS5
  5. New implementation of SSU2 retransmission, send buffer, window, congestion control, timeouts
  6. Transit tunnels limit more than 64K. Default value to 10K
  7. Fixed lookup of encrypted LeaseSet
  8. Report error if client is trying to connect to itself in SAM
  9. Fixed crash when packet comes to terminated stream
  10. Tunnel status "declined" in web console
  11. SAM error reply "Incompatible crypto" if remote destination has incompatible crypto
  12. Fixed outbound tunnel build failure if it's endpoint is the same as reply tunnel gateway
  13. Reduce unreachable router ban interval to 8 minutes
  14. Send lookup reply directly to reply tunnel gateway if possible
  15. Fixed I2PControl RouterManager returns invalid JSON when unknown params are passed
  16. Correct implementation of "reservedrange" config param
  17. Less false positive cases for tunnel tests
  18. Check ipv4/ipv6 compatibility for peer tests
  19. Allow SSU2 even if port binding fails
  20. Support local domain sockets for SOCKS proxy upstream

2.50.2

06 Jan 20:11
Compare
Choose a tag to compare
  1. Fixed crash with OpenSSL 3.2.0
  2. Fixed false positive clock skew detection

2.50.1

23 Dec 18:46
2.50.1
816a58f
Compare
Choose a tag to compare

Minor release for systems which have switched to OpenSSL 3.2.0

  • Fixed support for new EdDSA usage behavior in OpenSSL 3.2.0

2.50.0

18 Dec 10:39
2.50.0
beffdb9
Compare
Choose a tag to compare
  • Support of concurrent ACCEPTs on SAM 3.1
  • Added Haiku OS support
  • Low bandwidth and far routers can expire before 1 hour
  • Don't pick too active peer for first hop
  • Try peer test again if status is Unknown
  • Send peer tests with random delay
  • Updated reseeds list
  • Fixed XSS vulnerability in addresshelper
  • Fixed publishing NAT64 ipv6 addresses
  • Fixed deadlock in AsyncSend callback

Note for everyone, who uses latest OpenSSL 3.2.0: they broke everything again. So, if you build application yourself, use at least version 3.1.4 of OpenSSL. Windows binaries built with MSYS2 with OpenSSL 3.1.3 packages.

2.49.0

17 Sep 21:15
2.49.0
dd32f1e
Compare
Choose a tag to compare
  1. Handle SOCK5 authorization with empty user/password and send correct version in response
  2. Improve NTCP2 transport session logging
  3. Allow 0 hops in explicitPeers
  4. Don't allow incoming transport sessions from routers with incorrect timestamp
  5. Fixed sending keepalive for sessions with introducers
  6. Always select router with ipv4 for tunnel endpoint
  7. Fixed crash if deleted BOB destination was shared between few BOB sessions
  8. Memory pool for router profiles
  9. Removed AVX code
  10. Exclude SSU1 introducers from SSU2 addresses
  11. Don't create paired inbound tunnel if length is different
  12. Fixed padding length for SSU2 path response
  13. Don't publish introducers with zero tag
  14. Consider all addresses non-published for U and H routers even if they have host/port
  15. Don't pick completely unreachable routers for tunnels
  16. Separate network and testing status

2.48.0

12 Jun 16:59
2.48.0
fba23a4
Compare
Choose a tag to compare
  1. Added 'critical' log level
  2. Allow user/password authentication method for SOCK5 proxy
  3. Fixed reload tunnels
  4. Don't recognize new router as floodfill until it proves it's real
  5. Fixed incomplete HTTP headers in I2P tunnels
  6. Publish congestion cap 'G' if transit is not accepted
  7. Added webconsole button to drop a remote LeaseSet manually
  8. Publish encrypted RouterInfo through tunnels
  9. Print local b32 address on webconsole destination page
  10. Fixed incorrect address caps for unspecified ipv6 address