Releases: celestiaorg/celestia-node
v0.12.3
This release is a recommended upgrade for all users and contains security-related fixes.
What's Changed
- refactor(makefile + ci): rename swamp -> integration by @ramin in #3065
- chore(deps): update otel group by @ramin in #3068
- test: cleanup of PR 2998 to simplify by @ramin in #3051
- fix(core): Use
Verify
from go-header pkg inCoreExchange
by @renaynay in #3077 - chore(modstate): Remove IsStopped endpoint from StateModule by @Chirag018 in #2912
- chore(deps): Bump deps by @renaynay in #3091
Full Changelog: v0.12.2...v0.12.3
v0.12.2 - `arabica-11`
This patch release introduces support for arabica-11
and a few minor fixes and dependency bumps.
Please note: This patch upgrades the go-header dependency which contains a break to header metrics, namely:
head
is now located under hdr_store_head_height_gauge
.
What's Changed
FEATURES
- feat(pruner): Implement skeleton for pruner package by @renaynay in #2972
- feat(rpc): default binding to localhost vs 0.0.0.0 open to world by @ramin in #2955
IMPROVEMENTS
BUG FIXES
- fix(cmd): explicitly set a string representation of the error by @vgonkivs in #2997
- fix(share/byzantine): fix proof collection by @vgonkivs in #2957
MISC
- share: typos fix by @BorkBorked in #2993
- Revert "fix(modp2p): temporary disable quic (#2837)" by @Wondertan in #2963
- chore(deps): Bump alpine from 3.18.5 to 3.19.0 by @dependabot in #3002
- chore(deps): Bump actions/stale from 8 to 9 by @dependabot in #3001
- chore(deps): Bump actions/setup-go from 4 to 5 by @dependabot in #3000
- ignore otel patch updates by @ramin in #2988
- chore(deps): Bump actions/upload-artifact from 3 to 4 by @dependabot in #3014
- chore(deps): Bump github.com/hashicorp/go-retryablehttp from 0.7.4 to 0.7.5 by @dependabot in #2924
- chore(deps): Bump cosmossdk.io/math from 1.1.2 to 1.2.0 by @dependabot in #2923
- chore: bump go-libp2p by @Wondertan in #2883
- chore(deps): Bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #3050
- chore(deps): Bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 by @dependabot in #3064
- chore(deps): Bump github.com/ipfs/boxo from 0.15.0 to 0.16.0 by @dependabot in #3057
- chore(deps): Bump github.com/libp2p/go-libp2p-kad-dht from 0.25.1 to 0.25.2 by @dependabot in #3058
- chore(deps): Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 by @dependabot in #3059
- chore(share|das|libs/utils): DRY context resetting in the event of an error for metrics by @cyneptic in #2935
- chore(go.mod): bump go-header by @renaynay in #3052
- chore(deps): Bump google.golang.org/grpc from 1.59.0 to 1.60.1 by @dependabot in #3060
- chore(p2p/flags): Handle empty p2p.network flag. by @00x-dx in #3004
- chore(nodebuilder/p2p)!: add arabica-11 by @smuu in #3066
- chore(go.mod): Bump header to latest release by @renaynay in #3067
New Contributors
- @BorkBorked made their first contribution in #2993
- @cyneptic made their first contribution in #2935
- @00x-dx made their first contribution in #3004
Full Changelog: v0.12.1...v0.12.2
v0.12.2-rc2
Adds arabica-11.
What's Changed
- chore(deps): Bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 by @dependabot in #3064
- chore(deps): Bump github.com/ipfs/boxo from 0.15.0 to 0.16.0 by @dependabot in #3057
- chore(deps): Bump github.com/libp2p/go-libp2p-kad-dht from 0.25.1 to 0.25.2 by @dependabot in #3058
- chore(deps): Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 by @dependabot in #3059
- chore(share|das|libs/utils): DRY context resetting in the event of an error for metrics by @cyneptic in #2935
- chore(go.mod): bump go-header by @renaynay in #3052
- chore(deps): Bump google.golang.org/grpc from 1.59.0 to 1.60.1 by @dependabot in #3060
- chore(p2p/flags): Handle empty p2p.network flag. by @00x-dx in #3004
- chore(nodebuilder/p2p)!: add arabica-11 by @smuu in #3066
- chore(go.mod): Bump header to latest release by @renaynay in #3067
New Contributors
Full Changelog: v0.12.2-rc1...v0.12.2-rc2
v0.12.2-rc1
Contains another mem-leak fix.
What's Changed
- pruner: Implement skeleton for pruner package by @renaynay in #2972
- fix(cmd): explicitly set a string representation of the error by @vgonkivs in #2997
- share: typos fix by @BorkBorked in #2993
- Revert "fix(modp2p): temporary disable quic (#2837)" by @Wondertan in #2963
- chore(deps): Bump alpine from 3.18.5 to 3.19.0 by @dependabot in #3002
- chore(deps): Bump actions/stale from 8 to 9 by @dependabot in #3001
- chore(deps): Bump actions/setup-go from 4 to 5 by @dependabot in #3000
- feat(rpc): default binding to localhost vs 0.0.0.0 open to world by @ramin in #2955
- ignore otel patch updates by @ramin in #2988
- fix(share/byzantine): fix proof collection by @vgonkivs in #2957
- chore(deps): Bump actions/upload-artifact from 3 to 4 by @dependabot in #3014
- chore(deps): Bump github.com/hashicorp/go-retryablehttp from 0.7.4 to 0.7.5 by @dependabot in #2924
- chore(deps): Bump cosmossdk.io/math from 1.1.2 to 1.2.0 by @dependabot in #2923
- feat(share/p2p/peer-manager): limit amount of stored pools in peer-manager by @walldiss in #3005
- chore: bump go-libp2p by @Wondertan in #2883
- chore(deps): Bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #3050
New Contributors
- @BorkBorked made their first contribution in #2993
Full Changelog: v0.12.1...v0.12.2-rc1
v0.12.1
v0.12.1
Make Light Nodes light again
-
🔧 Resolved Memory Leak: After a thorough investigation, our team has fixed a longstanding memory leak coming from our dependencies. This fix ensures stable RAM usage and a reliable user experience. Check Issue #2905 for more details.
- NOTE: One more leak is present in the node, which is documented in #178. However, it grows slowly and shouldn't cause issues until a future release resolves it.
-
🌟 RAM Usage Optimization: We've successfully optimized RAM usage across all node types, achieving up to 10x reduction. This optimization means faster, more efficient operations and opportunities for devices with constrained resources(like RPi) to join the network. Our testing shows that in normal operations, BN/FN consume ~300MiB(with no active network serving) and up to 2GiB during initial sync. LNs peak at ~200MiB
-
🏗️ New build option: Makefile now has
build_jemalloc
command which instructs node to use externaljemalloc
allocator for BadgerDB KVStore we use. This option decreases RAM usage even more and stabilizes it by preventing Go's runtime from memory spikes.
Perf
- fix(node/store): substantial memory usage improvements by @Wondertan in #2960
- chore(modheader): lower store cache size for LN by @Wondertan in #2975
Feats
- feat(cmd): pass Start options; add WithFlagSet option by @tuxcanfly in #2950
- feat(core): Enable metrics for core package by @renaynay in #2863
Fixes
- fix(blob/service): handle absence proof by @vgonkivs in #2911
- fix(test/daser): stop the eds store before finishing the test by @vgonkivs in #2918
Refactors
- refactor(modp2p): decouple Bitswap by @Wondertan in #2962
Chores
- chore(cmd): add a newline after printing token so it doesn't run into shell prompt by @ramin in #2887
- chore(deps): Bump actions/setup-node from 3 to 4 by @dependabot in #2886
- chore: increase lint timeout by @vgonkivs in #2917
- chore: update link to node rpc docs by @jcstein in #2916
- chore(deps): Bump crazy-max/ghaction-import-gpg from 4 to 6 by @dependabot in #2885
- chore(deps): Bump golang.org/x/sync from 0.4.0 to 0.5.0 by @dependabot in #2900
- chore(deps): Bump github.com/gorilla/mux from 1.8.0 to 1.8.1 by @dependabot in #2899
- chore(ci): disable fail-fast on matrix tests by @ramin in #2919
- chore(deps): Bump golang.org/x/text from 0.13.0 to 0.14.0 by @dependabot in #2901
- chore(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in #2902
- chore(deps): Bump go.uber.org/fx from 1.20.0 to 1.20.1 by @dependabot in #2879
- (ci) enable optional verbose logging on unit tests and upload artifacts by @ramin in #2865
- chore(ci): remove 'continue-on-error' configuration from flakey tests by @ramin in #2913
- chore(deps): Bump github.com/multiformats/go-multiaddr from 0.11.0 to 0.12.0 by @dependabot in #2847
- chore(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 by @dependabot in #2866
- chore(deps): Bump github.com/ipfs/boxo from 0.13.1 to 0.15.0 by @dependabot in #2903
- chore: bump celestia-app to v1.4.0 by @evan-forbes in #2948
- chore(node): tweak pyroscope options by @Wondertan in #2974
- misc(config): add @ramin to codeowners by @ramin in #2973
- test(blob): add submitting equal blobs test case by @vgonkivs in #2914
- chore(deps): Bump alpine from 3.18.4 to 3.18.5 by @dependabot in #2987
- ci: configure prerelease-suffix by @rootulp in #2990
Full Changelog: v0.12.0...v0.12.1
v0.12.1-rc1
This RC most notably contains a fix to the memory leak caused by a bug in BadgerDB, reducing memory consumption significantly in #2960.
What's Changed
FEATURES
- feat(core): Enable metrics for core package by @renaynay in #2863
- feat(cmd): pass Start options; add WithFlagSet option by @tuxcanfly in #2950
BUG FIXES
- fix(test/daser): stop the eds store before finishing the test by @vgonkivs in #2918
- fix(blob/service): handle absence proof by @vgonkivs in #2911
- fix(node/store): substantial memory usage improvements by @Wondertan in #2960
MISCELLANEOUS
- chore(cmd): add a newline after printing token so it doesn't run into shell prompt by @ramin in #2887
- chore(deps): Bump actions/setup-node from 3 to 4 by @dependabot in #2886
- chore: increase lint timeout by @vgonkivs in #2917
- chore: update link to node rpc docs by @jcstein in #2916
- chore(deps): Bump crazy-max/ghaction-import-gpg from 4 to 6 by @dependabot in #2885
- chore(deps): Bump golang.org/x/sync from 0.4.0 to 0.5.0 by @dependabot in #2900
- chore(deps): Bump github.com/gorilla/mux from 1.8.0 to 1.8.1 by @dependabot in #2899
- chore(ci): disable fail-fast on matrix tests by @ramin in #2919
- chore(deps): Bump golang.org/x/text from 0.13.0 to 0.14.0 by @dependabot in #2901
- chore(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in #2902
- chore(deps): Bump go.uber.org/fx from 1.20.0 to 1.20.1 by @dependabot in #2879
- (ci) enable optional verbose logging on unit tests and upload artifacts by @ramin in #2865
- chore(ci): remove 'continue-on-error' configuration from flakey tests by @ramin in #2913
- chore(deps): Bump github.com/multiformats/go-multiaddr from 0.11.0 to 0.12.0 by @dependabot in #2847
- chore(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 by @dependabot in #2866
- chore(deps): Bump github.com/ipfs/boxo from 0.13.1 to 0.15.0 by @dependabot in #2903
- chore: bump celestia-app to v1.4.0 by @evan-forbes in #2948
- chore(node): tweak pyroscope options by @Wondertan in #2974
- chore(modheader): lower store cache size for LN by @Wondertan in #2975
- misc(config): add @ramin to codeowners by @ramin in #2973
Full Changelog: v0.12.0...v0.12.1-rc1
v0.12.0
Mainnet Release
After 2.5 years of work, the celestia-node mainnet release is here.
To run a node against Celestia mainnet:
celestia [bridge || full || light] init
celestia [bridge || full || light] start
This is a major milestone for the node team (@Wondertan @renaynay @vgonkivs @walldiss @distractedm1nd and @ramin). We are very proud to share our work with you.
Notes
This release only contains minimal bug fixes, small dependency bumps and other chores.
What's Changed
- fix(blob): properly wrap error in GetAll method by @tzdybal in #2853
- chore(deps): Bump celestiaorg/.github from 0.2.3 to 0.2.8 by @dependabot in #2851
- fix(p2p): Start listening to QUIC when CELESTIA_ENABLE_QUIC is set by @oblique in #2857
- fix(core): Increase listener timeout to 3x block time by @renaynay in #2852
- chore: fix docker builds for arm64 by @Bidon15 in #2862
- override organization pull_request_template.md by @ramin in #2805
- (ci) matrix tests for different OS by @ramin in #2855
- update golangci-lint by @ramin in #2868
- fix(docgen): fix das naming for the openrpc spec by @vgonkivs in #2870
- chore(nodebuilder/das): change daser module name to das by @vgonkivs in #2871
- tests(share/byzantine): extend befp tests by @vgonkivs in #2864
- signed binaries for goreleaser by @ramin in #2869
- chore: bump go-header by @Wondertan in #2877
- fix(core/listener): make listener to retry subscribing on errors by @walldiss in #2876
- chore(deps): Bumps app to v1.3.0 by @renaynay in #2881
- (ci) update github actions ci to use a single GO_VERSION variable by @ramin in #2806
- chore(nodebuilder): bind OTLP error logging by @Wondertan in #2861
- (ci) mark flakey test suites as "continue-on-error: true" by @ramin in #2874
- refactor(nodebuilder/share/cmd)!: Take block height instead of
ExtendedHeader
as argument for share cmds by @bao1029p in #2872 - feat: celestia mainnet bootstrappers by @smuu in #2888
- feat(nodebuilder/p2p): Add mainnet genesis hash by @renaynay in #2889
New Contributors
Full Changelog: v0.11.0...v0.12.0
v0.11.0
v0.11.0
This release contains 4 months of work moving towards a production-ready implementation of Celestia's data availability network.
Notable changes
Most notable changes (outside of general fixes) were focused around storage performance and API/RPC improvements and stability.
More granular changes can be found in the notes of all release candidates leading up to this release.
Some notable changes can be found below:
API + RPC changes and improvements
- introduction of the
BlobModule
- refactor of the
rpc-cli
- changes to the
Getter
interface - deprecation of
write
-level endpoints on the Gateway - elevation of permissions to minimum
read
-level for all endpoints on the JSON-RPC client - new
Namespace
type
Storage performance optimizations and changes
This release includes several fixes, optimizations and breaks to the EDSStore
(and the DAGStore
) so it is incompatible with v0.10.4.
Network-level changes
This release contains a protocol-breaking change: a breaking fix to shrex-nd
to allow blobs > 1MB in size.
Default network will now be celestia
mainnet
The node will now point to the celestia
main network by default. To connect to mocha-4
or arabica-10
, use the --p2p.network
flag.
What's Changed
- feat!: bump app v1.0.0-rc0 by @evan-forbes in #2253
- refactor(misc): pretty print namespace.iD and peer.ID by @walldiss in #2255
- test: delete
Test_dataFromSharesBSR
by @rootulp in #2271 - fix(share/discovery): timeout FindPeers operation by @Wondertan in #2263
- feat!(blob): blob module by @vgonkivs in #2273
- chore(deps): bump go.uber.org/fx from 1.19.2 to 1.19.3 by @dependabot in #2199
- chore(deps): bump golang.org/x/crypto from 0.7.0 to 0.9.0 by @dependabot in #2276
- chore(deps): bump codecov/codecov-action from 3.1.3 to 3.1.4 by @dependabot in #2235
- chore(deps): bump alpine from 3.17.3 to 3.18.0 by @dependabot in #2198
- chore!: bump arabica testnet params by @Bidon15 in #2281
- feat(nodebuilder): add ip resolving capabilities to core.ip by @sysrex in #2277
- chore(share/ipld): pretify error by @Wondertan in #2284
- feat(blob): add marshaling for blob and proof by @vgonkivs in #2286
- feat(nodebuilder): Add jwt.Signer to Node struct for auth token access by @renaynay in #2295
- chore(nodebuilder): decrease lifecycle timeout for LN by @Wondertan in #2290
- fix!(blob/module): fix api by changing variadic params to a slice by @vgonkivs in #2298
- fix(gateway): remove the GetByHeight hussle and rely on Module's logic by @Wondertan in #2302
- fix(blob): use default min gas price from core by @distractedm1nd in #2306
- feat(cmd/rpc): adding blob module to rpc cli and fixing namespace parsing by @distractedm1nd in #2308
- fix(getter/cascade): cascade getter should return fast on context cancel by @walldiss in #2310
- fix(nodebuilder): fix parsing url for core.ip by @walldiss in #2313
- chore(deps): bump github.com/filecoin-project/go-jsonrpc from 0.1.9 to 0.3.1 by @dependabot in #2318
- fix(das): limit amount of recent jobs by @walldiss in #2314
- chore(state): extend error handling in core accessor by @vgonkivs in #2307
- chore: bump celestia-app to v1.0.0-rc2 by @evan-forbes in #2305
- chore: bump common docker ci version pipeline by @Bidon15 in #2330
- !feat(api/gateway): return txdata from submitPFB if it is present by @walldiss in #2329
- fix(cmd/rpc): plaintext parsing of data for blob.Submit and state.SubmitPayForBlob by @distractedm1nd in #2340
- fix(dagstore): changing log level to WARN to shorten startup by @distractedm1nd in #2336
- fix(share): left pad nid in NewNamespaceV0 instead of right padding by @distractedm1nd in #2341
- fix(daser) don't count recent jobs in total sampled stats by @walldiss in #2342
- fix(state): fixing panic when err != nil but response is nil by @distractedm1nd in #2339
- fix!(state): use node blob type instead of app type to fix inconsistent unmarshalling by @distractedm1nd in #2338
- chore: mocha-2 support by @evan-forbes in #2326
- fix(nodebuilder): Fix dns lookup by @walldiss in #2332
- fix(rpc/client): stop overwriting existing clients by @distractedm1nd in #2361
- fix(state): JSON marshaling for sdk Address wrapper by @distractedm1nd in #2348
- chore!(gateway): add deprecation notices by @distractedm1nd in #2360
- chore(deps): bump github.com/pyroscope-io/client from 0.7.0 to 0.7.1 by @dependabot in #2319
- fix(header): GetByHeight requests for syncer head +1 shouldnt error by @distractedm1nd in #2362
- fix(share/eds): fix test flake by @Wondertan in #2364
- chore(deps): bump mheap/github-action-required-labels from 4 to 5 by @dependabot in #2354
- feat!(nodbuilder): making lifecycle timeouts configurable by @distractedm1nd in #2347
- chore(deps): bump golangci/golangci-lint-action from 3.4.0 to 3.6.0 by @dependabot in #2353
- fix(swamp): use synchronized map as container for nodes by @Wondertan in #2358
- chore(deps): bump github.com/imdario/mergo from 0.3.15 to 0.3.16 by @dependabot in #2355
- chore(deps): bump celestiaorg/.github from 0.1.1 to 0.2.0 by @dependabot in #2317
- chore(nodebuilder/tests): Clean up sync_test tests by @renaynay in #2162
- feat(share): collect absence proof if namespace is not present in merkle tree by @walldiss in #2242
- deps: bump libp2p by @Wondertan in #2359
- feat(node): implement node.AuthVerify and node.AuthNew by @distractedm1nd in #2370
- fix: parseNamespace for <= 10 byte namespace IDs by @rootulp in #2325
- add kind:testing label by @walldiss in #2375
- feat(libs/pidstore): Implement
PeerIDStore
by @renaynay in #2274 - Update ci_release.yml by @MSevey in #2384
- feat(gateway): enabling CORS * on gateway by @distractedm1nd in #2373
- share: introduce Namespace type by @Wondertan in #2367
- feat(header): Check app version in eh validation and return err on mismatch by @renaynay in #2138
- chore(share/getters): add unit test for ctxwithsplittimeout by @walldiss in #2374
- chore: bump celestia-app rc4 by @evan-forbes in #2371
- feat(share/getter) Add support for Non-inclusion proofs by @walldiss in #2256
- fix(api/gateway): Handle err from tx properly to avoid panic by @renaynay in #2393
- chore: bump celestia-app to v1.0.0-rc5 by @evan-forbes in #2395
- deps: bump libp2p by @Wondertan in #2399
- fix(libs/utils): Use valid ip4 address by @renaynay in #2394
- feat: adding spans to shrex getter by @distractedm1nd in #2404
- refactor!(share): integrate new Namespace type by @Wondertan in #2388
- chore(go.mod): Bump nmt by @renaynay in #2405
- tests(share/eds): add store basic benchmar...
v0.11.0-rc15 - API breaks
This RC contains several API + RPC breaking changes, most notably:
- elevating public permissions to be read-level for all JSON-RPC client interactions
- a few method signature changes
- removal of some redundant methods
- RPC CLI overhaul
Note: this release also breaks config so it requires a config update.
What's Changed
- chore(deps): Bump google.golang.org/grpc from 1.58.0 to 1.58.1 by @dependabot in #2740
- chore(deps): Bump github.com/ipfs/boxo from 0.12.0 to 0.13.0 by @dependabot in #2734
- fix(full/availability): short-circuiting SharesAvailable on empty DAH by @distractedm1nd in #2746
- fix: improve ErrNoStateAccess message by @distractedm1nd in #2752
- refactor(availability): merging cache.ShareAvailability and light.ShareAvailability by @distractedm1nd in #2741
- refactor(share/discovery): decrease default Advertisement interval by @walldiss in #2758
- chore!: bump core and app by @cmwaters in #2753
- chore(deps): Bump github.com/ipfs/boxo from 0.13.0 to 0.13.1 by @dependabot in #2757
- chore(deps): Bump google.golang.org/grpc from 1.58.1 to 1.58.2 by @dependabot in #2756
- fix(share/p2p/peers): Prevent making pools for nil DataHash by @renaynay in #2761
- ignore dependabot in issue-label-automation/automate-labels workflow by @ramin in #2763
- test(share/eds/cache): benchmark eds cache eviction performance by @walldiss in #2778
- chore(deps): fix dependabot otel grouping by @walldiss in #2795
- chore(deps): Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.18.0 to 1.19.0 by @dependabot in #2784
- chore: bump celestia-app, celestia-core, and the cosmos-sdk by @evan-forbes in #2801
- refactoring!(rpc/cmd): rework rpc commands by @vgonkivs in #2812
- chore(deps): Bump the otel group with 2 updates by @dependabot in #2800
- chore(deps): Bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0 by @dependabot in #2787
- chore(deps): Bump github.com/hashicorp/golang-lru/v2 from 2.0.6 to 2.0.7 by @dependabot in #2785
- chore(deps): Bump alpine from 3.18.3 to 3.18.4 by @dependabot in #2794
- (chore) ensure all dependency group PRs get the default label by @ramin in #2798
- deps: bump go-header by @renaynay in #2813
- fix(share/peer-manager): use mutex for peer-manager pool cleanup by @walldiss in #2817
- chore(deps): Bump go.opentelemetry.io/contrib/instrumentation/runtime from 0.44.0 to 0.45.0 by @dependabot in #2819
- feat(discovery): discover peers by tag by @walldiss in #2730
- chore(deps): Bump golang.org/x/crypto from 0.13.0 to 0.14.0 by @dependabot in #2821
- fix(docs): fix GetVerifiedRange doc by @vgonkivs in #2826
- chore(deps): Bump golang.org/x/sync from 0.3.0 to 0.4.0 by @dependabot in #2820
- fix(rpc)!: various rpc breaks by @distractedm1nd in #2825
Full Changelog: v0.11.0-rc14...v0.11.0-rc15
v0.11.0-rc9.1 - Stability patch for arabica-9
This release contains stability changes backported from main. This RC is compatible with arabica-9
ONLY and not compatible with arabica-10
and mocha-4
.