Releases: celestiaorg/celestia-node
v0.13.2
This patch mainly addresses two medium-severity issues:
- DA nodes to time out during the start if one of the bootstrappers goes offline(celestiaorg/go-header#167)
- Sampling randomness didn't persist over retries(#2780)
Fixes
- fix(modda): correct slice appends by @tsite in #3267
- fix(nodebuilder/blob): use state module instead of the state accessor in the module construction by @vgonkivs in #3254
Refactors
- refactor: chunk -> share by @rootulp in #3240
- refactor(nodebuilder): use external flock library by @Wondertan in #3253
- refactor(nodebuilder): stick to lock semantics, not file by @Wondertan in #3255
Chores
- ci(triggers): change release process from tag push to release publish by @ramin in #3227
- chore(Makefile): detect and default to make go-install on darwin vs install everywhere else by @ramin in #3197
- ci(lint): upgrade golangci-lint to 1.56 and fix revive errors that emerged by @ramin in #3247
- chore(deps): Bump mathieudutour/github-tag-action from 6.1 to 6.2 by @dependabot in #3252
- chore(deps): Bump golang.org/x/crypto from 0.20.0 to 0.21.0 by @dependabot in #3249
- deps: bump go-header by @Wondertan in #3271
Features
- feat(share/availability): persist random samples selection in availability call by @walldiss in #3239
- feat: add workdir to dockerfile by @smuu in #3259
New Contributors
v0.13.1
This patch release notably fixes a bug that broke serialisation for blob.Proof
. It also introduces an additional field inside of the blob.Blob
struct that tracks the index of the first share of the blob inside of the EDS (extended data square).
What's Changed
FEATURES / IMPROVEMENTS
- feat: add example value for blob.GasPrice by @jcstein in #3171
- feat(nodebuilder/blob/cmd): Allow submit multiple blobs through file input by @sontrinh16 in #3008
- feat(blob): extend blob struct with index field by @vgonkivs in #3165
BUG FIXES
MISCELLANEOUS
- ci: run unit tests on m1 mac runner vs macos-latest intel mac by @ramin in #3155
- chore(ci): split da into own tag, and skip a consistently failing test by @ramin in #3172
- specs: initialize spec with mdbook by @Wondertan in #3186
- chore(deps): Bump golang.org/x/crypto from 0.18.0 to 0.19.0 by @dependabot in #3182
- chore(nodebuilder/share): Make module construction more digestable by @renaynay in #3170
- chore(deps): Bump codecov/codecov-action from 3.1.6 to 4.0.1 by @dependabot in #3162
- improve: use errors.New to replace fmt.Errorf with no parameters by @0x2d3c in #3206
- chore(deps): Bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 by @dependabot in #3180
- chore(deps): Bump github.com/ipfs/boxo from 0.16.0 to 0.18.0 by @dependabot in #3212
- chore(deps): Bump google.golang.org/grpc from 1.60.1 to 1.62.0 by @dependabot in #3210
- chore(deps): Bump codecov/codecov-action from 4.0.1 to 4.0.2 by @dependabot in #3214
- chore(deps): Bump the otel group with 8 updates by @dependabot in #3213
- chore(share/p2p/peers): Change namings inside discovery by @renaynay in #3191
- chore(deps): Bump cosmossdk.io/math from 1.2.0 to 1.3.0 by @dependabot in #3211
- chore(deps): Bump go.uber.org/zap from 1.26.0 to 1.27.0 by @dependabot in #3209
- chore(deps): upgrade to Go 1.22 by @rootulp in #3228
- chore(deps): Bump golang.org/x/crypto from 0.19.0 to 0.20.0 by @dependabot in #3234
- chore(deps): Bump codecov/codecov-action from 4.0.2 to 4.1.0 by @dependabot in #3236
- chore(deps): Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #3231
- deps: bump go-header by @renaynay in #3218
- feat(header/headertest): Enable block time intervals for header generation by @renaynay in #3139
New Contributors
- @sontrinh16 made their first contribution in #3008
- @0x2d3c made their first contribution in #3206
Full Changelog: v0.13.0...v0.13.1
v0.13.0
This release introduces a light node sampling window of 30 days, specified in CIP-4. Light nodes will now only sample blocks within a 30 day window instead of sampling all blocks from genesis.
Also notable is the integration of the go-da interface into celestia-node, which breaks blob.Proof
serialization.
What's Changed
BREAKING
- feat(nodebuilder/prune)!: Enable sampling window for light nodes by @renaynay in #2991
- refactor(blob)!: replace SubmitOptions with a GasPrice parameter by @distractedm1nd in #3094
- feat!(rpc): rpc.disable-auth flag by @distractedm1nd in #3117
- feat!(rpc): implementing go-da interface by @distractedm1nd in #3146
IMPROVEMENTS
- feat(rpc/node): readiness check by @distractedm1nd in #3118
BUG FIXES
- fix(core): Use
Verify
from go-header pkg inCoreExchange
by @renaynay in #3077 - fix(core): Do not propagate blocks if subscribed to blocks from incorrect chain by @renaynay in #3086
- fix(tests/befp): fix panic in befp test by @vgonkivs in #3108
- chore: add missing stop ticker by @htiennv in #3161
- fix: improve rpc.skip-auth by @distractedm1nd in #3152
MISCELLANEOUS
- chore(modstate): Remove IsStopped endpoint from StateModule by @Chirag018 in #2912
- chore(deps): Bump deps by @renaynay in #3091
- chore(deps): Bump go-header by @renaynay in #3096
- ci: add continue-on-error temporarily by @ramin in #3100
- fix: clarifying blob.GetAll godoc by @distractedm1nd in #3090
node/pull/3065 - chore(deps): update otel group by @ramin in #3068
- refactor(makefile + ci): rename swamp -> integration by @ramin in https://github.com/celestiaorg/celestia-
- test: cleanup of PR 2998 to simplify by @ramin in #3051
- chore: cleanup go.mod file require sections by @Jorropo in #3103
- feat(nodebuilder): log node version on start by @Halimao in #3089
- chore(deps): Bump cosmossdk.io/errors from 1.0.0 to 1.0.1 by @dependabot in #3105
- chore: unfork badger and ds-badger4 by @Wondertan in #3110
- chore(nodebuilder/state): SubmitTx endpoint takes read-level permissions by @moldis in #3072
- chore(deps): Bump the otel group with 4 updates by @dependabot in #3121
- test(gateway): slight refactor of some presentation and add some endpoint registration tests by @ramin in #2939
- feat(blob/service): cover getByCommitment with benchmark by @vgonkivs in #3116
- chore: make CI green by @ramin in #3114
- fix(libs/pidstore): Detect corruption on startup and reset pidstore by @renaynay in #3132
- chore(spelling): fix all stray typos across comments and tests by @ramin in #3142
- chore(deps): Bump github.com/multiformats/go-multiaddr from 0.12.1 to 0.12.2 by @dependabot in #3144
- chore(deps): Bump alpine from 3.19.0 to 3.19.1 by @dependabot in #3143
- feat(blob/trace): cover blob service with traces by @vgonkivs in #3113
- ci(unit tests): YOINK unit tests with race detector temporarily by @ramin in #3147
- chore(deps): Bump codecov/codecov-action from 3.1.4 to 3.1.6 by @dependabot in #3148
- chore: bump go-header by @Wondertan in #3158
New Contributors
- @Jorropo made their first contribution in #3103
- @Halimao made their first contribution in #3089
- @moldis made their first contribution in #3072
- @htiennv made their first contribution in #3161
Full Changelog: v0.12.4...v0.13.0
v0.13.0-rc1
Proper release logs will land in the official release.
What's Changed
- feat(nodebuilder/prune)!: Enable sampling window for light nodes by @renaynay in #2991
- 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
- chore(deps): Bump go-header by @renaynay in #3096
- ci: add continue-on-error temporarily by @ramin in #3100
- fix: clarifying blob.GetAll godoc by @distractedm1nd in #3090
- chore: cleanup go.mod file require sections by @Jorropo in #3103
- feat(nodebuilder): log node version on start by @Halimao in #3089
- fix(core): Do not propagate blocks if subscribed to blocks from incorrect chain by @renaynay in #3086
- chore(deps): Bump cosmossdk.io/errors from 1.0.0 to 1.0.1 by @dependabot in #3105
- chore: unfork badger and ds-badger4 by @Wondertan in #3110
- fix(tests/befp): fix panic in befp test by @vgonkivs in #3108
- chore(nodebuilder/state): SubmitTx endpoint takes read-level permissions by @moldis in #3072
- chore(deps): Bump the otel group with 4 updates by @dependabot in #3121
- test(gateway): slight refactor of some presentation and add some endpoint registration tests by @ramin in #2939
- feat(blob/service): cover getByCommitment with benchmark by @vgonkivs in #3116
- chore: make CI green by @ramin in #3114
- fix(libs/pidstore): Detect corruption on startup and reset pidstore by @renaynay in #3132
- refactor(blob)!: replace SubmitOptions with a GasPrice parameter by @distractedm1nd in #3094
- feat!(rpc): rpc.disable-auth flag by @distractedm1nd in #3117
- feat(rpc/node): readiness check by @distractedm1nd in #3118
- chore(spelling): fix all stray typos across comments and tests by @ramin in #3142
- chore(deps): Bump github.com/multiformats/go-multiaddr from 0.12.1 to 0.12.2 by @dependabot in #3144
- chore(deps): Bump alpine from 3.19.0 to 3.19.1 by @dependabot in #3143
- feat(blob/trace): cover blob service with traces by @vgonkivs in #3113
- ci(unit tests): YOINK unit tests with race detector temporarily by @ramin in #3147
- chore(deps): Bump codecov/codecov-action from 3.1.4 to 3.1.6 by @dependabot in #3148
- feat(rpc): implementing go-da interface by @distractedm1nd in #3146
- chore: bump go-header by @Wondertan in #3158
New Contributors
- @Jorropo made their first contribution in #3103
- @Halimao made their first contribution in #3089
- @moldis made their first contribution in #3072
Full Changelog: v0.12.2...v0.13.0-rc1
v0.12.4
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