Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bot: Bump github.com/ipfs/boxo from 0.24.3 to 0.26.0 (sourcenetwork#3336
) Bumps [github.com/ipfs/boxo](https://github.com/ipfs/boxo) from 0.24.3 to 0.26.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ipfs/boxo/releases">github.com/ipfs/boxo's releases</a>.</em></p> <blockquote> <h2>v0.26.0</h2> <h2>What's Changed</h2> <h3>Added</h3> <ul> <li><code>bitswap/client</code>: Improved timeout configuration for block requests <ul> <li>Exposed <code>DontHaveTimeoutConfig</code> to hold configuration values for <code>dontHaveTimeoutMgr</code> which controls how long to wait for requested block before emitting a synthetic DontHave response</li> <li>Added <code>DefaultDontHaveTimeoutConfig()</code> to return a <code>DontHaveTimeoutConfig</code> populated with default values</li> <li>Added optional <code>WithDontHaveTimeoutConfig</code> to allow passing a custom <code>DontHaveTimeoutConfig</code></li> <li>Setting <code>SetSendDontHaves(false)</code> works the same as before. Behind the scenes, it will disable <code>dontHaveTimeoutMgr</code> by passing a <code>nil</code> <code>onDontHaveTimeout</code> to <code>newDontHaveTimeoutMgr</code>.</li> </ul> </li> </ul> <h3>Changed</h3> <ul> <li>🛠 <code>blockstore</code> and <code>blockservice</code>'s <code>WriteThrough()</code> option now takes an "enabled" parameter: <code>WriteThrough(enabled bool)</code>.</li> <li>Replaced unmaintained mock time implementation uses in tests: <a href="https://github.com/ipfs/boxo/blob/HEAD/github.com/benbjohnson/clock">from</a> => <a href="https://github.com/ipfs/boxo/blob/HEAD/github.com/filecoin-project/go-clock">to</a></li> <li><code>bitswap/client</code>: if a libp2p connection has a context, use <code>context.AfterFunc</code> to cleanup the connection.</li> <li>upgrade to <code>go-libp2p-kad-dht</code> <a href="https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.28.1">v0.28.1</a></li> <li>upgrade to <code>go-libp2p</code> <a href="https://github.com/libp2p/go-libp2p/releases/tag/v0.38.1">v0.38.1</a></li> <li>blockstore/blockservice: change option to <code>WriteThrough(enabled bool)</code> <a href="https://redirect.github.com/ipfs/boxo/pull/749">#749</a></li> <li><code>mfs</code>: improve mfs republisher <a href="https://redirect.github.com/ipfs/boxo/pull/754">#754</a></li> </ul> <h3>Fixed</h3> <ul> <li><code>mfs</code>: 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.</li> <li><code>bitswap/client</code>: Fix leak due to cid queue never getting cleaned up <a href="https://redirect.github.com/ipfs/boxo/pull/756">#756</a></li> <li><code>bitswap</code>: Drop stream references on Close/Reset <a href="https://redirect.github.com/ipfs/boxo/pull/760">760</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ipfs/boxo/compare/v0.25.0...v0.26.0">https://github.com/ipfs/boxo/compare/v0.25.0...v0.26.0</a></p> <h2>v0.25.0</h2> <h3>Added</h3> <ul> <li><code>routing/http/server</code>: added built-in Prometheus instrumentation to http delegated <code>/routing/v1/</code> endpoints, with custom buckets for response size and duration to match real world data observed at <a href="https://docs.ipfs.tech/concepts/public-utilities/#delegated-routing">the <code>delegated-ipfs.dev</code> instance</a>. <a href="https://redirect.github.com/ipfs/boxo/pull/718">#718</a> <a href="https://redirect.github.com/ipfs/boxo/pull/724">#724</a></li> <li><code>routing/http/server</code>: added configurable routing timeout (<code>DefaultRoutingTimeout</code> being 30s) to prevent indefinite hangs during content/peer routing. Set custom duration via <code>WithRoutingTimeout</code>. <a href="https://redirect.github.com/ipfs/boxo/pull/720">#720</a></li> <li><code>routing/http/server</code>: exposes Prometheus metrics on <code>prometheus.DefaultRegisterer</code> and a custom one can be provided via <code>WithPrometheusRegistry</code> <a href="https://redirect.github.com/ipfs/boxo/pull/722">#722</a></li> <li><code>gateway</code>: <code>NewCacheBlockStore</code> and <code>NewCarBackend</code> will use <code>prometheus.DefaultRegisterer</code> when a custom one is not specified via <code>WithPrometheusRegistry</code> <a href="https://redirect.github.com/ipfs/boxo/pull/722">#722</a></li> <li><code>filestore</code>: added opt-in <code>WithMMapReader</code> option to <code>FileManager</code> to enable memory-mapped file reads <a href="https://redirect.github.com/ipfs/boxo/pull/665">#665</a></li> <li><code>bitswap/routing</code> <code>ProviderQueryManager</code> does not require calling <code>Startup</code> separate from <code>New</code>. <a href="https://redirect.github.com/ipfs/boxo/pull/741">#741</a></li> <li><code>bitswap/routing</code> ProviderQueryManager does not use liftcycle context.</li> </ul> <h3>Changed</h3> <ul> <li><code>bitswap</code>, <code>routing</code>, <code>exchange</code> (<a href="https://redirect.github.com/ipfs/boxo/pull/641">#641</a>): <ul> <li>✨ Bitswap is no longer in charge of providing blocks to the newtork: providing functionality is now handled by a <code>exchange/providing.Exchange</code>, meant to be used with <code>provider.System</code> so that all provides follow the same rules (multiple parts of the code where handling provides) before.</li> <li>🛠 <code>bitswap/client/internal/providerquerymanager</code> has been moved to <code>routing/providerquerymanager</code> where it belongs. In order to keep compatibility, Bitswap now receives a <code>routing.ContentDiscovery</code> parameter which implements <code>FindProvidersAsync(...)</code> and uses it to create a <code>providerquerymanager</code> with the default settings as before. Custom settings can be used by using a custom <code>providerquerymanager</code> to manually wrap a <code>ContentDiscovery</code> object and pass that in as <code>ContentDiscovery</code> on initialization while setting <code>bitswap.WithDefaultProviderQueryManager(false)</code> (to avoid re-wrapping it again).</li> <li>The renovated <code>providedQueryManager</code> will trigger lookups until it manages to connect to <code>MaxProviders</code>. Before it would lookup at most <code>MaxInProcessRequests*MaxProviders</code> and connection failures may have limited the actual number of providers found.</li> <li>🛠 We have aligned our routing-related interfaces with the libp2p <a href="https://pkg.go.dev/github.com/libp2p/go-libp2p/core/routing#ContentRouting"><code>routing</code></a> ones, including in the <code>reprovider.System</code>.</li> <li>In order to obtain exactly the same behaviour as before (i.e. particularly ensuring that new blocks are still provided), what was done like:</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ipfs/boxo/blob/main/CHANGELOG.md">github.com/ipfs/boxo's changelog</a>.</em></p> <blockquote> <h2>[v0.26.0]</h2> <h3>Added</h3> <ul> <li><code>bitswap/client</code>: Improved timeout configuration for block requests <ul> <li>Exposed <code>DontHaveTimeoutConfig</code> to hold configuration values for <code>dontHaveTimeoutMgr</code> which controls how long to wait for requested block before emitting a synthetic DontHave response</li> <li>Added <code>DefaultDontHaveTimeoutConfig()</code> to return a <code>DontHaveTimeoutConfig</code> populated with default values</li> <li>Added optional <code>WithDontHaveTimeoutConfig</code> to allow passing a custom <code>DontHaveTimeoutConfig</code></li> <li>Setting <code>SetSendDontHaves(false)</code> works the same as before. Behind the scenes, it will disable <code>dontHaveTimeoutMgr</code> by passing a <code>nil</code> <code>onDontHaveTimeout</code> to <code>newDontHaveTimeoutMgr</code>.</li> </ul> </li> </ul> <h3>Changed</h3> <ul> <li>🛠 <code>blockstore</code> and <code>blockservice</code>'s <code>WriteThrough()</code> option now takes an "enabled" parameter: <code>WriteThrough(enabled bool)</code>.</li> <li>Replaced unmaintained mock time implementation uses in tests: <a href="https://github.com/ipfs/boxo/blob/main/github.com/benbjohnson/clock">from</a> => <a href="https://github.com/ipfs/boxo/blob/main/github.com/filecoin-project/go-clock">to</a></li> <li><code>bitswap/client</code>: if a libp2p connection has a context, use <code>context.AfterFunc</code> to cleanup the connection.</li> <li>upgrade to <code>go-libp2p-kad-dht</code> <a href="https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.28.1">v0.28.1</a></li> <li>upgrade to <code>go-libp2p</code> <a href="https://github.com/libp2p/go-libp2p/releases/tag/v0.38.1">v0.38.1</a></li> <li>blockstore/blockservice: change option to <code>WriteThrough(enabled bool)</code> <a href="https://redirect.github.com/ipfs/boxo/pull/749">#749</a></li> <li><code>mfs</code>: improve mfs republisher <a href="https://redirect.github.com/ipfs/boxo/pull/754">#754</a></li> </ul> <h3>Fixed</h3> <ul> <li><code>mfs</code>: 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.</li> <li><code>bitswap/client</code>: Fix leak due to cid queue never getting cleaned up <a href="https://redirect.github.com/ipfs/boxo/pull/756">#756</a></li> <li><code>bitswap</code>: Drop stream references on Close/Reset <a href="https://redirect.github.com/ipfs/boxo/pull/760">760</a></li> </ul> <h2>[v0.25.0]</h2> <h3>Added</h3> <ul> <li><code>routing/http/server</code>: added built-in Prometheus instrumentation to http delegated <code>/routing/v1/</code> endpoints, with custom buckets for response size and duration to match real world data observed at <a href="https://docs.ipfs.tech/concepts/public-utilities/#delegated-routing">the <code>delegated-ipfs.dev</code> instance</a>. <a href="https://redirect.github.com/ipfs/boxo/pull/718">#718</a> <a href="https://redirect.github.com/ipfs/boxo/pull/724">#724</a></li> <li><code>routing/http/server</code>: added configurable routing timeout (<code>DefaultRoutingTimeout</code> being 30s) to prevent indefinite hangs during content/peer routing. Set custom duration via <code>WithRoutingTimeout</code>. <a href="https://redirect.github.com/ipfs/boxo/pull/720">#720</a></li> <li><code>routing/http/server</code>: exposes Prometheus metrics on <code>prometheus.DefaultRegisterer</code> and a custom one can be provided via <code>WithPrometheusRegistry</code> <a href="https://redirect.github.com/ipfs/boxo/pull/722">#722</a></li> <li><code>gateway</code>: <code>NewCacheBlockStore</code> and <code>NewCarBackend</code> will use <code>prometheus.DefaultRegisterer</code> when a custom one is not specified via <code>WithPrometheusRegistry</code> <a href="https://redirect.github.com/ipfs/boxo/pull/722">#722</a></li> <li><code>filestore</code>: added opt-in <code>WithMMapReader</code> option to <code>FileManager</code> to enable memory-mapped file reads <a href="https://redirect.github.com/ipfs/boxo/pull/665">#665</a></li> <li><code>bitswap/routing</code> <code>ProviderQueryManager</code> does not require calling <code>Startup</code> separate from <code>New</code>. <a href="https://redirect.github.com/ipfs/boxo/pull/741">#741</a></li> <li><code>bitswap/routing</code> ProviderQueryManager does not use lifecycle context.</li> </ul> <h3>Changed</h3> <ul> <li> <p><code>bitswap</code>, <code>routing</code>, <code>exchange</code> (<a href="https://redirect.github.com/ipfs/boxo/pull/641">#641</a>):</p> <ul> <li>✨ Bitswap is no longer in charge of providing blocks to the network: providing functionality is now handled by a <code>exchange/providing.Exchange</code>, meant to be used with <code>provider.System</code> so that all provides follow the same rules (multiple parts of the code where handling provides) before.</li> <li>🛠 <code>bitswap/client/internal/providerquerymanager</code> has been moved to <code>routing/providerquerymanager</code> where it belongs. In order to keep compatibility, Bitswap now receives a <code>routing.ContentDiscovery</code> parameter which implements <code>FindProvidersAsync(...)</code> and uses it to create a <code>providerquerymanager</code> with the default settings as before. Custom settings can be used by using a custom <code>providerquerymanager</code> to manually wrap a <code>ContentDiscovery</code> object and pass that in as <code>ContentDiscovery</code> on initialization while setting <code>bitswap.WithDefaultProviderQueryManager(false)</code> (to avoid re-wrapping it again).</li> <li>The renovated <code>providedQueryManager</code> will trigger lookups until it manages to connect to <code>MaxProviders</code>. Before it would lookup at most <code>MaxInProcessRequests*MaxProviders</code> and connection failures may have limited the actual number of providers found.</li> <li>🛠 We have aligned our routing-related interfaces with the libp2p <a href="https://pkg.go.dev/github.com/libp2p/go-libp2p/core/routing#ContentRouting"><code>routing</code></a> ones, including in the <code>reprovider.System</code>.</li> <li>In order to obtain exactly the same behavior as before (i.e. particularly ensuring that new blocks are still provided), what was done like:</li> </ul> <pre lang="go"><code> bswapnet := network.NewFromIpfsHost(host, contentRouter) </code></pre> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ipfs/boxo/commit/17db35a2e435532b04823e9b447b465c834e4d37"><code>17db35a</code></a> Merge pull request <a href="https://redirect.github.com/ipfs/boxo/issues/770">#770</a> from ipfs/release-v0.26.0</li> <li><a href="https://github.com/ipfs/boxo/commit/8d05ec46828b650f3e6d47d45a32b5d30d38c466"><code>8d05ec4</code></a> Update CHANGELOG.md</li> <li><a href="https://github.com/ipfs/boxo/commit/1829ea24ca02017925fc576472e9e0c77ebaa135"><code>1829ea2</code></a> update version</li> <li><a href="https://github.com/ipfs/boxo/commit/c24404e980b9b6be294b76857eb9811690e9bfb7"><code>c24404e</code></a> chore: remove duplicated entry</li> <li><a href="https://github.com/ipfs/boxo/commit/13fa48fb259b51b9263fe685e705f8989b023fdb"><code>13fa48f</code></a> docs: v0.26.0 changelog</li> <li><a href="https://github.com/ipfs/boxo/commit/e8b59d6eab268970b73dd0306fa538fbfe2eeb72"><code>e8b59d6</code></a> tidy changelog</li> <li><a href="https://github.com/ipfs/boxo/commit/a3da241b9327d15e9062436a1ac5ec53acc2e1df"><code>a3da241</code></a> Minor spelling and wording changes (<a href="https://redirect.github.com/ipfs/boxo/issues/768">#768</a>)</li> <li><a href="https://github.com/ipfs/boxo/commit/3cee5491077b6abd8aa3cb5ef16a95ff834c9c16"><code>3cee549</code></a> Merge pull request <a href="https://redirect.github.com/ipfs/boxo/issues/767">#767</a> from ipfs/update-libp2p</li> <li><a href="https://github.com/ipfs/boxo/commit/fb80f86f5998b667d8578a12af72fc00220c6962"><code>fb80f86</code></a> update golang.org/x/net</li> <li><a href="https://github.com/ipfs/boxo/commit/c10709680bd9acc0432d006001c26e1a5f4d178d"><code>c107096</code></a> update go-libp2p and go-libp2p-kad-dht</li> <li>Additional commits viewable in <a href="https://github.com/ipfs/boxo/compare/v0.24.3...v0.26.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/ipfs/boxo&package-manager=go_modules&previous-version=0.24.3&new-version=0.26.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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) </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Fred Carle <fredcarle@users.noreply.github.com>
- Loading branch information