PackageTrack

Go modules · #2194

github.com/libp2p/go-libp2p-kad-dht

v0.42.2libp2p/go-libp2p-kad-dht

Release timeline

693 releases since 2016
20182020202220242026

Releases

  1. v0.42.3-0.20260821055240-e41dae0c794521 Aug 2026pre-release

    Nothing published for this version

  2. v0.42.221 Aug 2026
    Release notes

    Note

    This release was brought to you by the Shipyard team.

    Highlights

    Provider record writes are batched again (#1293)

    v0.42.0 (#1277) inadvertently turned every provider record write and GC delete into an individual (fsynced) datastore operation, causing excessive disk I/O on busy nodes (ipfs/kubo#11432). Provider writes and GC deletes are now batched (256 records per batch), restoring the pre-v0.42.0 fsync rate. No protocol or record-layout change.

    Local provider record writes respect shutdown (#1288)

    The WithAddLocalRecord callback now receives the sweeping provider's lifecycle context instead of context.Background() (a regression from #1282), so local provider record writes are properly cancelled when the provider shuts down.

    What's Changed

    Full Changelog: v0.42.1...v0.42.2

    Open source →
  3. v0.42.2-0.20260820235128-5a1c2420ad2e20 Aug 2026pre-release

    Nothing published for this version

  4. v0.42.2-0.20260818075504-8358410d968d18 Aug 2026pre-release

    Nothing published for this version

  5. v0.42.2-0.20260804071500-ab187effae984 Aug 2026pre-release

    Nothing published for this version

  6. v0.42.2-0.20260804065032-2cc8c275c7fa4 Aug 2026pre-release

    Nothing published for this version

  7. v0.42.2-0.20260801200847-2a10abdf12151 Aug 2026pre-release

    Nothing published for this version

  8. v0.42.2-0.20260728132953-7571fec1480b28 Jul 2026pre-release

    Nothing published for this version

  9. v0.42.2-0.20260723025726-a5d383cdd31c23 Jul 2026pre-release

    Nothing published for this version

  10. v0.42.120 Jul 2026
    Release notes

    Note

    This release was brought to you by the Shipyard team.

    What's Changed

    Full Changelog: v0.42.0...v0.42.1

    Open source →
  11. v0.42.1-0.20260720193258-3dd16b15308520 Jul 2026pre-release

    Nothing published for this version

  12. v0.42.1-0.20260720183211-2cba273e45d820 Jul 2026pre-release

    Nothing published for this version

  13. v0.42.020 Jul 2026
    Release notes

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

    What's Changed

    Full Changelog: v0.41.0...v0.42.0

    Open source →
  14. v0.41.1-0.20260718081114-727bea06ca8f18 Jul 2026pre-release

    Nothing published for this version

  15. v0.41.1-0.20260717085953-cb9639642a8d17 Jul 2026pre-release

    Nothing published for this version

  16. v0.41.1-0.20260715110209-161a21b5799c15 Jul 2026pre-release

    Nothing published for this version

  17. v0.41.1-0.20260711062620-c9eb1c44537b11 Jul 2026pre-release

    Nothing published for this version

  18. v0.41.1-0.20260707082949-7012d13599ed7 Jul 2026pre-release

    Nothing published for this version

  19. v0.41.1-0.20260707013656-115ef033cc767 Jul 2026pre-release

    Nothing published for this version

  20. v0.41.1-0.20260703233757-7e03fc4a97363 Jul 2026pre-release

    Nothing published for this version

  21. v0.41.1-0.20260703190142-e2486b7091cd3 Jul 2026pre-release

    Nothing published for this version

  22. v0.41.1-0.20260703045152-254eff00cd703 Jul 2026pre-release

    Nothing published for this version

  23. v0.41.01 Jul 2026
    Release notes

    Note

    This release was brought to you by the Shipyard team.

    What's Changed

    Full Changelog: v0.40.0...v0.41.0

    Open source →
  24. v0.40.1-0.20260625052158-46622399825625 Jun 2026pre-release

    Nothing published for this version

  25. v0.40.1-0.20260617160602-96c8548a5e2a17 Jun 2026pre-release

    Nothing published for this version

  26. v0.40.1-0.20260617100038-10d5605ce79917 Jun 2026pre-release

    Nothing published for this version

  27. v0.40.1-0.20260616203420-146f2cfad78616 Jun 2026pre-release

    Nothing published for this version

  28. v0.40.1-0.20260616074740-75bc4749570b16 Jun 2026pre-release

    Nothing published for this version

  29. v0.40.1-0.20260605061321-73bd7fd5d62e5 Jun 2026pre-release

    Nothing published for this version

  30. v0.40.020 May 2026
    Release notes

    Note

    This release was brought to you by the Shipyard team.

    Highlights

    ⚠️ Breaking change

    • SweepingProvider.Stats() now takes a context.Context and returns (stats.Stats, error). Callers must pass a ctx with a deadline — the key count is fetched through the keystore worker and can stall behind a slow datastore op. (#1251 by @guillaumemichel)

    Fixes

    • Per-peer timeout on ADD_PROVIDER sends so a single slow peer can't stall a reprovide cycle. (#1252 by @guillaumemichel)
    • batchReprovide now holds cycleStatsLk for the full defer, fixing a stats race. (#1255 by @guillaumemichel)
    • ResettableKeystore reset is faster and no longer blocks the worker. (#1256 by @guillaumemichel)

    Other

    Full Changelog: v0.39.2...v0.40.0

    Open source →
  31. v0.39.3-0.20260617095234-35d8d8bb01f517 Jun 2026pre-release

    Nothing published for this version

  32. v0.39.3-0.20260513140308-b73e1e814f5f13 May 2026pre-release

    Nothing published for this version

  33. v0.39.27 May 2026
    Release notes

    Note

    This release was brought to you by the Shipyard team.

    What's Changed

    Full Changelog: v0.39.1...v0.39.2

    Open source →
  34. v0.39.2-0.20260506132526-b00ec536b9186 May 2026pre-release

    Nothing published for this version

  35. v0.39.2-0.20260505220436-eef1feb8bdc65 May 2026pre-release

    Nothing published for this version

  36. v0.39.2-0.20260505215858-52b01552be655 May 2026pre-release

    Nothing published for this version

  37. v0.39.2-0.20260505211239-817031b787f15 May 2026pre-release

    Nothing published for this version

  38. v0.39.2-0.20260505203308-b5615da3b1cc5 May 2026pre-release

    Nothing published for this version

  39. v0.39.120 Apr 2026
    Release notes

    Note

    This release was brought to you by the Shipyard team.

    What's Changed

    Full Changelog: v0.39.0...v0.39.1

    Open source →
  40. v0.39.1-0.20260420100332-248f53b7356520 Apr 2026pre-release

    Nothing published for this version

  41. v0.39.1-0.20260413044849-e8f6083c28e213 Apr 2026pre-release

    Nothing published for this version

  42. v0.39.1-0.20260331093252-f9a090e67f6431 Mar 2026pre-release

    Nothing published for this version

  43. v0.39.1-0.20260326020727-bcbc21e9f63326 Mar 2026pre-release

    Nothing published for this version

  44. v0.39.1-0.20260326004342-88cb6d92d50026 Mar 2026pre-release

    Nothing published for this version

  45. v0.39.019 Mar 2026
    Release notes

    Note

    This release was brought to you by the Shipyard team.

    Breaking changes

    What's Changed

    New Contributors

    Full Changelog: v0.38.0...v0.39.0

    Open source →
  46. v0.38.1-0.20260319100246-8db4c7f4014a19 Mar 2026pre-release

    Nothing published for this version

  47. v0.38.1-0.20260319095041-7ba6b28e4b2919 Mar 2026pre-release

    Nothing published for this version

  48. v0.38.1-0.20260318194436-7b44139b899d18 Mar 2026pre-release

    Nothing published for this version

  49. v0.38.1-0.20260318184843-1bede74b824618 Mar 2026pre-release

    Nothing published for this version

  50. v0.38.1-0.20260318021441-7f11bf3a21de18 Mar 2026pre-release

    Nothing published for this version

  51. v0.38.1-0.20260304084134-15f0b42671b24 Mar 2026pre-release

    Nothing published for this version

  52. v0.38.1-0.20260217124839-5b45a65966fd17 Feb 2026pre-release

    Nothing published for this version

  53. v0.38.1-0.20260217092601-81a726dc0c1c17 Feb 2026pre-release

    Nothing published for this version

  54. v0.38.016 Feb 2026
    Release notes

    What's Changed

    Full Changelog: v0.37.1...v0.38.0

    Open source →
  55. v0.37.2-0.20260212142733-97ce04b37df412 Feb 2026pre-release

    Nothing published for this version

  56. v0.37.2-0.20260211161343-a9412b28388311 Feb 2026pre-release

    Nothing published for this version

  57. v0.37.2-0.20260130154754-e9e1b985199230 Jan 2026pre-release

    Nothing published for this version

  58. v0.37.127 Jan 2026
    Release notes

    What's Changed

    Full Changelog: v0.37.0...v0.37.1

    Open source →
  59. v0.37.014 Jan 2026

    Nothing published for this version

  60. v0.36.1-0.20260113121646-44eddf04e3a913 Jan 2026pre-release

    Nothing published for this version