Releases: celestiaorg/go-header
Releases · celestiaorg/go-header
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 uint64
Store
store.Store.DeleteTo
method (#275)store.Store.OnDelete
method, 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.Init
andstore.Init
were removed. Initialization is now performed lazily using the first header given tostore.Append
(#274)
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)!:
SyncFromHash
as 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
v0.6.6
What's Changed
- fix: use proper log functions by @cristaloleg in #278
- chore(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 by @dependabot in #280
- chore: do lint by @cristaloleg in #286
- fix(p2p): do proper msg.ValidatorData handling by @cristaloleg in #281
Full Changelog: v0.6.5...v0.6.6
v0.6.5
What's Changed
- add @walldiss @ramin @cristaloleg to CODEOWNERS by @walldiss in #192
- feat: require non-zero headers for Verify by @cristaloleg in #184
- refactor(store,sync)!: drop
NewStoreWithHead
by @cristaloleg in #191 - refactor(sync): drop storeHeaders helper by @cristaloleg in #193
- refactor(p2p): simplify sendMessage by @cristaloleg in #195
- feat(sync, store)!: Remove adjacency requirement from Store.Append by @cristaloleg in #186
- chore: use gofumpt by @cristaloleg in #196
- fix(p2p)!: use request timeout by @cristaloleg in #194
- perf: faster hash marshaling methods by @cristaloleg in #183
- refactor(sync): simplify isExpired by @cristaloleg in #206
- doc:improve header.Verify godoc by @vgonkivs in #208
- feat(store): flush loop retries and backoff by @cristaloleg in #211
- feat(verify): remove height check in Verify by @cristaloleg in #216
- fix(store): properly update store head by @cristaloleg in #207
- !chore: drop DefaultHeightThreshold by @cristaloleg in #221
- chore: remove ramin from CODEOWNERS by @cristaloleg in #228
- "readability"fix(store): Clearer range check by @renaynay in #227
- fix(p2p): catch rare nil Header by @Wondertan in #234
- Revert "fix(store): properly update store head (#207)" by @cristaloleg in #237
- test(store): add multi-subscription heightSub testcase by @Wondertan in #242
- fix(syncer): don't Head recursively by @Wondertan in #248
- fix(verify.go): Re-order the checks in order of sanity-check severity by @renaynay in #253
- chore: bump deps by @Wondertan in #255
- chore: fixed the links that did not work by @Olexandr88 in #249
- perf(p2p): avoid deserialization for locally published headers by @Wondertan in #251
- params(store): Change default cache size for StoreCache + WriteBatch by @renaynay in #252
- chore: major linting by @Wondertan in #256
- feat(sync): bifurcation for syncTarget by @cristaloleg in #219
- feat(sync): non-recursive singleflight protection for Head by @IliaBulavintsev in #229
- fix(sync): discard headers failed bifurcation by @Wondertan in #269
- fix: add header range mix up check by @varun-doshi in #273
- refactor: extract VerifyRange and remove verification out of store by @Wondertan in #268
- fix(p2p): add correct header length validation by @varun-doshi in #272
New Contributors
- @Olexandr88 made their first contribution in #249
- @IliaBulavintsev made their first contribution in #229
- @varun-doshi made their first contribution in #273
Full Changelog: v0.6.2...v0.6.5
v0.6.4
What's changed
- fix(p2p): catch rare nil Header by @Wondertan in #234
Full Changelog: v0.6.3...v0.6.4
v0.6.3
What's changed
- feat(verify): remove height check in Verify by @cristaloleg in #216
Full Changelog: v0.6.2...v0.6.3
v0.6.2
What's Changed
- chore(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by @dependabot in #164
- chore(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 by @dependabot in #173
- deps: bump hashicorp/golang-lru to v2 and move from ARC to 2Q cache by @cristaloleg in #175
- fix: use errors.New for const errors by @cristaloleg in #181
- fix(store): make heightIndexer.IndexTo as a func by @cristaloleg in #182
- fix(store): stop doing header verification in GetRangeByHeight by @cristaloleg in #180
- chore: bump libp2p by @Wondertan in #185
New Contributors
- @dependabot made their first contribution in #164
- @cristaloleg made their first contribution in #175
Full Changelog: v0.6.1...v0.6.2
v0.6.1
What's Changed
- fix(p2p): preemptive panic recovery by @Wondertan in #174
Full Changelog: v0.6.0...v0.6.1
v0.6.0
This release upgrades the required version of go to 1.22
What's Changed
- fix(p2p/peerTracker): fix bootstraping by @vgonkivs in #169
- fix(p2p/peerTracker): remove timeout during bootstrapping by @vgonkivs in #171
- fix(store): greedy heightSub cancellation by @Wondertan in #168
- deps!: bump libp2p by @renaynay in #172
Full Changelog: v0.5.5...v0.6.0
v0.5.5
What's Changed
- log: Change stream-reset related errors' level from ERROR to WARN. by @AryanGodara in #161
- fix(store): add error details to log output during header batch write by @tzdybal in #158
- refactor(p2p): subscriber.Stop logs but ignores error from unregister topic validator by @renaynay in #127
- chore(sync)!: Rename
unrecentHead
tooutdatedHead
in metrics + clean upHead
func a bit by @renaynay in #163 - fix(headertest): sanity check range by @renaynay in #166
- fix(p2p): make bootstrapping non-blocking by @Wondertan in #167
New Contributors
- @AryanGodara made their first contribution in #161
Full Changelog: v0.5.4...v0.5.5