Releases: celestiaorg/celestia-node
v0.10.0
This release includes several fixes to stabilise ShrEx, as well as protocol-breaking change to fix ShrEx-ND.
This is a breaking release, meaning all node runners in the network must upgrade to support the breaking protocol changes.
What's Changed
BREAKING
- fix(share/p2p)!: share.ErrNamespaceNotFound and integration into shrex-nd by @distractedm1nd in #2230
FEATURES
- feat(nodebuilder/header): Add
WaitForHeight
endpoint by @renaynay in #2201 - feat(share/discovery): Discard method by @Wondertan in #2207
- feat(share/discovery): add backoff metrics by @walldiss in #2212
- feat(share/p2p/peer-manager): use shrexSub peers as full nodes by @walldiss in #2105
IMPROVEMENTS
BUG FIXES
- fix(nodebuilder/tests): swamp uses
WaitForHeight
instead ofGetByHeight
by @renaynay in #2214 - fix(header): check that Commit corresponds to Header by @Wondertan in #2215
- fix(header): fix testing utilities and tests by @Wondertan in #2219
- fix(utils): splitCtx return original timeout when it is less than min timeout by @walldiss in #2228
MISC
- chore(das): improve logging by @Wondertan in #2209
- Makefile: fix docstring for cel-key target. by @adlerjohn in #2221
- improvement(test/swamp): set core IP and Port to nodes by @vgonkivs in #2226
Full Changelog: v0.9.5...v0.10.0
v0.9.5
Yet another patch release is targeting the stability of Shrex protocols. Notably, it fixes metrics submission and other issues caused by the deadlock #2190
Fixes
- fix(share/p2p/shrexeds): hotfix shrex contexts for bsr by @distractedm1nd in #2192
- fix(share/discovery): deadlock in limitedSet by @Wondertan in #2190
- Fix Makefile docstrings and phony targets. by @adlerjohn in #2194
Auxiliary
- Remove docstring for removed function IsBefore. by @adlerjohn in #2195
- refactor(header/service): ensure that the requested height is less or equal than the network head by @vgonkivs in #2173
- refactor(shrex/server): add warn logs to shrex server by @walldiss in #2197
Full Changelog: v0.9.4...v0.9.5
v0.9.4
This patch release brings various fixes to the ShrEx EDS protocol.
BUG FIXES
- fix(share/p2p/shrexeds): return correct err on context error by @derrandz in #2177
- fix(discovery): race in discovery tests by @walldiss in #2179
- fix(daser): do not spawn retry job twice by @walldiss in #2178
- fix(discovery): findCtx is canceled too early by defer by @walldiss in #2180
- fix(daser): persist retry count after restart by @walldiss in #2185
FEATURES
REFACTORINGS
Full Changelog: v0.9.3...v0.9.4
v0.9.3
For this release, node runners should run:
git fetch --tags
make build
This will ensure that the build version is injected and reported properly as a metric for node runners on blockspacerace.
Please update the config as this release breaks it.
What's Changed
BREAKING
FEATURES
BUG FIXES
- fix(nodebuilder): fix error log and shut the fx by @Wondertan in #2160
- fix(share/discovery): fixes from Advertise logic audit by @Wondertan in #2163
DEPENDENCIES
Full Changelog: v0.9.2...v0.9.3
v0.9.2 - ShrEx stability improvements
This patch release brings a few stability improvements and bug fixes for our ShrEx protocols.
This release also breaks config -- please update your configs!
What's Changed
BREAKING
- fix(share/discovery)!: revamp Discovery by @distractedm1nd in #2117
FEATURES
- feat(daser): introduce retry logic for daser by @walldiss in #1860
- feat(core): Add span for handle-new-signed-block in listener by @renaynay in #2093
- feat(shrex/peer-manager): add metrics to peer manager by @walldiss in #1924
- feat(das): add backoff to retry jobs by @walldiss in #2103
- feat(shrex): metrics by @distractedm1nd in #2095
REFACTORINGS
- refactor(nodebuiler): introduce ServiceBreaker and update FX by @Wondertan in #2091
- refactor(modheader): use WithParams options by @Wondertan in #2102
- refactor(share/shrex): improve shrex logging by @walldiss in #2101
- refactor(api/gateway) return error from gateway if header is not synced yet by @walldiss in #2108
- refactor(share/p2p/shrex): use default timeout for shrex-eds client by @walldiss in #2114
BUG FIXES
- fix(share/eds): pass correct context to DagStore by @Wondertan in #2124
- fix(cmd/rpc): parsing JSON for all parameters, and adding handler to GetSharesByNamespace by @distractedm1nd in #2113
- fix(share/shrex): hotfixes for shrex getter respecting context by @distractedm1nd in #2115
- fix(nodebuilder/header): Cancel subscription when done by @renaynay in #2134
- fix(gateway): deescalating log in gateway's writeErr by @distractedm1nd in #2142
- fix(modp2p): increase ConnMgr defaults for Full and Bridge by @Wondertan in #2139
- fix(nodebuilder/tests): Add dummy trusted peers to satisfy fx by @renaynay in #2154
DEPENDENCIES
- deps: bump libp2p by @Wondertan in #2127
- deps: bump go-header by @Wondertan in #2140
- Revert "deps: bump libp2p (#2127)" by @Wondertan in #2136
- chore(deps): bump codecov/codecov-action from 3.1.1 to 3.1.3 by @dependabot in #2122
MISCELLANEOUS
- chore(nodebuilder): timeouts, errors and logs by @Wondertan in #2125
Full Changelog: v0.9.1...v0.9.2
v0.9.1 - Bootstrapping stability improvements
This release contains stability improvements for bootstrapping onto the network as well as two new config-related commands:
config-remove
-- removes the node's configconfig-update
-- updates the node's outdated config
It also contains a change that will default to using my_celes_key
account if more than one key is present in the keyring and no --keyring.accname
has been specified.
What's Changed
FEATURES
REFACTORINGS
- refactor(nodebuilder): Use
my_celes_key
as default if no--keyring.accname
is specified by @renaynay in #2084
BUG FIXES
- fix(modp2p): fix(modp2p): use Infof by @Wondertan in #2081
- fix(modp2p): disable metrics on libp2p by default by @Wondertan in #2082
- fix: removing skip from shrexeds tests and updating them to current logic by @distractedm1nd in #2075
DEPENDENCIES
- chore(deps): bump github.com/hashicorp/go-getter from 1.6.1 to 1.7.0 by @dependabot in #2014
- chore(deps): bump mheap/github-action-required-labels from 3 to 4 by @dependabot in #2003
- chore(deps): bump alpine from 3.17.2 to 3.17.3 by @dependabot in #2004
- chore(deps): bump go.uber.org/multierr from 1.9.0 to 1.11.0 by @dependabot in #1998
- deps: bump go-header by @Wondertan in #2088
Full Changelog: v0.9.0...v0.9.1
v0.9.0 - Storage stability for `bridge` and `full` nodes
This release contains a fix to address datastore bloat.
full
and bridge
node runners MUST clear their datastore via the new command unsafe-reset-store
and re-sync from scratch.
Example:
celestia bridge unsafe-reset-store --p2p.network blockspacerace
This release also contains a change to the config - please re-initialise your node!
What's Changed
BREAKING
- !refactor(share/p2p/peers): expose peer manager params to nodebuilder by @walldiss in #1925
- fix(eds/store): use
Path
instead ofHost
inFileMount
serialization/deserialization by @distractedm1nd in #2071
FEATURE
- feat: include function signatures in rpc cli autocompletions by @distractedm1nd in #2026
- feat(share/getter): add support for ErrNotFound in IPLD/Store getters by @walldiss in #2050
- feat(cli): adding unsafe-reset-store command by @distractedm1nd in #2070
- feat: if NODE_STORE is set use it in custom init command by @smuu in #2069
- feat(share/getter): add support for ErrNotFound in shrex getter implementation by @walldiss in #2074
REFACTORING
- refactoring(share/p2p): remove TTL in pubsub by @vgonkivs in #2023
- refactor(share/eds): add ErrNotFound to eds store and shrex server by @walldiss in #2048
- refactor(libs/fraud): fraud tests overhaul by @Wondertan in #2039
BUG FIXES
- fix: CLI for
GetSharesByNamespace
should allow hex for namespace by @distractedm1nd in #2025 - fix: adding traces to pyroscope dashboard by @distractedm1nd in #2054
- fix(swamp): fixing p2p_test and reconstruct_test by @distractedm1nd in #1951
- fix(share/eds): add custom inverted index for badger as storage backend by @distractedm1nd in #2053
- fix(modp2p): fix libp2p metrics by @Wondertan in #2078
DEPENDENCIES
- chore(deps): Upgrade setup-go by @walldiss in #2017
- chore(deps): Upgrading to go 1.20 by @walldiss in #2015
- chore: migrate to go-fraud by @Wondertan in #2064
- chore(deps): bump celestiaorg/.github from 0.1.0 to 0.1.1 by @dependabot in #2047
MISCELLANEOUS
- feat: pin version of common workflows and actions by @smuu in #2005
- das/share: Change log from DAH.Hash() to DAH.String() by @Ray-Escobar in #1971
- chore(log): Suppress pubsub logs to WARN and net/identify to ERROR by @HoytRen in #2002
- chore: Make use of common adr template by @MSevey in #2030
- refactor(share/shrex): cleanup shrex logs by @walldiss in #2079
New Contributors
- @Ray-Escobar made their first contribution in #1971
Full Changelog: v0.8.2...v0.9.0
v0.9.0-rc1 - Storage stability for `bridge` and `full` nodes
This release contains a fix to address datastore bloat.
full
and bridge
node runners MUST clear their datastore via the new command unsafe-reset-store
and re-sync from scratch.
Example:
celestia bridge unsafe-reset-store --p2p.network blockspacerace
This release also contains a change to the config - please re-initialise your node!
What's Changed
BREAKING
- !refactor(share/p2p/peers): expose peer manager params to nodebuilder by @walldiss in #1925
- fix(eds/store): use
Path
instead ofHost
inFileMount
serialization/deserialization by @distractedm1nd in #2071
FEATURE
- feat: include function signatures in rpc cli autocompletions by @distractedm1nd in #2026
- feat(share/getter): add support for ErrNotFound in IPLD/Store getters by @walldiss in #2050
- feat(cli): adding unsafe-reset-store command by @distractedm1nd in #2070
REFACTORING
- refactoring(share/p2p): remove TTL in pubsub by @vgonkivs in #2023
- refactor(share/eds): add ErrNotFound to eds store and shrex server by @walldiss in #2048
- refactor(libs/fraud): fraud tests overhaul by @Wondertan in #2039
BUG FIXES
- fix: CLI for
GetSharesByNamespace
should allow hex for namespace by @distractedm1nd in #2025 - fix: adding traces to pyroscope dashboard by @distractedm1nd in #2054
- fix(swamp): fixing p2p_test and reconstruct_test by @distractedm1nd in #1951
- fix(share/eds): add custom inverted index for badger as storage backend by @distractedm1nd in #2053
DEPENDENCIES
- chore(deps): Upgrade setup-go by @walldiss in #2017
- chore(deps): Upgrading to go 1.20 by @walldiss in #2015
- chore: migrate to go-fraud by @Wondertan in #2064
MISCELLANEOUS
- feat: pin version of common workflows and actions by @smuu in #2005
- das/share: Change log from DAH.Hash() to DAH.String() by @Ray-Escobar in #1971
- chore(log): Suppress pubsub logs to WARN and net/identify to ERROR by @HoytRen in #2002
- chore: Make use of common adr template by @MSevey in #2030
New Contributors
- @Ray-Escobar made their first contribution in #1971
Full Changelog: v0.8.2...v0.8.3-rc1
v0.8.2 - Stability improvements for `full` and `bridge` nodes
Thanks to detailed profiling of full
and bridge
nodes done by @distractedm1nd and @Wondertan, this release introduces a few fixes to prevent unnecessary disk reads and a fix to reduce memory consumption.
In order to realise the benefits from the above changes, node runners (of full
or bridge
nodes) should clear their datastore and re-sync from scratch.
This release contains a config-breaking change, so please re-initialize your nodes by running init
again.
What's Changed
FEATURES
- feat(p2p): add native libp2p debug metrics by @derrandz in #1795
- feat: pyroscope integration by @distractedm1nd in #2013
BUG FIXES
- fix(eds/share): replacing fsmount with filemount registration by @distractedm1nd in #2001
- fix(share/eds): use cached accessors in
GetCAR
andGetDAH
by @distractedm1nd in #2000 - fix: enabling badger gc by @distractedm1nd in #2020
MISCELLANEOUS
- fix: updating broken link in README.md by @distractedm1nd in #2022
- ci(.github): Fix kind label for dependabot by @renaynay in #1969
Full Changelog: v0.8.1...v0.8.2
v0.8.1 - Phase 2 bug fixes & RPC CLI!
This patch brings a few bug fixes for issues reported from blockspacerace
node runners. It also disables certain write
endpoints from the REST gateway.
More notably, this release introduces the ❤️ RPC CLI ❤️, designed to make interacting with the node's RPC locally super simple.
Some example commands are below:
celestia rpc state SubmitPayForBlob 0x1874e642f5dde589 '"Hello there!!"' 2000 100000
celestia rpc node Info
celestia rpc share GetShare '{"row_roots":["//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt","/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"],"column_roots":["//////////7//////////ql+/VFmJ8PWE9BcjrTDLrY/hzVeGdzFCpfEhiXDXZmt","/////////////////////zHeGnUtPJn8QyPpePSYl4qRVrcUvG2fwptyoA85Myik"]}' 1 1
celestia rpc header GetByHeight 5
What's Changed
BREAKING
- fix!(gateway): removing undocumented gateway writes by @distractedm1nd in #1991
FEATURES
- (api/docgen): Example types by @renaynay in #1921
- feat(cmd): RPC over CLI by @distractedm1nd in #1974
BUG FIXES
- fix(core/exchange): handle nil height pointer in log by @walldiss in #1984
- fix(modp2p): Peers to return number of connected peers rather than known by @Wondertan in #1987
- fix: changing entrypoint path to /opt by @smuu in #1988
- fix(edsstore): close files after Put and Get by @distractedm1nd in #1994
MISCELLANEOUS
DEPENDENCIES
- chore(.github/workflows): Bump lint version by @walldiss in #1970
- deps: upgrading to celestia-app v0.12.2 by @distractedm1nd in #1996
Full Changelog: v0.8.0...v0.8.1