Releases: libp2p/jvm-libp2p
1.2.1
This release improves reliability of message publishing over gossip, improves DONTWANT
control message usage.
WARNING: This release introduces a breaking change in GossipParams
by replacing floodPublish
param with floodPublishMaxMessageSizeThreshold
, which allow to configure flood publish behaviour based on the message size.
floodPublish = false
can be configured asrefloodPublishMaxMessageSizeThreshold = NEVER_FLOOD_PUBLISH
(0)floodPublish = true
can be configured asrefloodPublishMaxMessageSizeThreshold = ALWAYS_FLOOD_PUBLISH
(Int.MAX_VALUE)
What's Changed
- Don't throw
NoPeersForOutboundMessageException
if peersDONTWANT
message by @StefanBratanov in #385 - Send
IDONTWANT
prior to publish by @StefanBratanov in #386 - [BREAKING] Replace
floodPublish
param withfloodPublishMaxMessageSizeThreshold
by @tbenr in #391 - Logging and other small warnings removal by @tbenr in #392
- Gossip: more reliable publishing by @Nashatyrev in #387
New Contributors
Full Changelog: 1.2.0...1.2.1
1.2.0
This release adds support for gossipsub v1.2 (more specifically support for IDONTWANT). It also contains a fix for CVE-2024-7254 as well as other fixes.
What's Changed
- More mdns fixes by @ianopolous in #368
- chore: Update funding.json by @p-shahi in #372
- Updating com.google.protobuf to 3.25.5 by @lucassaldanha in #373
- Fix Gossip simulator issue by @Nashatyrev in #375
- [GossipSub 1.2] Add IDONTWANT support by @StefanBratanov in #374
- Dependencies sweep by @StefanBratanov in #376
New Contributors
- @p-shahi made their first contribution in #372
- @lucassaldanha made their first contribution in #373
Full Changelog: 1.1.1...1.2.0
1.1.1
This release contains a change to set topicID
on outbound IHAVE
messages as well as ignore unknown topics on inbound IHAVE
messages for GossipSub. It also adds a beta support for Autonat as well as other fixes.
What's Changed
- chore(cfg): update new issue templates by @dhuseby in #347
- Implement autonat protocol by @ianopolous in #349
- Update netty by @ianopolous in #355
- update dokka by @ianopolous in #357
- AbstractRouter.getPeerTopics() may throw ConcurrentModificationException by @Nashatyrev in #362
- Fix remotePubKey in Noise secure Session by @Nashatyrev in #364
- Fix mdns when listening with ipv6 wildcard (which includes ipv4) by @ianopolous in #366
- Set topicID on outbound IHAVE and ignore inbound IHAVE for unknown topic by @StefanBratanov in #365
New Contributors
1.1.0
This release adds support for Circuit Relay v2, fix for limiting the number of peers sent and accepted in PRUNE
messages and Yamux improvements.
What's Changed
- [Yamux] Don't send frame if send buffer is not empty by @StefanBratanov in #332
- Fix unit test consistency by @StefanBratanov in #333
- Fix .gitattributes by @Nashatyrev in #335
- Refactor YamuxHandler by @Nashatyrev in #326
- Change maxPrunePeers and maxPeersPerPruneMessage usage by @diegomrsantos in #336
- Refactor YamuxHandler.SendBuffer by @Nashatyrev in #328
- Add large blob test by @Nashatyrev in #337
- Fix the case when a stream is closed while still having buffered data for write by @Nashatyrev in #330
- Refactor Yamux flags by @Nashatyrev in #338
- [Yamux] Allow max ACK backlog of 256 streams by @StefanBratanov in #340
- Don't try and dial DNSADDR addresses by @ianopolous in #343
- Implement circuit relay v2 by @ianopolous in #345
New Contributors
- @diegomrsantos made their first contribution in #336
1.0.1
This release contains optimizations around the yamux implementation as well as dependencies updates.
What's Changed
- Use spotless instead of kotlinter by @StefanBratanov in #297
- [Yamux] Fix sending of buffered messages after a window update by @StefanBratanov in #312
- Publish to Cloudsmith on push to develop branch by @StefanBratanov in #313
- [Yamux] Increase write buffer size and make it configurable by @StefanBratanov in #317
- [Yamux] Revert merging send and receive windows maps by @StefanBratanov in #318
- [Yamux] Send whole data if window size is > 0 by @StefanBratanov in #319
- [Yamux] Clear caches when connection is closed by @StefanBratanov in #321
- [Yamux] Send RST when write buffer has overflowed by @StefanBratanov in #320
- Refactor MuxId by @Nashatyrev in #322
- [Yamux] Refactor window sizes retrieval by @StefanBratanov in #323
- Dependencies updates by @StefanBratanov in #327
1.0.0
This release contains experimental yamux support as well as various other improvements and dependency updates. From this version onwards, the dependency published will be io.libp2p:jvm-libp2p
. For previous versions of the library, the old io.libp2p:jvm-libp2p-minimal
dependency can be used.
What's Changed
- Remove the interop tests by @ajsutton in #261
- Update dependencies and linting changes by @StefanBratanov in #264
- Add JitPack to readme by @StefanBratanov in #266
- Convert to multi-module project by @Nashatyrev in #267
- Open some Gossip members for hacking by @Nashatyrev in #268
- Add Gossip simulator module by @Nashatyrev in #269
- Integrate Android example by @Nashatyrev in #275
- Finer grained netty dependencies by @Nashatyrev in #276
- Remove Apache commons-codec dependency by @Nashatyrev in #277
- Migrate to slf4j by @Nashatyrev in #279
- Support webtransport multiaddrs by @kevodwyer in #280
- Yamux implementation by @ianopolous in #281
- Refactor: test fixtures sort. Regression bug fix by @Nashatyrev in #284
- Improve muxer test coverage. Fix several muxer issues by @Nashatyrev in #285
- Implement TLS security protocol including early muxer negotiation by @ianopolous in #283
- Fix ecdsa cert usage in TLS which bouncycastle broke by @ianopolous in #293
- Fix yamux remote open by @ianopolous in #292
- Fix yamux handling of writes bigger than the window size by @ianopolous in #295
- Add Yamux specific unit tests by @StefanBratanov in #298
- Fix Gossip excessive memory consumption by SeenCache by @Nashatyrev in #300
- Rename
jvm-libp2p-minimal
tojvm-libp2p
by @StefanBratanov in #302 - Update README.md for upcoming v1.0.0 by @Nashatyrev in #301
- Add Host.getProtocols() and fix addProtocolHandler by @ianopolous in #299
- Disable publishing of test fixtures variants by @StefanBratanov in #306
- Disable customization of the generated pom by @StefanBratanov in #308
- Add all required repositories to the README by @StefanBratanov in #309
New Contributors
- @kevodwyer made their first contribution in #280
- @ianopolous made their first contribution in #281
0.10.0
0.9.2
What's Changed
- Optimize Gossip peers <=> topics map by @Nashatyrev in #251
- Switch lib version to 'develop' in the develop branch by @Nashatyrev in #252
- Add JMH benchmark by @Nashatyrev in #253
- Fix scenario where a call to
getPeerHandler
would always throw by @jimmygchen in #254
New Contributors
- @jimmygchen made their first contribution in #254
Full Changelog: 0.9.1...0.9.2
0.9.1
What's Changed
- Fix detekt's EqualsWithHashCodeExist warnings by @jtraglia in #236
- Fix detekt's SwallowedException warnings by @jtraglia in #237
- Optimization: no need to instantiate SecureRandom on sign() calls by @Nashatyrev in #246
- Optimize GossipRouter.mergeMessageParts() by @Nashatyrev in #245
- GossipScore refactor by @Nashatyrev in #247
- Refactor GossipRouter: extract GossipRouterBuilder by @Nashatyrev in #249
- Optimize GossipScore IP colocation calculation by @Nashatyrev in #248
- 0.9.1 release by @ajsutton in #250
Full Changelog: 0.9.0...0.9.1
0.9.0
What's Changed
- Rename variable "interfaze" -> "interface" by @jtraglia in #227
- Fix various typos by @jtraglia in #228
- Fix build warnings by @jtraglia in #230
- Forbid negative uvarint values by @jtraglia in #226
- Remove duplicate test by @ajsutton in #231
- Add GossipParam tests and fix a few small issues by @jtraglia in #232
- Add detekt with baseline by @jtraglia in #229
- Add listen/dial
preHandler
optional parameter by @Nashatyrev in #235 - Make cached sha256 of message data available by @ajsutton in #239
- 0.9.0 release by @ajsutton in #241
Full Changelog: 0.8.9...0.9.0