1.3.0 release#478
Merged
Merged
Conversation
Quic secure transport implementation --------- Co-authored-by: Anton Nashatyrev <anton.nashatyrev@gmail.com>
* Relay local/remote multiaddress retrieval to Transport implementations to get rid of subclass checks
* chore: add or force update .github/workflows/stale.yml * chore: add or force update .github/workflows/generated-pr.yml
--------- Co-authored-by: Anton Nashatyrev <Nashatyrev@users.noreply.github.com>
fixed the problem of openjdk images being gone
* Updated rpc protobuf definition for partial messages * fix spaces * fix typo
…xChannel.doWrite (#455) In Netty 4.2.x the original code's throw+catch pattern caused the exception to escape doWrite() uncaught, surfacing as spurious "PLEASE FIX OR REPORT" noise in Teku logs. The throw was caught locally, but buf.remove(cause) — called from the catch block without its own guard — can propagate exceptions back through promise-listener callbacks in certain Netty versions. Fix: move the localDisconnected check outside the try/catch and wrap the buf.remove(cause) call defensively so nothing can escape doWrite(). Pending write promises are still properly failed with ConnectionClosedException.
* Update dependencies Plugins: - com.diffplug.spotless 6.25.0 -> 7.2.1 - io.spring.dependency-management 1.1.6 -> 1.1.7 - me.champeau.jmh 0.7.2 -> 0.7.3 - com.google.protobuf (gradle) 0.9.4 -> 0.9.5 - Gradle wrapper 8.10.2 -> 8.14.3 Libraries: - log4j 2.24.1 -> 2.25.4 - junit-jupiter 5.11.3 -> 5.13.4 - junit-platform 1.13.4 (new explicit dependency) - assertj-core 3.26.3 -> 3.27.4 - protobuf-java 3.25.5 -> 4.32.1 - netty 4.2.5.Final -> 4.2.12.Final - netty-tcnative-boringssl-static 2.0.73.Final -> 2.0.76.Final - bouncycastle 1.78.1 -> 1.80 - guava 33.3.1-jre -> 33.4.8-jre - slf4j-api 2.0.9 -> 2.0.17 - ktlint version pinned to 1.1.1 Other: - Remove jmh from explicit dependencies (managed by me.champeau.jmh plugin) - Use ParameterizedInvocationConstants.INDEX_PLACEHOLDER (junit 5.13+) - Remove dead commented-out debug code in GossipScoreBenchmark * Fix detekt failing on JVM 21 detekt 1.22.0 only accepts jvmTarget up to 18, so it fails when Gradle runs on Java 21. Explicitly setting jvmTarget = "11" on the Detekt tasks matches the project's configured Kotlin target and unblocks the check. detekt 1.23.x would fix this properly but requires Kotlin 1.9+, which is a separate upgrade. * Revert slf4j and bouncycastle upgrades for Android compatibility AGP 7.4.2's D8 dexer cannot process the newer bytecode format used by slf4j-api 2.0.17 and bouncycastle 1.80, causing the android-chatter example module to fail to build. Reverting to versions compatible with the old D8 toolchain. Unblocked once AGP is upgraded (tracked in #458 as part of Kotlin 2.x work). * Revert guava upgrade for Android compatibility guava 33.4.8-jre transitively brings in error_prone_annotations 2.36.0, which AGP 7.4.2's D8 dexer cannot process. Reverting to 33.3.1-jre which pulls in 2.28.0, the previously working version. Unblocked once AGP is upgraded (tracked in #458). * Revert protobuf upgrade for Android compatibility protobuf-java 4.32.1 generates bytecode that AGP 7.4.2's D8 dexer cannot process (IdentifyOuterClass and similar generated classes fail to dex). Reverting to 3.25.5 (the current develop version) restores Android compatibility. protobuf 4.x can be revisited once AGP is upgraded (tracked in #458). * Change Netty version in versions.gradle Updated Netty version from 4.2.12.Final to 4.2.10.Final.
Captures the MVP scope, jvm-libp2p/client responsibility boundary, client-facing API, routing semantics, per-group lifecycle and DoS caps, and the implementation plan for the gossipsub partial-messages extension. Lands ahead of implementation so sub-issues of #435 can reference a stable design anchor.
Add paths-ignore filters to build and publish workflows so pushes and PRs that only touch markdown files, docs/, license files, .gitignore, or issue templates do not trigger a full build.
…TWANT (#472) GossipRouter.subscribe() seeded the new mesh from fanout/other peers filtered by score and direct-peer status only, omitting the !isBackOff check that the heartbeat-driven mesh maintenance paths apply. When a local subscribe followed a recent PRUNE (e.g. attestation-subnet rotation right after the remote pruned us), the router immediately GRAFTed the still-backed-off peer, accumulating P7 behaviour penalties on the remote scorer until the peer score crossed the disconnect threshold. Mirror the JOIN path in go-libp2p-pubsub by filtering backed-off peers out of both seed lists. Also make supportsBackoffAndPX() and supportsIDontWant() cumulative across GossipSub versions: v1.3 is a strict superset of v1.2 and v1.1, so a router negotiating /meshsub/1.3.0 must continue to honour PRUNE backoff, peer exchange, and IDONTWANT. Previously the exact-match checks silently disabled all three for v1.3 routers.
mehdi-aouadi
approved these changes
May 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.