Skip to content

Releases: ipfs/boxo

v0.10.1

19 Jun 12:19
198f9bc
Compare
Choose a tag to compare

Fixed

  • Allow CAR requests with a path when DeserializedResponses is false.

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

09 Jun 10:16
6f82d77
Compare
Choose a tag to compare

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.

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

08 Jun 09:51
Compare
Choose a tag to compare

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 add ValidateWithPeerID and UnmarshalIpnsEntry 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 to provider.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.
  • 🛠 provider.NewOfflineProvider has been renamed to provider.NewNoopProvider to show more clearly that is does nothing. (https://github.com/ipfs/boxo/pulls/273)
  • 🛠 provider.Provider and provider.Reprovider has been merged under one provider.System. (https://github.com/ipfs/boxo/pulls/273)
  • 🛠 routing/http responses now return a streaming iter.ResultIter generic interface. (https://github.com/ipfs/boxo/pulls/18)
  • 🛠 coreiface add options and AllowOffline option to RoutingAPI.Put. (https://github.com/ipfs/boxo/pulls/278)
  • 🛠 gateway now has deserialized responses turned off by default. This can be configured via DeserializedResponses. (#252)

Removed

Fixed

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

Full Changelog: v0.8.1...v0.9.0

v0.8.1

25 Apr 08:22
aa12ba3
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.8.0...v0.8.1

v0.8.0

05 Apr 16:24
f2bb0c8
Compare
Choose a tag to compare

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

03 Apr 13:43
a3f1b66
Compare
Choose a tag to compare

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

28 Mar 22:06
Compare
Choose a tag to compare

What's Changed

  • fix: ensure (dag)-cbor/json codecs are registered by @hacdias in #223

Full Changelog: v0.8.0-rc1...v0.8.0-rc2

v0.8.0-rc1

27 Mar 22:00
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.7.0...v0.8.0-rc1

v0.7.0

20 Mar 12:36
664b3e5
Compare
Choose a tag to compare

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

v0.6.2

16 Mar 16:16
ef3dbdc
Compare
Choose a tag to compare

What's Changed

  • refactor: use assert in remaining gateway tests by @hacdias in #183
  • fix(gateway): 500 on panic, recover on WithHostname by @mathew-cf in #199

New Contributors

Full Changelog: v0.6.1...v0.6.2