Skip to content

chore: release 1.0.0 - #536

Merged
wemeetagain merged 1 commit into
mainfrom
release-please--branches--main--components--lodestar-z
Aug 19, 2026
Merged

chore: release 1.0.0#536
wemeetagain merged 1 commit into
mainfrom
release-please--branches--main--components--lodestar-z

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

1.0.0 (2026-08-19)

Features

  • add state.getBuildersLength() binding (#472) (be2b5ab)
  • beacon-node: add block state cache and checkpoint datastore (#452) (2145faa)
  • bindings to getExpectedWithdrawals and native tweaks (#350) (f47bc66)
  • bindings: add pubkey cache syncPubkeys (#537) (542779f)
  • bindings: aggregate cached public keys by validator index (#397) (2f90603)
  • bindings: align BeaconStateView with IBeaconStateView (#347) (b8ec273)
  • bindings: configurable pubkey cache growth step (#481) (133ef24)
  • bindings: expose more APIs for STF (#444) (7fe2609)
  • bls: add small MSM for npoints < 32 (#393) (b430638)
  • blst: use external buffers for blst operations (#358) (78e4678)
  • ci: conditionally publish bindings with tag (#355) (ea77919)
  • clock: add clock module for slot/epoch timing (#354) (385b077)
  • fork_choice: add Prometheus metrics module (#309) (cbc9d8d)
  • forkchoice: implement the forkchoice module (#246) (7c62a9b)
  • getSyncCommitteesWitness (#367) (ef77649)
  • implement loadState API and binding (#165) (f903519), closes #159
  • metrics: metrics bindings (#455) (dd41999)
  • migrate blst,pubkeys to use zapi js dsl (#331) (fcd26ca)
  • pubkeys: add getPubkeyBytes binding (#555) (4ca51cf)
  • publish ARM64 musl bindings (#482) (ac764c9)
  • shuffle: add swap-or-not shuffling module and binding (#559) (c2db37c)
  • split nextValue fn (#464) (b47faeb)
  • support getLatestWeakSubjectivityCheckpointEpoch (#366) (dcf3883)
  • update fulu deposit processing (#442) (064335c)

Bug Fixes

  • avoid set (#484) (2e25d97)
  • better generation of rand scalar (#388) (74dce77)
  • bindings: accept dontTransferCache in processSlots for backward compatibility (#460) (65df5af)
  • bindings: check signature infinity by default (#509) (2f5f281)
  • bindings: clean up failed async BLS work (#527) (1111b00)
  • bindings: free metrics writer on scrape failure (#529) (4c8d94a)
  • bindings: harden random aggregate scalars (#528) (8e89a63)
  • bindings: log level for missing fields (#435) (08faf41)
  • bindings: misordering of print for cpu count (#381) (752a972)
  • bindings: populate epoch participation for test fixtures (#436) (8dbdd2e)
  • bindings: refcount Pool to fix teardown panic (#352) (23b2f68)
  • bindings: roll back partial N-API initialization (#491) (31c5ebb)
  • bindings: size BLS thread pool by cgroup-aware CPU count (#386) (3ae9522)
  • bindings: validate class types before unwrap (#514) (2fd2ad5)
  • bindings: validate secret key hex length (#517) (136e415)
  • bls: align PublicKey.uncompress validation with Signature.uncompress (#508) (5a8dbe9)
  • bls: bound randomized aggregation inputs (#548) (779d0bf), closes #542
  • bls: clean up partial thread pool initialization (#490) (d55e598)
  • bls: convert pippenger scratch bytes to element counts (#513) (a12ca92)
  • bls: enforce 32-byte signing roots (#545) (72fd308)
  • bls: make batch cardinality structural (#547) (a06d8b2)
  • bls: preserve aggregate outputs on failure (#521) (e0b6dd1)
  • bls: reject empty keygen salts (#524) (d2a9c86)
  • bls: reject unknown BLST error codes (#525) (9e4a6ad)
  • bls: size pairing buffers for 32-bit targets (#531) (dc64a27)
  • blst: default signature infinity check to true if not provided (#387) (021cdcb)
  • build: remove zig-out from files (#360) (c52af09)
  • ci: fix caching spec test version (#439) (96885a1)
  • dangling state pointer in loadOtherState (#450) (81cbd5f)
  • epoch_cache: compute missing next_proposers (#447) (0088a29)
  • epoch_cache: populate decision roots in afterProcessEpoch (#453) (4b70a5e)
  • export asyncAggregateWithRandomness through napi binding (#371) (1d04c2b)
  • harden memory safety across PMT, SSZ tree views, and state transition (#377) (d6f5897)
  • improve atomic ordering in ThreadPool and NAPI init (#310) (4b0a1cc)
  • interface compatbility with NativeBeaconStateView (#445) (89e13d1)
  • missing deinits in loadOtherState (#459) (094d278)
  • missing state commits (#454) (a432b55)
  • no-op when syncPubkeys run on a pk cache with shrinking validator set (#432) (ed05a99)
  • param order in BeaconBlockBody (#348) (d8b9c06)
  • pendingConsolidations bindings (#449) (b9c497e)
  • pmt,ssz: harden chunked-leaf and zero-copy tree-view memory safety (#400) (de50c53)
  • populate cache balances during rewards/penalties processing (#474) (5bf23dc)
  • re-expose sizes (#369) (64b81f3)
  • remove slashValidator gating on active status (#448) (d319a0d)
  • ssz: drop redundant default-init pass in fixed-list decode (#468) (0c757be)
  • ssz: publish child cache entries after lookup (#565) (21e78c9)
  • state transition binding exports (#456) (895982c)
  • state-transition: group-check signature sets (#515) (42774e9), closes #502
  • state-transition: isolate epoch step cache mutations (#535) (a83741a)
  • state-transition: repair Pool.init call broken by #346×#367 merge skew (#394) (b42944f)
  • various fixes around config (#433) (c4f082c)

Performance Improvements

  • bindings: drop TS BLS comparison benches and report benchmarks on PRs (#552) (c909c6f)
  • bls: add cache-aware signature verifier (#562) (063857e)
  • bls: bypass worker queue for small batches (#553) (3f8a6df)
  • epoch: replace AutoHashMap with array lookup in reward/penalty caches (#286) (e4e181b), closes #243
  • pmt: chunked-leaf packing for basic lists and container_struct (#346) (ba156c4)

Code Refactoring

  • allocate AsyncAggRandData in one obj (#384) (459750f)
  • bindings/pubkeys: simplify allocation strategy for aggregate (#518) (b82750f)
  • bindings: rename blst Lifecycle to State (#516) (0a9c179)
  • bindings: use zapi js.io() instead of local io module (#469) (2b34cc0)
  • bindings: wake only required number of workers (#383) (1db57f1)
  • bls: allocations around VMAS (#395) (dfda58c)
  • bls: clean up bls (#398) (e0f3b9b)
  • bls: remove need for tracking results for verifyMultipleAggregateSignatures (#389) (6fe5c3f)
  • bls: remove single-threaded fallback (#390) (e057713)
  • clock: single public Clock; internalize SlotClock (#463) (fbab1fa)
  • make XXXDecisionRoot fns return js.String (#342) (aef4420)
  • move shuffle into swap_or_not_shuffle module (#558) (e56efb2)
  • pubkeys: centralize the process-wide cache (#522) (dc9669d)

Miscellaneous Chores

Documentation


This PR was generated with Release Please. See documentation.

@github-actions
github-actions Bot requested a review from a team as a code owner July 30, 2026 14:46
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--lodestar-z branch 5 times, most recently from 9a86fd3 to a241752 Compare August 8, 2026 16:45
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--lodestar-z branch 7 times, most recently from 9cb6cfe to 0292136 Compare August 13, 2026 04:41
@spiral-ladder

spiral-ladder commented Aug 13, 2026

Copy link
Copy Markdown
Member

i think all of the necessary BLS + naive pk cache stuff is in. i'm thinking we can release 1.0-rc.0 following our discussions on discord to go to 1.0 once we start using lodestar-z in mainnet, and start consuming the rc package in the feat groups cc @wemeetagain @twoeths @matthewkeil

we can leave our pk cache changes to verify by indices (non-breaking compatible change) to v1.1

@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--lodestar-z branch from 0292136 to eeb7886 Compare August 13, 2026 11:24
@wemeetagain

Copy link
Copy Markdown
Member

i'm thinking we can release 1.0-rc.0 following our discussions on discord to go to 1.0 once we start using lodestar-z in mainnet, and start consuming the rc package in the feat groups

Can you explain the process you're thinking of in more detail?

By default, ie without any additional process, i'm not a fan of using release-please-managed rc releases here. I don't think they do anything for us by themselves. The only thing a published release is good for is for publishing built artifacts for end users. If we want to test some code on our fleet, we just test it, without a release. Once its tested, and merged into main, we can cut a release.

If we want additional surety about which commits are landed in a release, eg that commits merged between the testing phase don't intersect with tested codepaths, we will need an additional release process (like lodestar), not just an rc tagged version. Something that is not just a single canonical branch, but includes several branches with staged commits OR a single canonical branch with merge freeze window. I'm not necessarily opposed to this, but this would require more thoughtfulness to implement well.

As an aside, one thing we could do is have CI publish dev releases on every push to main, similarly to how we do with lodestar-ts.

@spiral-ladder

Copy link
Copy Markdown
Member

@wemeetagain so my thinking was just that the rc version would be redeployed again on a feat group as sort of a soft code freeze to test on the published lib rather than a branch, but as mentioned in discord there probably isnt any real need for it, happy to stick to whatever process works now. We can go ahead with just releasing 1.0 straight away and avoid all the unnecessary middle steps

@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--lodestar-z branch 5 times, most recently from 375bfaa to fe191fd Compare August 19, 2026 14:22
@spiral-ladder

Copy link
Copy Markdown
Member

would like to get #575 in, if people think the deprecation is a good idea bc this would be a breaking change post-release

@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--lodestar-z branch 2 times, most recently from 0cbe177 to de6d742 Compare August 19, 2026 17:01
@github-actions github-actions Bot changed the title chore: release 0.1.3 chore: release 1.0.0 Aug 19, 2026
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--lodestar-z branch from de6d742 to e0689c7 Compare August 19, 2026 19:15
@github-actions

Copy link
Copy Markdown
Contributor Author

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: aba7856 Previous: null Ratio
aggregatePublicKeys 1 keys 2.0940 us/op
aggregatePublicKeys 8 keys 11.175 us/op
aggregatePublicKeys 32 keys 30.398 us/op
aggregatePublicKeys 128 keys 118.61 us/op
aggregatePublicKeys 256 keys 254.91 us/op
aggregateSignatures 1 sigs 2.5030 us/op
aggregateSignatures 8 sigs 18.435 us/op
aggregateSignatures 32 sigs 61.035 us/op
aggregateSignatures 128 sigs 236.94 us/op
aggregateSignatures 256 sigs 496.93 us/op
aggregateVerify 3 sets 1.7132 ms/op
aggregateVerify 8 sets 2.6182 ms/op
aggregateVerify 32 sets 7.2953 ms/op
aggregateVerify 64 sets 13.836 ms/op
aggregateVerify 128 sets 26.092 ms/op
verifyMultipleAggregateSignatures 3 sets 2.0326 ms/op
verifyMultipleAggregateSignatures 8 sets 3.0998 ms/op
verifyMultipleAggregateSignatures 32 sets 9.4518 ms/op
verifyMultipleAggregateSignatures 64 sets 18.152 ms/op
verifyMultipleAggregateSignatures 128 sets 34.252 ms/op
native (internal serialize seed) 267.97 ms/op
TS (internal serialize seed) 1.2595 s/op
native (prebuilt seedValidatorsBytes) 73.910 ms/op
TS (prebuilt seedValidatorsBytes) 343.47 ms/op
JS - unshuffleList - 16384 indices 1.0749 ms/op
zig - unshuffleList - 16384 indices 5.6986 ms/op
JS - unshuffleList - 250000 indices 15.680 ms/op
zig - unshuffleList - 250000 indices 14.946 ms/op
JS - unshuffleList - 1000000 indices 67.185 ms/op
zig - unshuffleList - 1000000 indices 38.407 ms/op
JS - computeSyncCommitteeIndicesElectra - 16384 indices 716.90 ms/op
zig - computeSyncCommitteeIndices - 16384 indices 2.5827 ms/op
zig - computeProposerIndex - 16384 indices 23.878 us/op
JS - computeSyncCommitteeIndicesElectra - 250000 indices 677.52 ms/op
zig - computeSyncCommitteeIndices - 250000 indices 8.4692 ms/op
zig - computeProposerIndex - 250000 indices 23.836 us/op
JS - computeSyncCommitteeIndicesElectra - 1000000 indices 694.93 ms/op
zig - computeSyncCommitteeIndices - 1000000 indices 11.946 ms/op
zig - computeProposerIndex - 1000000 indices 31.400 us/op

by benchmarkbot/action

@wemeetagain
wemeetagain merged commit a19d746 into main Aug 19, 2026
32 checks passed
@wemeetagain
wemeetagain deleted the release-please--branches--main--components--lodestar-z branch August 19, 2026 19:53
@github-actions

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

2 participants