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