| 1 | # Kubo changelog v0.20 |
| 2 | |
| 3 | - [v0.20.0](#v0200) |
| 4 | |
| 5 | ## v0.20.0 |
| 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 | - [Reminder: `ipfs pubsub` commands and matching HTTP endpoints are deprecated and will be removed](#reminder-ipfs-pubsub-commands-and-matching-http-endpoints-are-deprecated-and-will-be-removed) |
| 17 | - [📝 Changelog](#-changelog) |
| 18 | - [👨👩👧👦 Contributors](#-contributors) |
| 19 | |
| 20 | ### Overview |
| 21 | |
| 22 | ### 🔦 Highlights |
| 23 | |
| 24 | #### Boxo under the covers |
| 25 | 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: |
| 26 | |
| 27 | - github.com/ipfs/go-bitswap |
| 28 | - github.com/ipfs/go-ipfs-files |
| 29 | - github.com/ipfs/tar-utils |
| 30 | - gihtub.com/ipfs/go-block-format |
| 31 | - github.com/ipfs/interface-go-ipfs-core |
| 32 | - github.com/ipfs/go-unixfs |
| 33 | - github.com/ipfs/go-pinning-service-http-client |
| 34 | - github.com/ipfs/go-path |
| 35 | - github.com/ipfs/go-namesys |
| 36 | - github.com/ipfs/go-mfs |
| 37 | - github.com/ipfs/go-ipfs-provider |
| 38 | - github.com/ipfs/go-ipfs-pinner |
| 39 | - github.com/ipfs/go-ipfs-keystore |
| 40 | - github.com/ipfs/go-filestore |
| 41 | - github.com/ipfs/go-ipns |
| 42 | - github.com/ipfs/go-blockservice |
| 43 | - github.com/ipfs/go-ipfs-chunker |
| 44 | - github.com/ipfs/go-fetcher |
| 45 | - github.com/ipfs/go-ipfs-blockstore |
| 46 | - github.com/ipfs/go-ipfs-posinfo |
| 47 | - github.com/ipfs/go-ipfs-util |
| 48 | - github.com/ipfs/go-ipfs-ds-help |
| 49 | - github.com/ipfs/go-verifcid |
| 50 | - github.com/ipfs/go-ipfs-exchange-offline |
| 51 | - github.com/ipfs/go-ipfs-routing |
| 52 | - github.com/ipfs/go-ipfs-exchange-interface |
| 53 | - github.com/ipfs/go-libipfs |
| 54 | |
| 55 | 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). |
| 56 | |
| 57 | 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). |
| 58 | |
| 59 | #### HTTP Gateway |
| 60 | |
| 61 | ##### Switch to `boxo/gateway` library |
| 62 | |
| 63 | Gateway code was extracted and refactored into a standalone library that now |
| 64 | lives in [boxo/gateway](https://github.com/ipfs/boxo/tree/main/gateway). This |
| 65 | enabled us to clean up some legacy code and remove dependency on Kubo |
| 66 | internals. |
| 67 | |
| 68 | The GO API is still being refined, but now operates on higher level abstraction |
| 69 | defined by `gateway.IPFSBackend` interface. It is now possible to embed |
| 70 | gateway functionality without the rest of Kubo. |
| 71 | |
| 72 | See the [car](https://github.com/ipfs/boxo/tree/main/examples/gateway/car) |
| 73 | and [proxy](https://github.com/ipfs/boxo/tree/main/examples/gateway/proxy) |
| 74 | examples, or more advanced |
| 75 | [bifrost-gateway](https://github.com/ipfs/bifrost-gateway). |
| 76 | |
| 77 | ##### Improved testing |
| 78 | |
| 79 | We are also in the progress of moving away from gateway testing being based on |
| 80 | Kubo sharness tests, and are working on |
| 81 | [ipfs/gateway-conformance](https://github.com/ipfs/gateway-conformance) test |
| 82 | suite that is vendor agnostic and can be run against arbitrary HTTP endpoint to |
| 83 | test specific subset of [HTTP Gateways specifications](https://specs.ipfs.tech/http-gateways/). |
| 84 | |
| 85 | ##### Trace Context support |
| 86 | |
| 87 | We've introduced initial support for `traceparent` header from [W3C's Trace |
| 88 | Context spec](https://w3c.github.io/trace-context/). |
| 89 | |
| 90 | If `traceparent` header is |
| 91 | present in the gateway request, one can use its `trace-id` part to inspect |
| 92 | trace spans via selected exporter such as Jaeger UI |
| 93 | ([docs](https://github.com/ipfs/boxo/blob/main/docs/tracing.md#using-jaeger-ui), |
| 94 | [demo](https://user-images.githubusercontent.com/157609/231312374-bafc2035-1fc6-4d6b-901b-9e4af039807c.png)). |
| 95 | |
| 96 | To learn more, see [tracing docs](https://github.com/ipfs/boxo/blob/main/docs/tracing.md). |
| 97 | |
| 98 | ##### Removed legacy features |
| 99 | |
| 100 | - Some Kubo-specific prometheus metrics are no longer available. |
| 101 | - 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). |
| 102 | - The legacy opt-in `Gateway.Writable` is no longer available as of Kubo 0.20. |
| 103 | - We are working on developing a modern replacement. |
| 104 | To support our efforts, please leave a comment describing your use case in |
| 105 | [ipfs/specs#375](https://github.com/ipfs/specs/issues/375). |
| 106 | |
| 107 | #### `--empty-repo` is now the default |
| 108 | |
| 109 | When creating a repository with `ipfs init`, `--empty-repo=true` is now the default. This means |
| 110 | that your repository will be empty by default instead of containing the introduction files. |
| 111 | You can read more about the rationale behind this decision on the [tracking issue](https://github.com/ipfs/kubo/issues/9757). |
| 112 | |
| 113 | #### Reminder: `ipfs pubsub` commands and matching HTTP endpoints are deprecated and will be removed |
| 114 | |
| 115 | `ipfs pubsub` commands and all `/api/v0/pubsub/` RPC endpoints and will be removed in the next release. For more information and rational see [#9717](https://github.com/ipfs/kubo/issues/9717). |
| 116 | |
| 117 | ### 📝 Changelog |
| 118 | |
| 119 | <details><summary>Full Changelog</summary> |
| 120 | |
| 121 | - github.com/ipfs/kubo: |
| 122 | - fix: deadlock on retrieving WebTransport addresses (#9857) ([ipfs/kubo#9857](https://github.com/ipfs/kubo/pull/9857)) |
| 123 | - docs(config): remove mentions of relay v1 (#9860) ([ipfs/kubo#9860](https://github.com/ipfs/kubo/pull/9860)) |
| 124 | - Merge branch 'master' into merge-release-v0.19.2 |
| 125 | - docs: add changelog for v0.19.2 |
| 126 | - feat: webui@3.0.0 (#9835) ([ipfs/kubo#9835](https://github.com/ipfs/kubo/pull/9835)) |
| 127 | - fix: use default HTTP routers when FullRT DHT client is used (#9841) ([ipfs/kubo#9841](https://github.com/ipfs/kubo/pull/9841)) |
| 128 | - chore: update version |
| 129 | - docs: add `ipfs pubsub` deprecation reminder to changelog (#9827) ([ipfs/kubo#9827](https://github.com/ipfs/kubo/pull/9827)) |
| 130 | - docs: preparing 0.20 changelog for release (#9799) ([ipfs/kubo#9799](https://github.com/ipfs/kubo/pull/9799)) |
| 131 | - feat: boxo tracing and traceparent support (#9811) ([ipfs/kubo#9811](https://github.com/ipfs/kubo/pull/9811)) |
| 132 | - chore: update version |
| 133 | - chore: update version |
| 134 | - update go-libp2p to v0.27.0 |
| 135 | - docs: add optimistic provide feature description |
| 136 | - feat: add experimental optimistic provide |
| 137 | - fix(ci): speed up docker build (#9800) ([ipfs/kubo#9800](https://github.com/ipfs/kubo/pull/9800)) |
| 138 | - feat(tracing): use OTEL_PROPAGATORS as per OTel spec (#9801) ([ipfs/kubo#9801](https://github.com/ipfs/kubo/pull/9801)) |
| 139 | - docs: fix jaeger command (#9797) ([ipfs/kubo#9797](https://github.com/ipfs/kubo/pull/9797)) |
| 140 | - Merge Release: v0.19.1 (#9794) ([ipfs/kubo#9794](https://github.com/ipfs/kubo/pull/9794)) |
| 141 | - chore: upgrade OpenTelemetry dependencies (#9736) ([ipfs/kubo#9736](https://github.com/ipfs/kubo/pull/9736)) |
| 142 | - test: fix flaky content routing over HTTP test (#9772) ([ipfs/kubo#9772](https://github.com/ipfs/kubo/pull/9772)) |
| 143 | - feat: allow injecting custom path resolvers (#9750) ([ipfs/kubo#9750](https://github.com/ipfs/kubo/pull/9750)) |
| 144 | - feat: add changelog entry for router timeouts for v0.19.1 (#9784) ([ipfs/kubo#9784](https://github.com/ipfs/kubo/pull/9784)) |
| 145 | - feat(gw): new metrics and HTTP range support (#9786) ([ipfs/kubo#9786](https://github.com/ipfs/kubo/pull/9786)) |
| 146 | - feat!: make --empty-repo default (#9758) ([ipfs/kubo#9758](https://github.com/ipfs/kubo/pull/9758)) |
| 147 | - fix: remove timeout on default DHT operations (#9783) ([ipfs/kubo#9783](https://github.com/ipfs/kubo/pull/9783)) |
| 148 | - refactor: switch gateway code to new API from go-libipfs (#9681) ([ipfs/kubo#9681](https://github.com/ipfs/kubo/pull/9681)) |
| 149 | - test: port remote pinning tests to Go (#9720) ([ipfs/kubo#9720](https://github.com/ipfs/kubo/pull/9720)) |
| 150 | - feat: add identify option to swarm peers command |
| 151 | - test: port routing DHT tests to Go (#9709) ([ipfs/kubo#9709](https://github.com/ipfs/kubo/pull/9709)) |
| 152 | - test: fix autoclient flakiness (#9769) ([ipfs/kubo#9769](https://github.com/ipfs/kubo/pull/9769)) |
| 153 | - test: skip flaky pubsub test (#9770) ([ipfs/kubo#9770](https://github.com/ipfs/kubo/pull/9770)) |
| 154 | - chore: migrate go-libipfs to boxo |
| 155 | - feat: add tracing to the commands client |
| 156 | - feat: add client-side metrics for routing-v1 client |
| 157 | - test: increase max wait time for peering assertion |
| 158 | - feat: remove writable gateway (#9743) ([ipfs/kubo#9743](https://github.com/ipfs/kubo/pull/9743)) |
| 159 | - Process Improvement: v0.18.0 ([ipfs/kubo#9484](https://github.com/ipfs/kubo/pull/9484)) |
| 160 | - fix: deadlock while racing `ipfs dag import` and `ipfs repo gc` |
| 161 | - feat: improve dag/import (#9721) ([ipfs/kubo#9721](https://github.com/ipfs/kubo/pull/9721)) |
| 162 | - ci: remove circleci config ([ipfs/kubo#9687](https://github.com/ipfs/kubo/pull/9687)) |
| 163 | - docs: use fx.Decorate instead of fx.Replace in examples (#9725) ([ipfs/kubo#9725](https://github.com/ipfs/kubo/pull/9725)) |
| 164 | - Create Changelog: v0.20 ([ipfs/kubo#9742](https://github.com/ipfs/kubo/pull/9742)) |
| 165 | - Merge Release: v0.19.0 ([ipfs/kubo#9741](https://github.com/ipfs/kubo/pull/9741)) |
| 166 | - feat(gateway): invalid CID returns 400 Bad Request (#9726) ([ipfs/kubo#9726](https://github.com/ipfs/kubo/pull/9726)) |
| 167 | - fix: remove outdated changelog part ([ipfs/kubo#9739](https://github.com/ipfs/kubo/pull/9739)) |
| 168 | - docs: 0.19 changelog ([ipfs/kubo#9707](https://github.com/ipfs/kubo/pull/9707)) |
| 169 | - fix: canonicalize user defined headers |
| 170 | - fix: apply API.HTTPHeaders to /webui redirect |
| 171 | - feat: add heap allocs to 'ipfs diag profile' |
| 172 | - fix: future proof with > rcmgr.DefaultLimit for new enum rcmgr values |
| 173 | - test: add test for presarvation of unlimited configs for inbound systems |
| 174 | - fix: preserve Unlimited StreamsInbound in connmgr reconciliation |
| 175 | - test: fix flaky rcmgr test |
| 176 | - chore: deprecate the pubsub api |
| 177 | - Revert "chore: add hamt directory sharding test" |
| 178 | - chore: add hamt directory sharding test |
| 179 | - test: port peering test from sharness to Go |
| 180 | - test: use `T.TempDir` to create temporary test directory |
| 181 | - fix: --verify forgets the verified key |
| 182 | - test: name --verify forgets the verified key |
| 183 | - chore: fix toc in changelog for 0.18 |
| 184 | - feat: add "autoclient" routing type |
| 185 | - test: parallelize more of rcmgr Go tests |
| 186 | - test: port legacy DHT tests to Go |
| 187 | - fix: t0116-gateway-cache.sh ([ipfs/kubo#9696](https://github.com/ipfs/kubo/pull/9696)) |
| 188 | - docs: add bifrost to early testers ([ipfs/kubo#9699](https://github.com/ipfs/kubo/pull/9699)) |
| 189 | - fix: typo in documentation for install path |
| 190 | - docs: fix typos |
| 191 | - Update Version: v0.19 ([ipfs/kubo#9698](https://github.com/ipfs/kubo/pull/9698)) |
| 192 | - github.com/ipfs/go-block-format (v0.1.1 -> v0.1.2): |
| 193 | - chore: release v0.1.2 |
| 194 | - Revert deprecation and go-libipfs/blocks stub types |
| 195 | - docs: deprecation notice [ci skip] |
| 196 | - github.com/ipfs/go-cid (v0.3.2 -> v0.4.1): |
| 197 | - v0.4.1 |
| 198 | - Add unit test for unexpected eof |
| 199 | - Update cid.go |
| 200 | - CidFromReader should not wrap valid EOF return. |
| 201 | - chore: version 0.4.0 |
| 202 | - feat: wrap parsing errors into ErrInvalidCid |
| 203 | - fix: use crypto/rand.Read |
| 204 | - Fix README.md example error (#146) ([ipfs/go-cid#146](https://github.com/ipfs/go-cid/pull/146)) |
| 205 | - github.com/ipfs/go-delegated-routing (v0.7.0 -> v0.8.0): |
| 206 | - chore: release v0.8.0 |
| 207 | - chore: migrate from go-ipns to boxo |
| 208 | - docs: add deprecation notice [ci skip] |
| 209 | - github.com/ipfs/go-graphsync (v0.14.1 -> v0.14.4): |
| 210 | - Update version to cover latest fixes (#419) ([ipfs/go-graphsync#419](https://github.com/ipfs/go-graphsync/pull/419)) |
| 211 | - Bring changes from #412 |
| 212 | - Bring changes from #391 |
| 213 | - fix: calling message queue Shutdown twice causes panic (because close is called twice on done channel) (#414) ([ipfs/go-graphsync#414](https://github.com/ipfs/go-graphsync/pull/414)) |
| 214 | - docs(CHANGELOG): update for v0.14.3 |
| 215 | - fix: wire up proper linksystem to traverser (#411) ([ipfs/go-graphsync#411](https://github.com/ipfs/go-graphsync/pull/411)) |
| 216 | - sync: update CI config files (#378) ([ipfs/go-graphsync#378](https://github.com/ipfs/go-graphsync/pull/378)) |
| 217 | - chore: remove social links (#398) ([ipfs/go-graphsync#398](https://github.com/ipfs/go-graphsync/pull/398)) |
| 218 | - Removes `main` branch callout. |
| 219 | - release v0.14.2 |
| 220 | - github.com/ipfs/go-ipfs-blockstore (v1.2.0 -> v1.3.0): |
| 221 | - chore: release v1.3.0 |
| 222 | - feat: stub and deprecate NewBlockstoreNoPrefix |
| 223 | - Accept options for blockstore: start with WriteThrough and NoPrefix |
| 224 | - Allow using a NewWriteThrough() blockstore. |
| 225 | - sync: update CI config files (#105) ([ipfs/go-ipfs-blockstore#105](https://github.com/ipfs/go-ipfs-blockstore/pull/105)) |
| 226 | - feat: fast-path for PutMany, falling back to Put for single block call (#97) ([ipfs/go-ipfs-blockstore#97](https://github.com/ipfs/go-ipfs-blockstore/pull/97)) |
| 227 | - github.com/ipfs/go-ipfs-cmds (v0.8.2 -> v0.9.0): |
| 228 | - chore: release v0.9.0 |
| 229 | - chore: change go-libipfs to boxo |
| 230 | - github.com/ipfs/go-libipfs (v0.6.2 -> v0.7.0): |
| 231 | - chore: bump to 0.7.0 (#213) ([ipfs/go-libipfs#213](https://github.com/ipfs/go-libipfs/pull/213)) |
| 232 | - feat: return 400 on /ipfs/invalid-cid (#205) ([ipfs/go-libipfs#205](https://github.com/ipfs/go-libipfs/pull/205)) |
| 233 | - docs: add note in README that go-libipfs is not comprehensive (#163) ([ipfs/go-libipfs#163](https://github.com/ipfs/go-libipfs/pull/163)) |
| 234 | - github.com/ipfs/go-merkledag (v0.9.0 -> v0.10.0): |
| 235 | - chore: bump version to 0.10.0 |
| 236 | - fix: switch to crypto/rand.Read |
| 237 | - stop using the deprecated io/ioutil package |
| 238 | - github.com/ipfs/go-unixfs (v0.4.4 -> v0.4.5): |
| 239 | - chore: release v0.4.5 |
| 240 | - chore: remove go-libipfs dependency |
| 241 | - github.com/ipfs/go-unixfsnode (v1.5.2 -> v1.6.0): |
| 242 | - chore: bump v1.6.0 |
| 243 | - feat: add UnixFSPathSelectorBuilder ([ipfs/go-unixfsnode#45](https://github.com/ipfs/go-unixfsnode/pull/45)) |
| 244 | - fix: update state to allow iter continuance on NotFound errors |
| 245 | - chore!: make PBLinkItr private - not intended for public use |
| 246 | - fix: propagate iteration errors |
| 247 | - github.com/ipld/go-car/v2 (v2.5.1 -> v2.9.1-0.20230325062757-fff0e4397a3d): |
| 248 | - chore: unmigrate from go-libipfs |
| 249 | - Create CODEOWNERS |
| 250 | - blockstore: give a direct access to the index for read operations |
| 251 | - blockstore: only close the file on error in OpenReadWrite, not OpenReadWriteFile |
| 252 | - fix: handle (and test) WholeCID vs not; fast Has() path for storage |
| 253 | - ReadWrite: faster Has() by using the in-memory index instead of reading on disk |
| 254 | - fix: let `extract` skip missing unixfs shard links |
| 255 | - fix: error when no files extracted |
| 256 | - fix: make -f optional, read from stdin if omitted |
| 257 | - fix: update cmd/car/README with latest description |
| 258 | - chore: add test cases for extract modes |
| 259 | - feat: extract accepts '-' as an output path for stdout |
| 260 | - feat: extract specific path, accept stdin as streaming input |
| 261 | - fix: if we don't read the full block data, don't error on !EOF |
| 262 | - blockstore: try to close during Finalize(), even in case of previous error |
| 263 | - ReadWrite: add an alternative FinalizeReadOnly+Close flow |
| 264 | - feat: add WithTrustedCar() reader option (#381) ([ipld/go-car#381](https://github.com/ipld/go-car/pull/381)) |
| 265 | - blockstore: fast path for AllKeysChan using the index |
| 266 | - fix: switch to crypto/rand.Read |
| 267 | - stop using the deprecated io/ioutil package |
| 268 | - fix(doc): fix storage package doc formatting |
| 269 | - fix: return errors for unsupported operations |
| 270 | - chore: move insertionindex into store pkg |
| 271 | - chore: add experimental note |
| 272 | - fix: minor lint & windows fd test problems |
| 273 | - feat: docs for StorageCar interfaces |
| 274 | - feat: ReadableWritable; dedupe shared code |
| 275 | - feat: add Writable functionality to StorageCar |
| 276 | - feat: StorageCar as a Readable storage, separate from blockstore |
| 277 | - feat(blockstore): implement a streaming read only storage |
| 278 | - feat(cmd): add index create subcommand to create an external carv2 index ([ipld/go-car#350](https://github.com/ipld/go-car/pull/350)) |
| 279 | - chore: bump version to 0.6.0 |
| 280 | - fix: use goreleaser instead |
| 281 | - Allow using WalkOption in WriteCar function ([ipld/go-car#357](https://github.com/ipld/go-car/pull/357)) |
| 282 | - fix: update go-block-format to the version that includes the stubs |
| 283 | - feat: upgrade from go-block-format to go-libipfs/blocks |
| 284 | - cleanup readme a bit to make the cli more discoverable (#353) ([ipld/go-car#353](https://github.com/ipld/go-car/pull/353)) |
| 285 | - Update install instructions in README.md |
| 286 | - Add a debugging form for car files. (#341) ([ipld/go-car#341](https://github.com/ipld/go-car/pull/341)) |
| 287 | - ([ipld/go-car#340](https://github.com/ipld/go-car/pull/340)) |
| 288 | - github.com/ipld/go-codec-dagpb (v1.5.0 -> v1.6.0): |
| 289 | - Update version.json |
| 290 | - github.com/ipld/go-ipld-prime (v0.19.0 -> v0.20.0): |
| 291 | - Prepare v0.20.0 |
| 292 | - fix(datamodel): add tests to Copy, make it complain on nil |
| 293 | - feat(dagcbor): mode to allow parsing undelimited streamed objects |
| 294 | - Fix mispatched package declaration. |
| 295 | - Add several pieces of docs to schema/dmt. |
| 296 | - Additional access to schema/dmt package; schema concatenation feature ([ipld/go-ipld-prime#483](https://github.com/ipld/go-ipld-prime/pull/483)) |
| 297 | - Fix hash mismatch error on matching link pointer |
| 298 | - feat: support errors.Is for schema errors |
| 299 | - github.com/ipld/go-ipld-prime/storage/bsadapter (v0.0.0-20211210234204-ce2a1c70cd73 -> v0.0.0-20230102063945-1a409dc236dd): |
| 300 | - build(deps): bump github.com/ipfs/go-blockservice |
| 301 | - Fix mispatched package declaration. |
| 302 | - Add several pieces of docs to schema/dmt. |
| 303 | - Additional access to schema/dmt package; schema concatenation feature ([ipld/go-ipld-prime/storage/bsadapter#483](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/483)) |
| 304 | - fix: go mod tidy |
| 305 | - build(deps): bump github.com/frankban/quicktest from 1.14.3 to 1.14.4 |
| 306 | - Fix hash mismatch error on matching link pointer |
| 307 | - build(deps): bump github.com/warpfork/go-testmark from 0.10.0 to 0.11.0 |
| 308 | - feat: support errors.Is for schema errors |
| 309 | - build(deps): bump github.com/multiformats/go-multicodec |
| 310 | - Prepare v0.19.0 |
| 311 | - fix: correct json codec links & bytes handling |
| 312 | - build(deps): bump github.com/google/go-cmp from 0.5.8 to 0.5.9 (#468) ([ipld/go-ipld-prime/storage/bsadapter#468](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/468)) |
| 313 | - build(deps): bump github.com/ipfs/go-cid from 0.3.0 to 0.3.2 (#466) ([ipld/go-ipld-prime/storage/bsadapter#466](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/466)) |
| 314 | - build(deps): bump github.com/ipfs/go-cid in /storage/bsrvadapter (#464) ([ipld/go-ipld-prime/storage/bsadapter#464](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/464)) |
| 315 | - test(basicnode): increase test coverage for int and map types (#454) ([ipld/go-ipld-prime/storage/bsadapter#454](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/454)) |
| 316 | - build(deps): bump github.com/ipfs/go-cid in /storage/bsrvadapter |
| 317 | - build(deps): bump github.com/ipfs/go-cid from 0.2.0 to 0.3.0 |
| 318 | - build(deps): bump github.com/multiformats/go-multicodec |
| 319 | - fix: remove reliance on ioutil |
| 320 | - fix: update sub-package modules |
| 321 | - build(deps): bump github.com/multiformats/go-multihash |
| 322 | - build(deps): bump github.com/ipfs/go-datastore in /storage/dsadapter |
| 323 | - update .github/workflows/go-check.yml |
| 324 | - update .github/workflows/go-test.yml |
| 325 | - run gofmt -s |
| 326 | - bump go.mod to Go 1.18 and run go fix |
| 327 | - bump go.mod to Go 1.18 and run go fix |
| 328 | - bump go.mod to Go 1.18 and run go fix |
| 329 | - bump go.mod to Go 1.18 and run go fix |
| 330 | - feat: add kinded union to gendemo |
| 331 | - fix: go mod 1.17 compat problems |
| 332 | - build(deps): bump github.com/ipfs/go-blockservice |
| 333 | - Prepare v0.18.0 |
| 334 | - fix(deps): update benchmarks go.sum |
| 335 | - build(deps): bump github.com/multiformats/go-multihash |
| 336 | - feat(bindnode): add a BindnodeRegistry utility (#437) ([ipld/go-ipld-prime/storage/bsadapter#437](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/437)) |
| 337 | - feat(bindnode): support full uint64 range |
| 338 | - chore(bindnode): remove typed functions for options |
| 339 | - chore(bindnode): docs and minor tweaks |
| 340 | - feat(bindnode): make Any converters work for List and Map values |
| 341 | - fix(bindnode): shorten converter option names, minor perf improvements |
| 342 | - fix(bindnode): only custom convert AssignNull for Any converter |
| 343 | - feat(bindnode): pass Null on to nullable custom converters |
| 344 | - chore(bindnode): config helper refactor w/ short-circuit |
| 345 | - feat(bindnode): add AddCustomTypeAnyConverter() to handle `Any` fields |
| 346 | - feat(bindnode): add AddCustomTypeXConverter() options for most scalar kinds |
| 347 | - chore(bindnode): back out of reflection for converters |
| 348 | - feat(bindnode): switch to converter functions instead of type |
| 349 | - feat(bindnode): allow custom type conversions with options |
| 350 | - feat: add release checklist (#442) ([ipld/go-ipld-prime/storage/bsadapter#442](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/442)) |
| 351 | - Prepare v0.17.0 |
| 352 | - feat: introduce UIntNode interface, used within DAG-CBOR codec |
| 353 | - add option to not parse beyond end of structure (#435) ([ipld/go-ipld-prime/storage/bsadapter#435](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/435)) |
| 354 | - sync benchmarks go.sum |
| 355 | - build(deps): bump github.com/multiformats/go-multicodec |
| 356 | - patch: first draft. ([ipld/go-ipld-prime/storage/bsadapter#350](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/350)) |
| 357 | - feat(bindnode): infer links and Any from Go types (#432) ([ipld/go-ipld-prime/storage/bsadapter#432](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/432)) |
| 358 | - fix(codecs): error on cid.Undef links in dag{json,cbor} encoding (#433) ([ipld/go-ipld-prime/storage/bsadapter#433](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/433)) |
| 359 | - chore(bindnode): add test for sub-node unwrapping |
| 360 | - fix(bindnode): more helpful error message for enum value footgun |
| 361 | - fix(bindnode): panic early if API has been passed ptr-to-ptr |
| 362 | - fix(deps): mod tidy for dependencies |
| 363 | - build(deps): bump github.com/warpfork/go-testmark from 0.3.0 to 0.10.0 |
| 364 | - build(deps): bump github.com/multiformats/go-multicodec |
| 365 | - build(deps): bump github.com/ipfs/go-cid from 0.0.4 to 0.2.0 |
| 366 | - build(deps): bump github.com/google/go-cmp from 0.5.7 to 0.5.8 |
| 367 | - build(deps): bump github.com/frankban/quicktest from 1.14.2 to 1.14.3 |
| 368 | - build(deps): bump github.com/ipfs/go-cid in /storage/bsrvadapter |
| 369 | - chore(deps): expand dependabot to sub-modules |
| 370 | - chore(deps): add dependabot config |
| 371 | - printer: fix printing of floats |
| 372 | - add version.json file (#411) ([ipld/go-ipld-prime/storage/bsadapter#411](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/411)) |
| 373 | - ci: use GOFLAGS to control test tags |
| 374 | - ci: disable coverpkg using custom workflow insertion |
| 375 | - ci: add initial web3 unified-ci files |
| 376 | - fix: make 32-bit safe and stable & add to CI |
| 377 | - ci: add go-check.yml workflow from unified-ci |
| 378 | - ci: go mod tidy |
| 379 | - fix: staticcheck and govet fixes |
| 380 | - test: make tests work on Windows, add Windows to CI (#405) ([ipld/go-ipld-prime/storage/bsadapter#405](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/405)) |
| 381 | - schema: enable inline types through dsl parser & compiler (#404) ([ipld/go-ipld-prime/storage/bsadapter#404](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/404)) |
| 382 | - node/bindnode: allow nilable types for IPLD optional/nullable |
| 383 | - test(ci): enable macos in GitHub Actions |
| 384 | - test(gen-go): disable parallelism when testing on macos |
| 385 | - storage: update deps |
| 386 | - dsl support for stringjoin struct repr and stringprefix union repr ([ipld/go-ipld-prime/storage/bsadapter#397](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/397)) |
| 387 | - codec/dagcbor: add DecodeOptions.ExperimentalDeterminism |
| 388 | - node/bindnode: add some more docs |
| 389 | - start testing on Go 1.18.x, drop Go 1.16.x |
| 390 | - readme: getting started pointers. |
| 391 | - readme: bindnode definitely needs a mention! |
| 392 | - Readme updates! |
| 393 | - datamodel: document that repr prototypes produce type nodes |
| 394 | - node/bindnode: minor fuzz improvements |
| 395 | - gengo: update readme. |
| 396 | - fix(dagcbor): don't accept trailing bytes |
| 397 | - schema/dmt: reject duplicate or missing union repr members |
| 398 | - node/bindnode: actually check schemadmt.Compile errors when fuzzing |
| 399 | - node/bindnode: avoid OOM when inferring from cyclic IPLD schemas |
| 400 | - schema/dmt: require enum reprs to refer valid members |
| 401 | - skip NaN/Inf errors for dag-json |
| 402 | - node/bindnode: refuse to decode empty union values |
| 403 | - schema/dmt: error in Compile if union reprs refer to unknown members |
| 404 | - node/bindnode: start fuzzing with schema/dmt and codec/dagcbor |
| 405 | - mark v0.16.0 |
| 406 | - node/bindnode: enforce pointer requirement for nullable maps |
| 407 | - Implement WalkTransforming traversal (#376) ([ipld/go-ipld-prime/storage/bsadapter#376](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/376)) |
| 408 | - docs(datamodel): add comment to LargeBytesNode |
| 409 | - Add partial-match traversal of large bytes (#375) ([ipld/go-ipld-prime/storage/bsadapter#375](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/375)) |
| 410 | - Implement option to start traversals at a path ([ipld/go-ipld-prime/storage/bsadapter#358](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/358)) |
| 411 | - add top-level "go value with schema" example |
| 412 | - Support optional `LargeBytesNode` interface (#372) ([ipld/go-ipld-prime/storage/bsadapter#372](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/372)) |
| 413 | - node/bindnode: support pointers to datamodel.Node to bind with Any |
| 414 | - fix(bindnode): tuple struct iterator should handle absent fields properly |
| 415 | - node/bindnode: make AssignNode work at the repr level |
| 416 | - node/bindnode: add support for unsigned integers |
| 417 | - node/bindnode: cover even more edge case panics |
| 418 | - node/bindnode: polish some more AsT panics |
| 419 | - schema/dmt: stop using a fake test to generate code ([ipld/go-ipld-prime/storage/bsadapter#356](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/356)) |
| 420 | - schema: remove one review note; add another. |
| 421 | - fix: minor EncodedLength fixes, add tests to fully exercise |
| 422 | - feat: add dagcbor.EncodedLength(Node) to calculate length without encoding |
| 423 | - chore: rename Garbage() to Generate() |
| 424 | - fix: minor garbage nits |
| 425 | - fix: Garbage() takes rand parameter, tweak algorithms, improve docs |
| 426 | - feat: add Garbage() Node generator |
| 427 | - node/bindnode: introduce an assembler that always errors |
| 428 | - node/bindnode: polish panics on invalid AssignT calls |
| 429 | - datamodel: don't panic when stringifying an empty KindSet |
| 430 | - node/bindnode: start using ipld.LoadSchema APIs |
| 431 | - selectors: fix for edge case around recursion clauses with an immediate edge. ([ipld/go-ipld-prime/storage/bsadapter#334](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/334)) |
| 432 | - node/bindnode: improve support for pointer types |
| 433 | - node/bindnode: subtract all absents in Length at the repr level |
| 434 | - fix(codecs): error when encoding maps whose lengths don't match entry count |
| 435 | - schema: avoid alloc and copy in Struct and Enum methods |
| 436 | - node/bindnode: allow mapping int-repr enums with Go integers |
| 437 | - schema,node/bindnode: add support for Any |
| 438 | - signaling ADLs in selectors (#301) ([ipld/go-ipld-prime/storage/bsadapter#301](https://github.com/ipld/go-ipld-prime/storage/bsadapter/pull/301)) |
| 439 | - node/bindnode: add support for enums |
| 440 | - schema/...: add support for enum int representations |
| 441 | - node/bindnode: allow binding cidlink.Link to links |
| 442 | - github.com/libp2p/go-libp2p (v0.26.4 -> v0.27.3): |
| 443 | - release v0.27.3 |
| 444 | - quic virtual listener: don't panic when quic-go's accept call errors (#2276) ([libp2p/go-libp2p#2276](https://github.com/libp2p/go-libp2p/pull/2276)) |
| 445 | - Release v0.27.2 (#2270) ([libp2p/go-libp2p#2270](https://github.com/libp2p/go-libp2p/pull/2270)) |
| 446 | - release v0.27.1 (#2252) ([libp2p/go-libp2p#2252](https://github.com/libp2p/go-libp2p/pull/2252)) |
| 447 | - Infer public webtransport addrs from quic-v1 addrs. (#2251) ([libp2p/go-libp2p#2251](https://github.com/libp2p/go-libp2p/pull/2251)) |
| 448 | - basichost: don't allocate when deduplicating multiaddrs (#2206) ([libp2p/go-libp2p#2206](https://github.com/libp2p/go-libp2p/pull/2206)) |
| 449 | - identify: fix normalization of interface listen addresses (#2250) ([libp2p/go-libp2p#2250](https://github.com/libp2p/go-libp2p/pull/2250)) |
| 450 | - autonat: fix flaky TestAutoNATDialRefused (#2245) ([libp2p/go-libp2p#2245](https://github.com/libp2p/go-libp2p/pull/2245)) |
| 451 | - basichost: remove stray print statement in test (#2249) ([libp2p/go-libp2p#2249](https://github.com/libp2p/go-libp2p/pull/2249)) |
| 452 | - swarm: fix multiaddr comparison in ListenClose (#2247) ([libp2p/go-libp2p#2247](https://github.com/libp2p/go-libp2p/pull/2247)) |
| 453 | - release v0.27.0 (#2242) ([libp2p/go-libp2p#2242](https://github.com/libp2p/go-libp2p/pull/2242)) |
| 454 | - add a security policy (#2238) ([libp2p/go-libp2p#2238](https://github.com/libp2p/go-libp2p/pull/2238)) |
| 455 | - chore: 0.27.0 changelog entries (#2241) ([libp2p/go-libp2p#2241](https://github.com/libp2p/go-libp2p/pull/2241)) |
| 456 | - correctly handle WebTransport addresses without certhashes (#2239) ([libp2p/go-libp2p#2239](https://github.com/libp2p/go-libp2p/pull/2239)) |
| 457 | - autorelay: add metrics (#2185) ([libp2p/go-libp2p#2185](https://github.com/libp2p/go-libp2p/pull/2185)) |
| 458 | - autonat: don't change status on dial request refused (#2225) ([libp2p/go-libp2p#2225](https://github.com/libp2p/go-libp2p/pull/2225)) |
| 459 | - autonat: fix closing of listeners in dialPolicy tests (#2226) ([libp2p/go-libp2p#2226](https://github.com/libp2p/go-libp2p/pull/2226)) |
| 460 | - discovery (backoff): fix typo in comment (#2214) ([libp2p/go-libp2p#2214](https://github.com/libp2p/go-libp2p/pull/2214)) |
| 461 | - relaysvc: flaky TestReachabilityChangeEvent (#2215) ([libp2p/go-libp2p#2215](https://github.com/libp2p/go-libp2p/pull/2215)) |
| 462 | - Add wss transport to interop tester impl (#2178) ([libp2p/go-libp2p#2178](https://github.com/libp2p/go-libp2p/pull/2178)) |
| 463 | - tests: add a stream read deadline transport test (#2210) ([libp2p/go-libp2p#2210](https://github.com/libp2p/go-libp2p/pull/2210)) |
| 464 | - autorelay: fix busy loop bug and flaky tests in relay finder (#2208) ([libp2p/go-libp2p#2208](https://github.com/libp2p/go-libp2p/pull/2208)) |
| 465 | - tests: test mplex and Yamux, Noise and TLS in transport tests (#2209) ([libp2p/go-libp2p#2209](https://github.com/libp2p/go-libp2p/pull/2209)) |
| 466 | - tests: add some basic transport integration tests (#2207) ([libp2p/go-libp2p#2207](https://github.com/libp2p/go-libp2p/pull/2207)) |
| 467 | - autorelay: remove unused semaphore (#2184) ([libp2p/go-libp2p#2184](https://github.com/libp2p/go-libp2p/pull/2184)) |
| 468 | - basichost: prevent duplicate dials (#2196) ([libp2p/go-libp2p#2196](https://github.com/libp2p/go-libp2p/pull/2196)) |
| 469 | - websocket: don't set a WSS multiaddr for accepted unencrypted conns (#2199) ([libp2p/go-libp2p#2199](https://github.com/libp2p/go-libp2p/pull/2199)) |
| 470 | - websocket: Don't limit message sizes in the websocket reader (#2193) ([libp2p/go-libp2p#2193](https://github.com/libp2p/go-libp2p/pull/2193)) |
| 471 | - identify: fix stale comment (#2179) ([libp2p/go-libp2p#2179](https://github.com/libp2p/go-libp2p/pull/2179)) |
| 472 | - relay service: add metrics (#2154) ([libp2p/go-libp2p#2154](https://github.com/libp2p/go-libp2p/pull/2154)) |
| 473 | - identify: Fix IdentifyWait when Connected events happen out of order (#2173) ([libp2p/go-libp2p#2173](https://github.com/libp2p/go-libp2p/pull/2173)) |
| 474 | - chore: fix resource manager's README (#2168) ([libp2p/go-libp2p#2168](https://github.com/libp2p/go-libp2p/pull/2168)) |
| 475 | - relay: fix deadlock when closing (#2171) ([libp2p/go-libp2p#2171](https://github.com/libp2p/go-libp2p/pull/2171)) |
| 476 | - core: remove LocalPrivateKey method from network.Conn interface (#2144) ([libp2p/go-libp2p#2144](https://github.com/libp2p/go-libp2p/pull/2144)) |
| 477 | - routed host: return connection error instead of routing error (#2169) ([libp2p/go-libp2p#2169](https://github.com/libp2p/go-libp2p/pull/2169)) |
| 478 | - connmgr: reduce log level for closing connections (#2165) ([libp2p/go-libp2p#2165](https://github.com/libp2p/go-libp2p/pull/2165)) |
| 479 | - circuitv2: cleanup relay service properly (#2164) ([libp2p/go-libp2p#2164](https://github.com/libp2p/go-libp2p/pull/2164)) |
| 480 | - chore: add patch release to changelog (#2151) ([libp2p/go-libp2p#2151](https://github.com/libp2p/go-libp2p/pull/2151)) |
| 481 | - chore: remove superfluous testing section from README (#2150) ([libp2p/go-libp2p#2150](https://github.com/libp2p/go-libp2p/pull/2150)) |
| 482 | - autonat: don't use autonat for address discovery (#2148) ([libp2p/go-libp2p#2148](https://github.com/libp2p/go-libp2p/pull/2148)) |
| 483 | - swarm metrics: fix connection direction (#2147) ([libp2p/go-libp2p#2147](https://github.com/libp2p/go-libp2p/pull/2147)) |
| 484 | - connmgr: Use eventually equal helper in connmgr tests (#2128) ([libp2p/go-libp2p#2128](https://github.com/libp2p/go-libp2p/pull/2128)) |
| 485 | - swarm: emit PeerConnectedness event from swarm instead of from hosts (#1574) ([libp2p/go-libp2p#1574](https://github.com/libp2p/go-libp2p/pull/1574)) |
| 486 | - relay: initialize the ASN util when starting the service (#2143) ([libp2p/go-libp2p#2143](https://github.com/libp2p/go-libp2p/pull/2143)) |
| 487 | - Fix flaky TestMetricsNoAllocNoCover test (#2142) ([libp2p/go-libp2p#2142](https://github.com/libp2p/go-libp2p/pull/2142)) |
| 488 | - identify: Bump timeouts/sleep in tests (#2135) ([libp2p/go-libp2p#2135](https://github.com/libp2p/go-libp2p/pull/2135)) |
| 489 | - Add sleep to fix flaky test (#2129) ([libp2p/go-libp2p#2129](https://github.com/libp2p/go-libp2p/pull/2129)) |
| 490 | - basic_host: Fix flaky tests (#2136) ([libp2p/go-libp2p#2136](https://github.com/libp2p/go-libp2p/pull/2136)) |
| 491 | - swarm: Check context once more before dialing (#2139) ([libp2p/go-libp2p#2139](https://github.com/libp2p/go-libp2p/pull/2139)) |
| 492 | - github.com/libp2p/go-libp2p-asn-util (v0.2.0 -> v0.3.0): |
| 493 | - release v0.3.0 (#26) ([libp2p/go-libp2p-asn-util#26](https://github.com/libp2p/go-libp2p-asn-util/pull/26)) |
| 494 | - initialize the store lazily (#25) ([libp2p/go-libp2p-asn-util#25](https://github.com/libp2p/go-libp2p-asn-util/pull/25)) |
| 495 | - github.com/libp2p/go-libp2p-gostream (v0.5.0 -> v0.6.0): |
| 496 | - Update libp2p ([libp2p/go-libp2p-gostream#80](https://github.com/libp2p/go-libp2p-gostream/pull/80)) |
| 497 | - fix typo in README (#75) ([libp2p/go-libp2p-gostream#75](https://github.com/libp2p/go-libp2p-gostream/pull/75)) |
| 498 | - github.com/libp2p/go-libp2p-http (v0.4.0 -> v0.5.0): |
| 499 | - sync: update CI config files ([libp2p/go-libp2p-http#82](https://github.com/libp2p/go-libp2p-http/pull/82)) |
| 500 | - github.com/libp2p/go-libp2p-kad-dht (v0.21.1 -> v0.23.0): |
| 501 | - Release v0.23.0 |
| 502 | - Specified CODEOWNERS ([libp2p/go-libp2p-kad-dht#828](https://github.com/libp2p/go-libp2p-kad-dht/pull/828)) |
| 503 | - fix: optimistic provide ci checks in tests ([libp2p/go-libp2p-kad-dht#833](https://github.com/libp2p/go-libp2p-kad-dht/pull/833)) |
| 504 | - feat: add experimental optimistic provide (#783) ([libp2p/go-libp2p-kad-dht#783](https://github.com/libp2p/go-libp2p-kad-dht/pull/783)) |
| 505 | - feat: rework tracing a bit |
| 506 | - feat: add basic tracing |
| 507 | - chore: release v0.22.0 |
| 508 | - chore: migrate go-libipfs to boxo |
| 509 | - Fix multiple ProviderAddrTTL definitions #795 ([libp2p/go-libp2p-kad-dht#831](https://github.com/libp2p/go-libp2p-kad-dht/pull/831)) |
| 510 | - Increase provider Multiaddress TTL ([libp2p/go-libp2p-kad-dht#795](https://github.com/libp2p/go-libp2p-kad-dht/pull/795)) |
| 511 | - Make provider manager options configurable in `fullrt` ([libp2p/go-libp2p-kad-dht#829](https://github.com/libp2p/go-libp2p-kad-dht/pull/829)) |
| 512 | - Adjust PeerSet logic in the DHT lookup process ([libp2p/go-libp2p-kad-dht#802](https://github.com/libp2p/go-libp2p-kad-dht/pull/802)) |
| 513 | - added maintainers in the README ([libp2p/go-libp2p-kad-dht#826](https://github.com/libp2p/go-libp2p-kad-dht/pull/826)) |
| 514 | - Allow DHT crawler to be swappable |
| 515 | - Introduce options to parameterize config of the accelerated DHT client ([libp2p/go-libp2p-kad-dht#822](https://github.com/libp2p/go-libp2p-kad-dht/pull/822)) |
| 516 | - github.com/libp2p/go-libp2p-pubsub (v0.9.0 -> v0.9.3): |
| 517 | - Fix Memory Leak In New Timecache Implementations (#528) ([libp2p/go-libp2p-pubsub#528](https://github.com/libp2p/go-libp2p-pubsub/pull/528)) |
| 518 | - Default validator support (#525) ([libp2p/go-libp2p-pubsub#525](https://github.com/libp2p/go-libp2p-pubsub/pull/525)) |
| 519 | - Refactor timecache implementations (#523) ([libp2p/go-libp2p-pubsub#523](https://github.com/libp2p/go-libp2p-pubsub/pull/523)) |
| 520 | - fix(timecache): remove panic in first seen cache on Add (#522) ([libp2p/go-libp2p-pubsub#522](https://github.com/libp2p/go-libp2p-pubsub/pull/522)) |
| 521 | - chore: update go version and dependencies (#516) ([libp2p/go-libp2p-pubsub#516](https://github.com/libp2p/go-libp2p-pubsub/pull/516)) |
| 522 | - github.com/multiformats/go-multiaddr (v0.8.0 -> v0.9.0): |
| 523 | - Release v0.9.0 ([multiformats/go-multiaddr#196](https://github.com/multiformats/go-multiaddr/pull/196)) |
| 524 | - Update webrtc protocols after rename ([multiformats/go-multiaddr#195](https://github.com/multiformats/go-multiaddr/pull/195)) |
| 525 | - github.com/multiformats/go-multibase (v0.1.1 -> v0.2.0): |
| 526 | - chore: bump v0.2.0 |
| 527 | - fix: math/rand -> crypto/rand |
| 528 | - fuzz: add Decoder fuzzing |
| 529 | - github.com/multiformats/go-multicodec (v0.7.0 -> v0.8.1): |
| 530 | - Bump version to release `ipns-record` code |
| 531 | - chore: update submodules and go generate |
| 532 | - deps: upgrade stringer to compatible version |
| 533 | - v0.8.0 |
| 534 | - chore: update submodules and go generate |
| 535 | - github.com/warpfork/go-testmark (v0.10.0 -> v0.11.0): |
| 536 | - Quick changelog to note we have an API update. |
| 537 | - Index fix ([warpfork/go-testmark#13](https://github.com/warpfork/go-testmark/pull/13)) |
| 538 | - Link to python implementation in the readme! |
| 539 | |
| 540 | </details> |
| 541 | |
| 542 | ### 👨👩👧👦 Contributors |
| 543 | |
| 544 | | Contributor | Commits | Lines ± | Files Changed | |
| 545 | |-------------|---------|---------|---------------| |
| 546 | | Rod Vagg | 40 | +4214/-1400 | 102 | |
| 547 | | Sukun | 12 | +3541/-267 | 34 | |
| 548 | | Gus Eggert | 22 | +2387/-1160 | 81 | |
| 549 | | galargh | 23 | +1331/-1734 | 34 | |
| 550 | | Henrique Dias | 23 | +681/-1167 | 79 | |
| 551 | | Marco Munizaga | 19 | +1500/-187 | 55 | |
| 552 | | Jorropo | 25 | +897/-597 | 180 | |
| 553 | | Dennis Trautwein | 4 | +990/-60 | 14 | |
| 554 | | Marten Seemann | 18 | +443/-450 | 53 | |
| 555 | | vyzo | 2 | +595/-152 | 11 | |
| 556 | | Michael Muré | 8 | +427/-182 | 18 | |
| 557 | | Will | 2 | +536/-15 | 5 | |
| 558 | | Adin Schmahmann | 3 | +327/-125 | 11 | |
| 559 | | hannahhoward | 2 | +344/-1 | 4 | |
| 560 | | Arthur Gavazza | 1 | +210/-50 | 4 | |
| 561 | | Hector Sanjuan | 6 | +181/-77 | 13 | |
| 562 | | Masih H. Derkani | 5 | +214/-42 | 12 | |
| 563 | | Calvin Behling | 4 | +158/-58 | 11 | |
| 564 | | Eric Myhre | 7 | +113/-27 | 15 | |
| 565 | | Marcin Rataj | 5 | +72/-30 | 5 | |
| 566 | | Steve Loeppky | 2 | +99/-0 | 2 | |
| 567 | | Piotr Galar | 9 | +60/-18 | 9 | |
| 568 | | gammazero | 4 | +69/-0 | 8 | |
| 569 | | Prithvi Shahi | 2 | +55/-14 | 2 | |
| 570 | | Eng Zer Jun | 1 | +15/-54 | 5 | |
| 571 | | Laurent Senta | 3 | +44/-2 | 3 | |
| 572 | | Ian Davis | 1 | +35/-0 | 1 | |
| 573 | | web3-bot | 4 | +19/-13 | 7 | |
| 574 | | guillaumemichel | 2 | +18/-14 | 3 | |
| 575 | | Guillaume Michel - guissou | 4 | +24/-8 | 4 | |
| 576 | | omahs | 1 | +9/-9 | 3 | |
| 577 | | cortze | 3 | +9/-9 | 3 | |
| 578 | | Nishant Das | 1 | +9/-5 | 3 | |
| 579 | | Hlib Kanunnikov | 2 | +11/-3 | 3 | |
| 580 | | Andrew Gillis | 3 | +6/-8 | 3 | |
| 581 | | Johnny | 1 | +0/-10 | 1 | |
| 582 | | Rafał Leszko | 1 | +4/-4 | 1 | |
| 583 | | Dirk McCormick | 1 | +4/-1 | 1 | |
| 584 | | Antonio Navarro Perez | 1 | +4/-1 | 1 | |
| 585 | | RichΛrd | 2 | +2/-2 | 2 | |
| 586 | | Russell Dempsey | 1 | +2/-1 | 1 | |
| 587 | | Winterhuman | 1 | +1/-1 | 1 | |
| 588 | | Will Hawkins | 1 | +1/-1 | 1 | |
| 589 | | Nikhilesh Susarla | 1 | +1/-1 | 1 | |
| 590 | | Kubo Mage | 1 | +1/-1 | 1 | |
| 591 | | Bryan White | 1 | +1/-1 | 1 | |
| 592 | |
| 593 |