Skip to content

Commit

Permalink
Merge branch main into feature/abci++vef
Browse files Browse the repository at this point in the history
  • Loading branch information
sergio-mena committed Mar 23, 2023
2 parents c63b986 + 23389e7 commit 20179ec
Show file tree
Hide file tree
Showing 260 changed files with 2,637 additions and 1,409 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[kvindexer]` Forward porting the fixes done to the kvindexer in 0.37 in PR \#77
([\#423](https://github.com/cometbft/cometbft/pull/423))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[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`.
([\#496](https://github.com/cometbft/cometbft/pull/496))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[consensus]` Rename `(*PeerState).ToJSON` to `MarshalJSON` to fix a logging data race
([\#524](https://github.com/cometbft/cometbft/pull/524))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[blocksync]` Generate new metrics during BlockSync
([\#543](https://github.com/cometbft/cometbft/pull/543))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Rename binary to `cometbft` and Docker image to `cometbft/cometbft`
([\#152](https://github.com/cometbft/cometbft/pull/152))
3 changes: 3 additions & 0 deletions .changelog/v0.34.27/breaking-changes/211-deprecate-tmhome.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- 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))
2 changes: 2 additions & 0 deletions .changelog/v0.34.27/breaking-changes/360-update-to-go-119.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Use Go 1.19 to build CometBFT, since Go 1.18 has reached end-of-life.
([\#360](https://github.com/cometbft/cometbft/issues/360))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[state/kvindexer]` Resolved crashes when event values contained slashes,
introduced after adding event sequences.
(\#[383](https://github.com/cometbft/cometbft/pull/383): @jmalicevic)
6 changes: 6 additions & 0 deletions .changelog/v0.34.27/bug-fixes/386-quick-fix-needproofblock.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- `[consensus]` Short-term fix for the case when `needProofBlock` cannot find
previous block meta by defaulting to the creation of a new proof block.
([\#386](https://github.com/cometbft/cometbft/pull/386): @adizere)
- 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.
3 changes: 3 additions & 0 deletions .changelog/v0.34.27/bug-fixes/4-busy-loop-send-block-part.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[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))
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- `[p2p]` Correctly use non-blocking `TrySendEnvelope` method when attempting to
send messages, as opposed to the blocking `SendEnvelope` method. It is unclear
whether this has a meaningful impact on P2P performance, but this patch does
correct the underlying behaviour to what it should be
([tendermint/tendermint\#9936](https://github.com/tendermint/tendermint/pull/9936))
3 changes: 3 additions & 0 deletions .changelog/v0.34.27/dependencies/160-tmdb-to-cometbftdb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- Replace [tm-db](https://github.com/tendermint/tm-db) with
[cometbft-db](https://github.com/cometbft/cometbft-db)
([\#160](https://github.com/cometbft/cometbft/pull/160))
2 changes: 2 additions & 0 deletions .changelog/v0.34.27/dependencies/165-bump-tmloadtest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Bump tm-load-test to v1.3.0 to remove implicit dependency on Tendermint Core
([\#165](https://github.com/cometbft/cometbft/pull/165))
3 changes: 3 additions & 0 deletions .changelog/v0.34.27/dependencies/9787-btcec-dep-update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[crypto]` Update to use btcec v2 and the latest btcutil
([tendermint/tendermint\#9787](https://github.com/tendermint/tendermint/pull/9787):
@wcsiu)
3 changes: 3 additions & 0 deletions .changelog/v0.34.27/features/9759-kvindexer-match-event.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[rpc]` Add `match_event` query parameter to indicate to the RPC that it
should match events _within_ attributes, not only within a height
([tendermint/tendermint\#9759](https://github.com/tendermint/tendermint/pull/9759))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[tools/tm-signer-harness]` Remove the folder as it is unused
([\#136](https://github.com/cometbft/cometbft/issues/136))
2 changes: 2 additions & 0 deletions .changelog/v0.34.27/improvements/204-version-commit-hash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Append the commit hash to the version of CometBFT being built
([\#204](https://github.com/cometbft/cometbft/pull/204))
3 changes: 3 additions & 0 deletions .changelog/v0.34.27/improvements/314-prio-mempool-badtxlog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[mempool/v1]` Suppress "rejected bad transaction" in priority mempool logs by
reducing log level from info to debug
([\#314](https://github.com/cometbft/cometbft/pull/314): @JayT106)
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[e2e]` Add functionality for uncoordinated (minor) upgrades
([\#56](https://github.com/tendermint/tendermint/pull/56))
4 changes: 4 additions & 0 deletions .changelog/v0.34.27/improvements/9733-consensus-metrics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- `[consensus]` Add `consensus_block_gossip_parts_received` and
`consensus_step_duration_seconds` metrics in order to aid in investigating the
impact of database compaction on consensus performance
([tendermint/tendermint\#9733](https://github.com/tendermint/tendermint/pull/9733))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[state/kvindexer]` Add `match.event` keyword to support condition evaluation
based on the event the attributes belong to
([tendermint/tendermint\#9759](https://github.com/tendermint/tendermint/pull/9759))
4 changes: 4 additions & 0 deletions .changelog/v0.34.27/improvements/9764-p2p-fix-logspam.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- `[p2p]` Reduce log spam through reducing log level of "Dialing peer" and
"Added peer" messages from info to debug
([tendermint/tendermint\#9764](https://github.com/tendermint/tendermint/pull/9764):
@faddat)
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[consensus]` Reduce bandwidth consumption of consensus votes by roughly 50%
through fixing a small logic bug
([tendermint/tendermint\#9776](https://github.com/tendermint/tendermint/pull/9776))
17 changes: 17 additions & 0 deletions .changelog/v0.34.27/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
*Feb 27, 2023*

This is the first official release of CometBFT - a fork of [Tendermint
Core](https://github.com/tendermint/tendermint). This particular release is
intended to be compatible with the Tendermint Core v0.34 release series.

For details as to how to upgrade to CometBFT from Tendermint Core, please see
our [upgrading guidelines](./UPGRADING.md).

If you have any questions, comments, concerns or feedback on this release, we
would love to hear from you! Please contact us via [GitHub
Discussions](https://github.com/cometbft/cometbft/discussions),
[Discord](https://discord.gg/cosmosnetwork) (in the `#cometbft` channel) or
[Telegram](https://t.me/CometBFT).

Special thanks to @wcsiu, @ze97286, @faddat and @JayT106 for their contributions
to this release!
2 changes: 2 additions & 0 deletions .changelog/v0.37.0/breaking-changes/211-deprecate-tmhome.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- 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))
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- `[p2p]` Reactor `Send`, `TrySend` and `Receive` renamed to `SendEnvelope`,
`TrySendEnvelope` and `ReceiveEnvelope` to allow metrics to be appended to
messages and measure bytes sent/received.
([\#230](https://github.com/cometbft/cometbft/pull/230))
2 changes: 2 additions & 0 deletions .changelog/v0.37.0/breaking-changes/385-update-to-go1.20.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Bump minimum Go version to 1.20
([\#385](https://github.com/cometbft/cometbft/issues/385))
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- [config] The boolean key `fastsync` is deprecated and replaced by
`block_sync`. ([\#9259](https://github.com/tendermint/tendermint/pull/9259))
At the same time, `block_sync` is also deprecated. In the next release,
BlocSync will always be enabled and `block_sync` will be removed.
([\#409](https://github.com/cometbft/cometbft/issues/409))
3 changes: 3 additions & 0 deletions .changelog/v0.37.0/breaking-changes/5783-abci-lenght-delim.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[abci]` Make length delimiter encoding consistent
(`uint64`) between ABCI and P2P wire-level protocols
([\#5783](https://github.com/tendermint/tendermint/pull/5783))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[abci]` Change the `key` and `value` fields from
`[]byte` to `string` in the `EventAttribute` type.
([\#6403](https://github.com/tendermint/tendermint/pull/6403))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[abci/counter]` Delete counter example app
([\#6684](https://github.com/tendermint/tendermint/pull/6684))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[abci]` Renamed `EvidenceType` to `MisbehaviorType` and `Evidence`
to `Misbehavior` as a more accurate label of their contents.
([\#8216](https://github.com/tendermint/tendermint/pull/8216))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[abci]` Added cli commands for `PrepareProposal` and `ProcessProposal`.
([\#8656](https://github.com/tendermint/tendermint/pull/8656))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[abci]` Added cli commands for `PrepareProposal` and `ProcessProposal`.
([\#8901](https://github.com/tendermint/tendermint/pull/8901))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[abci]` Renamed `LastCommitInfo` to `CommitInfo` in preparation for vote
extensions. ([\#9122](https://github.com/tendermint/tendermint/pull/9122))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- Change spelling from British English to American. Rename
`Subscription.Cancelled()` to `Subscription.Canceled()` in `libs/pubsub`
([\#9144](https://github.com/tendermint/tendermint/pull/9144))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[abci]` Removes unused Response/Request `SetOption` from ABCI
([\#9145](https://github.com/tendermint/tendermint/pull/9145))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[config]` Rename the fastsync section and the
fast\_sync key blocksync and block\_sync respectively
([\#9259](https://github.com/tendermint/tendermint/pull/9259))
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- `[abci/params]` Deduplicate `ConsensusParams` and `BlockParams` so
only `types` proto definitions are use. Remove `TimeIotaMs` and use
a hard-coded 1 millisecond value to ensure monotonically increasing
block times. Rename `AppVersion` to `App` so as to not stutter.
([\#9287](https://github.com/tendermint/tendermint/pull/9287))
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- `[types]` Reduce the use of protobuf types in core logic. `ConsensusParams`,
`BlockParams`, `ValidatorParams`, `EvidenceParams`, `VersionParams` have
become native types. They still utilize protobuf when being sent over
the wire or written to disk. Moved `ValidateConsensusParams` inside
(now native type) `ConsensusParams`, and renamed it to `ValidateBasic`.
([\#9287](https://github.com/tendermint/tendermint/pull/9287))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[abci]` New ABCI methods `PrepareProposal` and `ProcessProposal` which give
the app control over transactions proposed and allows for verification of
proposed blocks. ([\#9301](https://github.com/tendermint/tendermint/pull/9301))
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- `[state/kvindexer]` Resolved crashes when event values contained slashes,
introduced after adding event sequences in
[\#77](https://github.com/cometbft/cometbft/pull/77). @jmalicevic
([\#382](https://github.com/cometbft/cometbft/pull/382))
2 changes: 2 additions & 0 deletions .changelog/v0.37.0/bug-fixes/386-quick-fix-needproofblock.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[consensus]` ([\#386](https://github.com/cometbft/cometbft/pull/386)) Short-term fix for the case when `needProofBlock` cannot find previous block meta by defaulting to the creation of a new proof block. (@adizere)
- 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.
2 changes: 2 additions & 0 deletions .changelog/v0.37.0/bug-fixes/4-busy-loop-send-block-part.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[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))
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- `[state/kvindexer]` Fixed the default behaviour of the kvindexer to index and
query attributes by events in which they occur. In 0.34.25 this was mitigated
by a separated RPC flag. @jmalicevic
([\#77](https://github.com/cometbft/cometbft/pull/77))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[docker]` enable cross platform build using docker buildx
([\#9073](https://github.com/tendermint/tendermint/pull/9073))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[consensus]` fix round number of `enterPropose`
when handling `RoundStepNewRound` timeout.
([\#9229](https://github.com/tendermint/tendermint/pull/9229))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[docker]` ensure Docker image uses consistent version of Go
([\#9462](https://github.com/tendermint/tendermint/pull/9462))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[p2p]` prevent peers who have errored from being added to `peer_set`
([\#9500](https://github.com/tendermint/tendermint/pull/9500))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[blocksync]` handle the case when the sending
queue is full: retry block request after a timeout
([\#9518](https://github.com/tendermint/tendermint/pull/9518))
3 changes: 3 additions & 0 deletions .changelog/v0.37.0/features/9301-abci-add-v1-methods.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[abci]` New ABCI methods `PrepareProposal` and `ProcessProposal` which give
the app control over transactions proposed and allows for verification of
proposed blocks. ([\#9301](https://github.com/tendermint/tendermint/pull/9301))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[tools/tm-signer-harness]` Remove the folder as it is unused
([\#136](https://github.com/cometbft/cometbft/issues/136))
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- `[p2p]` Reactor `Send`, `TrySend` and `Receive` renamed to `SendEnvelope`,
`TrySendEnvelope` and `ReceiveEnvelope` to allow metrics to be appended to
messages and measure bytes sent/received.
([\#230](https://github.com/cometbft/cometbft/pull/230))
2 changes: 2 additions & 0 deletions .changelog/v0.37.0/improvements/56-rpc-cache-rpc-responses.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[e2e]` Add functionality for uncoordinated (minor) upgrades
([\#56](https://github.com/tendermint/tendermint/pull/56))
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- `[abci]` Added `AbciVersion` to `RequestInfo` allowing
applications to check ABCI version when connecting to CometBFT.
([\#5706](https://github.com/tendermint/tendermint/pull/5706))
4 changes: 4 additions & 0 deletions .changelog/v0.37.0/improvements/9171-cli-add-hard-flag.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- `[cli]` add `--hard` flag to rollback command (and a boolean to the `RollbackState` method). This will rollback
state and remove the last block. This command can be triggered multiple times. The application must also rollback
state to the same height.
([\#9171](https://github.com/tendermint/tendermint/pull/9171))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[crypto]` Update to use btcec v2 and the latest btcutil.
([\#9250](https://github.com/tendermint/tendermint/pull/9250))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[rpc]` Added `header` and `header_by_hash` queries to the RPC client
([\#9276](https://github.com/tendermint/tendermint/pull/9276))
2 changes: 2 additions & 0 deletions .changelog/v0.37.0/improvements/9356-proto-use-cosmos-gogo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[proto]` Migrate from `gogo/protobuf` to `cosmos/gogoproto`
([\#9356](https://github.com/tendermint/tendermint/pull/9356))
2 changes: 2 additions & 0 deletions .changelog/v0.37.0/improvements/9650-rpc-enable-caching.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[rpc]` Enable caching of RPC responses
([\#9650](https://github.com/tendermint/tendermint/pull/9650))
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- `[consensus]` Save peer LastCommit correctly to achieve 50% reduction in gossiped precommits.
([\#9760](https://github.com/tendermint/tendermint/pull/9760))
25 changes: 25 additions & 0 deletions .changelog/v0.37.0/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
*March 6, 2023*

This is the first CometBFT release with ABCI 1.0, which introduces the
`PrepareProposal` and `ProcessProposal` methods, with the aim of expanding the
range of use cases that application developers can address. This is the first
change to ABCI towards ABCI++, and the full range of ABCI++ functionality will
only become available in the next major release with ABCI 2.0. See the
[specification](./spec/abci/) for more details.

In the v0.34.27 release, the CometBFT Go module is still
`github.com/tendermint/tendermint` to facilitate ease of upgrading for users,
but in this release we have changed this to `github.com/cometbft/cometbft`.

Please also see our [upgrading guidelines](./UPGRADING.md) for more details on
upgrading from the v0.34 release series.

Also see our [QA results](https://docs.cometbft.com/v0.37/qa/v037/cometbft) for
the v0.37 release.

We'd love your feedback on this release! Please reach out to us via one of our
communication channels, such as [GitHub
Discussions](https://github.com/cometbft/cometbft/discussions), with any of your
questions, comments and/or concerns.

See below for more details.
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
goos: ["linux"]
timeout-minutes: 5
steps:
- uses: actions/setup-go@v3
- uses: actions/setup-go@v4
with:
go-version: "1.20"
- uses: actions/checkout@v3
Expand All @@ -42,7 +42,7 @@ jobs:
needs: build
timeout-minutes: 5
steps:
- uses: actions/setup-go@v3
- uses: actions/setup-go@v4
with:
go-version: "1.20"
- uses: actions/checkout@v3
Expand All @@ -64,7 +64,7 @@ jobs:
needs: build
timeout-minutes: 5
steps:
- uses: actions/setup-go@v3
- uses: actions/setup-go@v4
with:
go-version: "1.20"
- uses: actions/checkout@v3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/check-generated.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
check-mocks:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v3
- uses: actions/setup-go@v4
with:
go-version: "1.20"

Expand All @@ -41,7 +41,7 @@ jobs:
check-proto:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v3
- uses: actions/setup-go@v4
with:
go-version: "1.20"

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cometbft-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
platforms: all

- name: Set up Docker Build
uses: docker/setup-buildx-action@v2.4.1
uses: docker/setup-buildx-action@v2.5.0

- name: Login to DockerHub
if: ${{ github.event_name != 'pull_request' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/e2e-long-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 120
steps:
- uses: actions/setup-go@v3
- uses: actions/setup-go@v4
with:
go-version: '1.20'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/e2e-manual-multiversion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/setup-go@v3
- uses: actions/setup-go@v4
with:
go-version: '1.20'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/e2e-manual.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/setup-go@v3
- uses: actions/setup-go@v4
with:
go-version: '1.20'

Expand Down
Loading

0 comments on commit 20179ec

Please sign in to comment.