v0.9.0
Added
- ✨
gateway
The gateway were updated to provide better features for users and gateway implementers:- New human-friendly error messages.
- Updated, higher-definition icons in directory listings.
- Customizable menu items next to "About IPFS" and "Install IPFS".
- Valid DAG-CBOR and DAG-JSON blocks now provide a preview, where links can be followed.
ipns
addValidateWithPeerID
andUnmarshalIpnsEntry
helpers. (https://github.com/ipfs/boxo/pulls/292)- 🛠
coreiface/tests
add*testing.T
argument to the swarm provider. (https://github.com/ipfs/boxo/pulls/321)
Changed
- 🛠
boxo/pinner
some listing methods have been changed to now return a<-chan StreamedCid
. This allows the consumption of pins while the pinner is listing them, which for large pinset can take a long time. (https://github.com/ipfs/boxo/pulls/336)
The concerned methods are:DirectKeys
RecursiveKeys
InternalKeys
- 🛠
provider/batched.New
has been moved toprovider.New
and arguments has been changed. (https://github.com/ipfs/boxo/pulls/273)- a routing system is now passed with the
provider.Online
option, by default the system run in offline mode (push stuff onto the queue); and - you do not have to pass a queue anymore, you pass a
datastore.Datastore
exclusively.
- a routing system is now passed with the
- 🛠
provider.NewOfflineProvider
has been renamed toprovider.NewNoopProvider
to show more clearly that is does nothing. (https://github.com/ipfs/boxo/pulls/273) - 🛠
provider.Provider
andprovider.Reprovider
has been merged under oneprovider.System
. (https://github.com/ipfs/boxo/pulls/273) - 🛠
routing/http
responses now return a streamingiter.ResultIter
generic interface. (https://github.com/ipfs/boxo/pulls/18) - 🛠
coreiface
add options andAllowOffline
option toRoutingAPI.Put
. (https://github.com/ipfs/boxo/pulls/278) - 🛠
gateway
now has deserialized responses turned off by default. This can be configured viaDeserializedResponses
. (#252)
Removed
- 🛠
provider/queue
has been moved toprovider/internal/queue
. (https://github.com/ipfs/boxo/pulls/273) - 🛠
provider/simple
has been removed, now instead you can useprovider.New
because it accept non batched routing systems and use type assertion for theProvideMany
call, giving a single implementation. (https://github.com/ipfs/boxo/pulls/273) - 🛠
provider.NewSystem
has been removed,provider.New
now returns aprovider.System
directly. (https://github.com/ipfs/boxo/pulls/273)
Fixed
gateway
fix panics by returning in all error cases. (https://github.com/ipfs/boxo/pulls/314)gateway
avoid duplicate payload during subdomain redirects. (https://github.com/ipfs/boxo/pulls/326)gateway
correctly handle question marks in URL when redirecting. (https://github.com/ipfs/boxo/pulls/#313)
Security
None
What's Changed
- refactor(gateway): switch to xxhash/v2 by @hsanjuan in #285
- feat(routing): allow-offline with routing put by @laurentsenta in #278
- routing/http: feat: add streaming support by @guseggert in #18
- refactor: remove badger, leveldb dependencies by @hsanjuan in #286
- feat: reusable ipns verify by @laurentsenta in #292
- Revert "feat: reusable ipns verify" by @hacdias in #293
- feat(ipns): helper ValidateWithPeerID and UnmarshalIpnsEntry by @hacdias in #294
- add test cases for tar module by @fulldecent in #301
- refactor: replace assert.Nil for assert.NoError by @hacdias in #302
- feat(gateway): redirect ipns b58mh to cid by @hacdias in #236
- fix(routing/v1): add newline in NDJSON responses by @hacdias in #300
- feat: add deprecator by @guseggert in #297
- ci: update Unified CI configuration by @galargh in #305
- refactor(example): simplify ipns validation by @hacdias in #306
- feat(gw): add ipfs_http_gw_request_types metric by @lidel in #311
- feat(gw): add ipfs_http_gw_car_stream_fail_duration_seconds by @lidel in #312
- bitswap/client: fix PeerResponseTrackerProbabilityOneKnownOneUnknownPeer by @Jorropo in #310
- feat: pass records limit on routing.FindProviders by @hacdias in #299
- feat: create pull_request_template by @galargh in #314
- fix(gw): missing return in error case by @willscott in #319
- feat(gateway)!: deserialised responses turned off by default by @hacdias in #252
- feat(gateway): improved templates, user friendly errors by @hacdias in #298
- coreiface: add a testing.T argument to the provider by @Jorropo in #321
- feat(gateway): visualize dag-cbor and dag-json by @hacdias in #315
- provider: refactor to only maintain one batched implementation and add throughput callback by @Jorropo in #273
- provider: add breaking changes to the changelog by @Jorropo in #330
- fix(gateway)!: no duplicate payload during subdomain redirects by @hacdias in #326
- fix(gateway): question marks in url.Path when redirecting by @hacdias in #313
- provider: revert throughput callback and related refactor by @Jorropo in #332
- Streamed pins by @MichaelMure in #290
- changelog: add changelog for async pin listing by @Jorropo in #336
- chore: do not rely on deprecated logger by @hacdias in #338
- feat: remove ipld legacy and format globals in ipld/merkledag by @aschmahmann in #322
- rename unixfs protobuf package to unixfs.v1 by @aschmahmann in #318
- rename dagpb protobuf to merkledag.v1 by @aschmahmann in #323
- provider: second round of reprovider refactor by @Jorropo in #331
New Contributors
- @hsanjuan made their first contribution in #285
- @laurentsenta made their first contribution in #278
- @fulldecent made their first contribution in #301
- @willscott made their first contribution in #319
- @MichaelMure made their first contribution in #290
Full Changelog: v0.8.1...v0.9.0