Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: 0.19 changelog #9707

Merged
merged 3 commits into from
Mar 20, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions docs/changelogs/v0.19.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
- [Overview](#overview)
- [🔦 Highlights](#-highlights)
- [Improving the libp2p resource management integration](#improving-the-libp2p-resource-management-integration)
- [PubSub message caching improvements](#pubsub-message-caching-improvements)
- [Gateways](#gateways)
- [Signed IPNS Record response format](#signed-ipns-record-response-format)
- [Example fetch and inspect IPNS record](#example-fetch-and-inspect-ipns-record)
- [Addition of "autoclient" router type](#addition-of-autoclient-router-type)
- [Deprecation of the `ipfs pubsub` commands and matching HTTP endpoints](#deprecation-of-the-ipfs-pubsub-commands-and-matching-http-endpoints)
- [📝 Changelog](#-changelog)
Expand All @@ -24,6 +28,50 @@ and [0.18.1](https://github.com/ipfs/kubo/blob/master/docs/changelogs/v0.18.md#i
- Note: we don't expect most users to need these capablities, but they are there if so.
1. [Doc updates](https://github.com/ipfs/kubo/blob/master/docs/libp2p-resource-management.md).

#### PubSub message caching improvements

The PubSub message cache will now [prune messages after TTL is exhausted](https://github.com/ipfs/kubo/blob/master/docs/config.md#pubsubseenmessagesttl), [either based on the last time a message was seen or the first time it was seen](https://github.com/ipfs/kubo/blob/master/docs/config.md#pubsubseenmessagesstrategy).

#### Gateways

##### Signed IPNS Record response format

This release implements [IPIP-351](https://github.com/ipfs/specs/pull/351) and
adds Gateway support for returning signed (verifiable) `ipns-record` (0x0300)
when `/ipns/{libp2p-key}` is requested with either
`Accept: application/vnd.ipfs.ipns-record` HTTP header
or `?format=ipns-record` URL query parameter.


The Gateway in Kubo already supported [trustless, verifiable retrieval](https://docs.ipfs.tech/reference/http/gateway/#trustless-verifiable-retrieval) of immutable `/ipfs/` namespace.
With `?format=ipns-record`, light HTTP clients are now able to get the same level of verifiability for IPNS websites.

Tooling is limited at the moment, but we are working on [go-libipfs](https://github.com/ipfs/go-libipfs/) examples that illustrate the verifiable HTTP client pattern.

##### Example: fetch IPNS record over HTTP and inspect it with `ipfs name inspect --verify`

```console
$ FILE_CID=$(echo "Hello IPFS" | ipfs add --cid-version 1 -q)
$ IPNS_KEY=$(ipfs key gen test)
$ ipfs name publish /ipfs/$FILE_CID --key=test --ttl=30m
Published to k51q..dvf1: /ipfs/bafk..z244
$ curl "http://127.0.0.1:8080/ipns/$IPNS_KEY?format=ipns-record" > signed.ipns-record
$ ipfs name inspect --verify $IPNS_KEY < signed.ipns-record
Value: "/ipfs/bafk..."
Validity Type: "EOL"
Validity: 2023-03-09T23:13:34.032977468Z
Sequence: 0
TTL: 1800000000000
PublicKey: ""
Signature V1: "m..."
Signature V2: "m..."
Data: {...}

Validation results:
Valid: true
PublicKey: 12D3...
```

#### Addition of "autoclient" router type
A new routing type "autoclient" has been added. This mode is similar to "auto", in that it is a hybrid of content routers (including Kademlia and HTTP routers), but it does not run a DHT server. This is similar to the difference between "dhtclient" and "dht" router types.

Expand Down