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