Releases: ipfs/boxo
Releases · ipfs/boxo
v0.10.2
Fixed
- Gateway: include CORS on subdomain redirects.
- Gateway: ensure 'X-Ipfs-Root' header is valid.
What's Changed
- Update RELEASE.md based on 0.9 release by @BigLep in #343
- fix(gateway): remove warning about X-Ipfs-Gateway-Prefix by @hacdias in #350
- blockstore: replace go.uber.org/atomic with sync/atomic by @Jorropo in #357
- fix(gateway): allow CAR trustless requests with path by @hacdias in #358
- chore: version 0.10.1 by @hacdias in #359
Full Changelog: v0.10.0...v0.10.2
v0.10.1
Fixed
- Allow CAR requests with a path when
DeserializedResponses
isfalse
.
What's Changed
- Update RELEASE.md based on 0.9 release by @BigLep in #343
- fix(gateway): remove warning about X-Ipfs-Gateway-Prefix by @hacdias in #350
- blockstore: replace go.uber.org/atomic with sync/atomic by @Jorropo in #357
- fix(gateway): allow CAR trustless requests with path by @hacdias in #358
Full Changelog: v0.10.0...v0.10.1
v0.10.0
Added
- ✨ The gateway now supports partial CAR exports via query parameters from IPIP-402.
Changed
- 🛠 A few trivial breaking changes have been done to the gateway:
- The signature of
IPFSBackend.GetCAR
has been adapted to support IPIP-402 CAR Parameters. - A few variables have been renamed for consistency:
WithHostname
->NewHostnameHandler
Specification
->PublicGateway
NewErrorResponse
->NewErrorStatusCode
NewErrorResponseForCode
->NewErrorStatusCodeFromStatus
BlocksGateway
->BlocksBackend
BlocksGatewayOption
->BlocksBackendOption
NewBlocksGateway
->NewBlocksBackend
- Some functions that are not supposed to be outside of the package were removed:
ServeContent
.
- The signature of
Removed
None.
Fixed
None.
Security
None.
What's Changed
- feat(gateway): implement IPIP-402 extensions for gateway CAR requests by @aschmahmann in #303
- docs(changelog): add gateway deserialized responses by @hacdias in #341
- feat: update gateway-conformance to v0.1 by @laurentsenta in #342
Full Changelog: v0.9.0...v0.10.0
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
v0.8.1
What's Changed
- Release v0.8.0 by @guseggert in #264
- fix(gw): widen duration histograms and cleanup by @lidel in #265
- Web3 bot/sync by @web3-bot in #271
- fix(gateway): panic on path without enough components by @hacdias in #272
- feat(gateway): trace context header support by @hacdias in #256
- refactor(gateway): consistent tracing names by @hacdias in #261
- docs: add RELEASE.md by @guseggert in #266
- Added FAQ and README updates by @BigLep in #260
Full Changelog: v0.8.0...v0.8.1
v0.8.0
Added
- Migrated repositories into Boxo
- github.com/ipfs/interface-go-ipfs-core => ./coreiface
- github.com/ipfs/go-pinning-service-http-client => ./pinning/remote/client
- github.com/ipfs/go-path => ./path
- github.com/ipfs/go-namesys => ./namesys
- github.com/ipfs/go-mfs => ./mfs
- github.com/ipfs/go-ipfs-provider => ./provider
- github.com/ipfs/go-ipfs-pinner => ./pinning/pinner
- github.com/ipfs/go-ipfs-keystore => ./keystore
- github.com/ipfs/go-filestore => ./filestore
- github.com/ipfs/go-ipns => ./ipns
- github.com/ipfs/go-blockservice => ./blockservice
- github.com/ipfs/go-ipfs-chunker => ./chunker
- github.com/ipfs/go-fetcher => ./fetcher
- github.com/ipfs/go-ipfs-blockstore => ./blockstore
- github.com/ipfs/go-ipfs-posinfo => ./filestore/posinfo
- github.com/ipfs/go-ipfs-util => ./util
- github.com/ipfs/go-ipfs-ds-help => ./datastore/dshelp
- github.com/ipfs/go-verifcid => ./verifcid
- github.com/ipfs/go-ipfs-exchange-offline => ./exchange/offline
- github.com/ipfs/go-ipfs-routing => ./routing
- github.com/ipfs/go-ipfs-exchange-interface => ./exchange
- github.com/ipfs/go-unixfs => ./ipld/unixfs
- github.com/ipfs/go-merkledag => ./ipld/merkledag
- github.com/ipld/go-car => ./ipld/car
- Added a migration tool to aid in migrating from the migrated repositories to Boxo, see the documentation here: https://github.com/ipfs/boxo/blob/main/README.md#migrating-to-boxo
- Added a check to ensure the migration tool is only run in a Git repository (with an optional override flag)
- Added tracing and metrics to the refactored gateway for its IPFS backend
Changed
- Removed a mention of "bitswap" in blockservice debug logs
- Changed the Bitswap message package from "bitswap.message.pb" to "bitswap.message.v1.pb" to avoid protobuf panics due to duplicate registration with go-bitswap
- Remove a busyloop in blockservice getBlocks by removing batching when caching
Deprecated
None
Removed
None
Fixed
- Ensure dag-cbor/json codecs are registered in the gateway handler
- Refactor the Gateway API to operate on higher level semantics
- Fixed a panic in the gateway handler when returning errors
Security
None
v0.8.0-rc4
What's Changed
- blockservice: remove busyloop in getBlocks by removing batching by @Jorropo in #232
- ci: delete test-examples workflow by @galargh in #239
- ci: add gateway-conformance tests for car-gateway by @galargh in #237
- ci: update Unified CI configuration by @web3-bot in #247
- chore: remove libp2pio.car by @hacdias in #248
- ci(gateway): enable subdomain conformance by @hacdias in #246
- refactor(examples): proxy gateway to use exchange by @aschmahmann in #229
- feat(gateway): IPFSBackend metrics and HTTP range support by @lidel in #245
Full Changelog: v0.8.0-rc3...v0.8.0-rc4
v0.8.0-rc2
What's Changed
Full Changelog: v0.8.0-rc1...v0.8.0-rc2
v0.8.0-rc1
What's Changed
- Add coverage note to README by @guseggert in #222
- feat: Über Migration (and Boxo rename) by @Jorropo in #220
- feat: add consumer migration tool by @guseggert in #226
Full Changelog: v0.7.0...v0.8.0-rc1
v0.7.0
What's Changed
- docs: add note in README that go-libipfs is not comprehensive by @guseggert in #163
- feat: return 400 on /ipfs/invalid-cid by @hacdias in #205
Full Changelog: v0.6.2...v0.7.0