Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
fe2a1bc
Update dependencies and linting changes (#264)
StefanBratanov Feb 15, 2023
c8b62b5
Add JitPack to readme (#266)
StefanBratanov Feb 16, 2023
89ba1c2
Convert to multi-module project (#267)
Nashatyrev Feb 17, 2023
d0b86ff
Open some Gossip members for hacking (#268)
Nashatyrev Feb 20, 2023
70f712b
Add Gossip simulator module (#269)
Nashatyrev Feb 24, 2023
98df084
Integrate Android example (#275)
Nashatyrev May 17, 2023
e7d633e
Finer grained netty dependencies (#276)
Nashatyrev May 17, 2023
c6fb638
Remove Apache commons-codec dependency (#277)
Nashatyrev May 17, 2023
441e620
Migrate to slf4j (#279)
Nashatyrev May 18, 2023
f42740f
Support webtransport multiaddrs (#280)
kevodwyer May 18, 2023
8971b31
Yamux implementation (#281)
ianopolous May 24, 2023
63869ca
Refactor: test fixtures sort. Regression bug fix (#284)
Nashatyrev May 25, 2023
0981ec6
Improve muxer test coverage. Fix several muxer issues (#285)
Nashatyrev May 30, 2023
de42c11
Implement TLS security protocol including early muxer negotiation (#283)
ianopolous May 31, 2023
7a00ca3
Fix ecdsa cert usage in TLS which bouncycastle broke (#293)
ianopolous Jun 8, 2023
3c88678
Fix yamux remote open (#292)
ianopolous Jun 9, 2023
67e0e99
chore: Update .github/workflows/stale.yml [skip ci]
web-flow Jun 14, 2023
9ad0325
chore: Update .github/workflows/stale.yml [skip ci]
web-flow Jun 28, 2023
bf15e47
Fix yamux handling of writes bigger than the window size (#295)
ianopolous Aug 15, 2023
7b853f6
Add Yamux specific unit tests (#298)
StefanBratanov Aug 15, 2023
0ba9a90
Fix Gossip excessive memory consumption by SeenCache (#300)
Nashatyrev Aug 17, 2023
1664417
Rename `jvm-libp2p-minimal` to `jvm-libp2p` (#302)
StefanBratanov Aug 17, 2023
95a2a69
Update README.md for upcoming v1.0.0 (#301)
Nashatyrev Aug 18, 2023
4e73088
Add Host.getProtocols() and fix addProtocolHandler (#299)
ianopolous Aug 18, 2023
1a5f08d
Merge pull request #303 from libp2p/v1.0.0
Nashatyrev Aug 21, 2023
ac1a575
Disable publishing of test fixtures variants (#306)
StefanBratanov Aug 21, 2023
2830cd7
Disable customization of the generated pom (#308)
StefanBratanov Aug 22, 2023
09cb73d
Add all required repositories to the README (#309)
StefanBratanov Aug 22, 2023
086952d
Use spotless instead of kotlinter (#297)
StefanBratanov Aug 23, 2023
41c17ae
[Yamux] Fix sending of buffered messages after a window update (#312)
StefanBratanov Sep 8, 2023
eb0500c
Publish to Cloudsmith on push to develop branch (#313)
StefanBratanov Sep 8, 2023
9c8dfaf
[Yamux] Increase write buffer size and make it configurable (#317)
StefanBratanov Sep 12, 2023
a735c39
[Yamux] Revert merging send and receive windows maps (#318)
StefanBratanov Sep 13, 2023
6f7e485
[Yamux] Send whole data if window size is > 0 (#319)
StefanBratanov Sep 14, 2023
7d49700
[Yamux] Clear caches when connection is closed (#321)
StefanBratanov Sep 14, 2023
9de99e4
[Yamux] Send RST when write buffer has overflowed (#320)
StefanBratanov Sep 14, 2023
e3aeca3
Refactor MuxId (#322)
Nashatyrev Sep 14, 2023
f3f8ace
[Yamux] Refactor window sizes retrieval (#323)
StefanBratanov Sep 14, 2023
cda53ca
Dependencies updates (#327)
StefanBratanov Sep 15, 2023
a90e169
[Yamux] Don't send frame if send buffer is not empty (#332)
StefanBratanov Sep 27, 2023
48a66ab
Fix unit test consistency (#333)
StefanBratanov Sep 28, 2023
b902c1e
Fix .gitattributes (#335)
Nashatyrev Oct 5, 2023
3ba6272
Refactor YamuxHandler (#326)
Nashatyrev Oct 9, 2023
26efe02
Change maxPrunePeers and maxPeersPerPruneMessage usage (#336)
diegomrsantos Oct 9, 2023
7dc2fa2
Refactor YamuxHandler.SendBuffer (#328)
Nashatyrev Oct 10, 2023
3ac83c4
Add large blob test (#337)
Nashatyrev Oct 10, 2023
ee02cf9
Fix the case when a stream is closed while still having buffered data…
Nashatyrev Oct 11, 2023
e843836
Refactor Yamux flags (#338)
Nashatyrev Oct 11, 2023
e363c49
[Yamux] Allow max ACK backlog of 256 streams (#340)
StefanBratanov Oct 26, 2023
10514b1
Don't try and dial DNSADDR addresses (#343)
ianopolous Nov 24, 2023
ac6127b
Implement circuit relay v2 (#345)
ianopolous Jan 15, 2024
3977e67
chore(cfg): update new issue templates
dhuseby Jan 22, 2024
ca5eb72
Merge pull request #347 from dhuseby/dhuseby-new-issue-clarification
dhuseby Jan 30, 2024
24982ee
chore: Update .github/workflows/stale.yml [skip ci]
web-flow Jan 31, 2024
562ce10
Implement autonat protocol (#349)
ianopolous Feb 20, 2024
4c1f3c5
Update netty to fix native-image builds (#355)
ianopolous Mar 28, 2024
9895401
update dokka (#357)
ianopolous Mar 28, 2024
9fd7741
Fix returning internal mutable set to avoid ConcurrentModificationExc…
Nashatyrev May 6, 2024
838d7da
Fix remotePubKey in Noise secure Session (#364)
Nashatyrev May 15, 2024
d0552c7
Fix mdns when listening with ipv6 wildcard (which includes ipv4) (#366)
ianopolous May 21, 2024
640cc5d
Set topicID on outbound IHAVE and ignore inbound IHAVE for unknown to…
StefanBratanov May 22, 2024
28daefa
More mdns fixes (#368)
ianopolous Jun 12, 2024
3374fb4
Create funding.json
dhuseby Aug 13, 2024
62fa8bb
chore: Update funding.json
p-shahi Sep 4, 2024
b46d057
Merge pull request #372 from libp2p/update-funding-json
p-shahi Sep 4, 2024
7cf9e99
Updating com.google.protobuf to 3.25.5 (#373)
lucassaldanha Sep 20, 2024
601bda7
Fix Gossip simulator issue (#375)
Nashatyrev Sep 25, 2024
e9e1d33
[GossipSub 1.2] Add IDONTWANT support (#374)
StefanBratanov Sep 25, 2024
a32f486
Dependencies sweep (#376)
StefanBratanov Sep 26, 2024
cfdff90
Don't throw NoPeersForOutboundMessageException if peers DONTWANT mess…
StefanBratanov Oct 16, 2024
a00728e
Send IDONTWANT prior to publish (#386)
StefanBratanov Oct 18, 2024
64bf461
floodPublishMaxMessageSizeThreshold
tbenr Oct 21, 2024
20ab78c
align param values
tbenr Oct 21, 2024
3553637
fix param builder
tbenr Oct 21, 2024
3805ba7
fix builder
tbenr Oct 21, 2024
bd50c9c
add constants and PubsubMessage size method
tbenr Oct 21, 2024
851d2c6
spotless
tbenr Oct 21, 2024
88fe8ae
cleanups
tbenr Oct 21, 2024
f4783eb
Merge pull request #391 from tbenr/floodPublishMaxMessageSizeThreshold
tbenr Oct 21, 2024
269af48
Logging and other small warnings removal (#392)
tbenr Oct 22, 2024
1cde874
Gossip: more reliable publishing (#387)
Nashatyrev Oct 22, 2024
461d8c8
Gossip: direct peers handling fix (#398)
tbenr Nov 5, 2024
2e98c45
dependency sweep (#399)
tbenr Nov 20, 2024
183061b
Quic secure transport implementation (#407)
ianopolous Apr 11, 2025
e7ae1b6
Follow up to #407: refactor NettyTransport (#408)
Nashatyrev Apr 14, 2025
cae1036
ci: uci/copy-templates (#410)
web3-bot May 1, 2025
8b62e1f
Add QUIC os-specific bindings as implementation (#411)
StefanBratanov May 28, 2025
e4c25d5
Add interop test support (#421)
lucassaldanha Aug 26, 2025
3d4b05f
[QUIC] Set muxer session and secure session on connection (#413)
tbenr Aug 27, 2025
33ffc1a
Use netty core instead of incubator artifact for QUIC (#412)
StefanBratanov Aug 28, 2025
25dd797
Apply InboundTrafficLimitHandler only if max bytes > 0 (#416)
westernbear Aug 28, 2025
63d74d0
Apply TotalTimeoutHandler only if duration seconds > 0 (#415)
westernbear Aug 29, 2025
1419d27
docs: add build path to README (#419)
operagxsasha Aug 29, 2025
8aa477d
Move QUIC implementation to prototype 🍋 (#423)
StefanBratanov Sep 12, 2025
8104b86
Add quic to interop client (#425)
lucassaldanha Sep 16, 2025
a0123a6
Fix default redis param and simplifying compose test file (#427)
lucassaldanha Sep 18, 2025
bd921ba
Fix quic-v1 config (#428)
lucassaldanha Sep 18, 2025
09b67d7
Add websocket to interop client (#429)
StefanBratanov Sep 19, 2025
737456d
Switch base image from OpenJDK to Eclipse Temurin
dhuseby Nov 5, 2025
c2554a6
Updated rpc protobuf definition for partial messages (#434)
lucassaldanha Jan 27, 2026
eff9dd4
Add support for Extension Control Messages (gossipsub v1.3) 1/2 (#438)
lucassaldanha Feb 12, 2026
1ba3fc4
Sending control extension message to remote peers (#442)
lucassaldanha Feb 17, 2026
00e7419
Gossip Extensions feature flag (#443)
lucassaldanha Feb 19, 2026
77f7625
Added peer penalties logic when sending multiple ControlExtensions me…
lucassaldanha Feb 25, 2026
6b8823d
Update dependencies
lucassaldanha Apr 20, 2026
7066b37
Fix detekt failing on JVM 21
lucassaldanha Apr 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* text eol=lf
*.bat text eol=crlf
*.png binary
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Bug Report
description: Create a bug report for jvm-libp2p

body:
- type: markdown
attributes:
value: |
Thank you for filing a bug report!
- type: textarea
attributes:
label: Summary
description: Please provide a short summary of the bug, along with any information you feel relevant to replicate the bug.
validations:
required: true
- type: textarea
attributes:
label: Expected behavior
description: Describe what you expect to happen.
validations:
required: true
- type: textarea
attributes:
label: Actual behavior
description: Describe what actually happens.
validations:
required: true
- type: textarea
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
validations:
required: false
- type: textarea
attributes:
label: Possible Solution
description: Suggest a fix/reason for the bug, or ideas how to implement the addition or change.
validations:
required: false
- type: textarea
attributes:
label: Version
description: Which version of libp2p are you using? libp2p version (version number, commit, or branch)
validations:
required: false
- type: dropdown
attributes:
label: Would you like to work on fixing this bug ?
description: Any contribution towards fixing the bug is greatly appreciated. We are more than happy to provide help on the process.
options:
- "Yes"
- "No"
- Maybe
validations:
required: true
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Technical Questions
url: https://github.com/libp2p/jvm-libp2p/discussions/new?category=q-a
about: Please ask technical questions in the jvm-libp2p Github Discussions forum.
- name: Community-wide libp2p Discussion
url: https://discuss.libp2p.io
about: Discussions and questions about the libp2p community.
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/enhancement.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Enhancement
description: Suggest an improvement to an existing jvm-libp2p feature.
body:
- type: textarea
attributes:
label: Description
description: Describe the enhancement that you are proposing.
validations:
required: true
- type: textarea
attributes:
label: Motivation
description: Explain why this enhancement is beneficial.
validations:
required: true
- type: textarea
attributes:
label: Current Implementation
description: Describe the current implementation.
validations:
required: true
- type: dropdown
attributes:
label: Are you planning to do it yourself in a pull request ?
description: Any contribution is greatly appreciated. We are more than happy to provide help on the process.
options:
- "Yes"
- "No"
- Maybe
validations:
required: true
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Feature request
description: Suggest a new feature in jvm-libp2p
body:
- type: markdown
attributes:
value: |
If you'd like to suggest a feature related to libp2p but not specifically related to the JVM implementation, please file an issue at https://github.com/libp2p/specs instead.
- type: textarea
attributes:
label: Description
description: Briefly describe the feature that you are requesting.
validations:
required: true
- type: textarea
attributes:
label: Motivation
description: Explain why this feature is needed.
validations:
required: true
- type: textarea
attributes:
label: Requirements
description: Write a list of what you want this feature to do.
placeholder: "1."
validations:
required: true
- type: textarea
attributes:
label: Open questions
description: Use this section to ask any questions that are related to the feature.
validations:
required: false
- type: dropdown
attributes:
label: Are you planning to do it yourself in a pull request ?
description: Any contribution is greatly appreciated. We are more than happy to provide help on the process.
options:
- "Yes"
- "No"
- Maybe
validations:
required: true
7 changes: 7 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,16 @@ jobs:
with:
distribution: temurin
java-version: 11
- name: Install and run ipfs
run: ./install-run-ipfs.sh

- name: Setup Gradle
uses: gradle/gradle-build-action@v2

- name: Setup Android SDK
uses: android-actions/setup-android@v3
with:
cmdline-tools-version: 8512546

- name: Execute Gradle build
run: ./gradlew -s build dokkaJar
14 changes: 14 additions & 0 deletions .github/workflows/generated-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Close Generated PRs

on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:

permissions:
issues: write
pull-requests: write

jobs:
stale:
uses: ipdxco/unified-github-workflows/.github/workflows/reusable-generated-pr.yml@v1
20 changes: 20 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: publish
on:
push:
branches:
- "develop"
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11

- name: Setup Gradle
uses: gradle/gradle-build-action@v2

- name: Publish to Cloudsmith
run: ./gradlew publish -PcloudsmithUser=${{ secrets.CLOUDSMITH_USER }} -PcloudsmithApiKey=${{ secrets.CLOUDSMITH_API_KEY }}
28 changes: 8 additions & 20 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,14 @@
name: Close and mark stale issue
name: Close Stale Issues

on:
schedule:
- cron: '0 0 * * *'
- cron: '0 0 * * *'
workflow_dispatch:

permissions:
issues: write
pull-requests: write

jobs:
stale:

runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write

steps:
- uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'Oops, seems like we needed more information for this issue, please comment with more details or this issue will be closed in 7 days.'
close-issue-message: 'This issue was closed because it is missing author input.'
stale-issue-label: 'kind/stale'
any-of-labels: 'need/author-input'
exempt-issue-labels: 'need/triage,need/community-input,need/maintainer-input,need/maintainers-input,need/analysis,status/blocked,status/in-progress,status/ready,status/deferred,status/inactive'
days-before-issue-stale: 6
days-before-issue-close: 7
enable-statistics: true
uses: ipdxco/unified-github-workflows/.github/workflows/reusable-stale-issue.yml@v1
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -190,3 +190,10 @@ $RECYCLE.BIN/
node_modules
package-lock.json
/src/jmh/java/generated/

#Jenv
.java-version

# Claude
CLAUDE.local.md
.claude/settings.local.json
Loading
Loading