Skip to content

v0.20.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 27 May 10:30
980447e

Added

  • gateway has new backend possibilities:
    • NewRemoteBlocksBackend allows you to create a gateway backend that uses one or multiple other gateways as backend. These gateways must support RAW block requests (application/vnd.ipld.raw), as well as IPNS Record requests (application/vnd.ipfs.ipns-record). With this, we also introduced NewCacheBlockStore, NewRemoteBlockstore and NewRemoteValueStore.
    • NewRemoteCarBackend allows you to create a gateway backend that uses one or multiple Trustless Gateways as backend. These gateways must support CAR requests (application/vnd.ipld.car), as well as the extensions describe in IPIP-402. With this, we also introduced NewCarBackend, NewRemoteCarFetcher and NewRetryCarFetcher.
  • gateway now sets the Content-Location header for requests with non-default content format, as a result of content negotiation. This allows generic and misconfigured HTTP caches to store Deserialized, CAR and Block responses separately, under distinct cache keys.
  • gateway now supports car-dups, car-order and car-version as query parameters in addition to the application/vnd.ipld.car parameters sent via Accept header. The parameters in the Accept header have always priority, but including them in URL simplifies HTTP caching and allows use in Content-Location header on CAR responses to maximize interoperability with wide array of HTTP caches.
  • bitswap/server now allows to override the default peer ledger with WithPeerLedger.

Fixed

  • routing/http/server now returns 404 Status Not Found when no records can be found.
  • routing/http/server now supports legacy RSA PeerIDs encoded as Base58 Multihash

What's Changed

Full Changelog: v0.18.0...v0.20.0