Go IPFS v0.13.0 Release Notes
Release Date: 2022-05-04 // almost 2 years ago-
We're happy to announce go-ipfs 0.13.0, packed full of changes and improvements!
As usual, this release includes important fixes, some of which may be critical for security. Unless the fix addresses a bug being exploited in the wild, the fix will not be called out in the release notes. Please make sure to update ASAP. See our release process for details.
Overview
๐ Below is an outline of all that is in this release, so you get a sense of all that's included.
- [๐ BREAKING CHANGES](#---breaking-changes)
- [
ipfs block put
command](#-ipfs-block-put--command) - [
ipfs cid codecs
command](#-ipfs-cid-codecs--command) - [
Swarm
configuration](#-swarm--configuration) - Circuit Relay V1 is deprecated
- [
ls
requests for/multistream/1.0.0
are removed](#-ls--requests-for---multistream-100--are-removed) - Gateway Items
- [
- [๐ฆ Highlights](#---highlights)
- [๐งโ๐ผ libp2p Network Resource Manager (
Swarm.ResourceMgr
)](#------libp2p-network-resource-manager---swarmresourcemgr--) - [๐ Relay V2 client with auto discovery (
Swarm.RelayClient
)](#---relay-v2-client-with-auto-discovery---swarmrelayclient--) - [๐ HTTP Gateway improvements](#---http-gateway-improvements)
- [๐ฑ Support for Block and CAR response formats](#---support-for-block-and-car-response-formats)
- [๐ Fast listing generation for huge directories](#---fast-listing-generation-for-huge--directories)
- [๐ซ Improved
Etag
andIf-None-Match
for bandwidth savings](#---improved--etag--and--if-none-match--for-bandwidth-savings) - [โ๏ธ Added X-Ipfs-Roots for smarter HTTP caches](#---added-x-ipfs-roots-for-smarter-http-caches)
- [๐ก๏ธ Added metrics per response type](#----added-metrics-per-response-type)
- [๐ต๏ธ OpenTelemetry tracing](#----opentelemetry-tracing)
- How to use Jaeger UI for visual tracing?
- [๐ฉบ Built-in
ipfs diag profile
to ease debugging](#---built-in--ipfs-diag-profile--to-ease-debugging) - [๐ Support for PEM/PKCS8 for key import/export](#---support-for-pem-pkcs8-for-key-import-export)
- [๐งน Using standard IPLD codec names across the CLI/HTTP API](#---using-standard-ipld-codec-names-across-the-cli-http-api)
- [๐ณ Custom initialization for Docker](#---custom-initialization-for-docker)
- RPC API docs for experimental and deprecated commands
- Yamux over Mplex
- [๐งโ๐ผ libp2p Network Resource Manager (
๐ BREAKING CHANGES
ipfs block put
command0๏ธโฃ
ipfs block put
command returns a CIDv1 withraw
codec by default now.ipfs block put --cid-codec
makesblock put
return CID with alternative codec- This impacts only the returned CID; it does not trigger any validation or data transformation.
- Retrieving a block with a different codec or CID version than it was put with is valid.
- Codec names are validated against tables from go-multicodec library.
- ๐
ipfs block put --format
is deprecated. It used incorrect codec names and should be avoided for new deployments. Use it only if you need the old, invalid behavior, namely:ipfs block put --format=v0
will produce CIDv0 (implicit dag-pb)ipfs block put --format=cbor
will produce CIDv1 with dag-cbor (!)ipfs block put --format=protobuf
will produce CIDv1 with dag-pb (!)
ipfs cid codecs
command- Now lists codecs from go-multicodec library.
- ๐
ipfs cid codecs --supported
can be passed to only show codecs supported in various go-ipfs commands.
ipfs cid format
command- ๐
--codec
was removed and replaced with--mc
to ensure existing users are aware of the following changes:--mc protobuf
now correctly points to code0x50
(was0x70
, which isdab-pg
)--mc cbor
now correctly points to code0x51
(was0x71
, which isdag-cbor
)
๐ง
Swarm
configuration- ๐ Daemon will refuse to start if long-deprecated RelayV1 config key
Swarm.EnableAutoRelay
orSwarm.DisableRelay
is set totrue
. - If
Swarm.Transports.Network.Relay
is disabled, thenSwarm.RelayService
andSwarm.RelayClient
are also disabled (unless they have been explicitly enabled).
๐ Circuit Relay V1 is deprecated
- 0๏ธโฃ By default,
Swarm.RelayClient
does not use Circuit Relay V1. Circuit V1 support is only enabled whenSwarm.RelayClient.StaticRelays
are specified.
- [๐ BREAKING CHANGES](#---breaking-changes)