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
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`
$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.