Skip to content

chore(deps): bump github.com/libp2p/go-libp2p-kad-dht from 0.41.0 to 0.42.0#398

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/go_modules/github.com/libp2p/go-libp2p-kad-dht-0.42.0
Open

chore(deps): bump github.com/libp2p/go-libp2p-kad-dht from 0.41.0 to 0.42.0#398
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/go_modules/github.com/libp2p/go-libp2p-kad-dht-0.42.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 20, 2026

Copy link
Copy Markdown
Contributor

Bumps github.com/libp2p/go-libp2p-kad-dht from 0.41.0 to 0.42.0.

Release notes

Sourced from github.com/libp2p/go-libp2p-kad-dht's releases.

v0.42.0

[!NOTE] This release was brought to you by the Shipyard team.

Highlights

⚠️ Breaking changes

Constructors no longer take a context.Context (#1282)

The lifecycle context was removed from all constructors. The DHT now runs until Close() is called; cancelling a context no longer tears it down.

Before After
dht.New(ctx, h, opts...) dht.New(h, opts...)
dht.NewDHT(ctx, h, dstore) dht.NewDHT(h, dstore)
dht.NewDHTClient(ctx, h, dstore) dht.NewDHTClient(h, dstore)
dual.New(ctx, h, opts...) dual.New(h, opts...)
records.NewProviderManager(ctx, ...) records.NewProviderManager(...)
rtrefresh.NewRtRefreshManager(ctx, ...) rtrefresh.NewRtRefreshManager(...)

Migration: drop the context argument. If you relied on cancelling the constructor context to shut the DHT down, call Close() instead. Close() blocks until all long-lived components have stopped. Note that in-flight RPC handlers are owned by the libp2p host, so close the host before closing any datastore handed to the DHT.

ProviderStore option removed (#1277 by @​guillaumemichel)

Custom ProviderStore implementations can no longer be injected; the DHT always runs the built-in provider manager. The dht.ProviderStore(...) option is replaced by datastore-level configuration:

// Before: inject a custom provider store
d, err := dht.New(ctx, h, dht.ProviderStore(customStore))
// After: configure the built-in provider manager
d, err := dht.New(h,
dht.ProviderDatastore(dstore),          // dedicated datastore for provider records
dht.ProviderManagerOpts(                // tune the built-in manager
records.ProvideValidity(48*time.Hour),
records.Cache(myLRU),
),
)

New options: ValueDatastore and ProviderDatastore give value and provider records their own physical datastores (both default to the datastore set with Datastore). The dht.ProviderStore() getter on IpfsDHT remains available.

Value records are stored under namespaced datastore keys (#1277)

Value records used to be stored at the datastore root as /<base32(key)>; they are now namespaced by record type: /<namespace>/<base32(key)> (e.g. /pk/..., /ipns/...). This keeps a shared datastore collision-free and enables per-namespace garbage collection.

Migration: there is no automatic key migration. On upgrade, value records persisted by earlier versions are simply not found under the new layout — nodes will re-store them as the network republishes (records expire after MaxRecordAge, 48h by default, anyway). If you persist the DHT datastore and want to reclaim space, you can delete leftover root-level base32 keys. Provider records are unaffected (already namespaced under /providers/).

... (truncated)

Commits
  • b419cd9 chore: release v0.42.0 (#1284)
  • 727bea0 refactor: remove lifecycle context from constructors (#1282)
  • c5e0ce5 refactor(records): consolidate records persistence (#1277)
  • cb96396 update dependencies (#1283)
  • 5766699 refactor(pb): bound the serialized size of a peer record (#1281)
  • 161a21b chore: migrate from math/rand to math/rand/v2 (#1280)
  • 5bfc001 chore: bump go-libp2p-kbucket (#1279)
  • 5786e04 test: give TestProvidesMany's lookups a deadline that fits a loaded machine (...
  • 07d0349 upgrade go-test to v0.4.0 (#1275)
  • 1000db3 test: fix flaky TestOptimisticProvide timeout and peerIDs seeding (#1276)
  • Additional commits viewable in compare view

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 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)

Bumps [github.com/libp2p/go-libp2p-kad-dht](https://github.com/libp2p/go-libp2p-kad-dht) from 0.41.0 to 0.42.0.
- [Release notes](https://github.com/libp2p/go-libp2p-kad-dht/releases)
- [Commits](libp2p/go-libp2p-kad-dht@v0.41.0...v0.42.0)

---
updated-dependencies:
- dependency-name: github.com/libp2p/go-libp2p-kad-dht
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Jul 20, 2026
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 go Pull requests that update Go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants