@cryptotaxi247 / kubo / commits / 0d38c369f

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 0d38c369fda56d19e7d8c023ca1d4595c5bd52dc
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 +