Skip to content

Commit 33b65bd

Browse files
authored
Merge branch 'main' into dependabot/github_actions/actions/setup-node-5
2 parents 0838e98 + 5fccd1d commit 33b65bd

File tree

105 files changed

+1986
-370
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+1986
-370
lines changed

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Close and mark stale issue
1+
name: Close Stale Issues
22

33
on:
44
schedule:

.release-please-manifest.json

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,51 @@
11
{
2-
"packages/config": "1.1.17",
3-
"packages/connection-encrypter-plaintext": "3.0.2",
4-
"packages/connection-encrypter-tls": "3.0.2",
5-
"packages/crypto": "5.1.10",
6-
"packages/floodsub": "11.0.3",
7-
"packages/gossipsub": "15.0.4",
8-
"packages/interface": "3.0.0",
9-
"packages/interface-compliance-tests": "7.0.3",
10-
"packages/interface-internal": "3.0.2",
11-
"packages/interop": "14.0.4",
12-
"packages/kad-dht": "16.0.2",
13-
"packages/keychain": "6.0.2",
14-
"packages/libp2p": "3.0.3",
15-
"packages/libp2p-daemon": "6.0.4",
16-
"packages/libp2p-daemon-client": "10.0.4",
17-
"packages/libp2p-daemon-protocol": "8.0.0",
18-
"packages/libp2p-daemon-server": "9.0.4",
19-
"packages/logger": "6.0.2",
20-
"packages/metrics-opentelemetry": "2.0.2",
21-
"packages/metrics-prometheus": "5.0.2",
22-
"packages/metrics-simple": "2.0.2",
23-
"packages/multistream-select": "7.0.2",
24-
"packages/peer-collections": "7.0.2",
25-
"packages/peer-discovery-bootstrap": "12.0.3",
26-
"packages/peer-discovery-mdns": "12.0.3",
27-
"packages/peer-id": "6.0.1",
28-
"packages/peer-record": "9.0.1",
29-
"packages/peer-store": "12.0.2",
30-
"packages/pnet": "3.0.3",
31-
"packages/protocol-autonat": "3.0.2",
32-
"packages/protocol-autonat-v2": "2.0.2",
33-
"packages/protocol-dcutr": "3.0.2",
34-
"packages/protocol-echo": "3.0.3",
35-
"packages/protocol-fetch": "4.0.2",
36-
"packages/protocol-identify": "4.0.2",
37-
"packages/protocol-perf": "5.0.3",
38-
"packages/protocol-ping": "3.0.2",
2+
"packages/config": "1.1.19",
3+
"packages/connection-encrypter-plaintext": "3.0.4",
4+
"packages/connection-encrypter-tls": "3.0.4",
5+
"packages/crypto": "5.1.12",
6+
"packages/floodsub": "11.0.5",
7+
"packages/gossipsub": "15.0.6",
8+
"packages/interface": "3.0.2",
9+
"packages/interface-compliance-tests": "7.0.5",
10+
"packages/interface-internal": "3.0.4",
11+
"packages/interop": "14.0.6",
12+
"packages/kad-dht": "16.0.4",
13+
"packages/keychain": "6.0.4",
14+
"packages/libp2p": "3.0.5",
15+
"packages/libp2p-daemon": "6.0.6",
16+
"packages/libp2p-daemon-client": "10.0.6",
17+
"packages/libp2p-daemon-protocol": "8.0.2",
18+
"packages/libp2p-daemon-server": "9.0.6",
19+
"packages/logger": "6.0.4",
20+
"packages/metrics-opentelemetry": "2.0.4",
21+
"packages/metrics-prometheus": "5.0.4",
22+
"packages/metrics-simple": "2.0.4",
23+
"packages/multistream-select": "7.0.4",
24+
"packages/peer-collections": "7.0.4",
25+
"packages/peer-discovery-bootstrap": "12.0.5",
26+
"packages/peer-discovery-mdns": "12.0.5",
27+
"packages/peer-id": "6.0.3",
28+
"packages/peer-record": "9.0.3",
29+
"packages/peer-store": "12.0.4",
30+
"packages/pnet": "3.0.5",
31+
"packages/protocol-autonat": "3.0.4",
32+
"packages/protocol-autonat-v2": "2.0.4",
33+
"packages/protocol-dcutr": "3.0.4",
34+
"packages/protocol-echo": "3.0.5",
35+
"packages/protocol-fetch": "4.0.4",
36+
"packages/protocol-identify": "4.0.4",
37+
"packages/protocol-perf": "5.0.5",
38+
"packages/protocol-ping": "3.0.4",
3939
"packages/record": "4.0.8",
40-
"packages/stream-multiplexer-mplex": "12.0.3",
41-
"packages/transport-circuit-relay-v2": "4.0.2",
42-
"packages/transport-memory": "2.0.2",
43-
"packages/transport-tcp": "11.0.2",
44-
"packages/transport-webrtc": "6.0.3",
45-
"packages/transport-websockets": "10.0.3",
46-
"packages/transport-webtransport": "6.0.4",
47-
"packages/upnp-nat": "4.0.2",
48-
"packages/utils": "7.0.2",
49-
"packages/integration-tests": "1.0.4",
50-
"interop": "1.0.4"
40+
"packages/stream-multiplexer-mplex": "12.0.5",
41+
"packages/transport-circuit-relay-v2": "4.0.4",
42+
"packages/transport-memory": "2.0.4",
43+
"packages/transport-tcp": "11.0.4",
44+
"packages/transport-webrtc": "6.0.5",
45+
"packages/transport-websockets": "10.0.5",
46+
"packages/transport-webtransport": "6.0.6",
47+
"packages/upnp-nat": "4.0.4",
48+
"packages/utils": "7.0.4",
49+
"packages/integration-tests": "1.0.6",
50+
"interop": "1.0.6"
5151
}

doc/migrations/v2.0.0-v3.0.0.md

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ and `sink` properties, we now listen for `message` events and call `.send` with
8484
`Uint8Array`/`Uint8ArrayList` values.
8585

8686
We can detect when write backpressure needs to be applied by `.send` returning
87-
`false` (we should await a `drain` event when this happens). and read
88-
backpressure can be explicitly applied by calling the new `.pause` and `.resume`
89-
methods.
87+
`false` (we should await a `drain` event or for the promise returned from
88+
`onDrain()` to resolve when this happens). and read backpressure can be
89+
explicitly applied by calling the new `.pause` and `.resume` methods.
9090

9191
> [!CAUTION]
9292
> If no `message` event handler is added, streams will buffer incoming data
@@ -179,7 +179,8 @@ When streams close they emit a `close` event. This event has an `error: Error` p
179179

180180
### Write backpressure
181181

182-
You can use [p-event](https://www.npmjs.com/package/p-event) or [race-event](https://www.npmjs.com/package/race-event) to pause writing due to backpressure:
182+
When `.send()` returns false, the promise returned from `onDrain` will resolve
183+
when the stream can accept new data:
183184

184185
```ts
185186
import { createLibp2p } from 'libp2p'
@@ -198,6 +199,37 @@ const bufs = [
198199
// a lot of data
199200
]
200201

202+
for (const buf of bufs) {
203+
if (!stream.send(buf)) {
204+
await stream.onDrain({
205+
signal: AbortSignal.timeout(5_000)
206+
})
207+
}
208+
}
209+
```
210+
211+
Alternatively you can use [p-event](https://www.npmjs.com/package/p-event) or
212+
[race-event](https://www.npmjs.com/package/race-event) to wait for the stream to
213+
emit a `drain` event before continuing:
214+
215+
```ts
216+
import { createLibp2p } from 'libp2p'
217+
import { peerIdFromString } from '@libp2p/peer-id'
218+
import { pEvent } from 'p-event'
219+
220+
const node = createLibp2p({
221+
// libp2p config here
222+
})
223+
224+
const remotePeer = peerIdFromString('123Foo...')
225+
const stream = await node.dialProtocol(remotePeer, '/echo/1.0.0', {
226+
signal: AbortSignal.timeout(5_000)
227+
})
228+
229+
const bufs = [
230+
// a lot of data
231+
]
232+
201233
for (const buf of bufs) {
202234
if (!stream.send(buf)) {
203235
await pEvent(stream, 'drain', {

interop/CHANGELOG.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,43 @@
11
# Changelog
22

3+
## [1.0.6](https://github.com/libp2p/js-libp2p/compare/transport-interop-libp2p-main-v1.0.5...transport-interop-libp2p-main-v1.0.6) (2025-10-02)
4+
5+
6+
### Dependencies
7+
8+
* The following workspace dependencies were updated
9+
* devDependencies
10+
* @libp2p/circuit-relay-v2 bumped from ^4.0.3 to ^4.0.4
11+
* @libp2p/identify bumped from ^4.0.3 to ^4.0.4
12+
* @libp2p/interface bumped from ^3.0.1 to ^3.0.2
13+
* @libp2p/mplex bumped from ^12.0.4 to ^12.0.5
14+
* @libp2p/ping bumped from ^3.0.3 to ^3.0.4
15+
* @libp2p/tcp bumped from ^11.0.3 to ^11.0.4
16+
* @libp2p/tls bumped from ^3.0.3 to ^3.0.4
17+
* @libp2p/webrtc bumped from ^6.0.4 to ^6.0.5
18+
* @libp2p/websockets bumped from ^10.0.4 to ^10.0.5
19+
* @libp2p/webtransport bumped from ^6.0.5 to ^6.0.6
20+
* libp2p bumped from ^3.0.4 to ^3.0.5
21+
22+
## [1.0.5](https://github.com/libp2p/js-libp2p/compare/transport-interop-libp2p-main-v1.0.4...transport-interop-libp2p-main-v1.0.5) (2025-10-01)
23+
24+
25+
### Dependencies
26+
27+
* The following workspace dependencies were updated
28+
* devDependencies
29+
* @libp2p/circuit-relay-v2 bumped from ^4.0.2 to ^4.0.3
30+
* @libp2p/identify bumped from ^4.0.2 to ^4.0.3
31+
* @libp2p/interface bumped from ^3.0.0 to ^3.0.1
32+
* @libp2p/mplex bumped from ^12.0.3 to ^12.0.4
33+
* @libp2p/ping bumped from ^3.0.2 to ^3.0.3
34+
* @libp2p/tcp bumped from ^11.0.2 to ^11.0.3
35+
* @libp2p/tls bumped from ^3.0.2 to ^3.0.3
36+
* @libp2p/webrtc bumped from ^6.0.3 to ^6.0.4
37+
* @libp2p/websockets bumped from ^10.0.3 to ^10.0.4
38+
* @libp2p/webtransport bumped from ^6.0.4 to ^6.0.5
39+
* libp2p bumped from ^3.0.3 to ^3.0.4
40+
341
## [1.0.4](https://github.com/libp2p/js-libp2p/compare/transport-interop-libp2p-main-v1.0.3...transport-interop-libp2p-main-v1.0.4) (2025-09-27)
442

543

interop/package.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@libp2p/transport-interop-libp2p-main",
3-
"version": "1.0.4",
3+
"version": "1.0.6",
44
"type": "module",
55
"private": true,
66
"scripts": {
@@ -13,19 +13,19 @@
1313
"devDependencies": {
1414
"@chainsafe/libp2p-noise": "^17.0.0",
1515
"@chainsafe/libp2p-yamux": "^8.0.0",
16-
"@libp2p/circuit-relay-v2": "^4.0.2",
17-
"@libp2p/identify": "^4.0.2",
18-
"@libp2p/interface": "^3.0.0",
19-
"@libp2p/mplex": "^12.0.3",
20-
"@libp2p/ping": "^3.0.2",
21-
"@libp2p/tcp": "^11.0.2",
22-
"@libp2p/tls": "^3.0.2",
23-
"@libp2p/webrtc": "^6.0.3",
24-
"@libp2p/websockets": "^10.0.3",
25-
"@libp2p/webtransport": "^6.0.4",
16+
"@libp2p/circuit-relay-v2": "^4.0.4",
17+
"@libp2p/identify": "^4.0.4",
18+
"@libp2p/interface": "^3.0.2",
19+
"@libp2p/mplex": "^12.0.5",
20+
"@libp2p/ping": "^3.0.4",
21+
"@libp2p/tcp": "^11.0.4",
22+
"@libp2p/tls": "^3.0.4",
23+
"@libp2p/webrtc": "^6.0.5",
24+
"@libp2p/websockets": "^10.0.5",
25+
"@libp2p/webtransport": "^6.0.6",
2626
"@multiformats/multiaddr": "^13.0.1",
2727
"aegir": "^47.0.22",
28-
"libp2p": "^3.0.3",
28+
"libp2p": "^3.0.5",
2929
"p-event": "^7.0.0",
3030
"redis": "^4.7.1"
3131
}

packages/config/CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
11
# Changelog
22

3+
## [1.1.19](https://github.com/libp2p/js-libp2p/compare/config-v1.1.18...config-v1.1.19) (2025-10-02)
4+
5+
6+
### Dependencies
7+
8+
* The following workspace dependencies were updated
9+
* dependencies
10+
* @libp2p/crypto bumped from ^5.1.11 to ^5.1.12
11+
* @libp2p/interface bumped from ^3.0.1 to ^3.0.2
12+
* @libp2p/keychain bumped from ^6.0.3 to ^6.0.4
13+
* @libp2p/logger bumped from ^6.0.3 to ^6.0.4
14+
15+
## [1.1.18](https://github.com/libp2p/js-libp2p/compare/config-v1.1.17...config-v1.1.18) (2025-10-01)
16+
17+
18+
### Dependencies
19+
20+
* The following workspace dependencies were updated
21+
* dependencies
22+
* @libp2p/crypto bumped from ^5.1.10 to ^5.1.11
23+
* @libp2p/interface bumped from ^3.0.0 to ^3.0.1
24+
* @libp2p/keychain bumped from ^6.0.2 to ^6.0.3
25+
* @libp2p/logger bumped from ^6.0.2 to ^6.0.3
26+
327
## [1.1.17](https://github.com/libp2p/js-libp2p/compare/config-v1.1.16...config-v1.1.17) (2025-09-27)
428

529

packages/config/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@libp2p/config",
3-
"version": "1.1.17",
3+
"version": "1.1.19",
44
"description": "Helper functions to make dealing with libp2p config easier",
55
"license": "Apache-2.0 OR MIT",
66
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/config#readme",
@@ -39,10 +39,10 @@
3939
"doc-check": "aegir doc-check"
4040
},
4141
"dependencies": {
42-
"@libp2p/crypto": "^5.1.10",
43-
"@libp2p/interface": "^3.0.0",
44-
"@libp2p/keychain": "^6.0.2",
45-
"@libp2p/logger": "^6.0.2",
42+
"@libp2p/crypto": "^5.1.12",
43+
"@libp2p/interface": "^3.0.2",
44+
"@libp2p/keychain": "^6.0.4",
45+
"@libp2p/logger": "^6.0.4",
4646
"interface-datastore": "^8.3.2"
4747
},
4848
"devDependencies": {

packages/connection-encrypter-plaintext/CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,36 @@
7272
* devDependencies
7373
* @libp2p/interface-compliance-tests bumped from ^5.3.0 to ^5.3.1
7474

75+
## [3.0.4](https://github.com/libp2p/js-libp2p/compare/plaintext-v3.0.3...plaintext-v3.0.4) (2025-10-02)
76+
77+
78+
### Dependencies
79+
80+
* The following workspace dependencies were updated
81+
* dependencies
82+
* @libp2p/crypto bumped from ^5.1.11 to ^5.1.12
83+
* @libp2p/interface bumped from ^3.0.1 to ^3.0.2
84+
* @libp2p/peer-id bumped from ^6.0.2 to ^6.0.3
85+
* @libp2p/utils bumped from ^7.0.3 to ^7.0.4
86+
* devDependencies
87+
* @libp2p/crypto bumped from ^5.1.11 to ^5.1.12
88+
* @libp2p/logger bumped from ^6.0.3 to ^6.0.4
89+
90+
## [3.0.3](https://github.com/libp2p/js-libp2p/compare/plaintext-v3.0.2...plaintext-v3.0.3) (2025-10-01)
91+
92+
93+
### Dependencies
94+
95+
* The following workspace dependencies were updated
96+
* dependencies
97+
* @libp2p/crypto bumped from ^5.1.10 to ^5.1.11
98+
* @libp2p/interface bumped from ^3.0.0 to ^3.0.1
99+
* @libp2p/peer-id bumped from ^6.0.1 to ^6.0.2
100+
* @libp2p/utils bumped from ^7.0.2 to ^7.0.3
101+
* devDependencies
102+
* @libp2p/crypto bumped from ^5.1.10 to ^5.1.11
103+
* @libp2p/logger bumped from ^6.0.2 to ^6.0.3
104+
75105
## [3.0.2](https://github.com/libp2p/js-libp2p/compare/plaintext-v3.0.1...plaintext-v3.0.2) (2025-09-27)
76106

77107

packages/connection-encrypter-plaintext/package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@libp2p/plaintext",
3-
"version": "3.0.2",
3+
"version": "3.0.4",
44
"description": "An insecure connection encrypter",
55
"license": "Apache-2.0 OR MIT",
66
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/connection-encrypter-plaintext#readme",
@@ -45,17 +45,17 @@
4545
"doc-check": "aegir doc-check"
4646
},
4747
"dependencies": {
48-
"@libp2p/crypto": "^5.1.10",
49-
"@libp2p/interface": "^3.0.0",
50-
"@libp2p/peer-id": "^6.0.1",
51-
"@libp2p/utils": "^7.0.2",
48+
"@libp2p/crypto": "^5.1.12",
49+
"@libp2p/interface": "^3.0.2",
50+
"@libp2p/peer-id": "^6.0.3",
51+
"@libp2p/utils": "^7.0.4",
5252
"protons-runtime": "^5.6.0",
5353
"uint8arraylist": "^2.4.8",
5454
"uint8arrays": "^5.1.0"
5555
},
5656
"devDependencies": {
57-
"@libp2p/crypto": "^5.1.10",
58-
"@libp2p/logger": "^6.0.2",
57+
"@libp2p/crypto": "^5.1.12",
58+
"@libp2p/logger": "^6.0.4",
5959
"aegir": "^47.0.22",
6060
"protons": "^7.7.0",
6161
"sinon": "^21.0.0"

0 commit comments

Comments
 (0)