|
1 | 1 | # for this file format description, |
2 | 2 | # see https://github.com/olivierlacan/keep-a-changelog |
3 | 3 |
|
| 4 | +## [2.60.0] - 2026-04-20 |
| 5 | +### Added |
| 6 | +- "i2cp.closeIdleTime" and "i2cp.newDestOnResume" client tunnel and proxy params |
| 7 | +- Sequence reset flag for UDP tunnels |
| 8 | +- Post-quantum SSU2 crypto(ML-KEM-512, ML-KEM-768) support if openssl >= 3.5.0 |
| 9 | +- Forward ipv4 and ipv6 connections to usptream SOCK5 proxy |
| 10 | +- "persist.netdbinterval" param to specify NetDb persist interval |
| 11 | +- Don't select peer for new tunnel if too many connections from that subnet |
| 12 | +- More I2PControl RouterInfo metrics |
| 13 | +### Changed |
| 14 | +- Generate ECIESx25519 session tags faster |
| 15 | +- Set NTCP2 default crypto type to ML-KEM-768 when applicable |
| 16 | +- Set default bandwidth=O for x86_64 and bandwidth=P for x86_64 with more than 4 cores |
| 17 | +- Replaced boost::asio::deadline_timer by boost::asio::steady_timer |
| 18 | +- Set hidden mode only if trust is enabled |
| 19 | +- Publish crypto keys from in high to low order in LeaseSet |
| 20 | +- Case-insensitive HTTP header matching per RFC 7230 |
| 21 | +- Max padding size for NTCP2 SessionRequest and SessionCreated messages |
| 22 | +- Routers profiling algorithm |
| 23 | +- Don't publish mtu=1500 |
| 24 | +- Limit streaming receive queue size |
| 25 | +- Recreate zero and one hop tunnels after being offline |
| 26 | +- Reseeds list |
| 27 | + ### Fixed |
| 28 | +- Incorrect Poly1305 tag of chiper text block in next new session reply message for ML-KEM crypto type |
| 29 | +- Stuck UDP client tunnel after network glitch |
| 30 | +- Private signing key size for offline signatures |
| 31 | +- Forever hanging I2P stream if socket got closed right after connect |
| 32 | +- Inverted value of "i2cp.dontPublishLeaseSet" |
| 33 | +- Failed to bind to ipv6 ULA address |
| 34 | +- Reseed failure if malformed response |
| 35 | +- Multiple race conditions |
| 36 | + |
| 37 | +## [2.59.0] - 2026-02-09 |
| 38 | +### Added |
| 39 | +- Post-quantum NTCP2 crypto(ML-KEM-512, ML-KEM-768, ML-KEM-1024) support if openssl >= 3.5.0 |
| 40 | +- UDP associate for SOCKS5 proxy |
| 41 | +- Trusted routers list for first hop per tunnel |
| 42 | +- "i2p.streaming.maxConnsPerMinute" and "i2p.streaming.maxResends" params |
| 43 | +- Limited connectivity mode |
| 44 | +- *.b32.i2p addresses for SAM datagrams |
| 45 | +- Limiting the number of datagrams sent to maintain the consistency of session encryption through UDP tunnels |
| 46 | +- Desktop app mode for Haiku |
| 47 | +- Ability to suppress X-I2P-* headers for HTTP server tunnel |
| 48 | +- Multi cloves garlic message for datagrams |
| 49 | +- Network error and testing metrics for I2PControl |
| 50 | +- Handle reseed address redirection |
| 51 | +- Throttle excessive number of tunnel build message from the same peer |
| 52 | +- Localization to Esperanto, Filipino and Finnish |
| 53 | +### Changed |
| 54 | +- Return base64 of ident instead full address for Datagram3 in SAM |
| 55 | +- Send ratchet session response for unidirectional traffic for I2CP |
| 56 | +- Set default number of generated tags to 800 for a datagram destination |
| 57 | +- Check ML-KEM encaps_key section length before decryption |
| 58 | +- Create new stream only if bandwidth is available. Close non-responding streams |
| 59 | +- Use Datagram3 by default in UDP tunnels |
| 60 | +- Floodfills are not introducers |
| 61 | +- Disable ipv6 if global ipv6 interface not found |
| 62 | +- Network congestion detection algorithm in streaming |
| 63 | +- Reply with relay tag only if accept tunnels |
| 64 | +- Case-insensitive Content-Length header in I2PControl |
| 65 | +- Increase PID string length |
| 66 | +- Don't communicate with routers of version < 0.9.58 |
| 67 | +- Webconsole layout improvements |
| 68 | +- Localization to Hebrew |
| 69 | +- Reseeds list |
| 70 | +### Fixed |
| 71 | +- Incorrect params length calculation for SAM streams |
| 72 | +- Unexpected index in SymmetricKeyTagSet |
| 73 | +- Incorrect preferred crypto type if i2cp.leaseSetEncType is not specified |
| 74 | +- Decoding %00 in url |
| 75 | +- Thread-unsafe localtime() |
| 76 | +- NetDb crash on stop |
| 77 | +- Peer test result OK in case of another recent peer test |
| 78 | +- Published port if full-cone NAT |
| 79 | +- Missing trailing newline in I2PControl JSON response |
| 80 | +- Language selection in webconsole |
| 81 | + |
4 | 82 | ## [2.58.0] - 2025-09-08 |
5 | 83 | ### Added |
6 | 84 | - Post-quantum end-to-end crypto(ML-KEM-512, ML-KEM-768, ML-KEM-1024) support if openssl >= 3.5.0 |
|
13 | 91 | - Ability to specify bandwidth with "mb" and "gb" suffixes |
14 | 92 | - "i2p.streaming.maxWindowSize" and "i2p.streaming.dontSign" params |
15 | 93 | ### Changed |
16 | | -- Don't verify streaming SYN packet signature if comes from an ECIESx25519 session |
| 94 | +- Don't verify streaming SYN packet signature if comes from an ECIESx25519 session |
17 | 95 | - Non-blocking mode for UDP sockets in UDP tunnels |
18 | 96 | - Accept "HELLO VERSION" without "MIN" and "MAX" in SAM |
19 | 97 | - Try to resolve host again in server tunnel if failed before |
|
0 commit comments