Repository navigation
Releases: PurpleI2P/i2pd
Releases · PurpleI2P/i2pd
Release list
3.0.0
- Torrents tunnels with RPC, magnets, PEX, DHT, datagram trackers support
- Full SAM 3.3 implementation
- Multi-destination client tunnels
- Offline keys for an encrypted LeaseSet
- Fixed Datagram2 signatures
- Faster LeaseSet lookups
- Less datagram loss ratio
- New UDP tunnels window and ack policy. Fixed stalled UDP tunnels
- Added "LocalDestinationInfo" method to I2PControl
- Fixed SAM session disconnect after reconnect
- Create keys files readable by owner only
- Reject LeaseSet type 1 if coming from ECIESx25519 session
- Close HTTP server connection if invalid or too long headers
- Allow ipv6 binding for Haiku
- Reject ipv4-mapped ipv6 addresses in RouterInfo
- Updated reseeds list
2.61.0
- Implemented torsocks support in SOCKS proxy
- Fixed Incorrect offline signature in CLOSE streaming packet
- Always send ".b32.i2p" in "Host:" header from HTTP proxy
- Fixed "i2cp.closeIdleTime" and "i2cp.newDestOnResume" for default HTTP and SOCKS proxy
- Set SSU2 default crypto type to ML-KEM-768 when applicable
- Implemented peer ordering keys and groups
- "keepaliveinterval" for UDP client tunnel
- Support OpenSSL 4
- Fixed websocket connection get terminated immediately through HTTP server tunnel
- Support ".b32.i2p" and B33 hosts in SAM datagram destinations
- Send data with SYN streaming packet if available
- Post-quantum support with LibreSSL
- Option to disable unveil/pledge in OpenBSD
- Handle 'm' and 'r' tunnel build request options
- Update destination's transient keys through SAM
- Try to reseed again after 30 second if failed
- Show router caps in main window for Windows and Haiku
2.60.0
- Implemented "i2cp.closeIdleTime" and "i2cp.newDestOnResume" client tunnel and proxy params
- Use ML-KEM-768 crypto type by default if openssl >= 3.5
- Binding to ipv6 ULA address
- Set default bandwidth=O for x86_64 and bandwidth=P for x86_64 with more than 4 cores
- Forward ipv4 and ipv6 connections to usptream SOCK5 proxy
- New routers profiling algorithm
- Fixed incorrect private signing key size for offline signatures
- Generate ECIESx25519 session tags faster
- More I2PControl RouterInfo metrics
- Localization to Persian
- Fixed incorrect new session reply for session with post-quantum crypto
- Fixed Inverted value of "i2cp.dontPublishLeaseSet"
- Recreate zero and one hop tunnels after being offline
- Updated reseeds list
2.59.0
- Post-quantum NTCP2 crypto(ML-KEM-512, ML-KEM-768, ML-KEM-1024) support if OpenSSL >= 3.5.0
- UDP associate for SOCKS5 proxy
- Localization to Esperanto, Filipino and Finnish. Updated localization to Hebrew
- Fixed random NetDb crash on stop
- Limited connectivity mode
- Multiple fixes for SAM datagrams
- Limiting the number of datagrams sent to maintain the consistency of session encryption through UDP tunnels
- Desktop app mode for Haiku
- False positive peer test cause by recent another peer test
- Don't communicate with routers of version < 0.9.58
- Floodfills are not introducers
- Publish actual port if full-cone NAT
- "i2p.streaming.maxConnsPerMinute" and "i2p.streaming.maxResends" params
- Trusted routers list for first hop per tunnel
- Multiple streaming performance improvements
- Multi cloves garlic message for datagrams. Datagram3 and 800 inbound tags by default
- Webconsole layout improvements
- Updated reseeds list
2.58.0
- Post-quantum end-to-end crypto(ML-KEM-512, ML-KEM-768, ML-KEM-1024) support if OpenSSL >= 3.5.0. Enable it by default
- Datagram2 and Datagram3
- Support boost 1.89
- Don't verify streaming SYN packet signature if comes from an ECIESx25519 session
- Specify light or dark theme for webconsole
- Try to resolve host again in server tunnel if failed before
- "ssu2.firewalled4" and "ssu2.firewalled6" params to force Firewalled even if network is OK
- Create unique loopback address from fd00::/8 range for ::1 if explicitly set in server tunnels
- Don't show Network status if ipv6 only
- SAM PING command
- Send correct version in I2CP SetDate message
- Fixed max UDP buffer size for OpenBSD
- "i2p.streaming.maxWindowSize" and "i2p.streaming.dontSign" params
- Streaming ping through BOB
- Limit number of outbound streaming packets if the peer can't handle them
- Updated reseeds list
- Fixed lack of file descriptors for Haiku
- Outgoing stream will not constantly re-requests LeaseSet if the remote peer has gone away
- Don't call deprecated functions for openssl 3
- Accept "HELLO VERSION" without "MIN" and "MAX" in SAM
- Non-blocking mode for UDP sockets in UDP tunnels
2.57.0
- Local domain sockets for I2PControl
- HTTP and SOCKS proxy through BOB
- FORWARD session host handling in SAM
- "keys=shareddest" tunnel param to run on shared local destination
- Correct implementation of SSU2 path challenge and path response
- Don't delete trusted routers from netdb
- Fixed crash after SAM stream disconnect
- Disable loss-control in streaming
- OpenIndiana(Solaris) support
- NTCP2 probing resistance
- Set min peer test version to 0.9.62
- Support SAM v1 datagram sessions without port
- Localization to Hebrew and Hindi
- Fixed x86 build for Haiku
- Updated reseeds list
2.56.0
- Config params for shared local destination
- Exclude disk operations from SSU2 and NTCP2 threads
- Set minimal version for peer test to 0.9.62
- Fixed termination deadlock if SAM session is active
- AddressBook full addresses cache
- Shorter ECIESx25519 ack request interval for datagram and I2CP sessions
- Updated reseeds list
- Recreate tunnels in random order
- Send Ack requested flag after second SSU2 resend attempt
- Don't change datagram routing path too often if unidirectional data stream
- Fixed race condition at tunnel endpoint
- Decline transit tunnel to duplicated router
2.55.0
- Support boost 1.87
- New RTO and window size calculation and resetting algorithm for streams
- Faster LeaseSet amd RouterInfo lookups
- Direct link between tunnel and transport to next peer
- Separate thread for tunnel build requests
- Fixed missing RouterInfo buffer in NetDb
- Throttle incoming ECIESx25519 sessions
- Check LeaseSet expiration time
- Resend HolePunch and RelayResponse messages
- Publish 'R' cap for yggdrasil-only routers, and 'U' cap for routers through proxy
- New "i2p.streaming.maxConcurrentStreams" tunnel's param to limit number of simultaneous streams
- Don't delete routers from NetDb when offline
- Save unreachable router's endpoint to use it next time without introducers
- Random tunnel rejection when medium congestion
- Increased hole punch expiration interval
- Handle NTCP2 session handshakes in separate thread
2.54.0
- New RTT, window size and number of NACKs calculation for streaming
- Maintain recently connected routers list to avoid false-positive peer test
- Exclude 'N' routers from high-bandwidth routers for client tunnels
- Fixed AEAD verification with LibreSSL
- Limited connectivity mode(through proxy)
- Show tunnel's routers bandwidth caps in web console
- Set default i2cp.leaseSetEncType to 0,4 and to 4 for server tunnels
- "senduseragent" HTTP proxy's param to pass through user's User-Agent
- Limit stream's inbound speed
- Fixed jump link crash if address book is disabled
- "i2p.streaming.profile" tunnel's param to let tunnel select also low-bandwidth routers
- C++11 support has been dropped, the minimal requirement is C++17 now, C++20 for some compilers
- Removed dependency from boost::date_time and boost::filesystem
- Exclude low bandwidth routers for first peer in high-bandwidth client tunnel
- Increase max number of generated tags to 800 per tagset
- Handle immediate ack requested flag in SSU2 data packets
- Resend and ack peer test and relay messages
- Don't include expired leases to LeaseSet
- Periodic ack requests in ratchets session
- Update introducer's iTag if session to introducer was replaced to new one
- Handle i2cp.inboundlimit and i2cp.outboundlimit params in I2CP
- Save timestamp from epoch instead local time to router profiles