mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-22 10:57:42 +08:00
Merge pull request #10579 from ipfs/merge-release-v0.32.0
Merge release v0.32.0
This commit is contained in:
commit
8351cf9e78
@ -1,5 +1,6 @@
|
||||
# Kubo Changelogs
|
||||
|
||||
- [v0.33](docs/changelogs/v0.33.md)
|
||||
- [v0.32](docs/changelogs/v0.32.md)
|
||||
- [v0.31](docs/changelogs/v0.31.md)
|
||||
- [v0.30](docs/changelogs/v0.30.md)
|
||||
|
||||
@ -138,6 +138,13 @@ func P2PForgeCertMgr(repoPath string, cfg config.AutoTLS) interface{} {
|
||||
storagePath := filepath.Join(repoPath, "p2p-forge-certs")
|
||||
|
||||
forgeLogger := logging.Logger("autotls").Desugar()
|
||||
|
||||
// TODO: this should not be necessary, but we do it to help tracking
|
||||
// down any race conditions causing
|
||||
// https://github.com/ipshipyard/p2p-forge/issues/8
|
||||
certmagic.Default.Logger = forgeLogger.Named("default_fixme")
|
||||
certmagic.DefaultACME.Logger = forgeLogger.Named("default_acme_client_fixme")
|
||||
|
||||
certStorage := &certmagic.FileStorage{Path: storagePath}
|
||||
certMgr, err := p2pforge.NewP2PForgeCertMgr(
|
||||
p2pforge.WithLogger(forgeLogger.Sugar()),
|
||||
|
||||
@ -17,15 +17,35 @@
|
||||
|
||||
#### 🎯 AutoTLS: Automatic Certificates for libp2p WebSockets via `libp2p.direct`
|
||||
|
||||
This release introduces an experimental feature that significantly improves how browsers can connect to Kubo node.
|
||||
Opt-in configuration allows Kubo nodes to obtain CA-signed TLS certificates for [libp2p Secure WebSocket (WSS)](https://github.com/libp2p/specs/blob/master/websockets/README.md) connections automatically.
|
||||
<img src="https://github.com/user-attachments/assets/51af045b-eff7-414f-b52b-0d1f222d74a3" width="300px" />
|
||||
|
||||
See [`AutoTLS`](https://github.com/ipfs/kubo/blob/master/docs/config.md#autotls) configuration for details how to enable it. We appreciate you testing and providing an early feedback in [kubo#10560](https://github.com/ipfs/kubo/issues/10560).
|
||||
This release introduces an experimental feature that significantly improves how browsers ([Helia](https://helia.io/), [Service Worker](https://inbrowser.link)) can connect to Kubo node.
|
||||
|
||||
Opt-in configuration allows a publicly dialable Kubo nodes (public IP, port forwarding, or NAT with uPnP) to obtain CA-signed TLS certificates for [libp2p Secure WebSocket (WSS)](https://github.com/libp2p/specs/blob/master/websockets/README.md) connections automatically.
|
||||
|
||||
> [!TIP]
|
||||
> To enable this feature, set `AutoTLS.Enabled` to `true` and add a listener for `/tls/sni/*.libp2p.direct/ws` on a separate TCP port:
|
||||
> ```diff
|
||||
> {
|
||||
> + "AutoTLS": { "Enabled": true },
|
||||
> "Addresses": {
|
||||
> "Swarm": {
|
||||
> "/ip4/0.0.0.0/tcp/4001",
|
||||
> + "/ip4/0.0.0.0/tcp/4002/tls/sni/*.libp2p.direct/ws",
|
||||
> "/ip6/::/tcp/4001",
|
||||
> + "/ip6/::/tcp/4002/tls/sni/*.libp2p.direct/ws",
|
||||
> ```
|
||||
> After restarting your node for the first time you may need to wait 5-15 minutes to pass all checks and for the changes to take effect.
|
||||
> We are working on sharing the same TCP port with other transports ([go-libp2p#2984](https://github.com/libp2p/go-libp2p/pull/2984)).
|
||||
|
||||
See [`AutoTLS` configuration](https://github.com/ipfs/kubo/blob/master/docs/config.md#autotls) for more details how to enable it and what to expect.
|
||||
|
||||
This is an early preview, we appreciate you testing and filling bug reports or feedback in the tracking issue at [kubo#10560](https://github.com/ipfs/kubo/issues/10560).
|
||||
|
||||
#### 📦️ Dependency updates
|
||||
|
||||
- update `ipfs-webui` to [v4.4.0](https://github.com/ipfs/ipfs-webui/releases/tag/v4.4.0)
|
||||
- update `boxo` to [v0.24.1](https://github.com/ipfs/boxo/releases/tag/v0.24.1) + [v0.24.2](https://github.com/ipfs/boxo/releases/tag/v0.24.2) + [v0.24.3](https://github.com/ipfs/boxo/releases/tag/v0.24.3)
|
||||
- update `boxo` to [v0.24.1](https://github.com/ipfs/boxo/releases/tag/v0.24.1) + [v0.24.2](https://github.com/ipfs/boxo/releases/tag/v0.24.2) + [v0.24.3](https://github.com/ipfs/boxo/releases/tag/v0.24.3)
|
||||
- This includes a number of fixes and bitswap improvements, and support for filtering from [IPIP-484](https://specs.ipfs.tech/ipips/ipip-0484/) in delegated HTTP routing and IPNI queries.
|
||||
- update `go-libp2p` to [v0.37.0](https://github.com/libp2p/go-libp2p/releases/tag/v0.37.0)
|
||||
- This update required removal of `Swarm.RelayService.MaxReservationsPerPeer` configuration option from Kubo. If you had it set, remove it from your configuration file.
|
||||
@ -40,4 +60,148 @@ See [`AutoTLS`](https://github.com/ipfs/kubo/blob/master/docs/config.md#autotls)
|
||||
|
||||
### 📝 Changelog
|
||||
|
||||
<details><summary>Full Changelog</summary>
|
||||
|
||||
- github.com/ipfs/kubo:
|
||||
- chore: 0.32.0
|
||||
- fix: go-libp2p-kad-dht v0.28.0 (#10578) ([ipfs/kubo#10578](https://github.com/ipfs/kubo/pull/10578))
|
||||
- chore: 0.32.0-rc2
|
||||
- feat: ipfs-webui v4.4.0 (#10574) ([ipfs/kubo#10574](https://github.com/ipfs/kubo/pull/10574))
|
||||
- chore: label implicit loggers
|
||||
- chore: boxo v0.24.3 and p2p-forge v0.0.2 (#10572) ([ipfs/kubo#10572](https://github.com/ipfs/kubo/pull/10572))
|
||||
- chore: stop using go-homedir (#10568) ([ipfs/kubo#10568](https://github.com/ipfs/kubo/pull/10568))
|
||||
- fix(autotls): store certificates at the location from the repo path (#10566) ([ipfs/kubo#10566](https://github.com/ipfs/kubo/pull/10566))
|
||||
- chore: 0.32.0-rc1
|
||||
- docs(autotls): add note about separate port use (#10562) ([ipfs/kubo#10562](https://github.com/ipfs/kubo/pull/10562))
|
||||
- feat(AutoTLS): opt-in WSS certs from p2p-forge at libp2p.direct (#10521) ([ipfs/kubo#10521](https://github.com/ipfs/kubo/pull/10521))
|
||||
- chore: upgrade to boxo v0.24.2 (#10559) ([ipfs/kubo#10559](https://github.com/ipfs/kubo/pull/10559))
|
||||
- refactor: update to go-libp2p v0.37.0 (#10554) ([ipfs/kubo#10554](https://github.com/ipfs/kubo/pull/10554))
|
||||
- docs(config): explain what multiaddr is
|
||||
- chore: update dependencies (#10548) ([ipfs/kubo#10548](https://github.com/ipfs/kubo/pull/10548))
|
||||
- chore: update test dependencies (#10555) ([ipfs/kubo#10555](https://github.com/ipfs/kubo/pull/10555))
|
||||
- chore(ci): adjust verbosity
|
||||
- chore(ci): verbose build of test/bin deps
|
||||
- chore(ci): build docker images for staging branch
|
||||
- Create Changelog: v0.32 ([ipfs/kubo#10546](https://github.com/ipfs/kubo/pull/10546))
|
||||
- Merge release v0.31.0 ([ipfs/kubo#10545](https://github.com/ipfs/kubo/pull/10545))
|
||||
- chore: update RELEASE_CHECKLIST.md (#10544) ([ipfs/kubo#10544](https://github.com/ipfs/kubo/pull/10544))
|
||||
- feat: ipfs-webui v4.3.3 (#10543) ([ipfs/kubo#10543](https://github.com/ipfs/kubo/pull/10543))
|
||||
- chore: update RELEASE_CHECKLIST.md (#10542) ([ipfs/kubo#10542](https://github.com/ipfs/kubo/pull/10542))
|
||||
- Add full changelog to release changelog
|
||||
- fix: go 1.23(.2) (#10540) ([ipfs/kubo#10540](https://github.com/ipfs/kubo/pull/10540))
|
||||
- chore: bump version to 0.32.0-dev
|
||||
- github.com/ipfs/boxo (v0.24.0 -> v0.24.3):
|
||||
- Release v0.24.3 ([ipfs/boxo#713](https://github.com/ipfs/boxo/pull/713))
|
||||
- Merge branch 'main' into release
|
||||
- Release v0.24.2 ([ipfs/boxo#707](https://github.com/ipfs/boxo/pull/707))
|
||||
- Release v0.24.1 ([ipfs/boxo#706](https://github.com/ipfs/boxo/pull/706))
|
||||
- github.com/ipfs/go-ipfs-cmds (v0.13.0 -> v0.14.0):
|
||||
- chore: release v0.14.0 (#269) ([ipfs/go-ipfs-cmds#269](https://github.com/ipfs/go-ipfs-cmds/pull/269))
|
||||
- github.com/ipfs/go-ipfs-redirects-file (v0.1.1 -> v0.1.2):
|
||||
- chore: v0.1.2 (#29) ([ipfs/go-ipfs-redirects-file#29](https://github.com/ipfs/go-ipfs-redirects-file/pull/29))
|
||||
- docs(readme): refer specs and ipip
|
||||
- chore: update dependencies (#28) ([ipfs/go-ipfs-redirects-file#28](https://github.com/ipfs/go-ipfs-redirects-file/pull/28))
|
||||
- github.com/ipfs/go-metrics-prometheus (v0.0.2 -> v0.0.3):
|
||||
- chore: release v0.0.3 (#24) ([ipfs/go-metrics-prometheus#24](https://github.com/ipfs/go-metrics-prometheus/pull/24))
|
||||
- chore: update deps and update go-log to v2 (#23) ([ipfs/go-metrics-prometheus#23](https://github.com/ipfs/go-metrics-prometheus/pull/23))
|
||||
- sync: update CI config files (#9) ([ipfs/go-metrics-prometheus#9](https://github.com/ipfs/go-metrics-prometheus/pull/9))
|
||||
- github.com/ipfs/go-unixfsnode (v1.9.1 -> v1.9.2):
|
||||
- New release version ([ipfs/go-unixfsnode#78](https://github.com/ipfs/go-unixfsnode/pull/78))
|
||||
- chore: update dependencies
|
||||
- github.com/libp2p/go-flow-metrics (v0.1.0 -> v0.2.0):
|
||||
- chore: release v0.2.0 (#33) ([libp2p/go-flow-metrics#33](https://github.com/libp2p/go-flow-metrics/pull/33))
|
||||
- chore: cleanup readme (#31) ([libp2p/go-flow-metrics#31](https://github.com/libp2p/go-flow-metrics/pull/31))
|
||||
- ci: uci/update-go ([libp2p/go-flow-metrics#27](https://github.com/libp2p/go-flow-metrics/pull/27))
|
||||
- fix(ewma): reduce the chances of fake bandwidth spikes (#8) ([libp2p/go-flow-metrics#8](https://github.com/libp2p/go-flow-metrics/pull/8))
|
||||
- chore: switch to typed atomics (#24) ([libp2p/go-flow-metrics#24](https://github.com/libp2p/go-flow-metrics/pull/24))
|
||||
- test: use mock clocks for all tests (#25) ([libp2p/go-flow-metrics#25](https://github.com/libp2p/go-flow-metrics/pull/25))
|
||||
- ci: uci/copy-templates ([libp2p/go-flow-metrics#21](https://github.com/libp2p/go-flow-metrics/pull/21))
|
||||
- github.com/libp2p/go-libp2p (v0.36.5 -> v0.37.0):
|
||||
- Release v0.37.0 (#3013) ([libp2p/go-libp2p#3013](https://github.com/libp2p/go-libp2p/pull/3013))
|
||||
- feat: Add WithFxOption (#2956) ([libp2p/go-libp2p#2956](https://github.com/libp2p/go-libp2p/pull/2956))
|
||||
- chore: update imports to use slices package (#3007) ([libp2p/go-libp2p#3007](https://github.com/libp2p/go-libp2p/pull/3007))
|
||||
- Change latency metrics buckets (#3012) ([libp2p/go-libp2p#3012](https://github.com/libp2p/go-libp2p/pull/3012))
|
||||
- chore: bump deps in preparation for v0.37.0 (#3011) ([libp2p/go-libp2p#3011](https://github.com/libp2p/go-libp2p/pull/3011))
|
||||
- autonat: fix interaction with autorelay (#2967) ([libp2p/go-libp2p#2967](https://github.com/libp2p/go-libp2p/pull/2967))
|
||||
- swarm: add a peer dial latency metric (#2959) ([libp2p/go-libp2p#2959](https://github.com/libp2p/go-libp2p/pull/2959))
|
||||
- peerstore: limit number of non connected peers in addrbook (#2971) ([libp2p/go-libp2p#2971](https://github.com/libp2p/go-libp2p/pull/2971))
|
||||
- fix: swarm: refactor address resolution (#2990) ([libp2p/go-libp2p#2990](https://github.com/libp2p/go-libp2p/pull/2990))
|
||||
- Add backoff for updating local IP addresses on error (#2999) ([libp2p/go-libp2p#2999](https://github.com/libp2p/go-libp2p/pull/2999))
|
||||
- libp2phttp: HTTP Peer ID Authentication (#2854) ([libp2p/go-libp2p#2854](https://github.com/libp2p/go-libp2p/pull/2854))
|
||||
- relay: make only 1 reservation per peer (#2974) ([libp2p/go-libp2p#2974](https://github.com/libp2p/go-libp2p/pull/2974))
|
||||
- autonatv2: recover from panics (#2992) ([libp2p/go-libp2p#2992](https://github.com/libp2p/go-libp2p/pull/2992))
|
||||
- basichost: ensure no duplicates in Addrs output (#2980) ([libp2p/go-libp2p#2980](https://github.com/libp2p/go-libp2p/pull/2980))
|
||||
- fix(websocket): re-enable websocket transport test (#2987) ([libp2p/go-libp2p#2987](https://github.com/libp2p/go-libp2p/pull/2987))
|
||||
- feat(websocket): switch the underlying http server logger to use ipfs/go-log (#2985) ([libp2p/go-libp2p#2985](https://github.com/libp2p/go-libp2p/pull/2985))
|
||||
- peerstore: better GC in membacked peerstore (#2960) ([libp2p/go-libp2p#2960](https://github.com/libp2p/go-libp2p/pull/2960))
|
||||
- connmgr: reduce log level for untagging untracked peers ([libp2p/go-libp2p#2961](https://github.com/libp2p/go-libp2p/pull/2961))
|
||||
- fix: use quic.Version instead of the deprecated quic.VersionNumber (#2955) ([libp2p/go-libp2p#2955](https://github.com/libp2p/go-libp2p/pull/2955))
|
||||
- tcp: fix metrics for multiple calls to Close (#2953) ([libp2p/go-libp2p#2953](https://github.com/libp2p/go-libp2p/pull/2953))
|
||||
- chore: remove Roadmap file (#2954) ([libp2p/go-libp2p#2954](https://github.com/libp2p/go-libp2p/pull/2954))
|
||||
- chore: add a funding JSON file to apply for Optimism rPGF round 5 (#2940) ([libp2p/go-libp2p#2940](https://github.com/libp2p/go-libp2p/pull/2940))
|
||||
- Fix: WebSocket: Clone TLS config before creating a new listener
|
||||
- fix: enable dctur when interface address is public (#2931) ([libp2p/go-libp2p#2931](https://github.com/libp2p/go-libp2p/pull/2931))
|
||||
- fix: QUIC/Webtransport Transports now will prefer their owned listeners for dialing out (#2936) ([libp2p/go-libp2p#2936](https://github.com/libp2p/go-libp2p/pull/2936))
|
||||
- ci: uci/update-go (#2937) ([libp2p/go-libp2p#2937](https://github.com/libp2p/go-libp2p/pull/2937))
|
||||
- fix: slice append value (#2938) ([libp2p/go-libp2p#2938](https://github.com/libp2p/go-libp2p/pull/2938))
|
||||
- webrtc: wait for listener context before dropping connection (#2932) ([libp2p/go-libp2p#2932](https://github.com/libp2p/go-libp2p/pull/2932))
|
||||
- ci: use go1.23, drop go1.21 (#2933) ([libp2p/go-libp2p#2933](https://github.com/libp2p/go-libp2p/pull/2933))
|
||||
- Fail on any test timeout (#2929) ([libp2p/go-libp2p#2929](https://github.com/libp2p/go-libp2p/pull/2929))
|
||||
- test: Try to fix test timeout (#2930) ([libp2p/go-libp2p#2930](https://github.com/libp2p/go-libp2p/pull/2930))
|
||||
- ci: Out of the tarpit (#2923) ([libp2p/go-libp2p#2923](https://github.com/libp2p/go-libp2p/pull/2923))
|
||||
- Make BlackHoleState type public (#2917) ([libp2p/go-libp2p#2917](https://github.com/libp2p/go-libp2p/pull/2917))
|
||||
- Fix proto import paths (#2920) ([libp2p/go-libp2p#2920](https://github.com/libp2p/go-libp2p/pull/2920))
|
||||
- github.com/libp2p/go-libp2p-kad-dht (v0.26.1 -> v0.28.0):
|
||||
- chore: release v0.28.0 (#998) ([libp2p/go-libp2p-kad-dht#998](https://github.com/libp2p/go-libp2p-kad-dht/pull/998))
|
||||
- fix: set context timeout for `queryPeer` (#996) ([libp2p/go-libp2p-kad-dht#996](https://github.com/libp2p/go-libp2p-kad-dht/pull/996))
|
||||
- refactor: document and expose Amino DHT defaults (#990) ([libp2p/go-libp2p-kad-dht#990](https://github.com/libp2p/go-libp2p-kad-dht/pull/990))
|
||||
- Use timeout context for NewStream call ([libp2p/go-libp2p-kad-dht#994](https://github.com/libp2p/go-libp2p-kad-dht/pull/994))
|
||||
- release v0.27.0 ([libp2p/go-libp2p-kad-dht#992](https://github.com/libp2p/go-libp2p-kad-dht/pull/992))
|
||||
- Add new DHT option to provide custom pb.MessageSender ([libp2p/go-libp2p-kad-dht#991](https://github.com/libp2p/go-libp2p-kad-dht/pull/991))
|
||||
- fix: replace deprecated Boxo function ([libp2p/go-libp2p-kad-dht#987](https://github.com/libp2p/go-libp2p-kad-dht/pull/987))
|
||||
- fix(query): reverting changes on TestRTEvictionOnFailedQuery ([libp2p/go-libp2p-kad-dht#984](https://github.com/libp2p/go-libp2p-kad-dht/pull/984))
|
||||
- github.com/libp2p/go-libp2p-pubsub (v0.11.0 -> v0.12.0):
|
||||
- chore: upgrade go-libp2p (#575) ([libp2p/go-libp2p-pubsub#575](https://github.com/libp2p/go-libp2p-pubsub/pull/575))
|
||||
- GossipSub v1.2: IDONTWANT control message and priority queue. (#553) ([libp2p/go-libp2p-pubsub#553](https://github.com/libp2p/go-libp2p-pubsub/pull/553))
|
||||
- Re-enable disabled gossipsub test (#566) ([libp2p/go-libp2p-pubsub#566](https://github.com/libp2p/go-libp2p-pubsub/pull/566))
|
||||
- chore: staticcheck
|
||||
- chore: update rand usage
|
||||
- chore: go fmt
|
||||
- chore: add or force update version.json
|
||||
- added missing Close call on the AddrBook member of GossipSubRouter (#568) ([libp2p/go-libp2p-pubsub#568](https://github.com/libp2p/go-libp2p-pubsub/pull/568))
|
||||
- test: test notify protocols updated (#567) ([libp2p/go-libp2p-pubsub#567](https://github.com/libp2p/go-libp2p-pubsub/pull/567))
|
||||
- Switch to the new peer notify mechanism (#564) ([libp2p/go-libp2p-pubsub#564](https://github.com/libp2p/go-libp2p-pubsub/pull/564))
|
||||
- test: use the regular libp2p host (#565) ([libp2p/go-libp2p-pubsub#565](https://github.com/libp2p/go-libp2p-pubsub/pull/565))
|
||||
- Missing flood protection check for number of message IDs when handling `Ihave` messages (#560) ([libp2p/go-libp2p-pubsub#560](https://github.com/libp2p/go-libp2p-pubsub/pull/560))
|
||||
|
||||
</details>
|
||||
|
||||
### 👨👩👧👦 Contributors
|
||||
|
||||
| Contributor | Commits | Lines ± | Files Changed |
|
||||
|-------------|---------|---------|---------------|
|
||||
| Marco Munizaga | 16 | +4253/-545 | 81 |
|
||||
| Pop Chunhapanya | 1 | +1423/-137 | 15 |
|
||||
| sukun | 10 | +752/-425 | 35 |
|
||||
| Steven Allen | 11 | +518/-541 | 35 |
|
||||
| Andrew Gillis | 19 | +348/-194 | 50 |
|
||||
| Marcin Rataj | 26 | +343/-132 | 47 |
|
||||
| Adin Schmahmann | 4 | +269/-29 | 12 |
|
||||
| gammazero | 12 | +154/-18 | 13 |
|
||||
| Josh Klopfenstein | 1 | +90/-35 | 27 |
|
||||
| galargh | 3 | +42/-44 | 13 |
|
||||
| Daniel Norman | 2 | +30/-16 | 4 |
|
||||
| Mikel Cortes | 3 | +25/-4 | 4 |
|
||||
| gopherfarm | 1 | +14/-14 | 6 |
|
||||
| Carlos Peliciari | 1 | +12/-12 | 4 |
|
||||
| Prithvi Shahi | 2 | +5/-11 | 3 |
|
||||
| web3-bot | 6 | +12/-3 | 6 |
|
||||
| guillaumemichel | 3 | +7/-6 | 3 |
|
||||
| Jorropo | 1 | +11/-0 | 1 |
|
||||
| Sorin Stanculeanu | 1 | +8/-0 | 1 |
|
||||
| Hlib Kanunnikov | 2 | +6/-2 | 4 |
|
||||
| André Bierlein | 1 | +4/-3 | 1 |
|
||||
| bytetigers | 1 | +1/-1 | 1 |
|
||||
| Wondertan | 2 | +2/-0 | 2 |
|
||||
| Alexandr Burdiyan | 1 | +1/-1 | 1 |
|
||||
| Guillaume Michel | 1 | +0/-1 | 1 |
|
||||
|
||||
21
docs/changelogs/v0.33.md
Normal file
21
docs/changelogs/v0.33.md
Normal file
@ -0,0 +1,21 @@
|
||||
# Kubo changelog v0.33
|
||||
|
||||
- [v0.33.0](#v0310)
|
||||
|
||||
## v0.33.0
|
||||
|
||||
- [Overview](#overview)
|
||||
- [🔦 Highlights](#-highlights)
|
||||
- [📦️ Dependency updates](#-dependency-updates)
|
||||
- [📝 Changelog](#-changelog)
|
||||
- [👨👩👧👦 Contributors](#-contributors)
|
||||
|
||||
### Overview
|
||||
|
||||
### 🔦 Highlights
|
||||
|
||||
#### 📦️ Dependency updates
|
||||
|
||||
### 📝 Changelog
|
||||
|
||||
### 👨👩👧👦 Contributors
|
||||
Loading…
Reference in New Issue
Block a user