Releases: celestiaorg/celestia-node
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
v0.8.0 - Phase 2 Blockspace Race
This is the official release for Phase 2 of Blockspace Race. This release is breaking so all nodes running on blockspacerace
must upgrade.
Notably, this release contains fixes related to network stability and also bridge node syncing improvements.
What's Changed
BREAKING
- fix(shrex/peer-manager)!: hash validation on subjective node start by @walldiss in #1945
- refactoring(share/ipld)!: rework getLeavesByNamespace by @vgonkivs in #1870
FEATURE
- feat(nodebuilder/header): Add
Subscribe
method implementation by @renaynay in #1943 - feat(nodebuilder/node | api): Version the API by @renaynay in #1901
- feat: copy container security improvements from celestia-app by @smuu in #1913
- feat(core/listener): add resubscribe to core listener by @walldiss in #1972
- feat(nodebuilder/share): enable shrex for light nodes by @walldiss in #1856
- feat(core/exchange): parallelise GetRangeByHeight request by @walldiss in #1962
REFACTOR
- refactor/fix(core/fetcher): cleanup core fetcher new block subscriber lifecycle by @walldiss in #1955
- perf(header): make HeaderSub msgid to be header hash by @Wondertan in #1964
BUG FIXES
- fix(nodebuilder/p2p): all full and bridge nodes use
dht.ModeServer
by @distractedm1nd in #1954 - fix(nodebuilder/share): Invoke pubsub for shrex by @renaynay in #1976
- fix(shrex/peer-manager): Temporarily disable blacklisting in peer manager by @walldiss in #1979
- fix(shrex/peer-manager): put on peer cooldown for peers from discovery by @walldiss in #1981
MISCELLANEOUS
- chore: extract libs/header into go-header by @Wondertan in #1947
- chore(.github/workflows): Bump lint version by @renaynay in #1966
- chore(header): get back the important notice about msg id by @Wondertan in #1967
- perf(modshare): increase the PeersLimit default by @Wondertan in #1968
- chore(core): Add logging by @renaynay in #1961
DEPENDENCIES
- deps: bump go-header by @Wondertan in #1980
- deps: bump libp2p by @Wondertan in #1956
- deps: bump go-header by @Wondertan in #1982
Full Changelog: v0.7.2...v0.8.0