master
md 144 lines 9.64 KB
Rendered Raw
1 # Kubo changelog v0.27
2
3 - [v0.27.0](#v0270)
4
5 ## v0.27.0
6
7 - [Overview](#overview)
8 - [🔦 Highlights](#-highlights)
9 - [Gateway: support for `/api/v0` is deprecated](#gateway-support-for-apiv0-is-deprecated)
10 - [IPNS resolver cache's TTL can now be configured](#ipns-resolver-caches-ttl-can-now-be-configured)
11 - [RPC client: deprecated DHT API, added Routing API](#rpc-client-deprecated-dht-api-added-routing-api)
12 - [Deprecated DHT commands removed from `/api/v0/dht`](#deprecated-dht-commands-removed-from-apiv0dht)
13 - [Repository migrations are now trustless](#repository-migrations-are-now-trustless)
14 - [📝 Changelog](#-changelog)
15 - [👨‍👩‍👧‍👦 Contributors](#-contributors)
16
17 ### Overview
18
19 ### 🔦 Highlights
20
21 #### Gateway: support for `/api/v0` is deprecated
22
23 Support for exposing the legacy subset of Kubo RPC via the Gateway port is deprecated and should not be used. It will be removed in the next version. You can read more in <https://github.com/ipfs/kubo/issues/10312>.
24
25 If you have a legacy software that relies on this behavior, and want to expose parts of `/api/v0` next to `/ipfs`, use reverse-proxy in front of Kubo to mount both Gateway and RPC on the same port. NOTE: exposing RPC to the internet comes with security risk: make sure to specify access control via [API.Authorizations](https://github.com/ipfs/kubo/blob/master/docs/config.md#apiauthorizations).
26
27 #### IPNS resolver cache's TTL can now be configured
28
29 You can now configure the upper-bound of a cached IPNS entry's Time-To-Live via [`Ipns.MaxCacheTTL`](https://github.com/ipfs/kubo/blob/master/docs/config.md#ipnsmaxcachettl).
30
31 #### RPC client: deprecated DHT API, added Routing API
32
33 The RPC client for GO (`kubo/client/rpc`) now includes a Routing API to match the available commands in `/api/v0/routing`. In addition, the DHT API has been marked as deprecated.
34
35 In the next version, all DHT deprecated methods will be removed from the Go RPC client.
36
37 #### Deprecated DHT commands removed from `/api/v0/dht`
38
39 All the DHT commands that were deprecated for over a year were finally removed from `/api/v0/dht`. Users should switch to modern `/api/v0/routing` which works with [both Amino DHT and Delegated Routers](https://github.com/ipfs/kubo/blob/master/docs/config.md#routing).
40
41 #### Repository migrations are now trustless
42
43 Kubo now only uses [trustless requests](https://specs.ipfs.tech/http-gateways/trustless-gateway/) (e.g., CAR files) when downloading repository migrations via HTTP. This further strengthens Kubo by not delegating trust to public gateways. The migration binaries are locally verified before being executed.
44
45 ### 📝 Changelog
46
47 <details><summary>Full Changelog</summary>
48
49 - github.com/ipfs/kubo:
50 - chore: update version
51 - chore: update version
52 - test: cleanup content blocking tests (#10360) ([ipfs/kubo#10360](https://github.com/ipfs/kubo/pull/10360))
53 - docs: improve release issue template
54 - chore: update version
55 - repo/fsrepo/migrations: verified HTTP migrations (#10324) ([ipfs/kubo#10324](https://github.com/ipfs/kubo/pull/10324))
56 - chore: fix link
57 - docs: clarify Gateway.ExposeRoutingAPI (#10337) ([ipfs/kubo#10337](https://github.com/ipfs/kubo/pull/10337))
58 - commands/add: return an error when using --only-hash and --to-files
59 - docs(config): mention routing v1 spec
60 - core/commands: remove 'ipfs dht' commands, except 'query' (#10328) ([ipfs/kubo#10328](https://github.com/ipfs/kubo/pull/10328))
61 - core: deprecate CoreAPI.Dht, introduce CoreAPI.Routing
62 - refactor: superfluous namespace test redirects (#10322) ([ipfs/kubo#10322](https://github.com/ipfs/kubo/pull/10322))
63 - feat: add Ipns.MaxCacheTTL
64 - fix(gw): negative entity-bytes beyond file size (#10320) ([ipfs/kubo#10320](https://github.com/ipfs/kubo/pull/10320))
65 - core/corehttp: wrap gateway with headers, deprecate gateway /api/v0
66 - docs: add changelog link to release issue template
67 - docs: remove whizzzkid
68 - chore: create next changelog
69 - Merge Release: v0.26.0 [skip changelog] ([ipfs/kubo#10313](https://github.com/ipfs/kubo/pull/10313))
70 - config: remove all options that are marked as REMOVED
71 - chore: remove Gateway.APICommands
72 - docs(cli): name inspect --verify (#10308) ([ipfs/kubo#10308](https://github.com/ipfs/kubo/pull/10308))
73 - docs: improve release issue template (#10305) ([ipfs/kubo#10305](https://github.com/ipfs/kubo/pull/10305))
74 - core/corehttp: wrap hostname option with otelhttp
75 - fix: profiling tests
76 - profile: add trace
77 - docs(config): clarify ReproviderStrategy roots
78 - chore: update version
79 - docs: in RELEASE_ISSUE_TEMPLATE ask releaser to ensure we are using the latest go release on the major branch
80 - github.com/ipfs/boxo (v0.17.0 -> v0.18.0):
81 - Release v0.18.0 ([ipfs/boxo#581](https://github.com/ipfs/boxo/pull/581))
82 - github.com/libp2p/go-libp2p (v0.32.2 -> v0.33.0):
83 - release v0.33.0 (#2715) ([libp2p/go-libp2p#2715](https://github.com/libp2p/go-libp2p/pull/2715))
84 - chore: update deps for v0.33 (#2713) ([libp2p/go-libp2p#2713](https://github.com/libp2p/go-libp2p/pull/2713))
85 - webrtc: wait for FIN_ACK before closing data channels (#2615) ([libp2p/go-libp2p#2615](https://github.com/libp2p/go-libp2p/pull/2615))
86 - quic: upgrade quic-go to v0.41.0 (#2710) ([libp2p/go-libp2p#2710](https://github.com/libp2p/go-libp2p/pull/2710))
87 - chore: remove unused GenerateEKeyPair function (#2711) ([libp2p/go-libp2p#2711](https://github.com/libp2p/go-libp2p/pull/2711))
88 - chore: drop support for go1.20 (#2708) ([libp2p/go-libp2p#2708](https://github.com/libp2p/go-libp2p/pull/2708))
89 - chore: testify fix got, expected transpositions (#2666) ([libp2p/go-libp2p#2666](https://github.com/libp2p/go-libp2p/pull/2666))
90 - docs: fix broken link in README
91 - chore: fix typos (#2694) ([libp2p/go-libp2p#2694](https://github.com/libp2p/go-libp2p/pull/2694))
92 - libp2phttp: fix flaky ExampleHost_listenOnHTTPTransportAndStreams (#2697) ([libp2p/go-libp2p#2697](https://github.com/libp2p/go-libp2p/pull/2697))
93 - chore(p2p/host): fix typos (#2683) ([libp2p/go-libp2p#2683](https://github.com/libp2p/go-libp2p/pull/2683))
94 - chore: fix typos (#2689) ([libp2p/go-libp2p#2689](https://github.com/libp2p/go-libp2p/pull/2689))
95 - defaults: do TLS by default for encryption (#2650) ([libp2p/go-libp2p#2650](https://github.com/libp2p/go-libp2p/pull/2650))
96 - webrtc: fix flaky TestMaxInFlightRequests (#2682) ([libp2p/go-libp2p#2682](https://github.com/libp2p/go-libp2p/pull/2682))
97 - chore: remove unnecessary conversions (#2680) ([libp2p/go-libp2p#2680](https://github.com/libp2p/go-libp2p/pull/2680))
98 - chore: update chat-with-mdns example readme (#2678) ([libp2p/go-libp2p#2678](https://github.com/libp2p/go-libp2p/pull/2678))
99 - examples: call NewStream from only one side (#2677) ([libp2p/go-libp2p#2677](https://github.com/libp2p/go-libp2p/pull/2677))
100 - chore: fix typos in comment (#2674) ([libp2p/go-libp2p#2674](https://github.com/libp2p/go-libp2p/pull/2674))
101 - chore: update go-libp2p-asn-util (#2673) ([libp2p/go-libp2p#2673](https://github.com/libp2p/go-libp2p/pull/2673))
102 - chore: update go security policy url (#2665) ([libp2p/go-libp2p#2665](https://github.com/libp2p/go-libp2p/pull/2665))
103 - security: remove separate licenses for Noise and TLS (#2663) ([libp2p/go-libp2p#2663](https://github.com/libp2p/go-libp2p/pull/2663))
104 - webrtc: clarify that there is no reuseport functionality (#2652) ([libp2p/go-libp2p#2652](https://github.com/libp2p/go-libp2p/pull/2652))
105 - rcmgr: fix connmgr connection limit conflict warning (#2648) ([libp2p/go-libp2p#2648](https://github.com/libp2p/go-libp2p/pull/2648))
106 - tcp: fix build on loong64 (#2655) ([libp2p/go-libp2p#2655](https://github.com/libp2p/go-libp2p/pull/2655))
107 - swarm: fix grafana dashboard templating (#2640) ([libp2p/go-libp2p#2640](https://github.com/libp2p/go-libp2p/pull/2640))
108 - chore: fix typos (#2608) ([libp2p/go-libp2p#2608](https://github.com/libp2p/go-libp2p/pull/2608))
109 - chore: add resource manager dashboard to docker-compose (#2641) ([libp2p/go-libp2p#2641](https://github.com/libp2p/go-libp2p/pull/2641))
110 - pstoremanager: fix race condition when removing peers from peer store (#2644) ([libp2p/go-libp2p#2644](https://github.com/libp2p/go-libp2p/pull/2644))
111 - examples: remove unused 'SetStreamHandler' (#2598) ([libp2p/go-libp2p#2598](https://github.com/libp2p/go-libp2p/pull/2598))
112 - Update docs from RSA to Ed25519 (#2606) ([libp2p/go-libp2p#2606](https://github.com/libp2p/go-libp2p/pull/2606))
113 - github.com/multiformats/go-multiaddr (v0.12.1 -> v0.12.2):
114 - chore: release v0.12.2
115 - tests: add round trip equality check to fuzz (#232) ([multiformats/go-multiaddr#232](https://github.com/multiformats/go-multiaddr/pull/232))
116 - fix: correctly parse ports as uint16 and explicitly fail on overflows (#228) ([multiformats/go-multiaddr#228](https://github.com/multiformats/go-multiaddr/pull/228))
117 - replace custom random tests with testing.F (#227) ([multiformats/go-multiaddr#227](https://github.com/multiformats/go-multiaddr/pull/227))
118
119 </details>
120
121 ### 👨‍👩‍👧‍👦 Contributors
122
123 | Contributor | Commits | Lines ± | Files Changed |
124 |-------------|---------|---------|---------------|
125 | Henrique Dias | 26 | +1668/-1484 | 96 |
126 | Sukun | 13 | +983/-618 | 68 |
127 | Jorropo | 18 | +501/-222 | 32 |
128 | Marten Seemann | 2 | +17/-244 | 5 |
129 | dozyio | 1 | +117/-132 | 31 |
130 | Marcin Rataj | 7 | +100/-20 | 8 |
131 | Alexandr Burdiyan | 2 | +29/-54 | 2 |
132 | Tyler | 1 | +17/-19 | 2 |
133 | KeienWang | 2 | +14/-14 | 12 |
134 | Håvard Anda Estensen | 1 | +14/-14 | 11 |
135 | Halimao | 2 | +17/-4 | 2 |
136 | hannahhoward | 1 | +14/-6 | 2 |
137 | alex | 1 | +8/-8 | 4 |
138 | shuoer86 | 1 | +7/-7 | 5 |
139 | John Chase | 1 | +0/-12 | 1 |
140 | GoodDaisy | 1 | +5/-5 | 4 |
141 | Michael Muré | 1 | +6/-2 | 1 |
142 | 吴小白 | 1 | +3/-3 | 3 |
143 | Vehorny | 1 | +3/-3 | 2 |
144 | Eric | 1 | +1/-1 | 1 |