Skip to content

chore: release 0.1.3 - #536

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--lodestar-z
Open

chore: release 0.1.3#536
github-actions[bot] wants to merge 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

🤖 I have created a release beep boop

0.1.3 (2026-08-13)

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

  • 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

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

Projects

Status: No status

2 participants