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 https://github.com/celestiaorg/celestia-node/issues/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
:building_construction: New build option: Makefile now has
build_jemalloccommand which instructs node to use externaljemallocallocator 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 https://github.com/celestiaorg/celestia-node/pull/2960
- chore(modheader): lower store cache size for LN by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/2975
Feats
- feat(cmd): pass Start options; add WithFlagSet option by @tuxcanfly in https://github.com/celestiaorg/celestia-node/pull/2950
- feat(core): Enable metrics for core package by @renaynay in https://github.com/celestiaorg/celestia-node/pull/2863
Fixes
- fix(blob/service): handle absence proof by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/2911
- fix(test/daser): stop the eds store before finishing the test by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/2918
Refactors
- refactor(modp2p): decouple Bitswap by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/2962
Chores
- chore(cmd): add a newline after printing token so it doesn't run into shell prompt by @ramin in https://github.com/celestiaorg/celestia-node/pull/2887
- chore(deps): Bump actions/setup-node from 3 to 4 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/2886
- chore: increase lint timeout by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/2917
- chore: update link to node rpc docs by @jcstein in https://github.com/celestiaorg/celestia-node/pull/2916
- chore(deps): Bump crazy-max/ghaction-import-gpg from 4 to 6 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/2885
- chore(deps): Bump golang.org/x/sync from 0.4.0 to 0.5.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/2900
- chore(deps): Bump github.com/gorilla/mux from 1.8.0 to 1.8.1 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/2899
- chore(ci): disable fail-fast on matrix tests by @ramin in https://github.com/celestiaorg/celestia-node/pull/2919
- chore(deps): Bump golang.org/x/text from 0.13.0 to 0.14.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/2901
- chore(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/2902
- chore(deps): Bump go.uber.org/fx from 1.20.0 to 1.20.1 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/2879
- (ci) enable optional verbose logging on unit tests and upload artifacts by @ramin in https://github.com/celestiaorg/celestia-node/pull/2865
- chore(ci): remove 'continue-on-error' configuration from flakey tests by @ramin in https://github.com/celestiaorg/celestia-node/pull/2913
- chore(deps): Bump github.com/multiformats/go-multiaddr from 0.11.0 to 0.12.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/2847
- chore(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/2866
- chore(deps): Bump github.com/ipfs/boxo from 0.13.1 to 0.15.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/2903
- chore: bump celestia-app to v1.4.0 by @evan-forbes in https://github.com/celestiaorg/celestia-node/pull/2948
- chore(node): tweak pyroscope options by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/2974
- misc(config): add @ramin to codeowners by @ramin in https://github.com/celestiaorg/celestia-node/pull/2973
- test(blob): add submitting equal blobs test case by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/2914
- chore(deps): Bump alpine from 3.18.4 to 3.18.5 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/2987
- ci: configure prerelease-suffix by @rootulp in https://github.com/celestiaorg/celestia-node/pull/2990
Full Changelog: https://github.com/celestiaorg/celestia-node/compare/v0.12.0...v0.12.1