Releases: celestiaorg/celestia-node
v0.28.5-mocha
The update mainly addresses memory consumption issues for Bridge nodes, along with some minor fixes.
What's Changed
- chore: Update CODEOWNERS by @adlerjohn in #4714
- fix(node): Harden keystore filesystem permissions (0700 dir; validate key modes) by @anim001k in #4476
- chore: Update CODEOWNERS by @vgonkivs in #4715
- chore(cmd): update flags description by @vgonkivs in #4717
- core: return explicit error on AddPartWithoutProof ok=false in partsToBlock by @Forostovec in #4644
- nodebuilder/header: remove unused exchange field by @GarmashAlex in #4632
- fix(p2p): validate CELESTIA_CUSTOM netID and avoid empty network by @Galoretka in #4720
- chore(blob|header|state): add and cleanup tracing and logs by @Wondertan in #4539
- fix!(shwap/rangeNamespaceDataID): fix RangeNamespaceDataID fields type by @vgonkivs in #4696
- fix(test): extendBlock tests by @moldis in #4298
- fix(listener): fix memory leak in core.listener by @walldiss in #4733
- doc: shrex specification by @vgonkivs in #4728
New Contributors
- @anim001k made their first contribution in #4476
- @Galoretka made their first contribution in #4720
Full Changelog: v0.28.4...v0.28.5-mocha
v0.28.5-arabica
The update mainly addresses memory consumption issues for Bridge nodes, along with some minor fixes.
What's Changed
- chore: Update CODEOWNERS by @adlerjohn in #4714
- fix(node): Harden keystore filesystem permissions (0700 dir; validate key modes) by @anim001k in #4476
- chore: Update CODEOWNERS by @vgonkivs in #4715
- chore(cmd): update flags description by @vgonkivs in #4717
- core: return explicit error on AddPartWithoutProof ok=false in partsToBlock by @Forostovec in #4644
- nodebuilder/header: remove unused exchange field by @GarmashAlex in #4632
- fix(p2p): validate CELESTIA_CUSTOM netID and avoid empty network by @Galoretka in #4720
- chore(blob|header|state): add and cleanup tracing and logs by @Wondertan in #4539
- fix!(shwap/rangeNamespaceDataID): fix RangeNamespaceDataID fields type by @vgonkivs in #4696
- fix(test): extendBlock tests by @moldis in #4298
- fix(listener): fix memory leak in core.listener by @walldiss in #4733
New Contributors
- @anim001k made their first contribution in #4476
- @Galoretka made their first contribution in #4720
Full Changelog: v0.28.4...v0.28.5-arabica
v0.28.4
This is a regular patch release that includes some bug fixes. It is recommended to upgrade soon.
What's Changed
- ci: go mod parity check for main and tastora go.mod by @gupadhyaya in #4662
- refactor(share/shwap/p2p/shrex): Remove rate-limiting middleware by @renaynay in #4661
- Bump go version to 1.25 by @renaynay in #4670
- feat(blob|state): Blob submission metrics by @gupadhyaya in #4664
- feat(api/client): Add
TxWorkerAccountsoption to celestia-client by @renaynay in #4669 - test(share/eds): t.Skip retrieval tests as flakey in CI by @renaynay in #4677
- fix(pruner): Attempt to fix flake in pruner units. by @renaynay in #4678
- fix(share/shwap): mismatched row roots error formatting by @sashass1315 in #4568
- docs: update README to have deepwiki badge so it can autoindex by @jcstein in #4586
- fix: remove network suffix from version if multiple tags point to the same… by @metatarz in #4605
- feat(cmd/cel-shed): Introduce
squarecommand by @renaynay in #4594 - chore(share/shwap/p2p/shrex): Add shrex server successful payload served metric by @renaynay in #4658
- fix(ci): Fix unit flakes from
testnodeby stopping calling the stop functions multiple times by @evan-forbes in #4663 - chore: bump tastora to v0.8.0 by @chatton in #4688
- fix(nodebuilder/core): xtoken discrepancies by @gupadhyaya in #4676
- fix: normalize grpc addr by @gupadhyaya in #4689
- fix(e2e-sanity-test): fix tastora DA provisioning by @mojtaba-esk in #4695
- refactor(core): Better metrics for exchange and add metric to fetcher by @renaynay in #4651
- chore: bump app and core for v6.2.5 by @evan-forbes in #4684
- fix(state): Ensure user can submit tx from custom acct and bypass queue by @renaynay in #4698
New Contributors
- @sashass1315 made their first contribution in #4568
- @metatarz made their first contribution in #4605
- @mojtaba-esk made their first contribution in #4695
Full Changelog: v0.28.2...v0.28.4
v0.28.4-mocha
What's Changed
- fix(e2e-sanity-test): fix tastora DA provisioning by @mojtaba-esk in #4695
- refactor(core): Better metrics for exchange and add metric to fetcher by @renaynay in #4651
- chore: bump app and core for v6.2.5 by @evan-forbes in #4684
- fix(state): Ensure user can submit tx from custom acct and bypass queue by @renaynay in #4698
New Contributors
- @mojtaba-esk made their first contribution in #4695
Full Changelog: v0.28.3-mocha...v0.28.4-mocha
v0.28.4-arabica
What's Changed
- fix(e2e-sanity-test): fix tastora DA provisioning by @mojtaba-esk in #4695
- refactor(core): Better metrics for exchange and add metric to fetcher by @renaynay in #4651
- chore: bump app and core for v6.2.5 by @evan-forbes in #4684
- fix(state): Ensure user can submit tx from custom acct and bypass queue by @renaynay in #4698
New Contributors
- @mojtaba-esk made their first contribution in #4695
Full Changelog: v0.28.3-arabica...v0.28.4-arabica
v0.28.3-arabica
This patch release fixes a few bugs as well as adds queued submission feature to celestia-client via #4669
What's Changed
- ci: go mod parity check for main and tastora go.mod by @gupadhyaya in #4662
- refactor(share/shwap/p2p/shrex): Remove rate-limiting middleware by @renaynay in #4661
- Bump go version to 1.25 by @renaynay in #4670
- feat(blob|state): Blob submission metrics by @gupadhyaya in #4664
- feat(api/client): Add
TxWorkerAccountsoption to celestia-client by @renaynay in #4669 - test(share/eds): t.Skip retrieval tests as flakey in CI by @renaynay in #4677
- fix(pruner): Attempt to fix flake in pruner units. by @renaynay in #4678
- fix(share/shwap): mismatched row roots error formatting by @sashass1315 in #4568
- docs: update README to have deepwiki badge so it can autoindex by @jcstein in #4586
- fix: remove network suffix from version if multiple tags point to the same… by @metatarz in #4605
- feat(cmd/cel-shed): Introduce
squarecommand by @renaynay in #4594 - chore(share/shwap/p2p/shrex): Add shrex server successful payload served metric by @renaynay in #4658
- fix(ci): Fix unit flakes from
testnodeby stopping calling the stop functions multiple times by @evan-forbes in #4663 - chore: bump tastora to v0.8.0 by @chatton in #4688
- fix(nodebuilder/core): xtoken discrepancies by @gupadhyaya in #4676
- fix: normalize grpc addr by @gupadhyaya in #4689
New Contributors
- @sashass1315 made their first contribution in #4568
- @metatarz made their first contribution in #4605
Full Changelog: v0.28.2-arabica...v0.28.3-arabica
v0.28.2
This release introduces queued transaction submission via #4620.
Queued Transaction Submission ( Parallel Transaction Submission Lanes )
Node runners enable this feature by setting TxWorkerAccounts in the state config:
[State]
DefaultKeyName = "my_celes_key"
DefaultBackendName = "test"
EstimatorAddress = ""
EnableEstimatorTLS = false
TxWorkerAccounts = 8TxWorkerAccounts defines how many parallel lanes the TxClient will initialize. These lanes are subaccounts funded by the default account to submit PayForBlob transactions in parallel, bypassing account sequence limits and enabling higher throughput (≥ TxWorkerAccounts PayForBlob txs per block).
Example: TxWorkerAccounts = 8 → 7 funded subaccounts + 1 default account, allowing at least 8 PayForBlob txs per block.
⚠️ Important Notes
- Not suitable for implementations requiring sequential ordering.
- Only valid for unordered transaction workflows.
- Parallel submission works only with the default account. Specifying another account in
TxConfigbypasses it.
Synchronous Submission
TxWorkerAccounts of 1 → synchronous/queued transaction submission.
- Each tx queues until the previous is confirmed.
- Preserves ordering and avoids sequence mismatches.
- Throughput: ~1 PayForBlob tx per block.
⚠️ Important Notes
- If an account other than the default account is specified in
TxConfig, the queue is bypassed and txs enter the mempool directly without waiting on confirmations.
Default Behavior (immediate transaction submission)
TxWorkerAccounts defaults to 0 → queued submission disabled. All PayForBlob txs are submitted immediately. This is exactly the same behaviour as before with txs entering the mempool directly without waiting on confirmations.
Celestia-Client
The queued submission feature is not available in this release and will be added in the subsequent one.
What's Changed
- chore: fix Go init order + tidy up flags by @hexcow in #4522
- config(nodebuilder/header): bumps go-header, removes trustingPeriod by @renaynay in #4524
- fix(discovery): remove panic in switch statement by @vgonkivs in #4526
- fix(api/client-lib): fix close order for Celestia client lib by @walldiss in #4520
- fix(share/shwap): parallelise namespace data collection by @vgonkivs in #4536
- chore(deps): bump github.com/ulikunitz/xz from 0.5.12 to 0.5.14 by @dependabot[bot] in #4512
- chore(deps): bump actions/setup-go from 5 to 6 by @dependabot[bot] in #4533
- chore(deps): bump actions/setup-node from 4 to 5 by @dependabot[bot] in #4531
- chore(deps): bump codecov/codecov-action from 4.5.0 to 5.5.1 by @dependabot[bot] in #4532
- dep: bump go-square by @vgonkivs in #4540
- chore: bump go-header by @Wondertan in #4544
- fix(pruner): check nil context by @Wondertan in #4546
- deps(go.mod): Bump app by @renaynay in #4547
- chore(deps): bump celestiaorg/.github from 0.4.5 to 0.6.4 by @dependabot[bot] in #4514
- Revert "dep: bump go-square (#4540)" by @renaynay in #4560
- fix(cel-shed): start the store by @Wondertan in #4566
- deps(go.mod): Bump celestia-app to newest v5 release by @renaynay in #4584
- chore: bump go-header by @Wondertan in #4589
- chore: bump go-header for tastora by @Wondertan in #4591
- fix(share/shwap/p2p/shrex): defer stream close in doRequest by @renaynay in #4596
- shwap(shrex/server): fix log level in shrex server by @vgonkivs in #4607
- fix(core): validate TLS when XTokenPath is set; clarify XTokenPath semantics by @Forostovec in #4475
- test: e2e sanity test with blob, das, header sync and p2p by @gupadhyaya in #4508
- merge changes from release/v0.27.0 by @vgonkivs in #4616
- chore: bump tastora version by @chatton in #4550
- fix(state): pass long lived core accessor ctx into txclient setup as ctx is now used to control lifecycle of tx workers by @renaynay in #4635
- refactor(blob): refactor blob's commitment proof verification method by @vgonkivs in #4637
- chore: bump app v6.2.0 arabica (#4652) by @renaynay in #4654
- feat(state): Introduce queued submission by @renaynay in #4655
- misc(nodebuilder/pruner): add more context to log by @renaynay in #4656
- chore: bump to mocha release by @evan-forbes in #4660
New Contributors
- @hexcow made their first contribution in #4522
- @Forostovec made their first contribution in #4475
Full Changelog: v0.26.4...v0.28.2
v0.28.2-mocha
This release introduces queued transaction submission via #4620.
Queued Transaction Submission ( Parallel Transaction Submission Lanes )
Node runners enable this feature by setting TxWorkerAccounts in the state config:
[State]
DefaultKeyName = "my_celes_key"
DefaultBackendName = "test"
EstimatorAddress = ""
EnableEstimatorTLS = false
TxWorkerAccounts = 8TxWorkerAccounts defines how many parallel lanes the TxClient will initialize. These lanes are subaccounts funded by the default account to submit PayForBlob transactions in parallel, bypassing account sequence limits and enabling higher throughput (≥ TxWorkerAccounts PayForBlob txs per block).
Example: TxWorkerAccounts = 8 → 7 funded subaccounts + 1 default account, allowing at least 8 PayForBlob txs per block.
⚠️ Important Notes
- Not suitable for implementations requiring sequential ordering.
- Only valid for unordered transaction workflows.
- Parallel submission works only with the default account. Specifying another account in
TxConfigbypasses it.
Synchronous Submission
TxWorkerAccounts of 1 → synchronous/queued transaction submission.
- Each tx queues until the previous is confirmed.
- Preserves ordering and avoids sequence mismatches.
- Throughput: ~1 PayForBlob tx per block.
⚠️ Important Notes
- If an account other than the default account is specified in
TxConfig, the queue is bypassed and txs enter the mempool directly without waiting on confirmations.
Default Behavior (immediate transaction submission)
TxWorkerAccounts defaults to 0 → queued submission disabled. All PayForBlob txs are submitted immediately. This is exactly the same behaviour as before with txs entering the mempool directly without waiting on confirmations.
What's Changed
- chore: fix Go init order + tidy up flags by @hexcow in #4522
- config(nodebuilder/header): bumps go-header, removes trustingPeriod by @renaynay in #4524
- fix(discovery): remove panic in switch statement by @vgonkivs in #4526
- fix(api/client-lib): fix close order for Celestia client lib by @walldiss in #4520
- fix(share/shwap): parallelise namespace data collection by @vgonkivs in #4536
- chore(deps): bump github.com/ulikunitz/xz from 0.5.12 to 0.5.14 by @dependabot[bot] in #4512
- chore(deps): bump actions/setup-go from 5 to 6 by @dependabot[bot] in #4533
- chore(deps): bump actions/setup-node from 4 to 5 by @dependabot[bot] in #4531
- chore(deps): bump codecov/codecov-action from 4.5.0 to 5.5.1 by @dependabot[bot] in #4532
- dep: bump go-square by @vgonkivs in #4540
- chore: bump go-header by @Wondertan in #4544
- fix(pruner): check nil context by @Wondertan in #4546
- deps(go.mod): Bump app by @renaynay in #4547
- chore(deps): bump celestiaorg/.github from 0.4.5 to 0.6.4 by @dependabot[bot] in #4514
- Revert "dep: bump go-square (#4540)" by @renaynay in #4560
- fix(cel-shed): start the store by @Wondertan in #4566
- deps(go.mod): Bump celestia-app to newest v5 release by @renaynay in #4584
- chore: bump go-header by @Wondertan in #4589
- chore: bump go-header for tastora by @Wondertan in #4591
- fix(share/shwap/p2p/shrex): defer stream close in doRequest by @renaynay in #4596
- shwap(shrex/server): fix log level in shrex server by @vgonkivs in #4607
- fix(core): validate TLS when XTokenPath is set; clarify XTokenPath semantics by @Forostovec in #4475
- test: e2e sanity test with blob, das, header sync and p2p by @gupadhyaya in #4508
- merge changes from release/v0.27.0 by @vgonkivs in #4616
- chore: bump tastora version by @chatton in #4550
- fix(state): pass long lived core accessor ctx into txclient setup as ctx is now used to control lifecycle of tx workers by @renaynay in #4635
- refactor(blob): refactor blob's commitment proof verification method by @vgonkivs in #4637
- chore: bump app v6.2.0 arabica (#4652) by @renaynay in #4654
- feat(state): Introduce queued submission by @renaynay in #4655
- misc(nodebuilder/pruner): add more context to log by @renaynay in #4656
- chore: bump to mocha release by @evan-forbes in #4660
New Contributors
- @hexcow made their first contribution in #4522
- @Forostovec made their first contribution in #4475
Full Changelog: v0.27.5-mocha...v0.28.2-mocha
v0.28.2-arabica
What's Changed
- PORT: refactor(blob): refactor blob's commitment proof verification method by @renaynay in #4648
- chore: bump app v6.2.0 arabica by @evan-forbes in #4652
Full Changelog: v0.28.1-arabica...v0.28.2-arabica
v0.28.1-arabica
This release introduces queued transaction submission via #4620.
Queued Transaction Submission ( Parallel Transaction Submission Lanes )
Node runners enable this feature by setting TxWorkerAccounts in the state config:
[State]
DefaultKeyName = "my_celes_key"
DefaultBackendName = "test"
EstimatorAddress = ""
EnableEstimatorTLS = false
TxWorkerAccounts = 8TxWorkerAccounts defines how many parallel lanes the TxClient will initialize. These lanes are subaccounts funded by the default account to submit PayForBlob transactions in parallel, bypassing account sequence limits and enabling higher throughput (≥ TxWorkerAccounts PayForBlob txs per block).
Example: TxWorkerAccounts = 8 → 7 funded subaccounts + 1 default account, allowing at least 8 PayForBlob txs per block.
⚠️ Important Notes
- Not suitable for implementations requiring sequential ordering.
- Only valid for unordered transaction workflows.
- Parallel submission works only with the default account. Specifying another account in
TxConfigbypasses it.
Synchronous Submission
TxWorkerAccounts of 1 → synchronous/queued transaction submission.
- Each tx queues until the previous is confirmed.
- Preserves ordering and avoids sequence mismatches.
- Throughput: ~1 PayForBlob tx per block.
⚠️ Important Notes
- If an account other than the default account is specified in
TxConfig, the queue is bypassed and txs enter the mempool directly without waiting on confirmations.
Default Behavior (immediate transaction submission)
TxWorkerAccounts defaults to 0 → queued submission disabled. All PayForBlob txs are submitted immediately. This is exactly the same behaviour as before with txs entering the mempool directly without waiting on confirmations.
What's Changed
- fix(state): pass long lived core accessor ctx into txclient setup as ctx is now used to control lifecycle of tx workers by @renaynay in #4634
Full Changelog: v0.28.0-arabica...v0.28.1-arabica