From 66a5a9da9f7a3306f382eb9142ccb9c9f7997d3f Mon Sep 17 00:00:00 2001 From: Sergio Mena Date: Tue, 12 Sep 2023 22:25:24 +0200 Subject: [PATCH] Release v0.38.0 (#1337) * Prepare changelog for release * Prepare `UPGRADING.md` * Bump version * Fix date format * Remove duplicate changelog entries * Formatted #890 in changelog * Add log entry in breaking changes for RPC block events * Fix typo --- .changelog/unreleased/.gitkeep | 0 .../1270-executor_extend_vote.md | 3 - .../breaking-changes/211-deprecate-tmhome.md | 2 - .../breaking-changes/385-update-to-go1.20.md | 2 - .../bug-fixes/386-quick-fix-needproofblock.md | 5 -- .../bug-fixes/4-busy-loop-send-block-part.md | 2 - .../bug-fixes/890-mempool-fix-cache.md | 1 - .../136-remove-tm-signer-harness.md | 2 - .../56-rpc-cache-rpc-responses.md | 2 - .../9650-rpc-cache-rpc-responses.md | 2 - .../1057-bootstrap-state-api.md | 6 +- .../breaking-changes/1113-rm-upnp.md | 0 .../breaking-changes/1120-node-api-cleanup.md | 0 .../1270-executor_extend_vote.md | 3 + .../260-remove-priority-mempool-config.md | 0 .../260-remove-priority-mempool-proto.md | 0 .../260-remove-priority-mempool.md | 0 .../breaking-changes/558-tm10011.md | 0 .../6541-state-move-pruneblocks-execution.md | 0 ...-indexerevent-remove-function-type copy.md | 3 + ...state-indexerevent-remove-function-type.md | 0 .../797-kvindexer-support-for-big-numbers.md | 0 .../797-pubsub-support-for-big-numbers.md | 0 .../8664-move-app-hash-to-commit.md | 0 .../breaking-changes/9468-finalize-block.md | 0 .../9625-p2p-remove-trust-package.md | 0 .../9655-inspect-add-command.md | 0 .../9655-node-move-DB-vars-config.md | 0 .../9655-rpc-remove-environment-var.md | 0 ...2-metrics-refactor-state-block-synching.md | 0 .../980-max-size-more-control.md | 0 ...forwardport-default-kvindexer-behaviour.md | 0 .../496-error-on-applyblock-should-panic.md | 0 .../bug-fixes/524-rename-peerstate-tojson.md | 0 .../bug-fixes/575-fix-light-client-panic.md | 0 ...ake-case-json-for-exec-tx-result-fields.md | 0 .../865-fix-peerstate-marshaljson.md | 0 .../bug-fixes/890-mempool-fix-cache.md | 2 + .../9462-docker-go-use-consistent-version.md | 0 .../bug-fixes/9717-abci-cli-fix-help.md | 0 .../650-deprecate-grpc-broadcast-api.md | 0 .../features/1057-bootstrap-state-api.md | 0 ...introduce-newconnsynclocalclientcreator.md | 0 ...y-introduce-newunsynclocalclientcreator.md | 0 .../features/9836-abci-add-vote-extension.md | 0 .../improvements/1210-close-evidence-db.md | 0 .../improvements/1264-log-app-hash-as-hex.md | 0 .../improvements/543-metrics-for-blocksync.md | 0 .../638-json-rpc-error-message.md | 0 ...3-merkle-hashalternatives-perf-improv-a.md | 0 .../6509-pex-addrbook-perf-improv.md | 0 ...3-merkle-hashalternatives-perf-improv-b.md | 0 .../654-rpc-rm-response-data-logs.md | 0 .../7319-pubsub-query-perf-improv.md | 0 .../improvements/797-pubsub-float.md | 0 .../857-make-handshake-cancelable.md | 0 .../improvements/980-max-size-more-control.md | 0 .changelog/v0.38.0/summary.md | 13 ++++ CHANGELOG.md | 71 ++++++++++++------- UPGRADING.md | 2 +- version/version.go | 2 +- 61 files changed, 72 insertions(+), 51 deletions(-) create mode 100644 .changelog/unreleased/.gitkeep delete mode 100644 .changelog/unreleased/breaking-changes/1270-executor_extend_vote.md delete mode 100644 .changelog/unreleased/breaking-changes/211-deprecate-tmhome.md delete mode 100644 .changelog/unreleased/breaking-changes/385-update-to-go1.20.md delete mode 100644 .changelog/unreleased/bug-fixes/386-quick-fix-needproofblock.md delete mode 100644 .changelog/unreleased/bug-fixes/4-busy-loop-send-block-part.md delete mode 100644 .changelog/unreleased/bug-fixes/890-mempool-fix-cache.md delete mode 100644 .changelog/unreleased/improvements/136-remove-tm-signer-harness.md delete mode 100644 .changelog/unreleased/improvements/56-rpc-cache-rpc-responses.md delete mode 100644 .changelog/unreleased/improvements/9650-rpc-cache-rpc-responses.md rename .changelog/{unreleased => v0.38.0}/breaking-changes/1057-bootstrap-state-api.md (84%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/1113-rm-upnp.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/1120-node-api-cleanup.md (100%) create mode 100644 .changelog/v0.38.0/breaking-changes/1270-executor_extend_vote.md rename .changelog/{unreleased => v0.38.0}/breaking-changes/260-remove-priority-mempool-config.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/260-remove-priority-mempool-proto.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/260-remove-priority-mempool.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/558-tm10011.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/6541-state-move-pruneblocks-execution.md (100%) create mode 100644 .changelog/v0.38.0/breaking-changes/774-state-indexerevent-remove-function-type copy.md rename .changelog/{unreleased => v0.38.0}/breaking-changes/774-state-indexerevent-remove-function-type.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/797-kvindexer-support-for-big-numbers.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/797-pubsub-support-for-big-numbers.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/8664-move-app-hash-to-commit.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/9468-finalize-block.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/9625-p2p-remove-trust-package.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/9655-inspect-add-command.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/9655-node-move-DB-vars-config.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/9655-rpc-remove-environment-var.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/9682-metrics-refactor-state-block-synching.md (100%) rename .changelog/{unreleased => v0.38.0}/breaking-changes/980-max-size-more-control.md (100%) rename .changelog/{unreleased => v0.38.0}/bug-fixes/423-forwardport-default-kvindexer-behaviour.md (100%) rename .changelog/{unreleased => v0.38.0}/bug-fixes/496-error-on-applyblock-should-panic.md (100%) rename .changelog/{unreleased => v0.38.0}/bug-fixes/524-rename-peerstate-tojson.md (100%) rename .changelog/{unreleased => v0.38.0}/bug-fixes/575-fix-light-client-panic.md (100%) rename .changelog/{unreleased => v0.38.0}/bug-fixes/855-snake-case-json-for-exec-tx-result-fields.md (100%) rename .changelog/{unreleased => v0.38.0}/bug-fixes/865-fix-peerstate-marshaljson.md (100%) create mode 100644 .changelog/v0.38.0/bug-fixes/890-mempool-fix-cache.md rename .changelog/{unreleased => v0.38.0}/bug-fixes/9462-docker-go-use-consistent-version.md (100%) rename .changelog/{unreleased => v0.38.0}/bug-fixes/9717-abci-cli-fix-help.md (100%) rename .changelog/{unreleased => v0.38.0}/deprecations/650-deprecate-grpc-broadcast-api.md (100%) rename .changelog/{unreleased => v0.38.0}/features/1057-bootstrap-state-api.md (100%) rename .changelog/{unreleased => v0.38.0}/features/9830-proxy-introduce-newconnsynclocalclientcreator.md (100%) rename .changelog/{unreleased => v0.38.0}/features/9830-proxy-introduce-newunsynclocalclientcreator.md (100%) rename .changelog/{unreleased => v0.38.0}/features/9836-abci-add-vote-extension.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/1210-close-evidence-db.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/1264-log-app-hash-as-hex.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/543-metrics-for-blocksync.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/638-json-rpc-error-message.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/6443-merkle-hashalternatives-perf-improv-a.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/6509-pex-addrbook-perf-improv.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/6513-merkle-hashalternatives-perf-improv-b.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/654-rpc-rm-response-data-logs.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/7319-pubsub-query-perf-improv.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/797-pubsub-float.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/857-make-handshake-cancelable.md (100%) rename .changelog/{unreleased => v0.38.0}/improvements/980-max-size-more-control.md (100%) create mode 100644 .changelog/v0.38.0/summary.md diff --git a/.changelog/unreleased/.gitkeep b/.changelog/unreleased/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/.changelog/unreleased/breaking-changes/1270-executor_extend_vote.md b/.changelog/unreleased/breaking-changes/1270-executor_extend_vote.md deleted file mode 100644 index 619a93311c2..00000000000 --- a/.changelog/unreleased/breaking-changes/1270-executor_extend_vote.md +++ /dev/null @@ -1,3 +0,0 @@ -- `[state]` Signature of `ExtendVote` changed in `BlockExecutor`. - It now includes the block whose precommit will be extended, an the state object. -([\#1270](https://github.com/cometbft/cometbft/pull/1270)) \ No newline at end of file diff --git a/.changelog/unreleased/breaking-changes/211-deprecate-tmhome.md b/.changelog/unreleased/breaking-changes/211-deprecate-tmhome.md deleted file mode 100644 index 547fc4e2d54..00000000000 --- a/.changelog/unreleased/breaking-changes/211-deprecate-tmhome.md +++ /dev/null @@ -1,2 +0,0 @@ -- The `TMHOME` environment variable was renamed to `CMTHOME`, and all environment variables starting with `TM_` are instead prefixed with `CMT_` - ([\#211](https://github.com/cometbft/cometbft/issues/211)) \ No newline at end of file diff --git a/.changelog/unreleased/breaking-changes/385-update-to-go1.20.md b/.changelog/unreleased/breaking-changes/385-update-to-go1.20.md deleted file mode 100644 index 5e9ea3386ac..00000000000 --- a/.changelog/unreleased/breaking-changes/385-update-to-go1.20.md +++ /dev/null @@ -1,2 +0,0 @@ -- Bump minimum Go version to 1.20 - ([\#385](https://github.com/cometbft/cometbft/issues/385)) \ No newline at end of file diff --git a/.changelog/unreleased/bug-fixes/386-quick-fix-needproofblock.md b/.changelog/unreleased/bug-fixes/386-quick-fix-needproofblock.md deleted file mode 100644 index 45995688785..00000000000 --- a/.changelog/unreleased/bug-fixes/386-quick-fix-needproofblock.md +++ /dev/null @@ -1,5 +0,0 @@ -- `[consensus]` Short-term fix for the case when `needProofBlock` cannot find - previous block meta by defaulting to the creation of a new proof block. - Special thanks to the [Vega.xyz](https://vega.xyz/) team, and in particular to - Zohar (@ze97286), for reporting the problem and working with us to get to a - fix. ([\#386](https://github.com/cometbft/cometbft/pull/386)) diff --git a/.changelog/unreleased/bug-fixes/4-busy-loop-send-block-part.md b/.changelog/unreleased/bug-fixes/4-busy-loop-send-block-part.md deleted file mode 100644 index 59bda2afc3e..00000000000 --- a/.changelog/unreleased/bug-fixes/4-busy-loop-send-block-part.md +++ /dev/null @@ -1,2 +0,0 @@ -- `[consensus]` Fixed a busy loop that happened when sending of a block part failed by sleeping in case of error. - ([\#4](https://github.com/informalsystems/tendermint/pull/4)) \ No newline at end of file diff --git a/.changelog/unreleased/bug-fixes/890-mempool-fix-cache.md b/.changelog/unreleased/bug-fixes/890-mempool-fix-cache.md deleted file mode 100644 index 34dae0463a7..00000000000 --- a/.changelog/unreleased/bug-fixes/890-mempool-fix-cache.md +++ /dev/null @@ -1 +0,0 @@ -- `[mempool/clist_mempool]` \#890 Prevent a transaction to appear twice in the mempool (@otrack) diff --git a/.changelog/unreleased/improvements/136-remove-tm-signer-harness.md b/.changelog/unreleased/improvements/136-remove-tm-signer-harness.md deleted file mode 100644 index 6eb6c2158c2..00000000000 --- a/.changelog/unreleased/improvements/136-remove-tm-signer-harness.md +++ /dev/null @@ -1,2 +0,0 @@ -- `[tools/tm-signer-harness]` Remove the folder as it is unused - ([\#136](https://github.com/cometbft/cometbft/issues/136)) \ No newline at end of file diff --git a/.changelog/unreleased/improvements/56-rpc-cache-rpc-responses.md b/.changelog/unreleased/improvements/56-rpc-cache-rpc-responses.md deleted file mode 100644 index 344b3df93b9..00000000000 --- a/.changelog/unreleased/improvements/56-rpc-cache-rpc-responses.md +++ /dev/null @@ -1,2 +0,0 @@ -- `[e2e]` Add functionality for uncoordinated (minor) upgrades - ([\#56](https://github.com/tendermint/tendermint/pull/56)) \ No newline at end of file diff --git a/.changelog/unreleased/improvements/9650-rpc-cache-rpc-responses.md b/.changelog/unreleased/improvements/9650-rpc-cache-rpc-responses.md deleted file mode 100644 index 3b6b5034726..00000000000 --- a/.changelog/unreleased/improvements/9650-rpc-cache-rpc-responses.md +++ /dev/null @@ -1,2 +0,0 @@ -- `[rpc]` Enable caching of RPC responses - ([\#9650](https://github.com/tendermint/tendermint/pull/9650)) \ No newline at end of file diff --git a/.changelog/unreleased/breaking-changes/1057-bootstrap-state-api.md b/.changelog/v0.38.0/breaking-changes/1057-bootstrap-state-api.md similarity index 84% rename from .changelog/unreleased/breaking-changes/1057-bootstrap-state-api.md rename to .changelog/v0.38.0/breaking-changes/1057-bootstrap-state-api.md index 2d4184fccc6..dec9de27bfa 100644 --- a/.changelog/unreleased/breaking-changes/1057-bootstrap-state-api.md +++ b/.changelog/v0.38.0/breaking-changes/1057-bootstrap-state-api.md @@ -1,4 +1,4 @@ -- `[node/state]` Add Go API to bootstrap block store and state store to a height. Make sure block sync starts syncing from bootstrapped height. +- `[node/state]` Add Go API to bootstrap block store and state store to a height. Make sure block sync starts syncing from bootstrapped height. ([\#1057](https://github.com/tendermint/tendermint/pull/#1057)) (@yihuang) -- `[state/store]` Added Go functions to save height at which offline state sync is performed. - ([\#1057](https://github.com/tendermint/tendermint/pull/#1057)) (@jmalicevic) \ No newline at end of file +- `[state/store]` Added Go functions to save height at which offline state sync is performed. + ([\#1057](https://github.com/tendermint/tendermint/pull/#1057)) (@jmalicevic) diff --git a/.changelog/unreleased/breaking-changes/1113-rm-upnp.md b/.changelog/v0.38.0/breaking-changes/1113-rm-upnp.md similarity index 100% rename from .changelog/unreleased/breaking-changes/1113-rm-upnp.md rename to .changelog/v0.38.0/breaking-changes/1113-rm-upnp.md diff --git a/.changelog/unreleased/breaking-changes/1120-node-api-cleanup.md b/.changelog/v0.38.0/breaking-changes/1120-node-api-cleanup.md similarity index 100% rename from .changelog/unreleased/breaking-changes/1120-node-api-cleanup.md rename to .changelog/v0.38.0/breaking-changes/1120-node-api-cleanup.md diff --git a/.changelog/v0.38.0/breaking-changes/1270-executor_extend_vote.md b/.changelog/v0.38.0/breaking-changes/1270-executor_extend_vote.md new file mode 100644 index 00000000000..975c8f8232e --- /dev/null +++ b/.changelog/v0.38.0/breaking-changes/1270-executor_extend_vote.md @@ -0,0 +1,3 @@ +- `[state]` Signature of `ExtendVote` changed in `BlockExecutor`. + It now includes the block whose precommit will be extended, an the state object. + ([\#1270](https://github.com/cometbft/cometbft/pull/1270)) diff --git a/.changelog/unreleased/breaking-changes/260-remove-priority-mempool-config.md b/.changelog/v0.38.0/breaking-changes/260-remove-priority-mempool-config.md similarity index 100% rename from .changelog/unreleased/breaking-changes/260-remove-priority-mempool-config.md rename to .changelog/v0.38.0/breaking-changes/260-remove-priority-mempool-config.md diff --git a/.changelog/unreleased/breaking-changes/260-remove-priority-mempool-proto.md b/.changelog/v0.38.0/breaking-changes/260-remove-priority-mempool-proto.md similarity index 100% rename from .changelog/unreleased/breaking-changes/260-remove-priority-mempool-proto.md rename to .changelog/v0.38.0/breaking-changes/260-remove-priority-mempool-proto.md diff --git a/.changelog/unreleased/breaking-changes/260-remove-priority-mempool.md b/.changelog/v0.38.0/breaking-changes/260-remove-priority-mempool.md similarity index 100% rename from .changelog/unreleased/breaking-changes/260-remove-priority-mempool.md rename to .changelog/v0.38.0/breaking-changes/260-remove-priority-mempool.md diff --git a/.changelog/unreleased/breaking-changes/558-tm10011.md b/.changelog/v0.38.0/breaking-changes/558-tm10011.md similarity index 100% rename from .changelog/unreleased/breaking-changes/558-tm10011.md rename to .changelog/v0.38.0/breaking-changes/558-tm10011.md diff --git a/.changelog/unreleased/breaking-changes/6541-state-move-pruneblocks-execution.md b/.changelog/v0.38.0/breaking-changes/6541-state-move-pruneblocks-execution.md similarity index 100% rename from .changelog/unreleased/breaking-changes/6541-state-move-pruneblocks-execution.md rename to .changelog/v0.38.0/breaking-changes/6541-state-move-pruneblocks-execution.md diff --git a/.changelog/v0.38.0/breaking-changes/774-state-indexerevent-remove-function-type copy.md b/.changelog/v0.38.0/breaking-changes/774-state-indexerevent-remove-function-type copy.md new file mode 100644 index 00000000000..4e8fcb82295 --- /dev/null +++ b/.changelog/v0.38.0/breaking-changes/774-state-indexerevent-remove-function-type copy.md @@ -0,0 +1,3 @@ +- `[rpc]` Removed `begin_block_events` and `end_block_events` from `BlockResultsResponse`. + The events are merged into one field called `finalize_block_events`. + ([\#9427](https://github.com/tendermint/tendermint/issues/9427)) diff --git a/.changelog/unreleased/breaking-changes/774-state-indexerevent-remove-function-type.md b/.changelog/v0.38.0/breaking-changes/774-state-indexerevent-remove-function-type.md similarity index 100% rename from .changelog/unreleased/breaking-changes/774-state-indexerevent-remove-function-type.md rename to .changelog/v0.38.0/breaking-changes/774-state-indexerevent-remove-function-type.md diff --git a/.changelog/unreleased/breaking-changes/797-kvindexer-support-for-big-numbers.md b/.changelog/v0.38.0/breaking-changes/797-kvindexer-support-for-big-numbers.md similarity index 100% rename from .changelog/unreleased/breaking-changes/797-kvindexer-support-for-big-numbers.md rename to .changelog/v0.38.0/breaking-changes/797-kvindexer-support-for-big-numbers.md diff --git a/.changelog/unreleased/breaking-changes/797-pubsub-support-for-big-numbers.md b/.changelog/v0.38.0/breaking-changes/797-pubsub-support-for-big-numbers.md similarity index 100% rename from .changelog/unreleased/breaking-changes/797-pubsub-support-for-big-numbers.md rename to .changelog/v0.38.0/breaking-changes/797-pubsub-support-for-big-numbers.md diff --git a/.changelog/unreleased/breaking-changes/8664-move-app-hash-to-commit.md b/.changelog/v0.38.0/breaking-changes/8664-move-app-hash-to-commit.md similarity index 100% rename from .changelog/unreleased/breaking-changes/8664-move-app-hash-to-commit.md rename to .changelog/v0.38.0/breaking-changes/8664-move-app-hash-to-commit.md diff --git a/.changelog/unreleased/breaking-changes/9468-finalize-block.md b/.changelog/v0.38.0/breaking-changes/9468-finalize-block.md similarity index 100% rename from .changelog/unreleased/breaking-changes/9468-finalize-block.md rename to .changelog/v0.38.0/breaking-changes/9468-finalize-block.md diff --git a/.changelog/unreleased/breaking-changes/9625-p2p-remove-trust-package.md b/.changelog/v0.38.0/breaking-changes/9625-p2p-remove-trust-package.md similarity index 100% rename from .changelog/unreleased/breaking-changes/9625-p2p-remove-trust-package.md rename to .changelog/v0.38.0/breaking-changes/9625-p2p-remove-trust-package.md diff --git a/.changelog/unreleased/breaking-changes/9655-inspect-add-command.md b/.changelog/v0.38.0/breaking-changes/9655-inspect-add-command.md similarity index 100% rename from .changelog/unreleased/breaking-changes/9655-inspect-add-command.md rename to .changelog/v0.38.0/breaking-changes/9655-inspect-add-command.md diff --git a/.changelog/unreleased/breaking-changes/9655-node-move-DB-vars-config.md b/.changelog/v0.38.0/breaking-changes/9655-node-move-DB-vars-config.md similarity index 100% rename from .changelog/unreleased/breaking-changes/9655-node-move-DB-vars-config.md rename to .changelog/v0.38.0/breaking-changes/9655-node-move-DB-vars-config.md diff --git a/.changelog/unreleased/breaking-changes/9655-rpc-remove-environment-var.md b/.changelog/v0.38.0/breaking-changes/9655-rpc-remove-environment-var.md similarity index 100% rename from .changelog/unreleased/breaking-changes/9655-rpc-remove-environment-var.md rename to .changelog/v0.38.0/breaking-changes/9655-rpc-remove-environment-var.md diff --git a/.changelog/unreleased/breaking-changes/9682-metrics-refactor-state-block-synching.md b/.changelog/v0.38.0/breaking-changes/9682-metrics-refactor-state-block-synching.md similarity index 100% rename from .changelog/unreleased/breaking-changes/9682-metrics-refactor-state-block-synching.md rename to .changelog/v0.38.0/breaking-changes/9682-metrics-refactor-state-block-synching.md diff --git a/.changelog/unreleased/breaking-changes/980-max-size-more-control.md b/.changelog/v0.38.0/breaking-changes/980-max-size-more-control.md similarity index 100% rename from .changelog/unreleased/breaking-changes/980-max-size-more-control.md rename to .changelog/v0.38.0/breaking-changes/980-max-size-more-control.md diff --git a/.changelog/unreleased/bug-fixes/423-forwardport-default-kvindexer-behaviour.md b/.changelog/v0.38.0/bug-fixes/423-forwardport-default-kvindexer-behaviour.md similarity index 100% rename from .changelog/unreleased/bug-fixes/423-forwardport-default-kvindexer-behaviour.md rename to .changelog/v0.38.0/bug-fixes/423-forwardport-default-kvindexer-behaviour.md diff --git a/.changelog/unreleased/bug-fixes/496-error-on-applyblock-should-panic.md b/.changelog/v0.38.0/bug-fixes/496-error-on-applyblock-should-panic.md similarity index 100% rename from .changelog/unreleased/bug-fixes/496-error-on-applyblock-should-panic.md rename to .changelog/v0.38.0/bug-fixes/496-error-on-applyblock-should-panic.md diff --git a/.changelog/unreleased/bug-fixes/524-rename-peerstate-tojson.md b/.changelog/v0.38.0/bug-fixes/524-rename-peerstate-tojson.md similarity index 100% rename from .changelog/unreleased/bug-fixes/524-rename-peerstate-tojson.md rename to .changelog/v0.38.0/bug-fixes/524-rename-peerstate-tojson.md diff --git a/.changelog/unreleased/bug-fixes/575-fix-light-client-panic.md b/.changelog/v0.38.0/bug-fixes/575-fix-light-client-panic.md similarity index 100% rename from .changelog/unreleased/bug-fixes/575-fix-light-client-panic.md rename to .changelog/v0.38.0/bug-fixes/575-fix-light-client-panic.md diff --git a/.changelog/unreleased/bug-fixes/855-snake-case-json-for-exec-tx-result-fields.md b/.changelog/v0.38.0/bug-fixes/855-snake-case-json-for-exec-tx-result-fields.md similarity index 100% rename from .changelog/unreleased/bug-fixes/855-snake-case-json-for-exec-tx-result-fields.md rename to .changelog/v0.38.0/bug-fixes/855-snake-case-json-for-exec-tx-result-fields.md diff --git a/.changelog/unreleased/bug-fixes/865-fix-peerstate-marshaljson.md b/.changelog/v0.38.0/bug-fixes/865-fix-peerstate-marshaljson.md similarity index 100% rename from .changelog/unreleased/bug-fixes/865-fix-peerstate-marshaljson.md rename to .changelog/v0.38.0/bug-fixes/865-fix-peerstate-marshaljson.md diff --git a/.changelog/v0.38.0/bug-fixes/890-mempool-fix-cache.md b/.changelog/v0.38.0/bug-fixes/890-mempool-fix-cache.md new file mode 100644 index 00000000000..78ade6f4c1c --- /dev/null +++ b/.changelog/v0.38.0/bug-fixes/890-mempool-fix-cache.md @@ -0,0 +1,2 @@ +- `[mempool/clist_mempool]` Prevent a transaction to appear twice in the mempool + ([\#890](https://github.com/cometbft/cometbft/pull/890): @otrack) diff --git a/.changelog/unreleased/bug-fixes/9462-docker-go-use-consistent-version.md b/.changelog/v0.38.0/bug-fixes/9462-docker-go-use-consistent-version.md similarity index 100% rename from .changelog/unreleased/bug-fixes/9462-docker-go-use-consistent-version.md rename to .changelog/v0.38.0/bug-fixes/9462-docker-go-use-consistent-version.md diff --git a/.changelog/unreleased/bug-fixes/9717-abci-cli-fix-help.md b/.changelog/v0.38.0/bug-fixes/9717-abci-cli-fix-help.md similarity index 100% rename from .changelog/unreleased/bug-fixes/9717-abci-cli-fix-help.md rename to .changelog/v0.38.0/bug-fixes/9717-abci-cli-fix-help.md diff --git a/.changelog/unreleased/deprecations/650-deprecate-grpc-broadcast-api.md b/.changelog/v0.38.0/deprecations/650-deprecate-grpc-broadcast-api.md similarity index 100% rename from .changelog/unreleased/deprecations/650-deprecate-grpc-broadcast-api.md rename to .changelog/v0.38.0/deprecations/650-deprecate-grpc-broadcast-api.md diff --git a/.changelog/unreleased/features/1057-bootstrap-state-api.md b/.changelog/v0.38.0/features/1057-bootstrap-state-api.md similarity index 100% rename from .changelog/unreleased/features/1057-bootstrap-state-api.md rename to .changelog/v0.38.0/features/1057-bootstrap-state-api.md diff --git a/.changelog/unreleased/features/9830-proxy-introduce-newconnsynclocalclientcreator.md b/.changelog/v0.38.0/features/9830-proxy-introduce-newconnsynclocalclientcreator.md similarity index 100% rename from .changelog/unreleased/features/9830-proxy-introduce-newconnsynclocalclientcreator.md rename to .changelog/v0.38.0/features/9830-proxy-introduce-newconnsynclocalclientcreator.md diff --git a/.changelog/unreleased/features/9830-proxy-introduce-newunsynclocalclientcreator.md b/.changelog/v0.38.0/features/9830-proxy-introduce-newunsynclocalclientcreator.md similarity index 100% rename from .changelog/unreleased/features/9830-proxy-introduce-newunsynclocalclientcreator.md rename to .changelog/v0.38.0/features/9830-proxy-introduce-newunsynclocalclientcreator.md diff --git a/.changelog/unreleased/features/9836-abci-add-vote-extension.md b/.changelog/v0.38.0/features/9836-abci-add-vote-extension.md similarity index 100% rename from .changelog/unreleased/features/9836-abci-add-vote-extension.md rename to .changelog/v0.38.0/features/9836-abci-add-vote-extension.md diff --git a/.changelog/unreleased/improvements/1210-close-evidence-db.md b/.changelog/v0.38.0/improvements/1210-close-evidence-db.md similarity index 100% rename from .changelog/unreleased/improvements/1210-close-evidence-db.md rename to .changelog/v0.38.0/improvements/1210-close-evidence-db.md diff --git a/.changelog/unreleased/improvements/1264-log-app-hash-as-hex.md b/.changelog/v0.38.0/improvements/1264-log-app-hash-as-hex.md similarity index 100% rename from .changelog/unreleased/improvements/1264-log-app-hash-as-hex.md rename to .changelog/v0.38.0/improvements/1264-log-app-hash-as-hex.md diff --git a/.changelog/unreleased/improvements/543-metrics-for-blocksync.md b/.changelog/v0.38.0/improvements/543-metrics-for-blocksync.md similarity index 100% rename from .changelog/unreleased/improvements/543-metrics-for-blocksync.md rename to .changelog/v0.38.0/improvements/543-metrics-for-blocksync.md diff --git a/.changelog/unreleased/improvements/638-json-rpc-error-message.md b/.changelog/v0.38.0/improvements/638-json-rpc-error-message.md similarity index 100% rename from .changelog/unreleased/improvements/638-json-rpc-error-message.md rename to .changelog/v0.38.0/improvements/638-json-rpc-error-message.md diff --git a/.changelog/unreleased/improvements/6443-merkle-hashalternatives-perf-improv-a.md b/.changelog/v0.38.0/improvements/6443-merkle-hashalternatives-perf-improv-a.md similarity index 100% rename from .changelog/unreleased/improvements/6443-merkle-hashalternatives-perf-improv-a.md rename to .changelog/v0.38.0/improvements/6443-merkle-hashalternatives-perf-improv-a.md diff --git a/.changelog/unreleased/improvements/6509-pex-addrbook-perf-improv.md b/.changelog/v0.38.0/improvements/6509-pex-addrbook-perf-improv.md similarity index 100% rename from .changelog/unreleased/improvements/6509-pex-addrbook-perf-improv.md rename to .changelog/v0.38.0/improvements/6509-pex-addrbook-perf-improv.md diff --git a/.changelog/unreleased/improvements/6513-merkle-hashalternatives-perf-improv-b.md b/.changelog/v0.38.0/improvements/6513-merkle-hashalternatives-perf-improv-b.md similarity index 100% rename from .changelog/unreleased/improvements/6513-merkle-hashalternatives-perf-improv-b.md rename to .changelog/v0.38.0/improvements/6513-merkle-hashalternatives-perf-improv-b.md diff --git a/.changelog/unreleased/improvements/654-rpc-rm-response-data-logs.md b/.changelog/v0.38.0/improvements/654-rpc-rm-response-data-logs.md similarity index 100% rename from .changelog/unreleased/improvements/654-rpc-rm-response-data-logs.md rename to .changelog/v0.38.0/improvements/654-rpc-rm-response-data-logs.md diff --git a/.changelog/unreleased/improvements/7319-pubsub-query-perf-improv.md b/.changelog/v0.38.0/improvements/7319-pubsub-query-perf-improv.md similarity index 100% rename from .changelog/unreleased/improvements/7319-pubsub-query-perf-improv.md rename to .changelog/v0.38.0/improvements/7319-pubsub-query-perf-improv.md diff --git a/.changelog/unreleased/improvements/797-pubsub-float.md b/.changelog/v0.38.0/improvements/797-pubsub-float.md similarity index 100% rename from .changelog/unreleased/improvements/797-pubsub-float.md rename to .changelog/v0.38.0/improvements/797-pubsub-float.md diff --git a/.changelog/unreleased/improvements/857-make-handshake-cancelable.md b/.changelog/v0.38.0/improvements/857-make-handshake-cancelable.md similarity index 100% rename from .changelog/unreleased/improvements/857-make-handshake-cancelable.md rename to .changelog/v0.38.0/improvements/857-make-handshake-cancelable.md diff --git a/.changelog/unreleased/improvements/980-max-size-more-control.md b/.changelog/v0.38.0/improvements/980-max-size-more-control.md similarity index 100% rename from .changelog/unreleased/improvements/980-max-size-more-control.md rename to .changelog/v0.38.0/improvements/980-max-size-more-control.md diff --git a/.changelog/v0.38.0/summary.md b/.changelog/v0.38.0/summary.md new file mode 100644 index 00000000000..f34c7c5f82b --- /dev/null +++ b/.changelog/v0.38.0/summary.md @@ -0,0 +1,13 @@ +*September 12, 2023* + +This release includes the second part of ABCI++, called ABCI 2.0. +ABCI 2.0 introduces ABCI methods `ExtendVote` and `VerifyVoteExtension`. +These new methods allow the application to add data (opaque to CometBFT), +called _vote extensions_ to precommit votes sent by validators. +These vote extensions are made available to the proposer(s) of the next height. +Additionally, ABCI 2.0 coalesces `BeginBlock`, `DeliverTx`, and `EndBlock` +into one method, `FinalizeBlock`, whose `Request*` and `Response*` +data structures contain the sum of all data previously contained +in the respective `Request*` and `Response*` data structures in +`BeginBlock`, `DeliverTx`, and `EndBlock`. +See the [specification](./spec/abci/) for more details on ABCI 2.0. diff --git a/CHANGELOG.md b/CHANGELOG.md index 770f2ed5ebf..8ec1ab7ea6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,28 +1,41 @@ # CHANGELOG -## Unreleased +## v0.38.0 + +*September 12, 2023* + +This release includes the second part of ABCI++, called ABCI 2.0. +ABCI 2.0 introduces ABCI methods `ExtendVote` and `VerifyVoteExtension`. +These new methods allow the application to add data (opaque to CometBFT), +called _vote extensions_ to precommit votes sent by validators. +These vote extensions are made available to the proposer(s) of the next height. +Additionally, ABCI 2.0 coalesces `BeginBlock`, `DeliverTx`, and `EndBlock` +into one method, `FinalizeBlock`, whose `Request*` and `Response*` +data structures contain the sum of all data previously contained +in the respective `Request*` and `Response*` data structures in +`BeginBlock`, `DeliverTx`, and `EndBlock`. +See the [specification](./spec/abci/) for more details on ABCI 2.0. ### BREAKING CHANGES -- The `TMHOME` environment variable was renamed to `CMTHOME`, and all environment variables starting with `TM_` are instead prefixed with `CMT_` - ([\#211](https://github.com/cometbft/cometbft/issues/211)) -- `[protobuf]` Remove fields `sender`, `priority`, and `mempool_error` from - `ResponseCheckTx`. ([\#260](https://github.com/cometbft/cometbft/issues/260)) - `[mempool]` Remove priority mempool. ([\#260](https://github.com/cometbft/cometbft/issues/260)) - `[config]` Remove `Version` field from `MempoolConfig`. ([\#260](https://github.com/cometbft/cometbft/issues/260)) -- Bump minimum Go version to 1.20 - ([\#385](https://github.com/cometbft/cometbft/issues/385)) +- `[protobuf]` Remove fields `sender`, `priority`, and `mempool_error` from + `ResponseCheckTx`. ([\#260](https://github.com/cometbft/cometbft/issues/260)) - `[crypto/merkle]` Do not allow verification of Merkle Proofs against empty trees (`nil` root). `Proof.ComputeRootHash` now panics when it encounters an error, but `Proof.Verify` does not panic ([\#558](https://github.com/cometbft/cometbft/issues/558)) - `[state/kvindexer]` Remove the function type from the event key stored in the database. This should be breaking only for people who forked CometBFT and interact directly with the indexers kvstore. ([\#774](https://github.com/cometbft/cometbft/pull/774)) -- `[kvindexer]` Added support for big integers and big floats in the kvindexer. +- `[rpc]` Removed `begin_block_events` and `end_block_events` from `BlockResultsResponse`. + The events are merged into one field called `finalize_block_events`. + ([\#9427](https://github.com/tendermint/tendermint/issues/9427)) +- `[pubsub]` Added support for big integers and big floats in the pubsub event query system. Breaking changes: function `Number` in package `libs/pubsub/query/syntax` changed its return value. ([\#797](https://github.com/cometbft/cometbft/pull/797)) -- `[pubsub]` Added support for big integers and big floats in the pubsub event query system. +- `[kvindexer]` Added support for big integers and big floats in the kvindexer. Breaking changes: function `Number` in package `libs/pubsub/query/syntax` changed its return value. ([\#797](https://github.com/cometbft/cometbft/pull/797)) - `[mempool]` Application can now set `ConsensusParams.Block.MaxBytes` to -1 @@ -34,9 +47,18 @@ for people who forked CometBFT and interact directly with the indexers kvstore. returned in `ResponsePrepareProposal.txs` does not exceed `RequestPrepareProposal.max_tx_bytes`, otherwise CometBFT will panic. ([\#980](https://github.com/cometbft/cometbft/issues/980)) +- `[node/state]` Add Go API to bootstrap block store and state store to a height. Make sure block sync starts syncing from bootstrapped height. + ([\#1057](https://github.com/tendermint/tendermint/pull/#1057)) (@yihuang) +- `[state/store]` Added Go functions to save height at which offline state sync is performed. + ([\#1057](https://github.com/tendermint/tendermint/pull/#1057)) (@jmalicevic) +- `[p2p]` Remove UPnP functionality + ([\#1113](https://github.com/cometbft/cometbft/issues/1113)) - `[node]` Removed `ConsensusState()` accessor from `Node` struct - all access to consensus state should go via the reactor ([\#1120](https://github.com/cometbft/cometbft/pull/1120)) +- `[state]` Signature of `ExtendVote` changed in `BlockExecutor`. + It now includes the block whose precommit will be extended, an the state object. + ([\#1270](https://github.com/cometbft/cometbft/pull/1270)) - `[state]` Move pruneBlocks from node/state to state/execution. ([\#6541](https://github.com/tendermint/tendermint/pull/6541)) - `[abci]` Move `app_hash` parameter from `Commit` to `FinalizeBlock` @@ -48,11 +70,11 @@ for people who forked CometBFT and interact directly with the indexers kvstore. ([\#9625](https://github.com/tendermint/tendermint/pull/9625)) - `[rpc]` Remove global environment and replace with constructor ([\#9655](https://github.com/tendermint/tendermint/pull/9655)) +- `[node]` Move DBContext and DBProvider from the node package to the config + package. ([\#9655](https://github.com/tendermint/tendermint/pull/9655)) - `[inspect]` Add a new `inspect` command for introspecting the state and block store of a crashed tendermint node. ([\#9655](https://github.com/tendermint/tendermint/pull/9655)) -- `[node]` Move DBContext and DBProvider from the node package to the config - package. ([\#9655](https://github.com/tendermint/tendermint/pull/9655)) - `[metrics]` Move state-syncing and block-syncing metrics to their respective packages. Move labels from block_syncing -> blocksync_syncing and state_syncing -> statesync_syncing @@ -60,13 +82,6 @@ for people who forked CometBFT and interact directly with the indexers kvstore. ### BUG FIXES -- `[consensus]` Fixed a busy loop that happened when sending of a block part failed by sleeping in case of error. - ([\#4](https://github.com/informalsystems/tendermint/pull/4)) -- `[consensus]` Short-term fix for the case when `needProofBlock` cannot find - previous block meta by defaulting to the creation of a new proof block. - Special thanks to the [Vega.xyz](https://vega.xyz/) team, and in particular to - Zohar (@ze97286), for reporting the problem and working with us to get to a - fix. ([\#386](https://github.com/cometbft/cometbft/pull/386)) - `[kvindexer]` Forward porting the fixes done to the kvindexer in 0.37 in PR \#77 ([\#423](https://github.com/cometbft/cometbft/pull/423)) - `[consensus]` Unexpected error conditions in `ApplyBlock` are non-recoverable, so ignoring the error and carrying on is a bug. We replaced a `return` that disregarded the error by a `panic`. @@ -83,7 +98,8 @@ for people who forked CometBFT and interact directly with the indexers kvstore. `ExecTxResult` ([\#855](https://github.com/cometbft/cometbft/issues/855)). - `[consensus]` Avoid recursive call after rename to (*PeerState).MarshalJSON ([\#863](https://github.com/cometbft/cometbft/pull/863)) -- `[mempool/clist_mempool]` \#890 Prevent a transaction to appear twice in the mempool (@otrack) +- `[mempool/clist_mempool]` Prevent a transaction to appear twice in the mempool + ([\#890](https://github.com/cometbft/cometbft/pull/890): @otrack) - `[docker]` Ensure Docker image uses consistent version of Go. ([\#9462](https://github.com/tendermint/tendermint/pull/9462)) - `[abci-cli]` Fix broken abci-cli help command. @@ -98,17 +114,21 @@ for people who forked CometBFT and interact directly with the indexers kvstore. ### FEATURES +- `[node/state]` Add Go API to bootstrap block store and state store to a height + ([\#1057](https://github.com/tendermint/tendermint/pull/#1057)) (@yihuang) +- `[proxy]` Introduce `NewConnSyncLocalClientCreator`, which allows local ABCI + clients to have the same concurrency model as remote clients (i.e. one mutex + per client "connection", for each of the four ABCI "connections"). + ([tendermint/tendermint\#9830](https://github.com/tendermint/tendermint/pull/9830) + and [\#1145](https://github.com/cometbft/cometbft/pull/1145)) - `[proxy]` Introduce `NewUnsyncLocalClientCreator`, which allows local ABCI clients to have the same concurrency model as remote clients (i.e. one mutex per client "connection", for each of the four ABCI "connections"). ([\#9830](https://github.com/tendermint/tendermint/pull/9830)) +- `[abci]` New ABCI methods `VerifyVoteExtension` and `ExtendVote` allow validators to validate the vote extension data attached to a pre-commit message and allow applications to let their validators do more than just validate within consensus ([\#9836](https://github.com/tendermint/tendermint/pull/9836)) ### IMPROVEMENTS -- `[e2e]` Add functionality for uncoordinated (minor) upgrades - ([\#56](https://github.com/tendermint/tendermint/pull/56)) -- `[tools/tm-signer-harness]` Remove the folder as it is unused - ([\#136](https://github.com/cometbft/cometbft/issues/136)) - `[blocksync]` Generate new metrics during BlockSync ([\#543](https://github.com/cometbft/cometbft/pull/543)) - `[jsonrpc/client]` Improve the error message for client errors stemming from @@ -126,6 +146,9 @@ for people who forked CometBFT and interact directly with the indexers kvstore. It also allows the application to have visibility on all transactions in the mempool at `PrepareProposal` time. ([\#980](https://github.com/cometbft/cometbft/pull/980)) +- `[node]` Close evidence.db OnStop ([cometbft/cometbft\#1210](https://github.com/cometbft/cometbft/pull/1210): @chillyvee) +- `[state]` Make logging `block_app_hash` and `app_hash` consistent by logging them both as hex. + ([\#1264](https://github.com/cometbft/cometbft/pull/1264)) - `[crypto/merkle]` Improve HashAlternatives performance ([\#6443](https://github.com/tendermint/tendermint/pull/6443)) - `[p2p/pex]` Improve addrBook.hash performance @@ -134,8 +157,6 @@ for people who forked CometBFT and interact directly with the indexers kvstore. ([\#6513](https://github.com/tendermint/tendermint/pull/6513)) - `[pubsub]` Performance improvements for the event query API ([\#7319](https://github.com/tendermint/tendermint/pull/7319)) -- `[rpc]` Enable caching of RPC responses - ([\#9650](https://github.com/tendermint/tendermint/pull/9650)) ## v0.37.0 diff --git a/UPGRADING.md b/UPGRADING.md index 2082baf21e0..4f1e4cb3d15 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -2,7 +2,7 @@ This guide provides instructions for upgrading to specific versions of CometBFT. -## Unreleased +## v0.38.0 This release introduces state machine-breaking changes, as well as substantial changes on the ABCI interface and indexing. It therefore requires a diff --git a/version/version.go b/version/version.go index e4ce8c61a50..c263a82921f 100644 --- a/version/version.go +++ b/version/version.go @@ -3,7 +3,7 @@ package version const ( // TMVersionDefault is the used as the fallback version of CometBFT // when not using git describe. It is formatted with semantic versioning. - TMCoreSemVer = "0.38.0-rc3" + TMCoreSemVer = "0.38.0" // ABCISemVer is the semantic version of the ABCI protocol ABCISemVer = "2.0.0" ABCIVersion = ABCISemVer