Releases: celestiaorg/go-header
v0.8.5-rc
Note: This is a release candidate not intended for standalone use. This module is consumed via replace directives for its major dependencies (go-libp2p, go-libp2p-pubsub), so this release primarily exists to pin versions for downstream consumers.
What's Changed
- chore: update CODEOWNERS to match celestia-node and celestia-core by @walldiss in #377
- fix(sync): document blockTime as upper bound for tail estimation by @walldiss in #379
- fix(p2p): parallelize performRequest to avoid sequential per-peer timeouts by @walldiss in #381
Full Changelog: v0.8.4-rc...v0.8.5-rc
v0.8.4-rc
Note: This is a release candidate not intended for standalone use. This module is consumed via replace directives for its major dependencies (go-libp2p, go-libp2p-pubsub), so this release primarily exists to pin versions for downstream consumers.
What's Changed
- chore: update go-libp2p fork with webtransport-go v0.10.0 compat by @walldiss in #375
- fix(p2p): add per-peer timeout to performRequest by @walldiss in #376
- fix(p2p): return Head() early when enough peers confirm the same header by @walldiss in #372
Full Changelog: v0.8.3-rc...v0.8.4-rc
What's Changed
- chore: update go-libp2p fork with webtransport-go v0.10.0 compat by @walldiss in #375
- fix(p2p): add per-peer timeout to performRequest by @walldiss in #376
- fix(p2p): return Head() early when enough peers confirm the same header by @walldiss in #372
Full Changelog: v0.8.3-rc...v0.8.4-rc
v0.8.3-rc
Note: This is a release candidate not intended for standalone use. This module is consumed via replace directives for its major dependencies (go-libp2p, go-libp2p-pubsub), so this release primarily exists to pin versions for downstream consumers.
What's Changed
- ci: add assign random reviewer workflow by @tty47 in #368
- fix: use go-libp2p fork with mocknet deadline noop by @walldiss in #370
- feat: use go-libp2p-pubsub fork with FanoutOnly support by @walldiss in #369
- chore(deps): bump github.com/pion/dtls/v3 from 3.0.6 to 3.0.11 by @dependabot[bot] in #366
- chore(deps): bump github.com/quic-go/webtransport-go from 0.9.0 to 0.10.0 by @dependabot[bot] in #365
New Contributors
Full Changelog: v0.8.1...v0.8.3-rc
v0.8.1
What's Changed
- fix(sync): write to tail metric in newTail by @tschuyebuhl in #363
New Contributors
- @tschuyebuhl made their first contribution in #363
Full Changelog: v0.8.0...v0.8.1
v0.8.0
What's Changed
- chore(sync): Improve metrics, remove unnecessary by @renaynay in #354
- chore: bump deps | remove replace by @Wondertan in #360
- feat: Add
DeleteRangemethod to Store by @julienrbrt in #347
New Contributors
- @julienrbrt made their first contribution in #347
Full Changelog: v0.7.4...v0.8.0
v0.7.4
v0.7.3
What's Changed
- fix(p2p): ensure validation for local submission by @Wondertan in #350
Full Changelog: v0.7.2...v0.7.3
v0.7.2
What's Changed
- chore(store): capture stacktrace on recover by @Wondertan in #349
Full Changelog: v0.7.1...v0.7.2
v0.7.1
What's Changed
- fix: sync: relax syncer option validation by @KushnerykPavel in #336
- refactor(sync): privatise trustingPeriod in syncer params by @renaynay in #342
New Contributors
- @KushnerykPavel made their first contribution in #336
Full Changelog: v0.7.0...v0.7.1
v0.7.0
v0.7.0 release brings high-performance dynamic Tail maintenance for Syncer, also known as header pruning.
Notable Changes
Syncer
These new fields were introduced to Syncer's config:
// PruningWindow defines the duration within which headers are retained before being pruned.
// Default is 337 hours.
PruningWindow time.Duration
// SyncFromHash is the hash of the header from which Syncer should start syncing.
// Zero value to disable. Value updates up and down the chain are gracefully handled by Syncer.
//
// By default, Syncer maintains PruningWindow number of headers. SyncFromHash overrides this default,
// allowing any user to specify a custom starting point.
//
// SyncFromHash has higher priority than SyncFromHeight.
SyncFromHash string
// SyncFromHeight is the height of the header from which Syncer should start syncing.
// Zero value to disable. Value updates up and down the chain are gracefully handled by Syncer.
//
// By default, Syncer maintains PruningWindow number of headers. SyncFromHeight overrides this default,
// allowing any user to specify a custom starting point.
//
// SyncFromHeight has lower priority than SyncFromHash.
SyncFromHeight uint64Store
store.Store.DeleteTomethod (#275)store.Store.OnDeletemethod, which allows users to register individual header deletion handlers. This will enable users to execute farewell logic when headers are removed, e.g., cleanup data committed in the header but stored separately. (#320)- Unsafe store recovery tools (#325)
Breaks
store.Store.Initandstore.Initwere removed. Initialization is now performed lazily using the first header given tostore.Append(#274)- Temporary replaces go-datastore until ipfs/go-datastore#238 is merged upstream
- Add the following to fix your go.mod
replace github.com/ipfs/go-datastore => github.com/celestiaorg/go-datastore v0.0.0-20250801131506-48a63ae531e4
- Add the following to fix your go.mod
What's Changed
- chore(CODEOWNERS): remove @cristaloleg by @cristaloleg in #288
- chore(sync): improve bifurcation logs by @Wondertan in #291
- Pruning Meta PR by @Wondertan in #292
- fix(store): support intermittent writes for batch by @Wondertan in #296
- fix(store): Tail aware HasAt by @Wondertan in #298
- fix(sync): move tail only if head changes by @Wondertan in #293
- chore: bump deps by @Wondertan in #299
- chore: bump libp2p by @Wondertan in #300
- fix(syncer): check tail hash via len by @Wondertan in #309
- fix(headertest): correctly initialize Tail by @Wondertan in #308
- feat(store)!: OnDelete method by @Wondertan in #304
- chore(store|sync): error wrappings by @Wondertan in #310
- fix(test): fix minor race in tests by @Wondertan in #314
- fix(sync): stall headersub until Syncer has started by @Wondertan in #317
- fix(syncer): fix time comparison and improve estimation accuraccy by @Wondertan in #319
- fix(sync): prevent concurrent tail movements by @Wondertan in #313
- refactor(sync)!:
SyncFromHashas string by @Wondertan in #311 - chore(syncer): improved logging by @Wondertan in #315
- perf(store): almost readless parallel deletes by @Wondertan in #320
- fix(store): stop long receding/advancing on Stop by @Wondertan in #326
- misc(store): various fixes and chores by @Wondertan in #330
- perf(store): pass batch through context by @Wondertan in #328
- feat(store): allow partial init by @Wondertan in #327
- fix(sync): subj init death loop by @Wondertan in #324
- fix(sync): allow estimation errors by @Wondertan in #329
- perf(store): batch reads by @Wondertan in #331
- feat(store): store recovery tools by @Wondertan in #325
Full Changelog: v0.6.5...v0.7.0