Skip to content

Bump github.com/ipfs/boxo from 0.20.0 to 0.26.0#133

Closed
dependabot[bot] wants to merge 1 commit intodevelopfrom
dependabot/go_modules/develop/github.com/ipfs/boxo-0.26.0
Closed

Bump github.com/ipfs/boxo from 0.20.0 to 0.26.0#133
dependabot[bot] wants to merge 1 commit intodevelopfrom
dependabot/go_modules/develop/github.com/ipfs/boxo-0.26.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 3, 2025

Bumps github.com/ipfs/boxo from 0.20.0 to 0.26.0.

Release notes

Sourced from github.com/ipfs/boxo's releases.

v0.26.0

What's Changed

Added

  • bitswap/client: Improved timeout configuration for block requests
    • Exposed DontHaveTimeoutConfig to hold configuration values for dontHaveTimeoutMgr which controls how long to wait for requested block before emitting a synthetic DontHave response
    • Added DefaultDontHaveTimeoutConfig() to return a DontHaveTimeoutConfig populated with default values
    • Added optional WithDontHaveTimeoutConfig to allow passing a custom DontHaveTimeoutConfig
    • Setting SetSendDontHaves(false) works the same as before. Behind the scenes, it will disable dontHaveTimeoutMgr by passing a nil onDontHaveTimeout to newDontHaveTimeoutMgr.

Changed

  • 🛠 blockstore and blockservice's WriteThrough() option now takes an "enabled" parameter: WriteThrough(enabled bool).
  • Replaced unmaintained mock time implementation uses in tests: from => to
  • bitswap/client: if a libp2p connection has a context, use context.AfterFunc to cleanup the connection.
  • upgrade to go-libp2p-kad-dht v0.28.1
  • upgrade to go-libp2p v0.38.1
  • blockstore/blockservice: change option to WriteThrough(enabled bool) #749
  • mfs: improve mfs republisher #754

Fixed

  • mfs: directory cache is now cleared on Flush(), liberating the memory used by the otherwise ever-growing cache. References to directories and sub-directories should be renewed after flushing.
  • bitswap/client: Fix leak due to cid queue never getting cleaned up #756
  • bitswap: Drop stream references on Close/Reset 760

Full Changelog: ipfs/boxo@v0.25.0...v0.26.0

v0.25.0

Added

  • routing/http/server: added built-in Prometheus instrumentation to http delegated /routing/v1/ endpoints, with custom buckets for response size and duration to match real world data observed at the delegated-ipfs.dev instance. #718 #724
  • routing/http/server: added configurable routing timeout (DefaultRoutingTimeout being 30s) to prevent indefinite hangs during content/peer routing. Set custom duration via WithRoutingTimeout. #720
  • routing/http/server: exposes Prometheus metrics on prometheus.DefaultRegisterer and a custom one can be provided via WithPrometheusRegistry #722
  • gateway: NewCacheBlockStore and NewCarBackend will use prometheus.DefaultRegisterer when a custom one is not specified via WithPrometheusRegistry #722
  • filestore: added opt-in WithMMapReader option to FileManager to enable memory-mapped file reads #665
  • bitswap/routing ProviderQueryManager does not require calling Startup separate from New. #741
  • bitswap/routing ProviderQueryManager does not use liftcycle context.

Changed

  • bitswap, routing, exchange (#641):
    • ✨ Bitswap is no longer in charge of providing blocks to the newtork: providing functionality is now handled by a exchange/providing.Exchange, meant to be used with provider.System so that all provides follow the same rules (multiple parts of the code where handling provides) before.
    • 🛠 bitswap/client/internal/providerquerymanager has been moved to routing/providerquerymanager where it belongs. In order to keep compatibility, Bitswap now receives a routing.ContentDiscovery parameter which implements FindProvidersAsync(...) and uses it to create a providerquerymanager with the default settings as before. Custom settings can be used by using a custom providerquerymanager to manually wrap a ContentDiscovery object and pass that in as ContentDiscovery on initialization while setting bitswap.WithDefaultProviderQueryManager(false) (to avoid re-wrapping it again).
    • The renovated providedQueryManager will trigger lookups until it manages to connect to MaxProviders. Before it would lookup at most MaxInProcessRequests*MaxProviders and connection failures may have limited the actual number of providers found.
    • 🛠 We have aligned our routing-related interfaces with the libp2p routing ones, including in the reprovider.System.
    • In order to obtain exactly the same behaviour as before (i.e. particularly ensuring that new blocks are still provided), what was done like:

... (truncated)

Changelog

Sourced from github.com/ipfs/boxo's changelog.

[v0.26.0]

Added

  • bitswap/client: Improved timeout configuration for block requests
    • Exposed DontHaveTimeoutConfig to hold configuration values for dontHaveTimeoutMgr which controls how long to wait for requested block before emitting a synthetic DontHave response
    • Added DefaultDontHaveTimeoutConfig() to return a DontHaveTimeoutConfig populated with default values
    • Added optional WithDontHaveTimeoutConfig to allow passing a custom DontHaveTimeoutConfig
    • Setting SetSendDontHaves(false) works the same as before. Behind the scenes, it will disable dontHaveTimeoutMgr by passing a nil onDontHaveTimeout to newDontHaveTimeoutMgr.

Changed

  • 🛠 blockstore and blockservice's WriteThrough() option now takes an "enabled" parameter: WriteThrough(enabled bool).
  • Replaced unmaintained mock time implementation uses in tests: from => to
  • bitswap/client: if a libp2p connection has a context, use context.AfterFunc to cleanup the connection.
  • upgrade to go-libp2p-kad-dht v0.28.1
  • upgrade to go-libp2p v0.38.1
  • blockstore/blockservice: change option to WriteThrough(enabled bool) #749
  • mfs: improve mfs republisher #754

Fixed

  • mfs: directory cache is now cleared on Flush(), liberating the memory used by the otherwise ever-growing cache. References to directories and sub-directories should be renewed after flushing.
  • bitswap/client: Fix leak due to cid queue never getting cleaned up #756
  • bitswap: Drop stream references on Close/Reset 760

[v0.25.0]

Added

  • routing/http/server: added built-in Prometheus instrumentation to http delegated /routing/v1/ endpoints, with custom buckets for response size and duration to match real world data observed at the delegated-ipfs.dev instance. #718 #724
  • routing/http/server: added configurable routing timeout (DefaultRoutingTimeout being 30s) to prevent indefinite hangs during content/peer routing. Set custom duration via WithRoutingTimeout. #720
  • routing/http/server: exposes Prometheus metrics on prometheus.DefaultRegisterer and a custom one can be provided via WithPrometheusRegistry #722
  • gateway: NewCacheBlockStore and NewCarBackend will use prometheus.DefaultRegisterer when a custom one is not specified via WithPrometheusRegistry #722
  • filestore: added opt-in WithMMapReader option to FileManager to enable memory-mapped file reads #665
  • bitswap/routing ProviderQueryManager does not require calling Startup separate from New. #741
  • bitswap/routing ProviderQueryManager does not use lifecycle context.

Changed

  • bitswap, routing, exchange (#641):

    • ✨ Bitswap is no longer in charge of providing blocks to the network: providing functionality is now handled by a exchange/providing.Exchange, meant to be used with provider.System so that all provides follow the same rules (multiple parts of the code where handling provides) before.
    • 🛠 bitswap/client/internal/providerquerymanager has been moved to routing/providerquerymanager where it belongs. In order to keep compatibility, Bitswap now receives a routing.ContentDiscovery parameter which implements FindProvidersAsync(...) and uses it to create a providerquerymanager with the default settings as before. Custom settings can be used by using a custom providerquerymanager to manually wrap a ContentDiscovery object and pass that in as ContentDiscovery on initialization while setting bitswap.WithDefaultProviderQueryManager(false) (to avoid re-wrapping it again).
    • The renovated providedQueryManager will trigger lookups until it manages to connect to MaxProviders. Before it would lookup at most MaxInProcessRequests*MaxProviders and connection failures may have limited the actual number of providers found.
    • 🛠 We have aligned our routing-related interfaces with the libp2p routing ones, including in the reprovider.System.
    • In order to obtain exactly the same behavior as before (i.e. particularly ensuring that new blocks are still provided), what was done like:
    	bswapnet := network.NewFromIpfsHost(host, contentRouter)

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Jan 3, 2025
@dependabot dependabot bot requested review from noslav and rogarcia January 3, 2025 08:11
Bumps [github.com/ipfs/boxo](https://github.com/ipfs/boxo) from 0.20.0 to 0.26.0.
- [Release notes](https://github.com/ipfs/boxo/releases)
- [Changelog](https://github.com/ipfs/boxo/blob/main/CHANGELOG.md)
- [Commits](ipfs/boxo@v0.20.0...v0.26.0)

---
updated-dependencies:
- dependency-name: github.com/ipfs/boxo
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/go_modules/develop/github.com/ipfs/boxo-0.26.0 branch from 4ae68db to 21cb585 Compare January 9, 2025 20:05
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Jan 27, 2025

Superseded by #142.

@dependabot dependabot bot closed this Jan 27, 2025
@dependabot dependabot bot deleted the dependabot/go_modules/develop/github.com/ipfs/boxo-0.26.0 branch January 27, 2025 10:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants