docs: preparing 0.20 changelog for release (#9799)
Co-authored-by: Gus Eggert <gus@gus.dev> Co-authored-by: Marcin Rataj <lidel@lidel.org> Co-authored-by: Henrique Dias <hacdias@gmail.com>
Steve Loeppky committed
Apr 13, 2023 at 06:59 UTC
b706d644875108786ab44d76833a902daab3b5e2
1 file changed
+98
docs/changelogs/v0.20.md
+98
@@ -6,6 +6,13 @@
6
7
- [Overview](#overview)
8
- [🔦 Highlights](#-highlights)
9
+ - [Boxo under the covers](#boxo-under-the-covers)
10
+ - [HTTP Gateway](#http-gateway)
11
+ - [Switch to `boxo/gateway` library](#switch-to-boxogateway-library)
12
+ - [Improved testing](#improved-testing)
13
+ - [Trace Context support](#trace-context-support)
14
+ - [Removed legacy features](#removed-legacy-features)
15
+ - [`--empty-repo` is now the default](#--empty-repo-is-now-the-default)
16
- [📝 Changelog](#-changelog)
17
- [👨👩👧👦 Contributors](#-contributors)
18
@@ -13,6 +20,97 @@
20
21
### 🔦 Highlights
22
23
+#### Boxo under the covers
24
+We have consolidated many IPFS repos into [Boxo](https://github.com/ipfs/boxo), and this release switches Kubo over to use Boxo instead of those repos, resulting in the removal of 27 dependencies from Kubo:
25
+
26
+- github.com/ipfs/go-bitswap
27
+- github.com/ipfs/go-ipfs-files
28
+- github.com/ipfs/tar-utils
29
+- gihtub.com/ipfs/go-block-format
30
+- github.com/ipfs/interface-go-ipfs-core
31
+- github.com/ipfs/go-unixfs
32
+- github.com/ipfs/go-pinning-service-http-client
33
+- github.com/ipfs/go-path
34
+- github.com/ipfs/go-namesys
35
+- github.com/ipfs/go-mfs
36
+- github.com/ipfs/go-ipfs-provider
37
+- github.com/ipfs/go-ipfs-pinner
38
+- github.com/ipfs/go-ipfs-keystore
39
+- github.com/ipfs/go-filestore
40
+- github.com/ipfs/go-ipns
41
+- github.com/ipfs/go-blockservice
42
+- github.com/ipfs/go-ipfs-chunker
43
+- github.com/ipfs/go-fetcher
44
+- github.com/ipfs/go-ipfs-blockstore
45
+- github.com/ipfs/go-ipfs-posinfo
46
+- github.com/ipfs/go-ipfs-util
47
+- github.com/ipfs/go-ipfs-ds-help
48
+- github.com/ipfs/go-verifcid
49
+- github.com/ipfs/go-ipfs-exchange-offline
50
+- github.com/ipfs/go-ipfs-routing
51
+- github.com/ipfs/go-ipfs-exchange-interface
52
+- github.com/ipfs/go-libipfs
53
+
54
+Note: if you consume these in your own code, we recommend migrating to Boxo. To ease this process, there's a [tool which will help migrate your code to Boxo](https://github.com/ipfs/boxo#migrating-to-box).
55
+
56
+You can learn more about the [Boxo 0.8 release](https://github.com/ipfs/boxo/releases/tag/v0.8.0) that Kubo now depends and the general effort to get Boxo to be a stable foundation [here](https://github.com/ipfs/boxo/issues/196).
57
+
58
+#### HTTP Gateway
59
+
60
+##### Switch to `boxo/gateway` library
61
+
62
+Gateway code was extracted and refactored into a standalone library that now
63
+lives in [boxo/gateway](https://github.com/ipfs/boxo/tree/main/gateway). This
64
+enabled us to clean up some legacy code and remove dependency on Kubo
65
+internals.
66
+
67
+The GO API is still being refined, but now operates on higher level abstraction
68
+defined by `gateway.IPFSBackend` interface. It is now possible to embed
69
+gateway functionality without the rest of Kubo.
70
+
71
+See the [car](https://github.com/ipfs/boxo/tree/main/examples/gateway/car)
72
+and [proxy](https://github.com/ipfs/boxo/tree/main/examples/gateway/proxy)
73
+examples, or more advanced
74
+[bifrost-gateway](https://github.com/ipfs/bifrost-gateway).
75
+
76
+##### Improved testing
77
+
78
+We are also in the progress of moving away from gateway testing being based on
79
+Kubo sharness tests, and are working on
80
+[ipfs/gateway-conformance](https://github.com/ipfs/gateway-conformance) test
81
+suite that is vendor agnostic and can be run against arbitrary HTTP endpoint to
82
+test specific subset of [HTTP Gateways specifications](https://specs.ipfs.tech/http-gateways/).
83
+
84
+##### Trace Context support
85
+
86
+We've introduced initial support for `traceparent` header from [W3C's Trace
87
+Context spec](https://w3c.github.io/trace-context/).
88
+
89
+If `traceparent` header is
90
+present in the gateway request, one can use its `trace-id` part to inspect
91
+trace spans via selected exporter such as Jaeger UI
92
+([docs](https://github.com/ipfs/boxo/blob/main/docs/tracing.md#using-jaeger-ui),
93
+[demo](https://user-images.githubusercontent.com/157609/231312374-bafc2035-1fc6-4d6b-901b-9e4af039807c.png)).
94
+
95
+To learn more, see [tracing docs](https://github.com/ipfs/boxo/blob/main/docs/tracing.md).
96
+
97
+##### Removed legacy features
98
+
99
+- Some Kubo-specific prometheus metrics are no longer available.
100
+ - An up-to-date list of gateway metrics can be found in [boxo/gateway/metrics.go](https://github.com/ipfs/boxo/blob/main/gateway/metrics.go).
101
+- The legacy opt-in `Gateway.Writable` is no longer available as of Kubo 0.20.
102
+ - We are working on developing a modern replacement.
103
+ To support our efforts, please leave a comment describing your use case in
104
+ [ipfs/specs#375](https://github.com/ipfs/specs/issues/375).
105
+
106
+#### `--empty-repo` is now the default
107
+
108
+When creating a repository with `ipfs init`, `--empty-repo=true` is now the default. This means
109
+that your repository will be empty by default instead of containing the introduction files.
110
+You can read more about the rationale behind this decision on the [tracking issue](https://github.com/ipfs/kubo/issues/9757).
111
+
112
### 📝 Changelog
113
114
### 👨👩👧👦 Contributors
115
+
116
+