github celestiaorg/celestia-core v0.39.0

latest releases: v0.39.3-rc0, v0.39.2, v0.39.1...
21 days ago

This is the first release with the propagation reactor 🎉

It's also the first release using a standard tag structure that we hope to continue using in the future.

What's Changed

  • chore: put celestia features into 0.38.x by @tac0turtle in #1672
  • feat: add priority mempool by @tac0turtle in #1703
  • feat: add CAT mempool by @tac0turtle in #1708
  • refactor: undo block api renaming for compatibility by @damiannolan in #1722
  • docs: fix default indexer in config.toml by @rootulp in #1723
  • ci(mergify): upgrade configuration to current format by @mergify[bot] in #1765
  • docs: fix InitStateVersion docs by @rootulp in #1768
  • ci: disable dependabot for main by @rootulp in #1837
  • feat: allow separate directory for blockstore by @yarikbratashchuk in #1819
  • ci: use consistent go version by @rootulp in #1855
  • chore: add debug info to ErrPartSetInvalidProof by @rootulp in #1875
  • chore: add copilot instructions by @Copilot in #1904
  • build(deps): Bump golangci/golangci-lint-action from 6 to 8 by @dependabot[bot] in #1848
  • build(deps): Bump docker/setup-buildx-action from 3.8.0 to 3.10.0 by @dependabot[bot] in #1839
  • build(deps): Bump docker/build-push-action from 6.13.0 to 6.18.0 by @dependabot[bot] in #1899
  • refactor: address book to return all peers by @ninabarbakadze in #1916
  • chore: update CODEOWNERS with new team members by @Copilot in #1918
  • feat: import copilot instructions and automatic reviewers assignment from celestia-app by @Copilot in #1920
  • chore: port the propagation reactor from v0.34.x-celestia to v0.38.x-celestia by @rach-id in #1870
  • feat: purpose -1 to return all unconfirmed transactions in UnconfirmedTxs RPC (Backport #1675 to main) by @rach-id in #1887
  • chore: fix golangci-lint by @rach-id in #1956
  • feat: update dependabot config for main branch and add go/docker support by @Copilot in #1954
  • build(deps): Bump docker/login-action from 3.3.0 to 3.4.0 by @dependabot[bot] in #1960
  • feat: add main branch to GitHub workflow triggers by @Copilot in #1932
  • feat: add mergify backport rule for v0.38.x-celestia branch by @Copilot in #1914
  • chore: update auto_request_review.yml to reflect the code owners by @rach-id in #1930
  • chore: update CI workflows to run on v0.38.x-celestia branch by @Copilot in #1982
  • feat: add merge_group trigger to CI workflows for merge queue support by @Copilot in #1959
  • chore: add catch-up mechanism for proposal parts in consensus reactor by @rach-id in #1988
  • feat: update parts channel capacity from 1000 to 2500 by @Copilot in #1936
  • chore: rename BlockProp reactor to Recovery by @Copilot in #1935
  • fix: update Go version requirement to 1.24 to resolve govuln CI failures by @Copilot in #1938
  • fix: AddCommitment replace the PartSetHeader for cached heights and rounds with new one by @rach-id in #1939
  • fix: validate received haves match wants and adjust canSend logic in propagation by @rach-id in #1944
  • chore: validate the compact block last len by @rach-id in #1940
  • chore: delete memstats routine and definitions by @Copilot in #1934
  • feat: feed any existing data to the consensus reactor with every height/round by @rach-id in #1993
  • fix: include proof in RecoveryPart messages when clearing wants by @rach-id in #1945
  • chore: setWant/Have verify if state is initialised by @rach-id in #1941
  • fix: remove extra blank lines from dependabot.yml to fix linter CI by @Copilot in #1987
  • fix: update Go toolchain and dependencies to resolve govuln vulnerabilities by @Copilot in #1995
  • fix: safely access part and block prop concurrent fields by @rach-id in #1997
  • chore: correct max requests bit array size by @rach-id in #1996
  • fix: combined partset complete == original partset complete by @rach-id in #1998
  • fix: correctly set the proposer when updating the round by @rach-id in #2025
  • fix: set default proxy_app config value to align with app/v4-cosmos-sdk (backport #1915 to main) by @Copilot in #1999
  • remove: Celestia bot from CI and dependent files by @Copilot in #2023
  • Remove dependabot rules for v0.38.x-celestia branch by @Copilot in #2021
  • build(deps): Bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.34.0 to 1.36.0 by @dependabot[bot] in #2002
  • build(deps): Bump google.golang.org/grpc from 1.70.0 to 1.73.0 by @dependabot[bot] in #2006
  • build(deps): Bump gonum.org/v1/gonum from 0.15.1 to 0.16.0 by @dependabot[bot] in #2005
  • build(deps): Bump github.com/aws/aws-sdk-go-v2 from 1.36.1 to 1.36.4 by @dependabot[bot] in #2010
  • build(deps): Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.76.1 to 1.80.2 by @dependabot[bot] in #2014
  • build(deps): Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.59 to 1.17.69 by @dependabot[bot] in #2016
  • build(deps): Bump github.com/go-git/go-git/v5 from 5.13.2 to 5.16.2 by @dependabot[bot] in #2017
  • build(deps): Bump golang.org/x/net from 0.40.0 to 0.41.0 by @dependabot[bot] in #2019
  • build(deps): Bump github.com/aws/aws-sdk-go-v2/config from 1.29.6 to 1.29.16 by @dependabot[bot] in #2018
  • build(deps): Bump github.com/celestiaorg/go-square/v2 from 2.1.0 to 2.3.0 by @dependabot[bot] in #2028
  • build(deps): Bump github.com/celestiaorg/nmt from 0.23.0 to 0.24.0 by @dependabot[bot] in #2027
  • docs: document the contribution flow for core by @Copilot in #2035
  • feat: expose rejected txs in TxStatus by @cmwaters in #2032
  • build(deps): Bump docker/setup-buildx-action from 3.10.0 to 3.11.1 by @dependabot[bot] in #2047
  • build(deps): Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.80.2 to 1.81.0 by @dependabot[bot] in #2048
  • build(deps): Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.69 to 1.17.70 by @dependabot[bot] in #2050
  • build(deps): Bump github.com/prometheus/common from 0.62.0 to 0.65.0 by @dependabot[bot] in #2051
  • build(deps): Bump github.com/aws/aws-sdk-go-v2/config from 1.29.16 to 1.29.17 by @dependabot[bot] in #2052
  • chore: exit early when already has recovery part by @rach-id in #2056
  • chore: validate want parts size in handle wants by @rach-id in #2055
  • fix: sending parity parts to the consensus reactor by mistake by @rach-id in #2054
  • feat: more aggressive peer discovery by @ninabarbakadze in #2029
  • Update actions/cache to v4.2.3 by @PixelPil0t1 in #2064
  • feat: Reactor Specific Peers by @tzdybal in #1946
  • chore: only add recovered part if it's missing by @rach-id in #2067
  • chore: improve channels lifecycle handling by @rach-id in #2068
  • feat: add mergify rule to backport to main using S:backport-to-main label by @Copilot in #2063
  • fix: validate compact block data race by @rach-id in #2070
  • fix: backport CAT mempool deadlock fix to main by @Copilot in #2077
  • docs: minimize PR template and point to contribution guidelines by @Copilot in #2073
  • feat(state): increase transaction reap amount in CreateProposalBlock to provide buffer for PrepareProposal by @Copilot in #2079
  • chore: re-enable cat test and check for rejected transactions by @rach-id in #2075
  • fix: remove CAT mempool panic for duplicate peers (#1902 backport to main) by @Copilot in #2062
  • fix: make mempool type configurable in template by @Copilot in #2095
  • refactor: add atomic fields for thread-safe peer handling by @tzdybal in #2107
  • p2p: improve peer rejection error logs, remove empty fields and clari… (backport #1889) by @mergify[bot] in #2104
  • docs(README): copy README from v0.34.x-celestia by @rootulp in #2105
  • feat: backport proposal block saving functionality from v0.38.x-celestia to main by @Copilot in #2103
  • build(deps): update dependencies by @tzdybal in #2110
  • fix: use deterministic IP in TestPEXReactorDialDisconnectedPeerInterval to prevent flakiness by @Copilot in #2116
  • test: update assertions in TestProvider by @tzdybal in #2119
  • chore: change "Failed to load block meta" catchup log to debug by @evan-forbes in #2122
  • refactor: Remove support for the deprecated digital-ocean infrastructure in E2E test framework (backport #1869) by @mergify[bot] in #2126
  • feat: add timestamp to the filenames of failed proposal blocks by @Copilot in #2113
  • feat: reactor specific peer removal by @tzdybal in #2059
  • feat: use 3 channels for CAT and enable CAT by default in e2e by @rach-id in #2132
  • fix: improve TestByzantinePrevoteEquivocation reliability by @Copilot in #2090
  • fix: handle race condition in TestBlockPoolMaliciousNode flake by @Copilot in #2125
  • fix: use dynamic port allocation in jsonrpc_test.go to prevent flaky tests by @Copilot in #2138
  • feat: move p2p and addrbook logs from INFO to DEBUG by @Copilot in #2133
  • fix: adjust PEX request interval to match specification by @Copilot in #2140
  • build(deps): Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.82.0 to 1.83.0 by @dependabot[bot] in #2150
  • docs: replace all instances of "nova" with "multiplexer" by @Copilot in #2152
  • chore: trace prepare proposal by @rach-id in #2157
  • chore:trace process proposal correctly by @rach-id in #2158
  • fix: correctly set the recovered mempool parts by @rach-id in #2163
  • feat: add recovery received part traces by @rach-id in #2160
  • chore: make the failed to validate proposal log debug level by @rach-id in #2162
  • fix: return proper JSON-RPC errors for missing blocks in /header and /block endpoints by @Copilot in #2044
  • fix(ci): backport rules by @rootulp in #2155
  • revert: "fix: return proper JSON-RPC errors for missing blocks in /header and /block endpoints" by @rootulp in #2168
  • docs: remove "This server only supports /broadcast_tx_commit" (backport #2171) by @mergify[bot] in #2174
  • feat: specify the number of needed parts by @rach-id in #2165
  • docs: explain Celestia-specific GRPC APIs by @rootulp in #2175
  • feat: enable GRPC server reflection by @rootulp in #2173
  • chore: make received part for unknown proposal debug level by @rach-id in #2183
  • chore: remove the message from rpc-server timeout error by @rach-id in #2182
  • fix: make json decoding old v0.34 EventAttribute backwards compatible by @evan-forbes in #2184
  • fix(test): resolve test flake in light/provider/http by using RecreateConfig by @Copilot in #2147
  • build(deps): Bump slackapi/slack-github-action from 2.0.0 to 2.1.1 by @dependabot[bot] in #2193
  • build(deps): Bump github.com/grafana/pyroscope-go from 1.2.0 to 1.2.3 by @dependabot[bot] in #2197
  • build(deps): Bump golang.org/x/net from 0.41.0 to 0.42.0 by @dependabot[bot] in #2194
  • fix: only purge expired txs during update by @ninabarbakadze in #2199
  • fix: panic due to nil limit by @rootulp in #2215
  • feat: build the block pre-emptively during the commit timeout by @rach-id in #2202
  • fix: synchronize access in GetTrueIndices by @rach-id in #2220
  • fix: generate the tx metadata when proposing an existing block by @rach-id in #2212
  • refactor: move propagation channels from node to propagation reactor by @Copilot in #2209
  • refactor: move error handling from AddPeer to InitPeer by @tzdybal in #2223
  • fix: harden peer filtering logic in Switch by @tzdybal in #2229
  • feat: make the propagation reactor backwards compatible by @evan-forbes in #2149
  • chore: run the 50-50 compatibility test in CI by @evan-forbes in #2246
  • fix: initialize peer state when proposing by @evan-forbes in #2245
  • chore: reorder sync data channels priorities by @rach-id in #2258
  • chore: correctly set CAT trace client by @Copilot in #2261
  • chore: send mempool recovered parts to consensus by @rach-id in #2259
  • feat: delay pre-emptive block building by @rach-id in #2255
  • chore: add more details to the invalid proposal error by @rach-id in #2262
  • chore: only build the block pre-emptively when the timeout commit is high by @rach-id in #2264
  • chore: replace grpc.Dial to grpc.NewClient by @TropicalDog17 in #2214
  • chore: increase propagation/consensus/p2p send queue sizes by @rach-id in #2256
  • fix: UnmarshalJSON for event attributes (backport #2263) by @mergify[bot] in #2266
  • feat: index error codes for rejected txs by @ninabarbakadze in #2242
  • chore: update code owners by @rach-id in #2267
  • feat!: update the privval extension to match the CIP by @rach-id in #2272
  • chore: correctly initialise the new height channel by @rach-id in #2269
  • build(deps): Bump github.com/aws/aws-sdk-go-v2/config from 1.29.17 to 1.30.2 by @dependabot[bot] in #2285
  • build(deps): Bump github.com/grafana/pyroscope-go from 1.2.3 to 1.2.4 by @dependabot[bot] in #2284
  • feat: support reactor messages parallel processing by @rach-id in #2257
  • build(deps): Bump google.golang.org/grpc from 1.73.0 to 1.74.2 by @dependabot[bot] in #2276
  • build(deps): Bump github.com/celestiaorg/go-square/v2 from 2.3.0 to 2.3.1 by @dependabot[bot] in #2279
  • build(deps): Bump github.com/adlio/schema from 1.3.6 to 1.3.9 by @dependabot[bot] in #2282
  • fix: make the findNewPeerToRequestTx iterative by @rach-id in #2288
  • build(deps): Bump github.com/aws/aws-sdk-go-v2 from 1.36.5 to 1.37.1 by @dependabot[bot] in #2277
  • build(deps): Bump github.com/klauspost/reedsolomon from 1.12.4 to 1.12.5 by @dependabot[bot] in #2278
  • build(deps): Bump github.com/prometheus/client_golang from 1.20.5 to 1.23.0 by @dependabot[bot] in #2280
  • feat: remove debug print statement from txindex kv.go by @Copilot in #2291
  • chore: remove peer not found error log by @rach-id in #2295
  • chore: increase peer state queues to 20000 by @rach-id in #2297
  • chore: validate the parset hashes in compact block by @rach-id in #2298
  • feat!: deduplicate cache implementations between mempools by @ninabarbakadze in #2274
  • build(deps): Bump docker/login-action from 3.4.0 to 3.5.0 by @dependabot[bot] in #2312
  • feat: increase DefaultGossipDelay from 200ms to 60s to reduce network overload by @Copilot in #2308
  • fix: update Go toolchain to 1.24.6 to resolve GO-2025-3849 vulnerability by @Copilot in #2311
  • feat: enhance compact block signing failure logging for KMS compatibility by @Copilot in #2309
  • chore: only send want if there are missing parts by @rach-id in #2322

New Contributors

Full Changelog: v0.38.17...v0.39.0

Don't miss a new celestia-core release

NewReleases is sending notifications on new releases.