diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b55a74b18..b17c43821c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,18 @@ -## [0.11.2] - 2023-05-03 +## [0.11.3] - 2023-06-29 ### Bug Fixes -- Invalid threshold for LLMQType_25_67 (#628) -## [0.11.1] - 2023-05-02 +- Prod image high cpu load due to deadlock detection (#652) -### Bug Fixes -- Missing quorum params (#626) +### Features + +- Add ability to write logs in a file (#632) + +### Miscellaneous Tasks + +- Catch up the changes from master into v0.11 dev (#629) -## [0.11.0] - 2023-04-04 +## [0.11.1] - 2023-05-02 ### Bug Fixes @@ -30,6 +34,7 @@ - Broken error handling in ValueOp (VSA-2022-100) (#601) - Broken error handling in ValueOp (VSA-2022-100) (#601) - Nil voteset panics in rest handler (#609) (#612) +- Update quorum params (#626) ### Features @@ -56,6 +61,7 @@ - Update changelog and version to 0.10.0-dev.11 (#591) - Update changelog and version to 0.11.0-dev.4 (#593) - Add quote to CGO variables in Makefile (#597) +- Update changelog and version to 0.11.1 (#627) ### Refactor @@ -107,6 +113,7 @@ - Bump bufbuild/buf-setup-action from 1.13.1 to 1.14.0 (#577) - Move e2e-manual.yml logic to e2e.yml (#578) - Fix broken github actions and regenerate some code (#615) +- Bump github/super-linter from 4 to 5 (#624) ## [0.8.0] - 2022-12-07 @@ -263,22 +270,6 @@ - Fix build - Fix abcidump after backport - Update changelog and version to 0.8.0 -- [**breaking**] Rename genesis.json quorum fields (#515) -- [**breaking**] Remove Snapshot.core_chain_locked_height (#527) -- Update changelog and version to 0.10.0-dev.6 (#526) -- Update changelog and version to 0.11.0-dev.1 (#530) -- Update changelog and version to 0.10.0-dev.7 (#536) -- Update bls library (#535) -- Update changelog and version to 0.10.0-dev.9 (#579) -- Update changelog and version to 0.11.0-dev.2 (#583) -- Update changelog and version to 0.11.0-dev.3 (#586) -- Bump up dashd-go version to v0.23.6 (#587) -- Update changelog and version to 0.10.0-dev.10 (#588) -- Update changelog and version to 0.10.0-dev.11 (#591) -- Update changelog and version to 0.11.0-dev.4 (#593) -- Add quote to CGO variables in Makefile (#597) -- Update changelog and version to 0.11.1 (#627) -- Catch up the changes from master into v0.11 dev (#629) ### PBTS @@ -465,15 +456,10 @@ ### ADR -- Synchronize PBTS ADR with spec (#7764) - Protocol Buffers Management (#8029) ### Bug Fixes -- Detect and fix data-race in MockPV (#262) -- Race condition when logging (#271) -- Decrease memory used by debug logs (#280) -- Tendermint stops when validator node id lookup fails (#279) - Backport e2e tests (#248) - Remove option c form linux build (#305) - Cannot read properties of undefined @@ -488,26 +474,6 @@ ### Documentation -- Fix some typos in ADR 075. (#7726) -- Drop v0.32 from the doc site configuration (#7741) -- Fix RPC output examples for GET queries (#7799) -- Fix ToC file extension for RFC 004. (#7813) -- Rename RFC 008 (#7841) -- Fix broken markdown links (cherry-pick of #7847) (#7848) -- Fix broken markdown links (#7847) -- Update spec links to point to tendermint/tendermint (#7851) -- Remove unnecessary os.Exit calls at the end of main (#7861) -- Fix misspelled file name (#7863) -- Remove spec section from v0.35 docs (#7899) -- Pin the RPC docs to v0.35 instead of master (#7909) -- Pin the RPC docs to v0.35 instead of master (backport #7909) (#7911) -- Update repo and spec readme's (#7907) -- Redirect master links to the latest release version (#7936) -- Redirect master links to the latest release version (backport #7936) (#7954) -- Fix cosmos theme version. (#7966) -- Point docs/master to the same content as the latest release (backport #7980) (#7998) -- Fix some broken markdown links (#8021) -- Update ADR template (#7789) - Add an overview of the proposer-based timestamps algorithm (#8058) - PBTS synchrony issues runbook (#8129) - Go tutorial fixed for 0.35.0 version (#7329) (#7330) (#7331) @@ -516,10 +482,6 @@ ### Miscellaneous Tasks -- Update unit tests after backport fo tendermint v0.35 (#245) -- Backport Tenderdash 0.7 to 0.8 (#246) -- Fix e2e tests and protxhash population (#273) -- Improve logging for debug purposes - Stabilize consensus algorithm (#284) - Temporarily disable ARM build which is broken - Backport Tendermint 0.35.1 to Tenderdash 0.8 (#309) @@ -533,19 +495,8 @@ - Remove obsolete cache step - Update changelog and version to 0.7.1 -### PBTS - -- Spec reorganization, summary of changes on README.md (#399) - -### RFC - -- Add delete gas rfc (#7777) - ### Refactor -- Change node's proTxHash on slice from pointer of slice (#263) -- Some minor changes in validate-conn-executor and routerDashDialer (#277) -- Populate proTxHash in address-book (#274) - Replace several functions with an identical body (processStateCh,processDataCh,processVoteCh,processVoteSetBitsCh) on one function processMsgCh (#296) - [**breaking**] Replace is-masternode config with mode=validator (#308) - Add MustPubKeyToProto helper function (#311) @@ -558,10 +509,6 @@ ### Security -- Bump github.com/prometheus/client_golang from 1.12.0 to 1.12.1 (#7732) -- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 (#7829) -- Bump github.com/golangci/golangci-lint from 1.44.0 to 1.44.2 (#7854) -- Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 (#8026) - Bump actions/checkout from 2.4.0 to 3 (#8076) - Bump docker/login-action from 1.13.0 to 1.14.1 (#8075) - Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 (#8074) @@ -587,7 +534,6 @@ ### Testing -- Reduce usage of the MustDefaultLogger constructor (#7960) - Logger cleanup (#8153) - KeepInvalidTxsInCache test is invalid - Fix validator conn executor test backport @@ -597,14 +543,6 @@ ### Abci -- PrepareProposal (#6544) -- Vote Extension 1 (#6646) -- PrepareProposal-VoteExtension integration [2nd try] (#7821) -- Undo socket buffer limit (#7877) -- Make tendermint example+test clients manage a mutex (#7978) -- Remove lock protecting calls to the application interface (#7984) -- Use no-op loggers in the examples (#7996) -- Revert buffer limit change (#7990) - Synchronize FinalizeBlock with the updated specification (#7983) ### Abci++ @@ -615,22 +553,6 @@ - Correct max-size check to only operate on added and unmodified (#8242) - Only include meaningful header fields in data passed-through to application (#8216) -### Abci/client - -- Remove vestigially captured context (#7839) -- Remove waitgroup for requests (#7842) -- Remove client-level callback (#7845) -- Make flush operation sync (#7857) -- Remove lingering async client code (#7876) - -### Abci/kvstore - -- Test cleanup improvements (#7991) - -### Adr - -- Merge tendermint/spec repository into tendermint/tendermint (#7775) - ### Autofile - Reduce minor panic and docs changes (#8122) @@ -642,27 +564,11 @@ ### Blocksync -- Shutdown cleanup (#7840) - Drop redundant shutdown mechanisms (#8136) - Remove intermediate channel (#8140) ### Build -- Bump github.com/prometheus/client_golang (#7731) -- Bump docker/build-push-action from 2.8.0 to 2.9.0 (#397) -- Bump docker/build-push-action from 2.8.0 to 2.9.0 (#7780) -- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 (#7830) -- Bump docker/build-push-action from 2.7.0 to 2.9.0 -- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 -- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 -- Bump actions/github-script from 5 to 6 -- Bump docker/login-action from 1.10.0 to 1.12.0 -- Bump url-parse from 1.5.4 to 1.5.7 in /docs (#7855) -- Bump github.com/golangci/golangci-lint (#7853) -- Bump docker/login-action from 1.12.0 to 1.13.0 -- Bump docker/login-action from 1.12.0 to 1.13.0 (#7890) -- Bump prismjs from 1.26.0 to 1.27.0 in /docs (#8022) -- Bump url-parse from 1.5.7 to 1.5.10 in /docs (#8023) - Bump docker/login-action from 1.13.0 to 1.14.1 - Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 - Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) @@ -685,8 +591,6 @@ ### Ci -- Fix super-linter configuration settings (#7708) -- Fix super-linter configuration settings (backport #7708) (#7710) - Move test execution to makefile (#7372) (#7374) - Update mergify for tenderdash 0.8 - Cleanup build/test targets (backport #7393) (#7395) @@ -703,28 +607,14 @@ - Add graceful catches to SIGINT (#8308) - Simplify resetting commands (#8312) -### Clist - -- Remove unused waitgroup from clist implementation (#7843) - ### Cmd -- Avoid package state in cli constructors (#7719) - Make reset more safe (#8081) - Cosmetic changes for errors and print statements (#7377) (#7408) - Add integration test for rollback functionality (backport #7315) (#7369) -### Cmd/debug - -- Remove global variables and logging (#7957) - -### Conensus - -- Put timeouts on reactor tests (#7733) - ### Config -- Add event subscription options and defaults (#7930) - Add a Deprecation annotation to P2PConfig.Seeds. (#7496) (#7497) - Default indexer configuration to null (#8222) @@ -735,20 +625,6 @@ ### Consensus -- Remove unused closer construct (#7734) -- Delay start of peer routines (#7753) -- Delay start of peer routines (backport of #7753) (#7760) -- Tie peer threads to peer lifecylce context (#7792) -- Refactor operations in consensus queryMaj23Routine (#7791) -- Refactor operations in consensus queryMaj23Routine (backport #7791) (#7793) -- Start the timeout ticker before replay (#7844) -- Additional timing metrics (#7849) -- Additional timing metrics (backport #7849) (#7875) -- Improve cleanup of wal tests (#7878) -- HasVoteMessage index boundary check (#7720) -- TestReactorValidatorSetChanges test fix (#7985) -- Make orchestration more reliable for invalid precommit test (#8013) -- Validator set changes test cleanup (#8035) - Improve wal test cleanup (#8059) - Fix TestInvalidState race and reporting (#8071) - Ensure the node terminates on consensus failure (#8111) @@ -769,14 +645,8 @@ - Avoid panics during handshake (#8266) - Add nil check to gossip routine (#8288) -### Context - -- Cleaning up context dead ends (#7963) - ### E2e -- Plumb logging instance (#7958) -- Change ci network configuration (#7988) - Stabilize validator update form (#7340) (#7351) - Clarify apphash reporting (#7348) (#7352) - Generate keys for more stable load (#7344) (#7353) @@ -790,19 +660,9 @@ ### Evidence -- Refactored the evidence message to process Evidence instead of EvidenceList (#7700) - Manage and initialize state objects more clearly in the pool (#8080) - Remove source of non-determinism from test (#7266) (#7268) -### Github - -- Update e2e workflows (#7803) -- Add Informal code owners (#8042) - -### Indexer - -- Skip Docker tests when Docker is not available (#7814) - ### Internal/libs/protoio - Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) (#7426) @@ -815,38 +675,20 @@ - Fix decoding of block-hash row keys (#8294) -### Libs/cli - -- Clean up package (#7806) - ### Libs/clist - Remove unused surface area (#8134) ### Libs/events -- Remove unused event cache (#7807) - Remove unneccessary unsubscription code (#8135) ### Libs/log - Remove Must constructor (#8120) -### Libs/service - -- Regularize Stop semantics and concurrency primitives (#7809) - -### Libs/strings - -- Cleanup string helper function package (#7808) - ### Light -- Fix absence proof verification by light client (#7639) -- Fix absence proof verification by light client (backport #7639) (#7716) -- Remove legacy timeout scheme (#7776) -- Remove legacy timeout scheme (backport #7776) (#7786) -- Avert a data race (#7888) - Remove untracked close channel (#8228) ### Lint @@ -854,42 +696,17 @@ - Remove lll check (#7346) (#7357) - Bump linter version in ci (#8234) -### Logging - -- Allow logging level override (#7873) - -### Math - -- Remove panics in safe math ops (#7962) - ### Mempool -- Return duplicate tx errors more consistently (#7714) -- Return duplicate tx errors more consistently (backport #7714) (#7718) -- IDs issue fixes (#7763) -- Remove duplicate tx message from reactor logs (#7795) -- Fix benchmark CheckTx for hitting the GetEvictableTxs call (#7796) -- Use checktx sync calls (#7868) - Test harness should expose application (#8143) - Reduce size of test (#8152) -### Mempool+evidence - -- Simplify cleanup (#7794) - -### Metrics - -- Add metric for proposal timestamp difference (#7709) - ### Migration - Remove stale seen commits (#8205) ### Node -- Allow orderly shutdown if context is canceled and gensis is in the future (#7817) -- Clarify unneccessary logic in seed constructor (#7818) -- Hook up eventlog and eventlog metrics (#7981) - Excise node handle within rpc env (#8063) - Nodes should fetch state on startup (#8062) - Pass eventbus at construction time (#8084) @@ -905,18 +722,6 @@ ### P2p -- Pass start time to flowrate and cleanup constructors (#7838) -- Make mconn transport test less flaky (#7973) -- Mconn track last message for pongs (#7995) -- Relax pong timeout (#8007) -- Backport changes in ping/pong tolerances (#8009) -- Retry failed connections slightly more aggressively (#8010) -- Retry failed connections slightly more aggressively (backport #8010) (#8012) -- Ignore transport close error during cleanup (#8011) -- Plumb rudamentary service discovery to rectors and update statesync (#8030) -- Plumb rudamentary service discovery to rectors and update statesync (backport #8030) (#8036) -- Re-enable tests previously disabled (#8049) -- Update shim to transfer information about peers (#8047) - Update polling interval calculation for PEX requests (#8106) - Remove unnecessary panic handling in PEX reactor (#8110) - Adjust max non-persistent peer score (#8137) @@ -929,24 +734,16 @@ - Rate control refactor (#7828) -### P2p/message - -- Changed evidence message to contain evidence, not a list… (#394) - ### Proto -- Merge the proposer-based timestamps parameters (#393) -- Abci++ changes (#348) - Update proto generation to use buf (#7975) ### Proxy -- Fix endblock metric (#7989) - Collapse triforcated abci.Client (#8067) ### Pubsub -- Check for termination in UnsubscribeAll (#7820) - Report a non-nil error when shutting down. (#7310) - [minor] remove unused stub method (#8316) @@ -956,65 +753,30 @@ ### Rfc -- P2p light client (#7672) - RFC 015 ABCI++ Tx Mutation (#8033) -### Roadmap - -- Update to better reflect v0.36 changes (#7774) - ### Rollback - Cleanup second node during test (#8175) ### Rpc -- Add application info to `status` call (#7701) -- Remove unused websocket options (#7712) -- Clean up unused non-default websocket client options (#7713) -- Don't route websocket-only methods on GET requests (#7715) -- Clean up encoding of request and response messages (#7721) -- Simplify and consolidate response construction (#7725) -- Clean up unmarshaling of batch-valued responses (#7728) -- Simplify the handling of JSON-RPC request and response IDs (#7738) -- Fix layout of endpoint list (#7742) -- Fix layout of endpoint list (#7742) (#7744) -- Remove the placeholder RunState type. (#7749) -- Allow GET parameters that support encoding.TextUnmarshaler (#7800) -- Remove unused latency metric (#7810) -- Implement the eventlog defined by ADR 075 (#7825) -- Implement the ADR 075 /events method (#7965) -- Set a minimum long-polling interval for Events (#8050) - Backport experimental buffer size control parameters from #7230 (tm v0.35.x) (#7276) - Implement header and header_by_hash queries (backport #7270) (#7367) - Add more nil checks in the status end point (#8287) - Avoid leaking threads (#8328) -### Rpc/client - -- Add Events method to the client interface (#7982) -- Rewrite the WaitForOneEvent helper (#7986) -- Add eventstream helper (#7987) - ### Scmigrate - Ensure target key is correctly renamed (#8276) ### Service -- Change stop interface (#7816) - Add NopService and use for PexReactor (#8100) - Minor cleanup of comments (#8314) -### Spec - -- Merge spec repo into tendermint repo (#7804) -- Merge spec repo into tendermint repo (#7804) -- Minor updates to spec merge PR (#7835) - ### State -- Synchronize the ProcessProposal implementation with the latest version of the spec (#7961) - Avoid panics for marshaling errors (#8125) - Panic on ResponsePrepareProposal validation error (#8145) - Propogate error from state store (#8171) @@ -1023,11 +785,6 @@ ### Statesync -- Relax timing (#7819) -- Assert app version matches (#7856) -- Assert app version matches (backport #7856) (#7886) -- Avoid compounding retry logic for fetching consensus parameters (#8032) -- Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) - Avoid leaking a thread during tests (#8085) - Assert app version matches (backport #7856) (#7886) - Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) @@ -1038,4105 +795,7727 @@ - Move event publications into the sync operations (#8274) -### Sync+p2p - -- Remove closer (#7805) - ### Types -- Make timely predicate adaptive after 10 rounds (#7739) -- Remove nested evidence field from block (#7765) -- Add string format to 64-bit integer JSON fields (#7787) -- Add default values for the synchrony parameters (#7788) - Update synchrony params to match checked in proto (#8142) - Minor cleanup of un or minimally used types (#8154) - Add TimeoutParams into ConsensusParams structs (#8177) - Fix path handling in node key tests (#7493) (#7502) -### Types/events+evidence - -- Emit events + metrics on evidence validation (#7802) - -## [0.7.0] - 2022-01-27 - -### ABCI++ - -- Major refactor of spec's structure. Addressed Josef's comments. Merged ABCI's methods and data structs that didn't change. Added introductory paragraphs -- Found a solution to set the execution mode +## [0.35.2] - 2022-03-02 ### ADR -- Update the proposer-based timestamp spec per discussion with @cason (#7153) - -### ADR-74 - -- Migrate Timeout Parameters to Consensus Parameters (#7503) +- Synchronize PBTS ADR with spec (#7764) ### Bug Fixes -- Accessing validator state safetly -- Safe state access in TestValidProposalChainLocks -- Safe state access in TestReactorInvalidBlockChainLock -- Safe state access in TestReactorInvalidBlockChainLock -- Seeds should not hang when disconnected from all nodes -- Change CI testnet config from ci.toml on dashcore.toml -- Update the title of pipeline task -- Ensure seed at least once connects to another seed (#200) -- Panic on precommits does not have any +2/3 votes -- Improved error handling in DashCoreSignerClient -- Abci/example, cmd and test packages were fixed after the upstream backport -- Some fixes to be able to compile the add -- Some fixes made by PR feedback -- Use types.DefaultDashVotingPower rather than internal dashDefaultVotingPower -- Don't disconnect already disconnected validators +- Detect and fix data-race in MockPV (#262) +- Race condition when logging (#271) +- Decrease memory used by debug logs (#280) +- Tendermint stops when validator node id lookup fails (#279) ### Documentation -- Add roadmap to repo (#7107) -- Add reactor sections (#6510) -- Add reactor sections (backport #6510) (#7151) -- Fix broken links and layout (#7154) -- Fix broken links and layout (#7154) (#7163) -- Set up Dependabot on new backport branches. (#7227) -- Update bounty links (#7203) -- Add description about how to keep validators public keys at full node -- Add information how to sue preset for network generation -- Change a type of code block -- Add upgrading info about node service (#7241) -- Add upgrading info about node service (#7241) (#7242) -- Clarify where doc site config settings must land (#7289) -- Add abci timing metrics to the metrics docs (#7311) -- Go tutorial fixed for 0.35.0 version (#7329) (#7330) -- Go tutorial fixed for 0.35.0 version (#7329) (#7330) (#7331) -- Update go ws code snippets (#7486) -- Update go ws code snippets (#7486) (#7487) -- Fixup the builtin tutorial (#7488) - -### Features - -- Add two more CI pipeline tasks to run e2e rotate.toml -- Reset full-node pub-keys -- Manual backport the upstream commit b69ac23fd20bdc00dea00c7c8a69fa66f2e675a9 -- Update CHANGELOG_PENDING.md -- Improve logging for better elasticsearch compatibility (#220) -- InitChain can set initial core lock height (#222) -- Add empty block on h-1 and h-2 apphash change (#241) -- Inter-validator set communication (#187) -- Add create_proof_block_range config option (#243) +- Fix some typos in ADR 075. (#7726) +- Drop v0.32 from the doc site configuration (#7741) +- Fix RPC output examples for GET queries (#7799) +- Fix ToC file extension for RFC 004. (#7813) +- Rename RFC 008 (#7841) +- Fix broken markdown links (cherry-pick of #7847) (#7848) +- Fix broken markdown links (#7847) +- Update spec links to point to tendermint/tendermint (#7851) +- Remove unnecessary os.Exit calls at the end of main (#7861) +- Fix misspelled file name (#7863) +- Remove spec section from v0.35 docs (#7899) +- Pin the RPC docs to v0.35 instead of master (#7909) +- Pin the RPC docs to v0.35 instead of master (backport #7909) (#7911) +- Update repo and spec readme's (#7907) +- Redirect master links to the latest release version (#7936) +- Redirect master links to the latest release version (backport #7936) (#7954) +- Fix cosmos theme version. (#7966) +- Point docs/master to the same content as the latest release (backport #7980) (#7998) +- Fix some broken markdown links (#8021) +- Update ADR template (#7789) ### Miscellaneous Tasks -- Create only 1 proof block by default -- Release script and initial changelog (#250) -- [**breaking**] Bump ABCI version and update release.sh to change TMVersionDefault automatically (#253) -- Eliminate compile errors after backport of tendermint 0.35 (#238) -- Update changelog and version to 0.7.0 +- Update unit tests after backport fo tendermint v0.35 (#245) +- Backport Tenderdash 0.7 to 0.8 (#246) +- Fix e2e tests and protxhash population (#273) +- Improve logging for debug purposes ### PBTS -- New minimal set of changes in consensus algorithm (#369) -- New system model and problem statement (#375) - -### RFC-009 - -- Consensus Parameter Upgrades (#7524) +- Spec reorganization, summary of changes on README.md (#399) -### RFC006 +### RFC -- Semantic Versioning (#365) +- Add delete gas rfc (#7777) ### Refactor -- Minor formatting improvements -- Apply peer review feedback +- Change node's proTxHash on slice from pointer of slice (#263) +- Some minor changes in validate-conn-executor and routerDashDialer (#277) +- Populate proTxHash in address-book (#274) ### Security -- Bump actions/checkout from 2.3.4 to 2.3.5 (#7139) -- Bump prismjs from 1.23.0 to 1.25.0 in /docs (#7168) -- Bump postcss from 7.0.35 to 7.0.39 in /docs (#7167) -- Bump ws from 6.2.1 to 6.2.2 in /docs (#7165) -- Bump path-parse from 1.0.6 to 1.0.7 in /docs (#7164) -- Bump url-parse from 1.5.1 to 1.5.3 in /docs (#7166) -- Bump actions/checkout from 2.3.5 to 2.4.0 (#7199) -- Bump github.com/golangci/golangci-lint from 1.42.1 to 1.43.0 (#7219) -- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7200) -- Bump github.com/lib/pq from 1.10.3 to 1.10.4 (#7261) -- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7287) -- Bump actions/cache from 2.1.6 to 2.1.7 (#7334) -- Bump watchpack from 2.2.0 to 2.3.0 in /docs (#7335) -- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 (#7407) -- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7432) -- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7434) -- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7456) -- Bump google.golang.org/grpc from 1.42.0 to 1.43.0 (#7455) -- Bump github.com/spf13/viper from 1.10.0 to 1.10.1 (#7470) -- Bump docker/login-action from 1.10.0 to 1.12.0 (#7494) -- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7562) -- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#7679) -- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7685) -- Bump github.com/golangci/golangci-lint from 1.43.0 to 1.44.0 (#7692) +- Bump github.com/prometheus/client_golang from 1.12.0 to 1.12.1 (#7732) +- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 (#7829) +- Bump github.com/golangci/golangci-lint from 1.44.0 to 1.44.2 (#7854) +- Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 (#8026) ### Testing -- Regenerate remote_client mock -- Get rid of workarounds for issues fixed in 0.6.1 -- Clean up databases in tests (#6304) -- Improve cleanup for data and disk use (#6311) -- Close db in randConsensusNetWithPeers, just as it is in randConsensusNet -- Ensure commit stateid in wal is OK -- Add testing.T logger connector (#7447) -- Use scoped logger for all public packages (#7504) -- Pass testing.T to assert and require always, assertion cleanup (#7508) -- Remove background contexts (#7509) -- Remove panics from test fixtures (#7522) -- Pass testing.T around rather than errors for test fixtures (#7518) -- Uniquify prom IDs (#7540) -- Remove in-test logging (#7558) -- Use noop loger with leakteset in more places (#7604) -- Update docker versions to match build version (#7646) -- Update cleanup opertunities (#7647) -- Reduce timeout to 4m from 8m (#7681) +- Reduce usage of the MustDefaultLogger constructor (#7960) ### Abci -- Fix readme link (#7173) -- Socket server shutdown response handler (#7547) +- PrepareProposal (#6544) +- Vote Extension 1 (#6646) +- PrepareProposal-VoteExtension integration [2nd try] (#7821) +- Undo socket buffer limit (#7877) +- Make tendermint example+test clients manage a mutex (#7978) +- Remove lock protecting calls to the application interface (#7984) +- Use no-op loggers in the examples (#7996) +- Revert buffer limit change (#7990) ### Abci/client -- Use a no-op logger in the test (#7633) -- Simplify client interface (#7607) +- Remove vestigially captured context (#7839) +- Remove waitgroup for requests (#7842) +- Remove client-level callback (#7845) +- Make flush operation sync (#7857) +- Remove lingering async client code (#7876) -### Acbi +### Abci/kvstore -- Fix readme link to protocol buffers (#362) +- Test cleanup improvements (#7991) ### Adr -- Lib2p implementation plan (#7282) +- Merge tendermint/spec repository into tendermint/tendermint (#7775) -### Autofile +### Blocksync -- Ensure files are not reopened after closing (#7628) -- Avoid shutdown race (#7650) +- Shutdown cleanup (#7840) -### Backport +### Build -- Add basic metrics to the indexer package. (#7250) (#7252) +- Bump github.com/prometheus/client_golang (#7731) +- Bump docker/build-push-action from 2.8.0 to 2.9.0 (#397) +- Bump docker/build-push-action from 2.8.0 to 2.9.0 (#7780) +- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 (#7830) +- Bump docker/build-push-action from 2.7.0 to 2.9.0 +- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 +- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 +- Bump actions/github-script from 5 to 6 +- Bump docker/login-action from 1.10.0 to 1.12.0 +- Bump url-parse from 1.5.4 to 1.5.7 in /docs (#7855) +- Bump github.com/golangci/golangci-lint (#7853) +- Bump docker/login-action from 1.12.0 to 1.13.0 +- Bump docker/login-action from 1.12.0 to 1.13.0 (#7890) +- Bump prismjs from 1.26.0 to 1.27.0 in /docs (#8022) +- Bump url-parse from 1.5.7 to 1.5.10 in /docs (#8023) -### Blocksync +### Ci -- Remove v0 folder structure (#7128) -- Standardize construction process (#7531) +- Fix super-linter configuration settings (#7708) +- Fix super-linter configuration settings (backport #7708) (#7710) -### Buf +### Clist -- Modify buf.yml, add buf generate (#5653) -- Modify buf.yml, add buf generate (#5653) +- Remove unused waitgroup from clist implementation (#7843) -### Build +### Cmd -- Bump rtCamp/action-slack-notify from 2.1.1 to 2.2.0 -- Fix proto-lint step in Makefile -- Fix proto-lint step in Makefile -- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7192) -- Github workflows: fix dependabot and code coverage (#191) -- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 -- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7217) -- Bump github.com/golangci/golangci-lint (#7224) -- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7222) -- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) -- Bump github.com/lib/pq from 1.10.3 to 1.10.4 -- Run e2e tests in parallel -- Bump github.com/lib/pq from 1.10.3 to 1.10.4 (#7260) -- Bump technote-space/get-diff-action from 5.0.1 to 5.0.2 -- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7285) -- Update the builder image location. (#364) -- Update location of proto builder image (#7296) -- Declare packages variable in correct makefile (#7402) -- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 (#7406) -- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 -- Bump github.com/adlio/schema from 1.1.15 to 1.2.2 (#7423) -- Bump github.com/adlio/schema from 1.1.15 to 1.2.2 (#7422) -- Bump github.com/adlio/schema from 1.1.15 to 1.2.3 -- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7435) -- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7436) -- Bump watchpack from 2.3.0 to 2.3.1 in /docs (#7430) -- Bump google.golang.org/grpc from 1.42.0 to 1.43.0 (#7458) -- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7457) -- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7467) -- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7469) -- Bump github.com/spf13/viper from 1.10.0 to 1.10.1 (#7468) -- Bump docker/login-action from 1.10.0 to 1.11.0 (#378) -- Bump github.com/rs/cors from 1.8.0 to 1.8.2 -- Bump docker/login-action from 1.11.0 to 1.12.0 (#380) -- Bump github.com/rs/cors from 1.8.0 to 1.8.2 (#7484) -- Bump github.com/rs/cors from 1.8.0 to 1.8.2 (#7485) -- Bump technote-space/get-diff-action from 5 to 6.0.1 (#7535) -- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7560) -- Make sure to test packages with external tests (#7608) -- Make sure to test packages with external tests (backport #7608) (#7635) -- Bump github.com/prometheus/client_golang (#7636) -- Bump github.com/prometheus/client_golang (#7637) -- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#389) -- Bump github.com/prometheus/client_golang (#249) -- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 -- Bump vuepress-theme-cosmos from 1.0.182 to 1.0.183 in /docs (#7680) -- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7684) -- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7693) -- Bump github.com/golangci/golangci-lint (#7696) -- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7695) - -### Ci - -- Update dependabot configuration (#7204) -- Backport lint configuration changes (#7226) -- Move test execution to makefile (#7372) -- Move test execution to makefile (#7372) (#7374) -- Cleanup build/test targets (#7393) -- Fix missing dependency (#7396) -- Cleanup build/test targets (backport #7393) (#7395) -- Skip docker image builds during PRs (#7397) -- Skip docker image builds during PRs (#7397) (#7398) -- Tweak e2e configuration (#7400) +- Avoid package state in cli constructors (#7719) -### Clist +### Cmd/debug -- Reduce size of test workload for clist implementation (#7682) +- Remove global variables and logging (#7957) -### Cmd +### Conensus -- Add integration test and fix bug in rollback command (#7315) -- Cosmetic changes for errors and print statements (#7377) -- Cosmetic changes for errors and print statements (#7377) (#7408) -- Add integration test for rollback functionality (backport #7315) (#7369) +- Put timeouts on reactor tests (#7733) ### Config -- WriteConfigFile should return error (#7169) -- Expose ability to write config to arbitrary paths (#7174) -- Backport file writing changes (#7182) -- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) -- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) (#7497) +- Add event subscription options and defaults (#7930) ### Consensus -- Remove stale WAL benchmark (#7194) -- Add some more checks to vote counting (#7253) -- Add some more checks to vote counting (#7253) (#7262) -- Remove reactor options (#7526) -- Use noop logger for WAL test (#7580) -- Explicit test timeout (#7585) -- Test shutdown to avoid hangs (#7603) -- Calculate prevote message delay metric (#7551) -- Check proposal non-nil in prevote message delay metric (#7625) -- Calculate prevote message delay metric (backport #7551) (#7618) -- Check proposal non-nil in prevote message delay metric (#7625) (#7632) -- Use delivertxsync (#7616) -- Fix height advances in test state (#7648) -- Use buffered channel in TestStateFullRound1 (#7668) - -### Consensus+p2p - -- Change how consensus reactor is constructed (#7525) - -### Consensus/state - -- Avert a data race with state update and tests (#7643) +- Remove unused closer construct (#7734) +- Delay start of peer routines (#7753) +- Delay start of peer routines (backport of #7753) (#7760) +- Tie peer threads to peer lifecylce context (#7792) +- Refactor operations in consensus queryMaj23Routine (#7791) +- Refactor operations in consensus queryMaj23Routine (backport #7791) (#7793) +- Start the timeout ticker before replay (#7844) +- Additional timing metrics (#7849) +- Additional timing metrics (backport #7849) (#7875) +- Improve cleanup of wal tests (#7878) +- HasVoteMessage index boundary check (#7720) +- TestReactorValidatorSetChanges test fix (#7985) +- Make orchestration more reliable for invalid precommit test (#8013) +- Validator set changes test cleanup (#8035) -### Contexts +### Context -- Remove all TODO instances (#7466) +- Cleaning up context dead ends (#7963) ### E2e -- Always enable blocksync (#7144) -- Avoid unset defaults in generated tests (#7145) -- Evidence test refactor (#7146) -- Add option to dump and analyze core dumps -- Control access to state in Info calls (#7345) -- More clear height test (#7347) -- Stabilize validator update form (#7340) -- Stabilize validator update form (#7340) (#7351) -- Clarify apphash reporting (#7348) -- Clarify apphash reporting (#7348) (#7352) -- Generate keys for more stable load (#7344) -- Generate keys for more stable load (#7344) (#7353) -- App hash test cleanup (0.35 backport) (#7350) -- Limit legacyp2p and statesyncp2p (#7361) -- Use more simple strings for generated transactions (#7513) -- Avoid global test context (#7512) -- Use more simple strings for generated transactions (#7513) (#7514) -- Constrain test parallelism and reporting (#7516) -- Constrain test parallelism and reporting (backport #7516) (#7517) -- Make tx test more stable (#7523) -- Make tx test more stable (backport #7523) (#7527) - -### Errors - -- Formating cleanup (#7507) - -### Eventbus - -- Plumb contexts (#7337) +- Plumb logging instance (#7958) +- Change ci network configuration (#7988) ### Evidence -- Remove source of non-determinism from test (#7266) -- Remove source of non-determinism from test (#7266) (#7268) -- Reactor constructor (#7533) +- Refactored the evidence message to process Evidence instead of EvidenceList (#7700) -### Flowrate +### Github -- Cleanup unused files (#7158) +- Update e2e workflows (#7803) +- Add Informal code owners (#8042) -### Fuzz +### Indexer -- Remove fuzz cases for deleted code (#7187) +- Skip Docker tests when Docker is not available (#7814) -### Internal/libs +### Libs/cli -- Delete unused functionality (#7569) +- Clean up package (#7806) -### Internal/libs/protoio +### Libs/events -- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) -- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) (#7426) +- Remove unused event cache (#7807) -### Internal/proxy +### Libs/service -- Add initial set of abci metrics backport (#7342) +- Regularize Stop semantics and concurrency primitives (#7809) -### Jsontypes +### Libs/strings -- Improve tests and error diagnostics (#7669) +- Cleanup string helper function package (#7808) -### Libs/os +### Light -- Remove arbitrary os.Exit (#7284) -- Remove trap signal (#7515) +- Fix absence proof verification by light client (#7639) +- Fix absence proof verification by light client (backport #7639) (#7716) +- Remove legacy timeout scheme (#7776) +- Remove legacy timeout scheme (backport #7776) (#7786) +- Avert a data race (#7888) -### Libs/rand +### Logging -- Remove custom seed function (#7473) +- Allow logging level override (#7873) -### Libs/service +### Math -- Pass logger explicitly (#7288) +- Remove panics in safe math ops (#7962) -### Light +### Mempool -- Fix panic when empty commit is received from server -- Remove global context from tests (#7505) -- Avoid panic for integer underflow (#7589) -- Remove test panic (#7588) -- Convert validation panics to errors (#7597) -- Fix provider error plumbing (#7610) -- Return light client status on rpc /status (#7536) +- Return duplicate tx errors more consistently (#7714) +- Return duplicate tx errors more consistently (backport #7714) (#7718) +- IDs issue fixes (#7763) +- Remove duplicate tx message from reactor logs (#7795) +- Fix benchmark CheckTx for hitting the GetEvictableTxs call (#7796) +- Use checktx sync calls (#7868) -### Lint +### Mempool+evidence -- Cleanup branch lint errors (#7238) -- Remove lll check (#7346) -- Remove lll check (#7346) (#7357) +- Simplify cleanup (#7794) -### Log +### Metrics -- Dissallow nil loggers (#7445) -- Remove support for traces (#7542) -- Avoid use of legacy test logging (#7583) +- Add metric for proposal timestamp difference (#7709) -### Logging +### Node -- Remove reamining instances of SetLogger interface (#7572) +- Allow orderly shutdown if context is canceled and gensis is in the future (#7817) +- Clarify unneccessary logic in seed constructor (#7818) +- Hook up eventlog and eventlog metrics (#7981) -### Mempool +### P2p -- Remove panic when recheck-tx was not sent to ABCI application (#7134) -- Remove panic when recheck-tx was not sent to ABCI application (#7134) (#7142) -- Port reactor tests from legacy implementation (#7162) -- Consoldate implementations (#7171) -- Avoid arbitrary background contexts (#7409) -- Refactor mempool constructor (#7530) -- Reactor concurrency test tweaks (#7651) +- Pass start time to flowrate and cleanup constructors (#7838) +- Make mconn transport test less flaky (#7973) +- Mconn track last message for pongs (#7995) +- Relax pong timeout (#8007) +- Backport changes in ping/pong tolerances (#8009) +- Retry failed connections slightly more aggressively (#8010) +- Retry failed connections slightly more aggressively (backport #8010) (#8012) +- Ignore transport close error during cleanup (#8011) +- Plumb rudamentary service discovery to rectors and update statesync (#8030) +- Plumb rudamentary service discovery to rectors and update statesync (backport #8030) (#8036) +- Re-enable tests previously disabled (#8049) +- Update shim to transfer information about peers (#8047) -### Node +### P2p/message -- Cleanup construction (#7191) -- Minor package cleanups (#7444) -- New concrete type for seed node implementation (#7521) -- Move seed node implementation to its own file (#7566) -- Collapse initialization internals (#7567) +- Changed evidence message to contain evidence, not a list… (#394) -### Node+autofile +### Proto -- Avoid leaks detected during WAL shutdown (#7599) +- Merge the proposer-based timestamps parameters (#393) +- Abci++ changes (#348) -### Node+consensus +### Proxy -- Handshaker initialization (#7283) +- Fix endblock metric (#7989) -### Node+privval +### Pubsub -- Refactor privval construction (#7574) +- Check for termination in UnsubscribeAll (#7820) -### Node+rpc +### Rfc -- Rpc environment should own it's creation (#7573) +- P2p light client (#7672) -### Node,blocksync,config +### Roadmap -- Remove support for running nodes with blocksync disabled (#7159) +- Update to better reflect v0.36 changes (#7774) -### P2p +### Rpc -- Refactor channel description (#7130) -- Channel shim cleanup (#7129) -- Flatten channel descriptor (#7132) -- Simplify open channel interface (#7133) -- Remove final shims from p2p package (#7136) -- Use correct transport configuration (#7152) -- Add message type into the send/recv bytes metrics (#7155) -- Transport should be captive resposibility of router (#7160) -- Add message type into the send/recv bytes metrics (backport #7155) (#7161) -- Reduce peer score for dial failures (#7265) -- Reduce peer score for dial failures (backport #7265) (#7271) -- Remove unused trust package (#7359) -- Implement interface for p2p.Channel without channels (#7378) -- Remove unneeded close channels from p2p layer (#7392) -- Migrate to use new interface for channel errors (#7403) -- Refactor channel Send/out (#7414) -- Use recieve for channel iteration (#7425) -- Always advertise self, to enable mutual address discovery (#7620) -- Always advertise self, to enable mutual address discovery (#7594) +- Add application info to `status` call (#7701) +- Remove unused websocket options (#7712) +- Clean up unused non-default websocket client options (#7713) +- Don't route websocket-only methods on GET requests (#7715) +- Clean up encoding of request and response messages (#7721) +- Simplify and consolidate response construction (#7725) +- Clean up unmarshaling of batch-valued responses (#7728) +- Simplify the handling of JSON-RPC request and response IDs (#7738) +- Fix layout of endpoint list (#7742) +- Fix layout of endpoint list (#7742) (#7744) +- Remove the placeholder RunState type. (#7749) +- Allow GET parameters that support encoding.TextUnmarshaler (#7800) +- Remove unused latency metric (#7810) +- Implement the eventlog defined by ADR 075 (#7825) +- Implement the ADR 075 /events method (#7965) +- Set a minimum long-polling interval for Events (#8050) -### P2p/upnp +### Rpc/client -- Remove unused functionality (#7379) +- Add Events method to the client interface (#7982) +- Rewrite the WaitForOneEvent helper (#7986) +- Add eventstream helper (#7987) -### Params +### Service -- Increase default synchrony params (#7704) +- Change stop interface (#7816) -### Pex +### Spec -- Remove legacy proto messages (#7147) -- Allow disabled pex reactor (#7198) -- Allow disabled pex reactor (backport #7198) (#7201) -- Avoid starting reactor twice (#7239) -- Improve goroutine lifecycle (#7343) -- Regularize reactor constructor (#7532) -- Avert a data race on map access in the reactor (#7614) -- Do not send nil envelopes to the reactor (#7622) -- Improve handling of closed channels (#7623) +- Merge spec repo into tendermint repo (#7804) +- Merge spec repo into tendermint repo (#7804) +- Minor updates to spec merge PR (#7835) -### Privval +### State -- Remove panics in privval implementation (#7475) -- Improve test hygine (#7511) -- Improve client shutdown to prevent resource leak (#7544) -- Synchronize leak check with shutdown (#7629) -- Do not use old proposal timestamp (#7621) -- Avoid re-signing vote when RHS and signbytes are equal (#7592) +- Synchronize the ProcessProposal implementation with the latest version of the spec (#7961) -### Proto +### Statesync -- Update the mechanism for generating protos from spec repo (#7269) -- Abci++ changes (#348) -- Rebuild the proto files from the spec repository (#7291) +- Relax timing (#7819) +- Assert app version matches (#7856) +- Assert app version matches (backport #7856) (#7886) +- Avoid compounding retry logic for fetching consensus parameters (#8032) +- Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) -### Protoio +### Sync+p2p -- Fix incorrect test assertion (#7606) +- Remove closer (#7805) -### Pubsub +### Types -- Simplify and improve server concurrency handling (#7070) -- Use distinct client IDs for test subscriptions. (#7178) -- Use distinct client IDs for test subscriptions. (#7178) (#7179) -- Use a dynamic queue for buffered subscriptions (#7177) -- Remove uninformative publisher benchmarks. (#7195) -- Move indexing out of the primary subscription path (#7231) -- Report a non-nil error when shutting down. (#7310) -- Make the queue unwritable after shutdown. (#7316) -- Use concrete queries instead of an interface (#7686) +- Make timely predicate adaptive after 10 rounds (#7739) +- Remove nested evidence field from block (#7765) +- Add string format to 64-bit integer JSON fields (#7787) +- Add default values for the synchrony parameters (#7788) -### Reactors +### Types/events+evidence -- Skip log on some routine cancels (#7556) +- Emit events + metrics on evidence validation (#7802) -### Rfc +## [0.7.0] - 2022-01-27 -- Deterministic proto bytes serialization (#7427) -- Don't panic (#7472) +### Miscellaneous Tasks -### Rpc +- Update changelog and version to 0.7.0 -- Fix inappropriate http request log (#7244) -- Backport experimental buffer size control parameters from #7230 (tm v0.35.x) (#7276) -- Implement header and header_by_hash queries (#7270) -- Implement header and header_by_hash queries (backport #7270) (#7367) -- Remove positional parameter encoding from clients (#7545) -- Collapse Caller and HTTPClient interfaces. (#7548) -- Simplify the JSON-RPC client Caller interface (#7549) -- Replace anonymous arguments with structured types (#7552) -- Refactor the HTTP POST handler (#7555) -- Replace custom context-like argument with context.Context (#7559) -- Remove cache control settings from the HTTP server (#7568) -- Fix mock test cases (#7571) -- Rework how responses are written back via HTTP (#7575) -- Simplify panic recovery in the server middleware (#7578) -- Consolidate RPC route map construction (#7582) -- Clean up the RPCFunc constructor signature (#7586) -- Check RPC service functions more carefully (#7587) -- Update fuzz criteria to match the implementation (#7595) -- Remove dependency of URL (GET) requests on tmjson (#7590) -- Simplify the encoding of interface-typed arguments in JSON (#7600) -- Paginate mempool /unconfirmed_txs endpoint (#7612) -- Use encoding/json rather than tmjson (#7670) -- Check error code for broadcast_tx_commit (#7683) -- Check error code for broadcast_tx_commit (#7683) (#7688) +### Consensus -### Service +- Use buffered channel in TestStateFullRound1 (#7668) -- Remove stop method and use contexts (#7292) -- Remove quit method (#7293) -- Cleanup base implementation and some caller implementations (#7301) -- Plumb contexts to all (most) threads (#7363) -- Remove exported logger from base implemenation (#7381) -- Cleanup close channel in reactors (#7399) -- Cleanup mempool and peer update shutdown (#7401) -- Avoid debug logs before error (#7564) +### Params -### State +- Increase default synchrony params (#7704) -- Add height assertion to rollback function (#7143) -- Add height assertion to rollback function (#7143) (#7148) -- Pass connected context (#7410) +## [0.35.1] - 2022-01-26 -### Statesync +### ABCI++ -- Assert app version matches (#7463) -- Reactor and channel construction (#7529) -- Use specific testing.T logger for tests (#7543) -- Clarify test cleanup (#7565) -- SyncAny test buffering (#7570) -- More orderly dispatcher shutdown (#7601) +- Major refactor of spec's structure. Addressed Josef's comments. Merged ABCI's methods and data structs that didn't change. Added introductory paragraphs +- Found a solution to set the execution mode -### Sync +### ADR -- Remove special mutexes (#7438) +- Update the proposer-based timestamp spec per discussion with @cason (#7153) -### Tools +### ADR-74 -- Clone proto files from spec (#6976) -- Remove tm-signer-harness (#7370) +- Migrate Timeout Parameters to Consensus Parameters (#7503) -### Tools/tm-signer-harness +### Bug Fixes -- Switch to not use hardcoded bytes for configs in test (#7362) +- Panic on precommits does not have any +2/3 votes +- Improved error handling in DashCoreSignerClient +- Abci/example, cmd and test packages were fixed after the upstream backport +- Some fixes to be able to compile the add +- Some fixes made by PR feedback +- Use types.DefaultDashVotingPower rather than internal dashDefaultVotingPower +- Don't disconnect already disconnected validators -### Types +### Documentation -- Fix path handling in node key tests (#7493) -- Fix path handling in node key tests (#7493) (#7502) -- Remove panic from block methods (#7501) -- Tests should not panic (#7506) -- Rename and extend the EventData interface (#7687) +- Clarify where doc site config settings must land (#7289) +- Add abci timing metrics to the metrics docs (#7311) +- Go tutorial fixed for 0.35.0 version (#7329) (#7330) +- Go tutorial fixed for 0.35.0 version (#7329) (#7330) (#7331) +- Update go ws code snippets (#7486) +- Update go ws code snippets (#7486) (#7487) +- Fixup the builtin tutorial (#7488) -## [0.6.0] - 2021-10-14 +### Features -### .github +- Improve logging for better elasticsearch compatibility (#220) +- InitChain can set initial core lock height (#222) +- Add empty block on h-1 and h-2 apphash change (#241) +- Inter-validator set communication (#187) +- Add create_proof_block_range config option (#243) -- Remove tessr and bez from codeowners (#7028) +### Miscellaneous Tasks -### Bug Fixes +- Create only 1 proof block by default +- Release script and initial changelog (#250) +- [**breaking**] Bump ABCI version and update release.sh to change TMVersionDefault automatically (#253) +- Eliminate compile errors after backport of tendermint 0.35 (#238) -- Amd64 build and arm build ci -- State sync locks when trying to retrieve AppHash -- Set correct LastStateID when updating block -- StateID - update tests (WIP, some still red) -- Ractor should validate StateID correctly + other fixes -- StateID in light client implementation -- Tests sometimes fail on connection attempt -- App hash size validation + remove unused code -- Invalid generation of tmproto.StateID request id -- State sync locks when trying to retrieve AppHash -- Correctly handle state ID of initial block -- Don't use state to verify blocks from mempool -- Incorrect state id for first block -- AppHashSize is inconsistent -- Support initial height != 1 -- E2e: workaround for "chain stalled at unknown height" -- Update dashcore network config, add validator01 to validator_update.0 and add all available validators to 1010 height -- Cleanup e2e Readme.md -- Remove height 1008 from dashcore -- Race condition in p2p_switch and pex_reactor (#7015) -- Race condition in p2p_switch and pex_reactor (#7015) -- Fix MD after the lint -- To avoid potential race conditions the validator-set-update is needed to copy rather than using the pointer to the field at PersistentKVStoreApplication, 'cause it leads to a race condition -- Update a comment block +### PBTS -### Documentation +- New minimal set of changes in consensus algorithm (#369) +- New system model and problem statement (#375) -- Fix typo (#6789) -- Fix a typo in the genesis_chunked description (#6792) -- Upgrade documentation for custom mempools (#6794) -- Fix typos in /tx_search and /tx. (#6823) -- Add package godoc for indexer (#6839) -- Remove return code in normal case from go built-in example (#6841) -- Fix a typo in the indexing section (#6909) -- Add documentation of unsafe_flush_mempool to openapi (#6947) -- Fix openapi yaml lint (#6948) -- State ID -- State-id.md typos and grammar -- Remove invalid info about initial state id -- Add some code comments -- ADR: Inter Validator Set Messaging -- Adr-d001: apllied feedback, added additional info -- Adr-d001 clarified abci protocol changes -- Adr-d001 describe 3 scenarios and minor restructure -- Adr-d001: clarify terms based on peer review -- Create separate releases doc (#7040) -- Adr-d001 apply peer review comments -- StateID verification algorithm - -### Features - -- [**breaking**] Proposed app version (#148) -- Info field with arbitrary data to ResultBroadcastTx -- Add ProposedBlockGTimeWindow in a config -- Fix coping of PubKey pointer -- Use proto.Copy function to copy a message - -### Fix +### RFC-009 -- Benchmark tests slow down light client tests +- Consensus Parameter Upgrades (#7524) -### Miscellaneous Tasks +### RFC006 -- Bump tenderdash version to 0.6.0-dev.1 -- Bump version to 0.6.0 (#185) +- Semantic Versioning (#365) ### Refactor -- E2e docker: build bls in separate layer -- Golangci-lint + minor test improvements -- Minor formatting updates -- E2e docker: build bls in separate layer -- Add ErrInvalidVoteSignature -- S/GetStateID()/StateID()/ -- Code style changes after peer review -- Move stateid to separate file -- Remove unused message CanonicalStateVote -- Use types instead of pb StateID in SignVote and Evidence -- Inverse behaviour of resetting fullnode pubkeys from FULLNODE_PUBKEY_RESET to FULLNODE_PUBKEY_KEEP env -- Add runner/rotate task to simplify running rotate network -- Assignment copies lock value (#7108) +- Apply peer review feedback ### Security -- Bump google.golang.org/grpc from 1.39.0 to 1.39.1 (#6801) -- Bump google.golang.org/grpc from 1.39.1 to 1.40.0 (#6819) -- Bump github.com/rs/zerolog from 1.24.0 to 1.25.0 (#6923) +- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7200) +- Bump github.com/lib/pq from 1.10.3 to 1.10.4 (#7261) +- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7287) +- Bump actions/cache from 2.1.6 to 2.1.7 (#7334) +- Bump watchpack from 2.2.0 to 2.3.0 in /docs (#7335) +- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 (#7407) +- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7432) +- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7434) +- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7456) +- Bump google.golang.org/grpc from 1.42.0 to 1.43.0 (#7455) +- Bump github.com/spf13/viper from 1.10.0 to 1.10.1 (#7470) +- Bump docker/login-action from 1.10.0 to 1.12.0 (#7494) +- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7562) +- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#7679) +- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7685) +- Bump github.com/golangci/golangci-lint from 1.43.0 to 1.44.0 (#7692) ### Testing -- Add mechanism to reproduce found fuzz errors (#6768) -- Install abci-cli when running make tests_integrations (#6834) -- Add StateID unit tests -- Check if wrong state ID fails VoteAdd() -- Fix: TestStateBadProposal didn't copy slices correctly -- TestHandshakePanicsIfAppReturnsWrongAppHash fixed -- Change apphash for every message -- Workaround for e2e tests starting too fast -- Consensus tests use random initial height -- Non-nil genesis apphash in genesis tests -- Add tests for initial height != 1 to consensus -- Fix: replay_test.go fails due to invalid height processing -- Add some StateID AppHash and Height assertions -- StateID verify with blocks N and N+1 -- Cleanup rpc/client and node test fixtures (#7112) -- Install abci-cli when running make tests_integrations (#6834) +- Ensure commit stateid in wal is OK +- Add testing.T logger connector (#7447) +- Use scoped logger for all public packages (#7504) +- Pass testing.T to assert and require always, assertion cleanup (#7508) +- Remove background contexts (#7509) +- Remove panics from test fixtures (#7522) +- Pass testing.T around rather than errors for test fixtures (#7518) +- Uniquify prom IDs (#7540) +- Remove in-test logging (#7558) +- Use noop loger with leakteset in more places (#7604) +- Update docker versions to match build version (#7646) +- Update cleanup opertunities (#7647) +- Reduce timeout to 4m from 8m (#7681) ### Abci -- Add changelog entry for mempool_error field (#6770) -- Clarify what abci stands for (#336) -- Clarify connection use in-process (#337) -- Change client to use multi-reader mutexes (backport #6306) (#6873) -- Flush socket requests and responses immediately. (#6997) -- Change client to use multi-reader mutexes (backport #6306) (#6873) +- Socket server shutdown response handler (#7547) -### Add +### Abci/client -- Update e2e doc +- Use a no-op logger in the test (#7633) +- Simplify client interface (#7607) -### Adr +### Acbi -- Node initialization (#6562) +- Fix readme link to protocol buffers (#362) -### Blockchain +### Adr -- Rename to blocksync service (#6755) +- Lib2p implementation plan (#7282) -### Blockstore +### Autofile -- Fix problem with seen commit (#6782) +- Ensure files are not reopened after closing (#7628) +- Avoid shutdown race (#7650) -### Blocksync +### Backport -- Complete transition from Blockchain to BlockSync (#6847) -- Fix shutdown deadlock issue (#7030) +- Add basic metrics to the indexer package. (#7250) (#7252) -### Blocksync/v2 +### Blocksync -- Remove unsupported reactor (#7046) +- Standardize construction process (#7531) ### Build -- Bump styfle/cancel-workflow-action from 0.9.0 to 0.9.1 (#6786) -- Bump technote-space/get-diff-action from 4 to 5 (#6788) -- Bump github.com/BurntSushi/toml from 0.3.1 to 0.4.1 (#6796) -- Bump github.com/golangci/golangci-lint (#6837) -- Bump docker/build-push-action from 2.6.1 to 2.7.0 (#6845) -- Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#6860) -- Bump github.com/rs/zerolog from 1.23.0 to 1.24.0 (#6874) -- Bump github.com/lib/pq from 1.10.2 to 1.10.3 (#6890) -- Bump docker/setup-buildx-action from 1.5.0 to 1.6.0 (#6903) -- Bump github.com/golangci/golangci-lint (#6907) -- Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#6938) -- Bump github.com/vektra/mockery/v2 from 2.9.0 to 2.9.3 (#6951) -- Bump github.com/vektra/mockery/v2 from 2.9.3 to 2.9.4 (#6956) -- Bump github.com/spf13/viper from 1.8.1 to 1.9.0 (#6961) -- E2e docker app can be run with dlv debugger -- Improve e2e docker container debugging -- Bump github.com/go-kit/kit from 0.11.0 to 0.12.0 (#6988) -- Bump google.golang.org/grpc from 1.40.0 to 1.41.0 (#7003) -- Update all deps to most recent version -- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7069) -- Replace github.com/go-kit/kit/log with github.com/go-kit/log -- Fix build-docker to include the full context. (#7114) -- Fix build-docker to include the full context. (#7114) (#7116) +- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) +- Bump github.com/lib/pq from 1.10.3 to 1.10.4 +- Run e2e tests in parallel +- Bump github.com/lib/pq from 1.10.3 to 1.10.4 (#7260) +- Bump technote-space/get-diff-action from 5.0.1 to 5.0.2 +- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7285) +- Update the builder image location. (#364) +- Update location of proto builder image (#7296) +- Declare packages variable in correct makefile (#7402) +- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 (#7406) +- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 +- Bump github.com/adlio/schema from 1.1.15 to 1.2.2 (#7423) +- Bump github.com/adlio/schema from 1.1.15 to 1.2.2 (#7422) +- Bump github.com/adlio/schema from 1.1.15 to 1.2.3 +- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7435) +- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7436) +- Bump watchpack from 2.3.0 to 2.3.1 in /docs (#7430) +- Bump google.golang.org/grpc from 1.42.0 to 1.43.0 (#7458) +- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7457) +- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7467) +- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7469) +- Bump github.com/spf13/viper from 1.10.0 to 1.10.1 (#7468) +- Bump docker/login-action from 1.10.0 to 1.11.0 (#378) +- Bump github.com/rs/cors from 1.8.0 to 1.8.2 +- Bump docker/login-action from 1.11.0 to 1.12.0 (#380) +- Bump github.com/rs/cors from 1.8.0 to 1.8.2 (#7484) +- Bump github.com/rs/cors from 1.8.0 to 1.8.2 (#7485) +- Bump technote-space/get-diff-action from 5 to 6.0.1 (#7535) +- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7560) +- Make sure to test packages with external tests (#7608) +- Make sure to test packages with external tests (backport #7608) (#7635) +- Bump github.com/prometheus/client_golang (#7636) +- Bump github.com/prometheus/client_golang (#7637) +- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#389) +- Bump github.com/prometheus/client_golang (#249) +- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 +- Bump vuepress-theme-cosmos from 1.0.182 to 1.0.183 in /docs (#7680) +- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7684) +- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7693) +- Bump github.com/golangci/golangci-lint (#7696) +- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7695) -### Bytes +### Ci -- Clean up and simplify encoding of HexBytes (#6810) +- Move test execution to makefile (#7372) +- Move test execution to makefile (#7372) (#7374) +- Cleanup build/test targets (#7393) +- Fix missing dependency (#7396) +- Cleanup build/test targets (backport #7393) (#7395) +- Skip docker image builds during PRs (#7397) +- Skip docker image builds during PRs (#7397) (#7398) +- Tweak e2e configuration (#7400) -### Changelog +### Clist -- Prepare for v0.34.12 (#6831) -- Update to reflect 0.34.12 release (#6833) -- Linkify the 0.34.11 release notes (#6836) -- Add entry for interanlizations (#6989) -- Add 0.34.14 updates (#7117) +- Reduce size of test workload for clist implementation (#7682) -### Changelog_pending +### Cmd -- Add missing item (#6829) -- Add missing entry (#6830) +- Add integration test and fix bug in rollback command (#7315) +- Cosmetic changes for errors and print statements (#7377) +- Cosmetic changes for errors and print statements (#7377) (#7408) +- Add integration test for rollback functionality (backport #7315) (#7369) -### Ci +### Config -- Drop codecov bot (#6917) -- Tweak code coverage settings (#6920) -- Disable codecov patch status check (#6930) -- Skip coverage for non-go changes (#6927) -- Skip coverage tasks for test infrastructure (#6934) -- Reduce number of groups for 0.34 e2e runs (#6968) -- Use smart merges (#6993) -- Use cheaper codecov data collection (#7009) -- Mergify support for 0.35 backports (#7050) -- 0.35.x nightly should run from master and checkout the release branch (#7067) -- Fix p2p configuration for e2e tests (#7066) -- Use run-multiple.sh for e2e pr tests (#7111) +- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) +- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) (#7497) -### Cleanup +### Consensus -- Remove redundant error plumbing (#6778) -- Fix order of linters in the golangci-lint config (#6910) -- Reduce and normalize import path aliasing. (#6975) -- Remove not needed binary test/app/grpc_client +- Add some more checks to vote counting (#7253) +- Add some more checks to vote counting (#7253) (#7262) +- Remove reactor options (#7526) +- Use noop logger for WAL test (#7580) +- Explicit test timeout (#7585) +- Test shutdown to avoid hangs (#7603) +- Calculate prevote message delay metric (#7551) +- Check proposal non-nil in prevote message delay metric (#7625) +- Calculate prevote message delay metric (backport #7551) (#7618) +- Check proposal non-nil in prevote message delay metric (#7625) (#7632) +- Use delivertxsync (#7616) +- Fix height advances in test state (#7648) -### Cli +### Consensus+p2p -- Allow node operator to rollback last state (#7033) -- Allow node operator to rollback last state (backport #7033) (#7081) +- Change how consensus reactor is constructed (#7525) -### Cli/indexer +### Consensus/state -- Reindex events (#6676) +- Avert a data race with state update and tests (#7643) -### Clist +### Contexts -- Add simple property tests (#6791) +- Remove all TODO instances (#7466) -### Cmd +### E2e -- Remove deprecated snakes (#6854) +- Control access to state in Info calls (#7345) +- More clear height test (#7347) +- Stabilize validator update form (#7340) +- Stabilize validator update form (#7340) (#7351) +- Clarify apphash reporting (#7348) +- Clarify apphash reporting (#7348) (#7352) +- Generate keys for more stable load (#7344) +- Generate keys for more stable load (#7344) (#7353) +- App hash test cleanup (0.35 backport) (#7350) +- Limit legacyp2p and statesyncp2p (#7361) +- Use more simple strings for generated transactions (#7513) +- Avoid global test context (#7512) +- Use more simple strings for generated transactions (#7513) (#7514) +- Constrain test parallelism and reporting (#7516) +- Constrain test parallelism and reporting (backport #7516) (#7517) +- Make tx test more stable (#7523) +- Make tx test more stable (backport #7523) (#7527) -### Commands +### Errors -- Add key migration cli (#6790) +- Formating cleanup (#7507) -### Config +### Eventbus -- Add example on external_address (backport #6621) (#6624) +- Plumb contexts (#7337) -### Config/docs +### Evidence -- Update and deprecated (#6879) +- Remove source of non-determinism from test (#7266) +- Remove source of non-determinism from test (#7266) (#7268) +- Reactor constructor (#7533) -### Consensus +### Internal/libs -- Avoid unbuffered channel in state test (#7025) -- Wait until peerUpdates channel is closed to close remaining peers (#7058) -- Wait until peerUpdates channel is closed to close remaining peers (#7058) (#7060) +- Delete unused functionality (#7569) -### Contributing +### Internal/libs/protoio -- Update release instructions to use backport branches (#6827) -- Remove release_notes.md reference (#6846) +- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) +- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) (#7426) -### Core +### Internal/proxy -- Text cleanup (#332) +- Add initial set of abci metrics backport (#7342) -### Crypto/armor +### Jsontypes -- Remove unused package (#6963) +- Improve tests and error diagnostics (#7669) -### E2e +### Libs/os -- Avoid starting nodes from the future (#6835) -- Avoid starting nodes from the future (#6835) (#6838) -- Cleanup node start function (#6842) -- Cleanup node start function (#6842) (#6848) -- More consistent node selection during tests (#6857) -- Add weighted random configuration selector (#6869) -- More reliable method for selecting node to inject evidence (#6880) -- Change restart mechanism (#6883) -- Weight protocol dimensions (#6884) -- Skip light clients when waiting for height (#6891) -- Wait for all nodes rather than just one (#6892) -- Skip assertions for stateless nodes (#6894) -- Clean up generation of evidence (#6904) -- Introduce canonical ordering of manifests (#6918) -- Load generation and logging changes (#6912) -- Increase retain height to at least twice evidence age (#6924) -- Test multiple broadcast tx methods (#6925) -- Compile tests (#6926) -- Improve p2p mode selection (#6929) -- Reduce load volume (#6932) -- Slow load processes with longer evidence timeouts (#6936) -- Reduce load pressure (#6939) -- Tweak semantics of waitForHeight (#6943) -- Skip broadcastTxCommit check (#6949) -- Allow load generator to succed for short tests (#6952) -- Cleanup on all errors if preserve not specified (#6950) -- Run multiple should use preserve (#6972) -- Improve manifest sorting algorithim (#6979) -- Only check validator sets after statesync (#6980) -- Always preserve failed networks (#6981) -- Load should be proportional to network (#6983) -- Avoid non-determinism in app hash check (#6985) -- Tighten timing for load generation (#6990) -- Skip validation of status apphash (#6991) -- Do not inject evidence through light proxy (#6992) -- Add limit and sort to generator (#6998) -- Reduce number of statesyncs in test networks (#6999) -- Improve chances of statesyncing success (#7001) -- Allow running of single node using the e2e app (#6982) -- Reduce log noise (#7004) -- Avoid seed nodes when statesyncing (#7006) -- Add generator tests (#7008) -- Reduce number of stateless nodes in test networks (#7010) -- Use smaller transactions (#7016) -- Use network size in load generator (#7019) -- Generator ensure p2p modes (#7021) -- Automatically prune old app snapshots (#7034) -- Automatically prune old app snapshots (#7034) (#7063) -- Improve network connectivity (#7077) -- Abci protocol should be consistent across networks (#7078) -- Abci protocol should be consistent across networks (#7078) (#7086) -- Light nodes should use builtin abci app (#7095) -- Light nodes should use builtin abci app (#7095) (#7097) -- Disable app tests for light client (#6672) -- Avoid starting nodes from the future (#6835) (#6838) -- Cleanup node start function (#6842) (#6848) +- Remove arbitrary os.Exit (#7284) +- Remove trap signal (#7515) -### Evidence +### Libs/rand -- Add section explaining evidence (#324) +- Remove custom seed function (#7473) -### Inspect +### Libs/service -- Add inspect mode for debugging crashed tendermint node (#6785) -- Remove duplicated construction path (#6966) +- Pass logger explicitly (#7288) -### Internal/consensus +### Light -- Update error log (#6863) -- Update error log (#6863) (#6867) -- Update error log (#6863) (#6867) +- Remove global context from tests (#7505) +- Avoid panic for integer underflow (#7589) +- Remove test panic (#7588) +- Convert validation panics to errors (#7597) +- Fix provider error plumbing (#7610) +- Return light client status on rpc /status (#7536) -### Internal/proxy +### Lint -- Add initial set of abci metrics (#7115) +- Remove lll check (#7346) +- Remove lll check (#7346) (#7357) -### Light +### Log -- Wait for tendermint node to start before running example test (#6744) -- Replace homegrown mock with mockery (#6735) -- Fix early erroring (#6905) -- Update initialization description (#320) -- Update links in package docs. (#7099) -- Update links in package docs. (#7099) (#7101) -- Fix early erroring (#6905) +- Dissallow nil loggers (#7445) +- Remove support for traces (#7542) +- Avoid use of legacy test logging (#7583) -### Lint +### Logging -- Change deprecated linter (#6861) -- Fix collection of stale errors (#7090) +- Remove reamining instances of SetLogger interface (#7572) -### Mempool,rpc +### Mempool -- Add removetx rpc method (#7047) -- Add removetx rpc method (#7047) (#7065) +- Avoid arbitrary background contexts (#7409) +- Refactor mempool constructor (#7530) +- Reactor concurrency test tweaks (#7651) -### Mempool/v1 +### Node -- Test reactor does not panic on broadcast (#6772) +- Minor package cleanups (#7444) +- New concrete type for seed node implementation (#7521) +- Move seed node implementation to its own file (#7566) +- Collapse initialization internals (#7567) -### Network +### Node+autofile -- Update terraform config (#6901) +- Avoid leaks detected during WAL shutdown (#7599) -### Networks +### Node+consensus -- Update to latest DigitalOcean modules (#6902) +- Handshaker initialization (#7283) -### Node +### Node+privval -- Minimize hardcoded service initialization (#6798) -- Always close database engine (#7113) +- Refactor privval construction (#7574) + +### Node+rpc + +- Rpc environment should own it's creation (#7573) ### P2p -- Add test for pqueue dequeue full error (#6760) -- Change default to use new stack (#6862) -- Delete legacy stack initial pass (#7035) -- Remove wdrr queue (#7064) -- Cleanup transport interface (#7071) -- Cleanup unused arguments (#7079) -- Rename pexV2 to pex (#7088) -- Fix priority queue bytes pending calculation (#7120) +- Reduce peer score for dial failures (#7265) +- Reduce peer score for dial failures (backport #7265) (#7271) +- Remove unused trust package (#7359) +- Implement interface for p2p.Channel without channels (#7378) +- Remove unneeded close channels from p2p layer (#7392) +- Migrate to use new interface for channel errors (#7403) +- Refactor channel Send/out (#7414) +- Use recieve for channel iteration (#7425) +- Always advertise self, to enable mutual address discovery (#7620) +- Always advertise self, to enable mutual address discovery (#7594) + +### P2p/upnp + +- Remove unused functionality (#7379) ### Pex -- Update pex messages (#352) +- Improve goroutine lifecycle (#7343) +- Regularize reactor constructor (#7532) +- Avert a data race on map access in the reactor (#7614) +- Do not send nil envelopes to the reactor (#7622) +- Improve handling of closed channels (#7623) -### Proto +### Privval -- Move proto files under the correct directory related to their package name (#344) -- Add tendermint go changes (#349) -- Regenerate code (#6977) +- Remove panics in privval implementation (#7475) +- Improve test hygine (#7511) +- Improve client shutdown to prevent resource leak (#7544) +- Synchronize leak check with shutdown (#7629) +- Do not use old proposal timestamp (#7621) +- Avoid re-signing vote when RHS and signbytes are equal (#7592) -### Proxy +### Proto -- Move proxy package to internal (#6953) +- Update the mechanism for generating protos from spec repo (#7269) +- Abci++ changes (#348) +- Rebuild the proto files from the spec repository (#7291) -### Psql +### Protoio -- Add documentation and simplify constructor API (#6856) +- Fix incorrect test assertion (#7606) ### Pubsub -- Unsubscribe locking handling (#6816) -- Improve handling of closed blocking subsciptions. (#6852) +- Move indexing out of the primary subscription path (#7231) +- Report a non-nil error when shutting down. (#7310) +- Make the queue unwritable after shutdown. (#7316) +- Use concrete queries instead of an interface (#7686) -### Readme +### Reactors -- Update discord links (#6965) +- Skip log on some routine cancels (#7556) ### Rfc -- P2p next steps (#6866) -- Fix link style (#6870) -- Database storage engine (#6897) -- E2e improvements (#6941) -- Add performance taxonomy rfc (#6921) -- Fix a few typos and formatting glitches p2p roadmap (#6960) -- Event system (#6957) +- Deterministic proto bytes serialization (#7427) +- Don't panic (#7472) ### Rpc -- Add documentation for genesis chunked api (#6776) -- Avoid panics in unsafe rpc calls with new p2p stack (#6817) -- Support new p2p infrastructure (#6820) -- Log update (#6825) -- Log update (backport #6825) (#6826) -- Update peer format in specification in NetInfo operation (#331) -- Fix hash encoding in JSON parameters (#6813) -- Strip down the base RPC client interface. (#6971) -- Implement BroadcastTxCommit without event subscriptions (#6984) -- Add chunked rpc interface (backport #6445) (#6717) -- Move evidence tests to shared fixtures (#7119) -- Remove the deprecated gRPC interface to the RPC service (#7121) -- Fix typo in broadcast commit (#7124) +- Fix inappropriate http request log (#7244) +- Backport experimental buffer size control parameters from #7230 (tm v0.35.x) (#7276) +- Implement header and header_by_hash queries (#7270) +- Implement header and header_by_hash queries (backport #7270) (#7367) +- Remove positional parameter encoding from clients (#7545) +- Collapse Caller and HTTPClient interfaces. (#7548) +- Simplify the JSON-RPC client Caller interface (#7549) +- Replace anonymous arguments with structured types (#7552) +- Refactor the HTTP POST handler (#7555) +- Replace custom context-like argument with context.Context (#7559) +- Remove cache control settings from the HTTP server (#7568) +- Fix mock test cases (#7571) +- Rework how responses are written back via HTTP (#7575) +- Simplify panic recovery in the server middleware (#7578) +- Consolidate RPC route map construction (#7582) +- Clean up the RPCFunc constructor signature (#7586) +- Check RPC service functions more carefully (#7587) +- Update fuzz criteria to match the implementation (#7595) +- Remove dependency of URL (GET) requests on tmjson (#7590) +- Simplify the encoding of interface-typed arguments in JSON (#7600) +- Paginate mempool /unconfirmed_txs endpoint (#7612) +- Use encoding/json rather than tmjson (#7670) +- Check error code for broadcast_tx_commit (#7683) +- Check error code for broadcast_tx_commit (#7683) (#7688) -### Scripts +### Service -- Fix authors script to take a ref (#7051) +- Remove stop method and use contexts (#7292) +- Remove quit method (#7293) +- Cleanup base implementation and some caller implementations (#7301) +- Plumb contexts to all (most) threads (#7363) +- Remove exported logger from base implemenation (#7381) +- Cleanup close channel in reactors (#7399) +- Cleanup mempool and peer update shutdown (#7401) +- Avoid debug logs before error (#7564) ### State -- Move package to internal (#6964) - -### State/privval - -- Vote timestamp fix (#6748) -- Vote timestamp fix (backport #6748) (#6783) +- Pass connected context (#7410) ### Statesync -- New messages for gossiping consensus params (#328) -- Improve stateprovider handling in the syncer (backport) (#6881) -- Implement p2p state provider (#6807) -- Shut down node when statesync fails (#6944) -- Clean up reactor/syncer lifecylce (#6995) -- Add logging while waiting for peers (#7007) -- Ensure test network properly configured (#7026) -- Remove deadlock on init fail (#7029) -- Improve rare p2p race condition (#7042) -- Improve stateprovider handling in the syncer (backport) (#6881) - -### Statesync/rpc - -- Metrics for the statesync and the rpc SyncInfo (#6795) +- Assert app version matches (#7463) +- Reactor and channel construction (#7529) +- Use specific testing.T logger for tests (#7543) +- Clarify test cleanup (#7565) +- SyncAny test buffering (#7570) +- More orderly dispatcher shutdown (#7601) -### Store +### Sync -- Move pacakge to internal (#6978) +- Remove special mutexes (#7438) -### Time +### Tools -- Make median time library type private (#6853) +- Remove tm-signer-harness (#7370) -### Tools +### Tools/tm-signer-harness -- Add mockery to tools.go and remove mockery version strings (#6787) +- Switch to not use hardcoded bytes for configs in test (#7362) ### Types -- Move mempool error for consistency (#6875) - -### Upgrading +- Fix path handling in node key tests (#7493) +- Fix path handling in node key tests (#7493) (#7502) +- Remove panic from block methods (#7501) +- Tests should not panic (#7506) +- Rename and extend the EventData interface (#7687) -- Add information into the UPGRADING.md for users of the codebase wishing to upgrade (#6898) +## [0.35.0] - 2021-11-04 -### Version +### Bug Fixes -- Bump for 0.34.12 (#6832) +- Change CI testnet config from ci.toml on dashcore.toml +- Update the title of pipeline task +- Ensure seed at least once connects to another seed (#200) -## [0.5.10] - 2021-07-26 +### Documentation -### Testing +- Set up Dependabot on new backport branches. (#7227) +- Update bounty links (#7203) +- Add description about how to keep validators public keys at full node +- Add information how to sue preset for network generation +- Change a type of code block +- Add upgrading info about node service (#7241) +- Add upgrading info about node service (#7241) (#7242) -- Add test to reproduce found fuzz errors (#6757) +### Features -### Build +- Add two more CI pipeline tasks to run e2e rotate.toml +- Reset full-node pub-keys +- Manual backport the upstream commit b69ac23fd20bdc00dea00c7c8a69fa66f2e675a9 +- Update CHANGELOG_PENDING.md -- Bump golangci/golangci-lint-action from 2.3.0 to 2.5.2 -- Bump codecov/codecov-action from 1.5.2 to 2.0.1 (#6739) -- Bump codecov/codecov-action from 2.0.1 to 2.0.2 (#6764) +### Refactor -### E2e +- Minor formatting improvements -- Avoid systematic key-type variation (#6736) -- Drop single node hybrid configurations (#6737) -- Remove cartesian testing of ipv6 (#6734) -- Run tests in fewer groups (#6742) -- Prevent adding light clients as persistent peers (#6743) -- Longer test harness timeouts (#6728) -- Allow for both v0 and v1 mempool implementations (#6752) +### Security -### Fastsync/event +- Bump actions/checkout from 2.3.5 to 2.4.0 (#7199) +- Bump github.com/golangci/golangci-lint from 1.42.1 to 1.43.0 (#7219) -- Emit fastsync status event when switching consensus/fastsync (#6619) +### Testing -### Internal +- Clean up databases in tests (#6304) +- Improve cleanup for data and disk use (#6311) +- Close db in randConsensusNetWithPeers, just as it is in randConsensusNet -- Update blockchain reactor godoc (#6749) +### Build -### Light +- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7192) +- Github workflows: fix dependabot and code coverage (#191) +- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 +- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7217) +- Bump github.com/golangci/golangci-lint (#7224) +- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7222) -- Run examples as integration tests (#6745) -- Improve error handling and allow providers to be added (#6733) +### Ci -### Mempool +- Update dependabot configuration (#7204) +- Backport lint configuration changes (#7226) -- Return mempool errors to the abci client (#6740) +### Consensus -### P2p +- Remove stale WAL benchmark (#7194) -- Add coverage for mConnConnection.TrySendMessage (#6754) -- Avoid blocking on the dequeCh (#6765) +### E2e -### Statesync/event +- Add option to dump and analyze core dumps -- Emit statesync start/end event (#6700) +### Fuzz -## [0.5.8] - 2021-07-20 +- Remove fuzz cases for deleted code (#7187) -### Blockchain +### Lint -- Error on v2 selection (#6730) +- Cleanup branch lint errors (#7238) -### Clist +### Node -- Add a few basic clist tests (#6727) +- Cleanup construction (#7191) -### Libs/clist +### Pex -- Revert clear and detach changes while debugging (#6731) +- Allow disabled pex reactor (#7198) +- Allow disabled pex reactor (backport #7198) (#7201) +- Avoid starting reactor twice (#7239) -### Mempool +### Pubsub -- Add TTL configuration to mempool (#6715) +- Use a dynamic queue for buffered subscriptions (#7177) +- Remove uninformative publisher benchmarks. (#7195) -## [0.5.7] - 2021-07-16 +## [0.35.0-rc4] - 2021-10-29 ### Bug Fixes -- Maverick compile issues (#104) -- Private validator key still automatically creating (#120) -- Getting pro tx hash from full node -- Incorrectly assume amd64 arch during docker build -- Image isn't pushed after build +- Accessing validator state safetly +- Safe state access in TestValidProposalChainLocks +- Safe state access in TestReactorInvalidBlockChainLock +- Safe state access in TestReactorInvalidBlockChainLock +- Seeds should not hang when disconnected from all nodes ### Documentation -- Rename tenderdash and update target repo -- Update events (#6658) -- Add sentence about windows support (#6655) -- Add docs file for the peer exchange (#6665) -- Update github issue and pr templates (#131) -- Fix broken links (#6719) +- Add roadmap to repo (#7107) +- Add reactor sections (#6510) +- Add reactor sections (backport #6510) (#7151) +- Fix broken links and layout (#7154) +- Fix broken links and layout (#7154) (#7163) -### Features +### Security -- Improve initialisation (#117) -- Add arm64 arch for builds +- Bump actions/checkout from 2.3.4 to 2.3.5 (#7139) +- Bump prismjs from 1.23.0 to 1.25.0 in /docs (#7168) +- Bump postcss from 7.0.35 to 7.0.39 in /docs (#7167) +- Bump ws from 6.2.1 to 6.2.2 in /docs (#7165) +- Bump path-parse from 1.0.6 to 1.0.7 in /docs (#7164) +- Bump url-parse from 1.5.1 to 1.5.3 in /docs (#7166) -### Miscellaneous Tasks +### Testing -- Target production dockerhub org -- Use official docker action +- Regenerate remote_client mock +- Get rid of workarounds for issues fixed in 0.6.1 -### RPC +### Abci -- Mark grpc as deprecated (#6725) +- Fix readme link (#7173) -### Security +### Blocksync -- Bump github.com/spf13/viper from 1.8.0 to 1.8.1 (#6622) -- Bump github.com/rs/cors from 1.7.0 to 1.8.0 (#6635) -- Bump github.com/go-kit/kit from 0.10.0 to 0.11.0 (#6651) -- Bump github.com/spf13/cobra from 1.2.0 to 1.2.1 (#6650) +- Remove v0 folder structure (#7128) -### Testing +### Buf -- Add current fuzzing to oss-fuzz-build script (#6576) -- Fix wrong compile fuzzer command (#6579) -- Fix wrong path for some p2p fuzzing packages (#6580) -- Fix non-deterministic backfill test (#6648) +- Modify buf.yml, add buf generate (#5653) +- Modify buf.yml, add buf generate (#5653) -### Abci +### Build -- Fix gitignore abci-cli (#6668) -- Remove counter app (#6684) +- Bump rtCamp/action-slack-notify from 2.1.1 to 2.2.0 +- Fix proto-lint step in Makefile +- Fix proto-lint step in Makefile -### Build +### Config -- Bump github.com/rs/zerolog from 1.22.0 to 1.23.0 (#6575) -- Bump github.com/spf13/viper from 1.7.1 to 1.8.0 (#6586) -- Bump docker/login-action from 1.9.0 to 1.10.0 (#6614) -- Bump docker/setup-buildx-action from 1.3.0 to 1.4.0 (#6629) -- Bump docker/setup-buildx-action from 1.4.0 to 1.4.1 (#6632) -- Bump google.golang.org/grpc from 1.38.0 to 1.39.0 (#6633) -- Bump github.com/spf13/cobra from 1.1.3 to 1.2.0 (#6640) -- Bump docker/build-push-action from 2.5.0 to 2.6.1 (#6639) -- Bump docker/setup-buildx-action from 1.4.1 to 1.5.0 (#6649) -- Bump gaurav-nelson/github-action-markdown-link-check (#6679) -- Bump github.com/golangci/golangci-lint (#6686) -- Bump gaurav-nelson/github-action-markdown-link-check (#313) -- Bump github.com/google/uuid from 1.2.0 to 1.3.0 (#6708) -- Bump actions/stale from 3.0.19 to 4 (#319) -- Bump actions/stale from 3.0.19 to 4 (#6726) - -### Changelog +- WriteConfigFile should return error (#7169) +- Expose ability to write config to arbitrary paths (#7174) +- Backport file writing changes (#7182) -- Have a single friendly bug bounty reminder (#6600) -- Update and regularize changelog entries (#6594) +### E2e -### Ci +- Always enable blocksync (#7144) +- Avoid unset defaults in generated tests (#7145) +- Evidence test refactor (#7146) -- Make ci consistent and push to docker hub -- Trigger docker build on release -- Disable arm build -- Always push to dockerhub -- Test enabling cache -- Test arm build -- Manually trigger build -- Disable arm64 builds -- Set release to workflow dispatch (manual) trigger -- Enable arm64 in CI +### Flowrate -### Cmd/tendermint/commands +- Cleanup unused files (#7158) -- Replace $HOME/.some/test/dir with t.TempDir (#6623) +### Light -### Config +- Fix panic when empty commit is received from server -- Add root dir to priv validator (#6585) -- Add example on external_address (#6621) -- Add example on external_address (backport #6621) (#6624) +### Mempool -### Consensus +- Remove panic when recheck-tx was not sent to ABCI application (#7134) +- Remove panic when recheck-tx was not sent to ABCI application (#7134) (#7142) +- Port reactor tests from legacy implementation (#7162) +- Consoldate implementations (#7171) -- Skip all messages during sync (#6577) +### Node,blocksync,config -### Crypto +- Remove support for running nodes with blocksync disabled (#7159) -- Use a different library for ed25519/sr25519 (#6526) +### P2p -### Deps +- Refactor channel description (#7130) +- Channel shim cleanup (#7129) +- Flatten channel descriptor (#7132) +- Simplify open channel interface (#7133) +- Remove final shims from p2p package (#7136) +- Use correct transport configuration (#7152) +- Add message type into the send/recv bytes metrics (#7155) +- Transport should be captive resposibility of router (#7160) +- Add message type into the send/recv bytes metrics (backport #7155) (#7161) -- Remove pkg errors (#6666) -- Run go mod tidy (#6677) +### Pex -### E2e +- Remove legacy proto messages (#7147) -- Fix looping problem while waiting (#6568) -- Allow variable tx size (#6659) -- Disable app tests for light client (#6672) -- Remove colorized output from docker-compose (#6670) -- Extend timeouts in test harness (#6694) -- Ensure evidence validator set matches nodes validator set (#6712) -- Tweak sleep for pertubations (#6723) +### Pubsub -### Evidence +- Simplify and improve server concurrency handling (#7070) +- Use distinct client IDs for test subscriptions. (#7178) +- Use distinct client IDs for test subscriptions. (#7178) (#7179) -- Update ADR 59 and add comments to the use of common height (#6628) +### State -### Fastsync +- Add height assertion to rollback function (#7143) +- Add height assertion to rollback function (#7143) (#7148) -- Update the metrics during fast-sync (#6590) +### Tools -### Fastsync/rpc +- Clone proto files from spec (#6976) -- Add TotalSyncedTime & RemainingTime to SyncInfo in /status RPC (#6620) +## [0.6.0] - 2021-10-14 -### Fuzz +### Documentation -- Initial support for fuzzing (#6558) +- StateID verification algorithm -### Internal/blockchain/v0 +### Miscellaneous Tasks -- Prevent all possible race for blockchainCh.Out (#6637) +- Bump version to 0.6.0 (#185) -### Libs/CList +### Refactor -- Automatically detach the prev/next elements in Remove function (#6626) +- Assignment copies lock value (#7108) -### Libs/log +### Testing -- Text logging format changes (#6589) +- StateID verify with blocks N and N+1 +- Cleanup rpc/client and node test fixtures (#7112) +- Install abci-cli when running make tests_integrations (#6834) -### Libs/time +### Abci -- Move types/time into libs (#6595) +- Change client to use multi-reader mutexes (backport #6306) (#6873) -### Light +### Build -- Correctly handle contexts (backport -> v0.34.x) (#6685) -- Correctly handle contexts (#6687) -- Add case to catch cancelled contexts within the detector (backport #6701) (#6720) +- Replace github.com/go-kit/kit/log with github.com/go-kit/log +- Fix build-docker to include the full context. (#7114) +- Fix build-docker to include the full context. (#7114) (#7116) -### Linter +### Changelog -- Linter checks non-ASCII identifiers (#6574) +- Add 0.34.14 updates (#7117) -### Mempool +### Ci -- Move errors to be public (#6613) +- Use run-multiple.sh for e2e pr tests (#7111) -### P2p +### Cleanup -- Increase queue size to 16MB (#6588) -- Avoid retry delay in error case (#6591) -- Address audit issues with the peer manager (#6603) -- Make NodeID and NetAddress public (#6583) -- Reduce buffering on channels (#6609) -- Do not redial peers with different chain id (#6630) -- Track peer channels to avoid sending across a channel a peer doesn't have (#6601) -- Remove annoying error log (#6688) +- Remove not needed binary test/app/grpc_client -### Pkg +### Cli -- Expose p2p functions (#6627) +- Allow node operator to rollback last state (#7033) +- Allow node operator to rollback last state (backport #7033) (#7081) -### Privval +### Config -- Missing privval type check in SetPrivValidator (#6645) +- Add example on external_address (backport #6621) (#6624) -### Psql +### E2e -- Close opened rows in tests (#6669) +- Improve network connectivity (#7077) +- Abci protocol should be consistent across networks (#7078) +- Abci protocol should be consistent across networks (#7078) (#7086) +- Light nodes should use builtin abci app (#7095) +- Light nodes should use builtin abci app (#7095) (#7097) +- Disable app tests for light client (#6672) +- Avoid starting nodes from the future (#6835) (#6838) +- Cleanup node start function (#6842) (#6848) -### Pubsub +### Internal/consensus -- Refactor Event Subscription (#6634) +- Update error log (#6863) (#6867) -### Release +### Internal/proxy -- Prepare changelog for v0.34.11 (#6597) -- Update changelog and version (#6599) +- Add initial set of abci metrics (#7115) -### Router/statesync +### Light -- Add helpful log messages (#6724) +- Update links in package docs. (#7099) +- Update links in package docs. (#7099) (#7101) +- Fix early erroring (#6905) -### Rpc +### Lint -- Fix RPC client doesn't handle url's without ports (#6507) -- Add subscription id to events (#6386) -- Use shorter path names for tests (#6602) -- Add totalGasUSed to block_results response (#308) -- Add max peer block height into /status rpc call (#6610) -- Add `TotalGasUsed` to `block_results` response (#6615) -- Re-index missing events (#6535) -- Add chunked rpc interface (backport #6445) (#6717) +- Fix collection of stale errors (#7090) -### State +### Node -- Move pruneBlocks from consensus/state to state/execution (#6541) +- Always close database engine (#7113) -### State/indexer +### P2p -- Close row after query (#6664) +- Cleanup transport interface (#7071) +- Cleanup unused arguments (#7079) +- Rename pexV2 to pex (#7088) +- Fix priority queue bytes pending calculation (#7120) -### State/privval +### Pex -- No GetPubKey retry beyond the proposal/voting window (#6578) +- Update pex messages (#352) -### State/types +### Rpc -- Refactor makeBlock, makeBlocks and makeTxs (#6567) +- Add chunked rpc interface (backport #6445) (#6717) +- Move evidence tests to shared fixtures (#7119) +- Remove the deprecated gRPC interface to the RPC service (#7121) +- Fix typo in broadcast commit (#7124) ### Statesync -- Tune backfill process (#6565) -- Increase chunk priority and robustness (#6582) -- Make fetching chunks more robust (#6587) -- Keep peer despite lightblock query fail (#6692) -- Remove outgoingCalls race condition in dispatcher (#6699) -- Use initial height as a floor to backfilling (#6709) -- Increase dispatcher timeout (#6714) -- Dispatcher test uses internal channel for timing (#6713) +- Improve stateprovider handling in the syncer (backport) (#6881) -### Tooling +## [0.35.0-rc3] - 2021-10-06 -- Use go version 1.16 as minimum version (#6642) +### Documentation -### Tools +- Adr-d001: clarify terms based on peer review +- Create separate releases doc (#7040) +- Adr-d001 apply peer review comments -- Remove k8s (#6625) -- Move tools.go to subdir (#6689) +### Features -### Types +- Use proto.Copy function to copy a message -- Move NodeInfo from p2p (#6618) +### Testing -## [0.4.2] - 2021-06-10 +- Add some StateID AppHash and Height assertions -### Blockchain/v0 +### Blocksync/v2 -- Fix data race in blockchain channel (#6518) +- Remove unsupported reactor (#7046) ### Build -- Bump github.com/btcsuite/btcd (#6560) -- Bump codecov/codecov-action from 1.5.0 to 1.5.2 (#6559) - -### Indexer +- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7069) -- Use INSERT ... ON CONFLICT in the psql eventsink insert functions (#6556) +### Ci -### Node +- Mergify support for 0.35 backports (#7050) +- 0.35.x nightly should run from master and checkout the release branch (#7067) +- Fix p2p configuration for e2e tests (#7066) -- Fix genesis on start up (#6563) +### Consensus -## [0.4.1] - 2021-06-09 +- Wait until peerUpdates channel is closed to close remaining peers (#7058) +- Wait until peerUpdates channel is closed to close remaining peers (#7058) (#7060) -### .github +### E2e -- Split the issue template into two seperate templates (#2073) -- Add markdown link checker (#4513) -- Move checklist from PR description into an auto-comment (#4745) -- Fix whitespace for autocomment (#4747) -- Fix whitespace for auto-comment (#4750) -- Move mergify config -- Move codecov.yml into .github -- Move codecov config into .github -- Fix fuzz-nightly job (#5965) -- Archive crashers and fix set-crashers-count step (#5992) -- Rename crashers output (fuzz-nightly-test) (#5993) -- Clean up PR template (#6050) -- Use job ID (not step ID) inside if condition (#6060) -- Remove erik as reviewer from dependapot (#6076) -- Rename crashers output (fuzz-nightly-test) (#5993) -- Archive crashers and fix set-crashers-count step (#5992) -- Fix fuzz-nightly job (#5965) -- Use job ID (not step ID) inside if condition (#6060) -- Remove erik as reviewer from dependapot (#6076) -- Jepsen workflow - initial version (#6123) -- [jepsen] fix inputs and remove TTY from docker (#6134) -- [jepsen] use working-directory instead of 'cd' (#6135) -- [jepsen] use "bash -c" to execute lein run cmd (#6136) -- [jepsen] cd inside the container, not outside (#6137) -- [jepsen] fix directory name (#6138) -- [jepsen] source .bashrc (#6139) -- [jepsen] add more docs (#6141) -- [jepsen] archive results (#6164) -- Remove myself from CODEOWNERS (#6248) -- Make core team codeowners (#6384) -- Make core team codeowners (#6383) +- Automatically prune old app snapshots (#7034) +- Automatically prune old app snapshots (#7034) (#7063) -### .github/codeowners +### Mempool,rpc -- Add alexanderbez (#5913) -- Add alexanderbez (#5913) +- Add removetx rpc method (#7047) +- Add removetx rpc method (#7047) (#7065) -### .github/issue_template +### P2p -- Update `/dump_consensus_state` request. (#5060) +- Delete legacy stack initial pass (#7035) +- Remove wdrr queue (#7064) -### .github/workflows +### Scripts -- Enable manual dispatch for some workflows (#5929) -- Try different e2e nightly test set (#6036) -- Separate e2e workflows for 0.34.x and master (#6041) -- Fix whitespace in e2e config file (#6043) -- Cleanup yaml for e2e nightlies (#6049) -- Try different e2e nightly test set (#6036) -- Separate e2e workflows for 0.34.x and master (#6041) -- Fix whitespace in e2e config file (#6043) -- Cleanup yaml for e2e nightlies (#6049) +- Fix authors script to take a ref (#7051) -### .gitignore +## [0.36.0-dev] - 2021-10-04 -- Sort (#5690) +### .github -### .golangci +- Remove tessr and bez from codeowners (#7028) -- Disable new linters (#4024) -- Set locale to US for misspell linter (#6038) +### Bug Fixes -### .goreleaser +- Fix MD after the lint +- To avoid potential race conditions the validator-set-update is needed to copy rather than using the pointer to the field at PersistentKVStoreApplication, 'cause it leads to a race condition +- Update a comment block -- Don't build linux/arm -- Build for windows -- Add windows, remove arm (32 bit) (#5692) -- Remove arm64 build instructions and bump changelog again (#6131) +### Documentation -### .vscode +- ADR: Inter Validator Set Messaging +- Adr-d001: apllied feedback, added additional info +- Adr-d001 clarified abci protocol changes +- Adr-d001 describe 3 scenarios and minor restructure -- Remove directory (#5626) +### Features -### ABCI +- Fix coping of PubKey pointer -- Update readme to fix broken link to proto (#5847) -- Fix ReCheckTx for Socket Client (#6124) +### Blocksync -### ADR +- Fix shutdown deadlock issue (#7030) -- Fix malleability problems in Secp256k1 signatures -- Add missing numbers as blank templates (#5154) +### Build -### ADR-016 +- Update all deps to most recent version -- Add versions to Block and State (#2644) -- Add protocol Version to NodeInfo (#2654) -- Update ABCI Info method for versions (#2662) +### Consensus -### ADR-037 +- Avoid unbuffered channel in state test (#7025) -- DeliverBlock (#3420) +### E2e -### ADR-053 +- Use network size in load generator (#7019) +- Generator ensure p2p modes (#7021) -- Update with implementation plan after prototype (#4427) -- Strengthen and simplify the state sync ABCI interface (#4610) +### Statesync -### ADR-057 +- Ensure test network properly configured (#7026) +- Remove deadlock on init fail (#7029) +- Improve rare p2p race condition (#7042) -- RPC (#4857) +## [0.35.0-rc2] - 2021-09-28 -### ADR-062 +### Bug Fixes -- Update with new P2P core implementation (#6051) +- Amd64 build and arm build ci +- State sync locks when trying to retrieve AppHash +- Set correct LastStateID when updating block +- StateID - update tests (WIP, some still red) +- Ractor should validate StateID correctly + other fixes +- StateID in light client implementation +- Tests sometimes fail on connection attempt +- App hash size validation + remove unused code +- Invalid generation of tmproto.StateID request id +- State sync locks when trying to retrieve AppHash +- Correctly handle state ID of initial block +- Don't use state to verify blocks from mempool +- Incorrect state id for first block +- AppHashSize is inconsistent +- Support initial height != 1 +- E2e: workaround for "chain stalled at unknown height" +- Update dashcore network config, add validator01 to validator_update.0 and add all available validators to 1010 height +- Cleanup e2e Readme.md +- Remove height 1008 from dashcore +- Race condition in p2p_switch and pex_reactor (#7015) +- Race condition in p2p_switch and pex_reactor (#7015) -### BROKEN +### Documentation -- Attempt to replace go-wire.JSON with json.Unmarshall in rpc +- Add documentation of unsafe_flush_mempool to openapi (#6947) +- Fix openapi yaml lint (#6948) +- State ID +- State-id.md typos and grammar +- Remove invalid info about initial state id +- Add some code comments -### Backport +### Features -- #6494 (#6506) +- Info field with arbitrary data to ResultBroadcastTx +- Add ProposedBlockGTimeWindow in a config -### Bech32 +### Fix -- Wrap error messages +- Benchmark tests slow down light client tests -### Bug Fixes +### Refactor -- Fix spelling of comment (#4566) -- Make p2p evidence_pending test not timing dependent (#6252) -- Avoid race with a deeper copy (#6285) -- Jsonrpc url parsing and dial function (#6264) -- Jsonrpc url parsing and dial function (#6264) (#6288) -- Theoretical leak in clisit.Init (#6302) -- Test fixture peer manager in mempool reactor tests (#6308) -- Benchmark single operation in parallel benchmark not b.N (#6422) +- E2e docker: build bls in separate layer +- Golangci-lint + minor test improvements +- Minor formatting updates +- E2e docker: build bls in separate layer +- Add ErrInvalidVoteSignature +- S/GetStateID()/StateID()/ +- Code style changes after peer review +- Move stateid to separate file +- Remove unused message CanonicalStateVote +- Use types instead of pb StateID in SignVote and Evidence +- Inverse behaviour of resetting fullnode pubkeys from FULLNODE_PUBKEY_RESET to FULLNODE_PUBKEY_KEEP env +- Add runner/rotate task to simplify running rotate network -### CHANGELOG +### Security -- Update release date -- Update release date -- Update release/v0.32.8 details (#4162) -- Update to reflect 0.33.5 (#4915) -- Add 0.32.12 changelog entry (#4918) -- Update for 0.34.0-rc4 (#5400) -- Update to reflect v0.34.0-rc6 (#5622) -- Add breaking Version name change (#5628) -- Prepare 0.34.1-rc1 (#5832) +- Bump github.com/rs/zerolog from 1.24.0 to 1.25.0 (#6923) -### CHANGELOG_PENDING +### Testing -- Fix the upcoming release number (#5103) -- Update changelog for changes to American spelling (#6100) +- Add StateID unit tests +- Check if wrong state ID fails VoteAdd() +- Fix: TestStateBadProposal didn't copy slices correctly +- TestHandshakePanicsIfAppReturnsWrongAppHash fixed +- Change apphash for every message +- Workaround for e2e tests starting too fast +- Consensus tests use random initial height +- Non-nil genesis apphash in genesis tests +- Add tests for initial height != 1 to consensus +- Fix: replay_test.go fails due to invalid height processing -### CODEOWNERS +### Abci -- Specify more precise codeowners (#5333) -- Remove erikgrinaker (#6057) -- Remove erikgrinaker (#6057) +- Flush socket requests and responses immediately. (#6997) -### CONTRIBUTING +### Add -- Include instructions for installing protobuf -- Update minor release process (#4909) -- Update to match the release flow used for 0.34.0 (#5697) +- Update e2e doc -### CONTRIBUTING.md +### Build -- Update testing section (#5979) +- Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#6938) +- Bump github.com/vektra/mockery/v2 from 2.9.0 to 2.9.3 (#6951) +- Bump github.com/vektra/mockery/v2 from 2.9.3 to 2.9.4 (#6956) +- Bump github.com/spf13/viper from 1.8.1 to 1.9.0 (#6961) +- E2e docker app can be run with dlv debugger +- Improve e2e docker container debugging +- Bump github.com/go-kit/kit from 0.11.0 to 0.12.0 (#6988) +- Bump google.golang.org/grpc from 1.40.0 to 1.41.0 (#7003) -### CRandHex +### Changelog -- Fix up doc to mention length of digits +- Add entry for interanlizations (#6989) -### Client +### Ci -- DumpConsensusState, not DialSeeds. Cleanup +- Drop codecov bot (#6917) +- Tweak code coverage settings (#6920) +- Disable codecov patch status check (#6930) +- Skip coverage for non-go changes (#6927) +- Skip coverage tasks for test infrastructure (#6934) +- Reduce number of groups for 0.34 e2e runs (#6968) +- Use smart merges (#6993) +- Use cheaper codecov data collection (#7009) -### Connect2Switches +### Cleanup -- Panic on err +- Reduce and normalize import path aliasing. (#6975) -### Core +### Config/docs -- Move validation & data structures together (#176) +- Update and deprecated (#6879) -### Docs +### Crypto/armor -- Update description of seeds and persistent peers +- Remove unused package (#6963) -### Documentation +### E2e + +- Introduce canonical ordering of manifests (#6918) +- Load generation and logging changes (#6912) +- Increase retain height to at least twice evidence age (#6924) +- Test multiple broadcast tx methods (#6925) +- Compile tests (#6926) +- Improve p2p mode selection (#6929) +- Reduce load volume (#6932) +- Slow load processes with longer evidence timeouts (#6936) +- Reduce load pressure (#6939) +- Tweak semantics of waitForHeight (#6943) +- Skip broadcastTxCommit check (#6949) +- Allow load generator to succed for short tests (#6952) +- Cleanup on all errors if preserve not specified (#6950) +- Run multiple should use preserve (#6972) +- Improve manifest sorting algorithim (#6979) +- Only check validator sets after statesync (#6980) +- Always preserve failed networks (#6981) +- Load should be proportional to network (#6983) +- Avoid non-determinism in app hash check (#6985) +- Tighten timing for load generation (#6990) +- Skip validation of status apphash (#6991) +- Do not inject evidence through light proxy (#6992) +- Add limit and sort to generator (#6998) +- Reduce number of statesyncs in test networks (#6999) +- Improve chances of statesyncing success (#7001) +- Allow running of single node using the e2e app (#6982) +- Reduce log noise (#7004) +- Avoid seed nodes when statesyncing (#7006) +- Add generator tests (#7008) +- Reduce number of stateless nodes in test networks (#7010) +- Use smaller transactions (#7016) + +### Inspect + +- Remove duplicated construction path (#6966) + +### Light + +- Update initialization description (#320) + +### Proto + +- Add tendermint go changes (#349) +- Regenerate code (#6977) + +### Proxy + +- Move proxy package to internal (#6953) + +### Readme + +- Update discord links (#6965) + +### Rfc + +- Database storage engine (#6897) +- E2e improvements (#6941) +- Add performance taxonomy rfc (#6921) +- Fix a few typos and formatting glitches p2p roadmap (#6960) +- Event system (#6957) + +### Rpc + +- Fix hash encoding in JSON parameters (#6813) +- Strip down the base RPC client interface. (#6971) +- Implement BroadcastTxCommit without event subscriptions (#6984) + +### State + +- Move package to internal (#6964) + +### Statesync + +- Shut down node when statesync fails (#6944) +- Clean up reactor/syncer lifecylce (#6995) +- Add logging while waiting for peers (#7007) + +### Statesync/rpc + +- Metrics for the statesync and the rpc SyncInfo (#6795) + +### Store + +- Move pacakge to internal (#6978) + +## [0.35.0-rc1] - 2021-09-08 + +### Documentation + +- Add package godoc for indexer (#6839) +- Remove return code in normal case from go built-in example (#6841) +- Fix a typo in the indexing section (#6909) + +### Features + +- [**breaking**] Proposed app version (#148) + +### Miscellaneous Tasks + +- Bump tenderdash version to 0.6.0-dev.1 + +### Testing + +- Install abci-cli when running make tests_integrations (#6834) + +### Abci + +- Clarify what abci stands for (#336) +- Clarify connection use in-process (#337) +- Change client to use multi-reader mutexes (backport #6306) (#6873) + +### Blocksync + +- Complete transition from Blockchain to BlockSync (#6847) + +### Build + +- Bump github.com/golangci/golangci-lint (#6837) +- Bump docker/build-push-action from 2.6.1 to 2.7.0 (#6845) +- Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#6860) +- Bump github.com/rs/zerolog from 1.23.0 to 1.24.0 (#6874) +- Bump github.com/lib/pq from 1.10.2 to 1.10.3 (#6890) +- Bump docker/setup-buildx-action from 1.5.0 to 1.6.0 (#6903) +- Bump github.com/golangci/golangci-lint (#6907) + +### Changelog + +- Update to reflect 0.34.12 release (#6833) +- Linkify the 0.34.11 release notes (#6836) + +### Cleanup + +- Fix order of linters in the golangci-lint config (#6910) + +### Cmd + +- Remove deprecated snakes (#6854) + +### Contributing + +- Remove release_notes.md reference (#6846) + +### Core + +- Text cleanup (#332) + +### E2e + +- Avoid starting nodes from the future (#6835) +- Avoid starting nodes from the future (#6835) (#6838) +- Cleanup node start function (#6842) +- Cleanup node start function (#6842) (#6848) +- More consistent node selection during tests (#6857) +- Add weighted random configuration selector (#6869) +- More reliable method for selecting node to inject evidence (#6880) +- Change restart mechanism (#6883) +- Weight protocol dimensions (#6884) +- Skip light clients when waiting for height (#6891) +- Wait for all nodes rather than just one (#6892) +- Skip assertions for stateless nodes (#6894) +- Clean up generation of evidence (#6904) + +### Inspect + +- Add inspect mode for debugging crashed tendermint node (#6785) + +### Internal/consensus + +- Update error log (#6863) +- Update error log (#6863) (#6867) + +### Light + +- Fix early erroring (#6905) + +### Lint + +- Change deprecated linter (#6861) + +### Network + +- Update terraform config (#6901) + +### Networks + +- Update to latest DigitalOcean modules (#6902) + +### P2p + +- Change default to use new stack (#6862) + +### Proto + +- Move proto files under the correct directory related to their package name (#344) + +### Psql + +- Add documentation and simplify constructor API (#6856) + +### Pubsub + +- Improve handling of closed blocking subsciptions. (#6852) + +### Rfc + +- P2p next steps (#6866) +- Fix link style (#6870) + +### Statesync + +- Improve stateprovider handling in the syncer (backport) (#6881) +- Implement p2p state provider (#6807) + +### Time + +- Make median time library type private (#6853) + +### Types + +- Move mempool error for consistency (#6875) + +### Upgrading + +- Add information into the UPGRADING.md for users of the codebase wishing to upgrade (#6898) + +## [0.34.12] - 2021-08-17 + +### Documentation + +- Fix typo (#6789) +- Fix a typo in the genesis_chunked description (#6792) +- Upgrade documentation for custom mempools (#6794) +- Fix typos in /tx_search and /tx. (#6823) + +### Security + +- Bump google.golang.org/grpc from 1.39.0 to 1.39.1 (#6801) +- Bump google.golang.org/grpc from 1.39.1 to 1.40.0 (#6819) + +### Testing + +- Add mechanism to reproduce found fuzz errors (#6768) + +### Abci + +- Add changelog entry for mempool_error field (#6770) + +### Adr + +- Node initialization (#6562) + +### Blockchain + +- Rename to blocksync service (#6755) + +### Blockstore + +- Fix problem with seen commit (#6782) + +### Build + +- Bump styfle/cancel-workflow-action from 0.9.0 to 0.9.1 (#6786) +- Bump technote-space/get-diff-action from 4 to 5 (#6788) +- Bump github.com/BurntSushi/toml from 0.3.1 to 0.4.1 (#6796) + +### Bytes + +- Clean up and simplify encoding of HexBytes (#6810) + +### Changelog + +- Prepare for v0.34.12 (#6831) + +### Changelog_pending + +- Add missing item (#6829) +- Add missing entry (#6830) + +### Cleanup + +- Remove redundant error plumbing (#6778) + +### Cli/indexer + +- Reindex events (#6676) + +### Clist + +- Add simple property tests (#6791) + +### Commands + +- Add key migration cli (#6790) + +### Contributing + +- Update release instructions to use backport branches (#6827) + +### Evidence + +- Add section explaining evidence (#324) + +### Light + +- Wait for tendermint node to start before running example test (#6744) +- Replace homegrown mock with mockery (#6735) + +### Mempool/v1 + +- Test reactor does not panic on broadcast (#6772) + +### Node + +- Minimize hardcoded service initialization (#6798) + +### P2p + +- Add test for pqueue dequeue full error (#6760) + +### Pubsub + +- Unsubscribe locking handling (#6816) + +### Rpc + +- Add documentation for genesis chunked api (#6776) +- Avoid panics in unsafe rpc calls with new p2p stack (#6817) +- Support new p2p infrastructure (#6820) +- Log update (#6825) +- Log update (backport #6825) (#6826) +- Update peer format in specification in NetInfo operation (#331) + +### State/privval + +- Vote timestamp fix (#6748) +- Vote timestamp fix (backport #6748) (#6783) + +### Statesync + +- New messages for gossiping consensus params (#328) + +### Tools + +- Add mockery to tools.go and remove mockery version strings (#6787) + +### Version + +- Bump for 0.34.12 (#6832) + +## [0.5.10] - 2021-07-26 + +### Testing + +- Add test to reproduce found fuzz errors (#6757) + +### Build + +- Bump golangci/golangci-lint-action from 2.3.0 to 2.5.2 +- Bump codecov/codecov-action from 1.5.2 to 2.0.1 (#6739) +- Bump codecov/codecov-action from 2.0.1 to 2.0.2 (#6764) + +### E2e + +- Avoid systematic key-type variation (#6736) +- Drop single node hybrid configurations (#6737) +- Remove cartesian testing of ipv6 (#6734) +- Run tests in fewer groups (#6742) +- Prevent adding light clients as persistent peers (#6743) +- Longer test harness timeouts (#6728) +- Allow for both v0 and v1 mempool implementations (#6752) + +### Fastsync/event + +- Emit fastsync status event when switching consensus/fastsync (#6619) + +### Internal + +- Update blockchain reactor godoc (#6749) + +### Light + +- Run examples as integration tests (#6745) +- Improve error handling and allow providers to be added (#6733) + +### Mempool + +- Return mempool errors to the abci client (#6740) + +### P2p + +- Add coverage for mConnConnection.TrySendMessage (#6754) +- Avoid blocking on the dequeCh (#6765) + +### Statesync/event + +- Emit statesync start/end event (#6700) + +## [0.5.8] - 2021-07-20 + +### Blockchain + +- Error on v2 selection (#6730) + +### Clist + +- Add a few basic clist tests (#6727) + +### Libs/clist + +- Revert clear and detach changes while debugging (#6731) + +### Mempool + +- Add TTL configuration to mempool (#6715) + +## [0.5.7] - 2021-07-16 + +### Bug Fixes + +- Maverick compile issues (#104) +- Private validator key still automatically creating (#120) +- Getting pro tx hash from full node +- Incorrectly assume amd64 arch during docker build +- Image isn't pushed after build + +### Documentation + +- Rename tenderdash and update target repo +- Update events (#6658) +- Add sentence about windows support (#6655) +- Add docs file for the peer exchange (#6665) +- Update github issue and pr templates (#131) +- Fix broken links (#6719) + +### Features + +- Improve initialisation (#117) +- Add arm64 arch for builds + +### Miscellaneous Tasks + +- Target production dockerhub org +- Use official docker action + +### RPC + +- Mark grpc as deprecated (#6725) + +### Security + +- Bump github.com/spf13/viper from 1.8.0 to 1.8.1 (#6622) +- Bump github.com/rs/cors from 1.7.0 to 1.8.0 (#6635) +- Bump github.com/go-kit/kit from 0.10.0 to 0.11.0 (#6651) +- Bump github.com/spf13/cobra from 1.2.0 to 1.2.1 (#6650) + +### Testing + +- Fix non-deterministic backfill test (#6648) + +### Abci + +- Fix gitignore abci-cli (#6668) +- Remove counter app (#6684) + +### Build + +- Bump docker/login-action from 1.9.0 to 1.10.0 (#6614) +- Bump docker/setup-buildx-action from 1.3.0 to 1.4.0 (#6629) +- Bump docker/setup-buildx-action from 1.4.0 to 1.4.1 (#6632) +- Bump google.golang.org/grpc from 1.38.0 to 1.39.0 (#6633) +- Bump github.com/spf13/cobra from 1.1.3 to 1.2.0 (#6640) +- Bump docker/build-push-action from 2.5.0 to 2.6.1 (#6639) +- Bump docker/setup-buildx-action from 1.4.1 to 1.5.0 (#6649) +- Bump gaurav-nelson/github-action-markdown-link-check (#6679) +- Bump github.com/golangci/golangci-lint (#6686) +- Bump gaurav-nelson/github-action-markdown-link-check (#313) +- Bump github.com/google/uuid from 1.2.0 to 1.3.0 (#6708) +- Bump actions/stale from 3.0.19 to 4 (#319) +- Bump actions/stale from 3.0.19 to 4 (#6726) + +### Changelog + +- Have a single friendly bug bounty reminder (#6600) +- Update and regularize changelog entries (#6594) + +### Ci + +- Make ci consistent and push to docker hub +- Trigger docker build on release +- Disable arm build +- Always push to dockerhub +- Test enabling cache +- Test arm build +- Manually trigger build +- Disable arm64 builds +- Set release to workflow dispatch (manual) trigger +- Enable arm64 in CI + +### Cmd/tendermint/commands + +- Replace $HOME/.some/test/dir with t.TempDir (#6623) + +### Config + +- Add example on external_address (#6621) +- Add example on external_address (backport #6621) (#6624) + +### Crypto + +- Use a different library for ed25519/sr25519 (#6526) + +### Deps + +- Remove pkg errors (#6666) +- Run go mod tidy (#6677) + +### E2e + +- Allow variable tx size (#6659) +- Disable app tests for light client (#6672) +- Remove colorized output from docker-compose (#6670) +- Extend timeouts in test harness (#6694) +- Ensure evidence validator set matches nodes validator set (#6712) +- Tweak sleep for pertubations (#6723) + +### Evidence + +- Update ADR 59 and add comments to the use of common height (#6628) + +### Fastsync + +- Update the metrics during fast-sync (#6590) + +### Fastsync/rpc + +- Add TotalSyncedTime & RemainingTime to SyncInfo in /status RPC (#6620) + +### Internal/blockchain/v0 + +- Prevent all possible race for blockchainCh.Out (#6637) + +### Libs/CList + +- Automatically detach the prev/next elements in Remove function (#6626) + +### Light + +- Correctly handle contexts (backport -> v0.34.x) (#6685) +- Correctly handle contexts (#6687) +- Add case to catch cancelled contexts within the detector (backport #6701) (#6720) + +### Mempool + +- Move errors to be public (#6613) + +### P2p + +- Address audit issues with the peer manager (#6603) +- Make NodeID and NetAddress public (#6583) +- Reduce buffering on channels (#6609) +- Do not redial peers with different chain id (#6630) +- Track peer channels to avoid sending across a channel a peer doesn't have (#6601) +- Remove annoying error log (#6688) + +### Pkg + +- Expose p2p functions (#6627) + +### Privval + +- Missing privval type check in SetPrivValidator (#6645) + +### Psql + +- Close opened rows in tests (#6669) + +### Pubsub + +- Refactor Event Subscription (#6634) + +### Release + +- Update changelog and version (#6599) + +### Router/statesync + +- Add helpful log messages (#6724) + +### Rpc + +- Use shorter path names for tests (#6602) +- Add totalGasUSed to block_results response (#308) +- Add max peer block height into /status rpc call (#6610) +- Add `TotalGasUsed` to `block_results` response (#6615) +- Re-index missing events (#6535) +- Add chunked rpc interface (backport #6445) (#6717) + +### State/indexer + +- Close row after query (#6664) + +### State/privval + +- No GetPubKey retry beyond the proposal/voting window (#6578) + +### Statesync + +- Make fetching chunks more robust (#6587) +- Keep peer despite lightblock query fail (#6692) +- Remove outgoingCalls race condition in dispatcher (#6699) +- Use initial height as a floor to backfilling (#6709) +- Increase dispatcher timeout (#6714) +- Dispatcher test uses internal channel for timing (#6713) + +### Tooling + +- Use go version 1.16 as minimum version (#6642) + +### Tools + +- Remove k8s (#6625) +- Move tools.go to subdir (#6689) + +### Types + +- Move NodeInfo from p2p (#6618) + +## [0.34.11] - 2021-06-18 + +### Testing + +- Add current fuzzing to oss-fuzz-build script (#6576) +- Fix wrong compile fuzzer command (#6579) +- Fix wrong path for some p2p fuzzing packages (#6580) + +### Build + +- Bump github.com/rs/zerolog from 1.22.0 to 1.23.0 (#6575) +- Bump github.com/spf13/viper from 1.7.1 to 1.8.0 (#6586) + +### Config + +- Add root dir to priv validator (#6585) + +### Consensus + +- Skip all messages during sync (#6577) + +### E2e + +- Fix looping problem while waiting (#6568) + +### Fuzz + +- Initial support for fuzzing (#6558) + +### Libs/log + +- Text logging format changes (#6589) + +### Libs/time + +- Move types/time into libs (#6595) + +### Linter + +- Linter checks non-ASCII identifiers (#6574) + +### P2p + +- Increase queue size to 16MB (#6588) +- Avoid retry delay in error case (#6591) + +### Release + +- Prepare changelog for v0.34.11 (#6597) + +### Rpc + +- Fix RPC client doesn't handle url's without ports (#6507) +- Add subscription id to events (#6386) + +### State + +- Move pruneBlocks from consensus/state to state/execution (#6541) + +### State/types + +- Refactor makeBlock, makeBlocks and makeTxs (#6567) + +### Statesync + +- Tune backfill process (#6565) +- Increase chunk priority and robustness (#6582) + +## [0.4.2] - 2021-06-10 + +### Blockchain/v0 + +- Fix data race in blockchain channel (#6518) + +### Build + +- Bump github.com/btcsuite/btcd (#6560) +- Bump codecov/codecov-action from 1.5.0 to 1.5.2 (#6559) + +### Indexer + +- Use INSERT ... ON CONFLICT in the psql eventsink insert functions (#6556) + +### Node + +- Fix genesis on start up (#6563) + +## [0.4.1] - 2021-06-09 + +### .github + +- Make core team codeowners (#6384) +- Make core team codeowners (#6383) + +### Backport + +- #6494 (#6506) + +### Bug Fixes + +- Benchmark single operation in parallel benchmark not b.N (#6422) + +### Documentation + +- Adr-65 adjustments (#6401) +- Adr cleanup (#6489) +- Hide security page (second attempt) (#6511) +- Rename tendermint-core to system (#6515) +- Logger updates (#6545) + +### RFC + +- ReverseSync - fetching historical data (#224) + +### Security + +- Bump github.com/confio/ics23/go from 0.6.3 to 0.6.6 (#6374) +- Bump github.com/grpc-ecosystem/go-grpc-middleware from 1.2.2 to 1.3.0 (#6387) +- Bump google.golang.org/grpc from 1.37.0 to 1.37.1 (#6461) +- Bump google.golang.org/grpc from 1.37.1 to 1.38.0 (#6483) +- Bump github.com/lib/pq from 1.10.1 to 1.10.2 (#6505) + +### Testing + +- Create common functions for easily producing tm data structures (#6435) +- HeaderHash test vector (#6531) +- Add evidence hash testvectors (#6536) + +### WIP + +- Add implementation of mock/fake http-server +- Rename package name from fakeserver to mockcoreserver +- Change the method names of call structure, Fix adding headers +- Add mock of JRPCServer implementation on top of HTTServer mock + +### Build + +- Bump codecov/codecov-action from v1.3.2 to v1.4.0 (#6365) +- Bump codecov/codecov-action from v1.4.0 to v1.4.1 (#6379) +- Bump docker/setup-buildx-action from v1.1.2 to v1.2.0 (#6391) +- Bump docker/setup-buildx-action from v1.2.0 to v1.3.0 (#6413) +- Bump codecov/codecov-action from v1.4.1 to v1.5.0 (#6417) +- Bump github.com/cosmos/iavl from 0.15.3 to 0.16.0 (#6421) +- Bump JamesIves/github-pages-deploy-action (#6448) +- Bump docker/build-push-action from 2 to 2.4.0 (#6454) +- Bump actions/stale from 3 to 3.0.18 (#6455) +- Bump actions/checkout from 2 to 2.3.4 (#6456) +- Bump docker/login-action from 1 to 1.9.0 (#6460) +- Bump actions/stale from 3.0.18 to 3.0.19 (#6477) +- Bump actions/stale from 3 to 3.0.18 (#300) +- Bump watchpack from 2.1.1 to 2.2.0 in /docs (#6482) +- Bump actions/stale from 3.0.18 to 3.0.19 (#302) +- Bump browserslist from 4.16.4 to 4.16.6 in /docs (#6487) +- Bump docker/build-push-action from 2.4.0 to 2.5.0 (#6496) +- Bump dns-packet from 1.3.1 to 1.3.4 in /docs (#6500) +- Bump actions/cache from 2.1.5 to 2.1.6 (#6504) +- Bump rtCamp/action-slack-notify from 2.1.3 to 2.2.0 (#6543) +- Bump github.com/prometheus/client_golang (#6552) + +### Changelog + +- Update for 0.34.10 (#6358) + +### Config + +- Create `BootstrapPeers` p2p config parameter (#6372) +- Add private peer id /net_info expose information in default config (#6490) +- Seperate priv validator config into seperate section (#6462) + +### Config/indexer + +- Custom event indexing (#6411) + +### Consensus + +- Add test vector for hasvote (#6469) + +### Core + +- Update a few sections (#284) + +### Crypto + +- Add sr25519 as a validator key (#6376) + +### Crypto/merkle + +- Pre-allocate data slice in innherHash (#6443) +- Optimize merkle tree hashing (#6513) + +### Db + +- Migration script for key format change (#6355) + +### Dep + +- Remove IAVL dependency (#6550) + +### E2e + +- Split out nightly tests (#6395) +- Prevent non-viable testnets (#6486) + +### Events + +- Add block_id to NewBlockEvent (#6478) + +### Evidence + +- Fix bug with hashes (#6375) +- Fix bug with hashes (backport #6375) (#6381) +- Separate abci specific validation (#6473) + +### Github + +- Fix linter configuration errors and occluded errors (#6400) + +### Improvement + +- Update TxInfo (#6529) + +### Libs + +- Remove most of libs/rand (#6364) +- Internalize some packages (#6366) + +### Libs/clist + +- Fix flaky tests (#6453) + +### Libs/log + +- Use fmt.Fprintf directly with *bytes.Buffer to avoid unnecessary allocations (#6503) + +### Libs/os + +- Avoid CopyFile truncating destination before checking if regular file (#6428) +- Avoid CopyFile truncating destination before checking if regular file (backport: #6428) (#6436) + +### Light + +- Ensure trust level is strictly less than 1 (#6447) +- Spec alignment on verify skipping (#6474) + +### Lint + +- Fix lint errors (#301) + +### Logger + +- Refactor Tendermint logger by using zerolog (#6534) + +### Mempool + +- Remove vestigal mempool wal (#6396) +- Benchmark improvements (#6418) +- Add duplicate transaction and parallel checktx benchmarks (#6419) +- V1 implementation (#6466) + +### Metrics + +- Change blocksize to a histogram (#6549) + +### Node + +- Use db provider instead of mem db (#6362) +- Cleanup pex initialization (#6467) +- Change package interface (#6540) + +### Node/state + +- Graceful shutdown in the consensus state (#6370) + +### Node/tests + +- Clean up use of genesis doc and surrounding tests (#6554) + +### P2p + +- Fix network update test (#6361) +- Update state sync messages for reverse sync (#285) +- Improve PEX reactor (#6305) +- Support private peer IDs in new p2p stack (#6409) +- Wire pex v2 reactor to router (#6407) +- Add channel descriptors to open channel (#6440) +- Revert change to routePeer (#6475) +- Limit rate of dialing new peers (#6485) +- Renames for reactors and routing layer internal moves (#6547) + +### P2p/conn + +- Check for channel id overflow before processing receive msg (#6522) +- Check for channel id overflow before processing receive msg (backport #6522) (#6528) + +### P2p/pex + +- Cleanup to pex internals and peerManager interface (#6476) +- Reuse hash.Hasher per addrbook for speed (#6509) + +### Pex + +- Fix send requests too often test (#6437) + +### Rpc + +- Define spec for RPC (#276) +- Remove global environment (#6426) +- Clean up client global state in tests (#6438) +- Add chunked rpc interface (#6445) +- Clarify timestamps (#304) +- Add chunked genesis endpoint (#299) +- Decouple test fixtures from node implementation (#6533) + +### State + +- Keep a cache of block verification results (#6402) + +### State/indexer + +- Reconstruct indexer, move txindex into the indexer package (#6382) + +### Statesync + +- Improve e2e test outcomes (#6378) +- Improve e2e test outcomes (backport #6378) (#6380) +- Sort snapshots by commonness (#6385) +- Fix unreliable test (#6390) +- Ranking test fix (#6415) + +### Tools + +- Use os home dir to instead of the hardcoded PATH (#6498) + +### Types + +- Refactor EventAttribute (#6408) +- Fix verify commit light / trusting bug (#6414) +- Revert breaking change (#6538) + +### Version + +- Revert version through ldflag only (#6494) + +### Ws + +- Parse remote addrs with trailing dash (#6537) + +## [0.34.10] - 2021-04-14 + +### Documentation + +- Bump vuepress-theme-cosmos (#6344) +- Remove RFC section and s/RFC001/ADR066 (#6345) + +### RPC + +- Don't cap page size in unsafe mode (#6329) + +### Security + +- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (#6330) + +### Testing + +- Produce structured reporting from benchmarks (#6343) + +### Adr + +- ADR 065: Custom Event Indexing (#6307) + +### Build + +- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (bp #6330) (#6335) +- Bump styfle/cancel-workflow-action from 0.8.0 to 0.9.0 (#6341) +- Bump actions/cache from v2.1.4 to v2.1.5 (#6350) + +### Changelog + +- Update to reflect 0.34.9 (#6334) +- Update for 0.34.10 (#6357) + +### E2e + +- Tx load to use broadcast sync instead of commit (#6347) +- Tx load to use broadcast sync instead of commit (backport #6347) (#6352) +- Relax timeouts (#6356) + +### Light + +- Handle too high errors correctly (#6346) +- Handle too high errors correctly (backport #6346) (#6351) + +### P2p + +- Make peer scoring test more resilient (#6322) +- Fix using custom channels (#6339) +- Minor cleanup + update router options (#6353) + +### Security + +- Update policy after latest security release (#6336) + +## [0.34.9] - 2021-04-08 + +### .github + +- Remove myself from CODEOWNERS (#6248) + +### Bug Fixes + +- Make p2p evidence_pending test not timing dependent (#6252) +- Avoid race with a deeper copy (#6285) +- Jsonrpc url parsing and dial function (#6264) +- Jsonrpc url parsing and dial function (#6264) (#6288) +- Theoretical leak in clisit.Init (#6302) +- Test fixture peer manager in mempool reactor tests (#6308) + +### Documentation + +- Fix sample code (#6186) +- Fix sample code #6186 + +### P2P + +- Evidence Reactor Test Refactor (#6238) + +### Security + +- Bump vuepress-theme-cosmos from 1.0.180 to 1.0.181 in /docs (#6266) +- Bump github.com/minio/highwayhash from 1.0.1 to 1.0.2 (#6280) + +### Testing + +- Fix PEX reactor test (#6188) +- Fix rpc, secret_connection and pex tests (#6190) +- Refactor mempool reactor to use new p2ptest infrastructure (#6250) +- Clean up databases in tests (#6304) +- Improve cleanup for data and disk use (#6311) + +### Abci + +- Note on concurrency (#258) +- Change client to use multi-reader mutexes (#6306) +- Reorder sidebar (#282) + +### Blockstore + +- Save only the last seen commit (#6212) + +### Build + +- Bump google.golang.org/grpc from 1.35.0 to 1.36.0 (#6180) +- Bump JamesIves/github-pages-deploy-action from 4.0.0 to 4.1.0 (#6215) +- Bump rtCamp/action-slack-notify from ae4223259071871559b6e9d08b24a63d71b3f0c0 to 2.1.3 (#6234) +- Bump codecov/codecov-action from v1.2.1 to v1.2.2 (#6231) +- Bump codecov/codecov-action from v1.2.2 to v1.3.1 (#6247) +- Bump github.com/golang/protobuf from 1.4.3 to 1.5.1 (#6254) +- Bump github.com/prometheus/client_golang (#6258) +- Bump google.golang.org/grpc from 1.36.0 to 1.36.1 (#6281) +- Bump github.com/golang/protobuf from 1.5.1 to 1.5.2 (#6299) +- Bump github.com/Workiva/go-datastructures (#6298) +- Bump golangci/golangci-lint-action from v2.5.1 to v2.5.2 (#6317) +- Bump codecov/codecov-action from v1.3.1 to v1.3.2 (#6319) +- Bump JamesIves/github-pages-deploy-action (#6316) +- Bump docker/setup-buildx-action from v1 to v1.1.2 (#6324) + +### Changelog + +- Update for 0.34.8 (#6183) +- Prepare changelog for 0.34.9 release (#6333) + +### Ci + +- Add janitor (#6292) + +### Consensus + +- Reduce shared state in tests (#6313) + +### Crypto + +- Ed25519 & sr25519 batch verification (#6120) + +### E2e + +- Adjust timeouts to be dynamic to size of network (#6202) +- Add benchmarking functionality (#6210) +- Integrate light clients (#6196) +- Add benchmarking functionality (bp #6210) (#6216) +- Fix light client generator (#6236) +- Integrate light clients (bp #6196) +- Fix perturbation of seed nodes (#6272) +- Add evidence generation and testing (#6276) + +### Genesis + +- Explain fields in genesis file (#270) + +### Github + +- Add @tychoish to code owners (#6273) + +### Indexer + +- Remove info log (#6194) +- Remove info log (#6194) + +### Light + +- Improve provider handling (#6053) + +### Light/evidence + +- Handle FLA backport (#6331) + +### Linter + +- Fix nolintlint warnings (#6257) + +### Localnet + +- Fix localnet by excluding self from persistent peers list (#6209) + +### Logging + +- Shorten precommit log message (#6270) +- Shorten precommit log message (#6270) (#6274) + +### Logs + +- Cleanup (#6198) +- Cleanup (#6198) + +### Mempool + +- Don't return an error on checktx with the same tx (#6199) + +### Mempool/rpc + +- Log grooming (#6201) +- Log grooming (bp #6201) (#6203) + +### Node + +- Implement tendermint modes (#6241) +- Remove mode defaults. Make node mode explicit (#6282) + +### Note + +- Add nondeterministic note to events (#6220) +- Add nondeterministic note to events (#6220) (#6225) + +### P2p + +- Links (#268) +- Revised router message scheduling (#6126) +- Metrics (#6278) +- Simple peer scoring (#6277) +- Rate-limit incoming connections by IP (#6286) +- Fix "Unknown Channel" bug on CustomReactors (#6297) +- Connect max inbound peers configuration to new router (#6296) +- Filter peers by IP address and ID (#6300) +- Improve router test stability (#6310) +- Extend e2e tests for new p2p framework (#6323) + +### Privval + +- Return errors on loadFilePV (#6185) +- Add ctx to privval interface (#6240) + +### Readme + +- Cleanup (#262) + +### Rpc + +- Index block events to support block event queries (#6226) +- Index block events to support block event queries (bp #6226) (#6261) + +### Rpc/jsonrpc + +- Unmarshal RPCRequest correctly (#6191) +- Unmarshal RPCRequest correctly (bp #6191) (#6193) + +### Rpc/jsonrpc/server + +- Return an error in WriteRPCResponseHTTP(Error) (#6204) +- Return an error in WriteRPCResponseHTTP(Error) (bp #6204) (#6230) + +### Spec + +- Merge rust-spec (#252) + +### State + +- Cleanup block indexing logs and null (#6263) +- Fix block event indexing reserved key check (#6314) +- Fix block event indexing reserved key check (#6314) (#6315) + +## [0.34.8] - 2021-02-25 + +### .github + +- Jepsen workflow - initial version (#6123) +- [jepsen] fix inputs and remove TTY from docker (#6134) +- [jepsen] use working-directory instead of 'cd' (#6135) +- [jepsen] use "bash -c" to execute lein run cmd (#6136) +- [jepsen] cd inside the container, not outside (#6137) +- [jepsen] fix directory name (#6138) +- [jepsen] source .bashrc (#6139) +- [jepsen] add more docs (#6141) +- [jepsen] archive results (#6164) + +### Documentation + +- How to add tm version to RPC (#6151) +- Add preallocated list of security vulnerability names (#6167) + +### Testing + +- Fix TestByzantinePrevoteEquivocation (#6132) + +### Abci + +- Fix ReCheckTx for Socket Client (bp #6124) (#6125) + +### Build + +- Bump golangci/golangci-lint-action from v2.4.0 to v2.5.1 (#6175) + +### Changelog + +- Fix changelog pending version numbering (#6149) +- Update with changes from 0.34.7 (and failed 0.34.5, 0.34.6) (#6150) +- Update for 0.34.8 (#6181) + +### Cmd + +- Ignore missing wal in debug kill command (#6160) + +### Consensus + +- More log grooming (#6140) +- Log private validator address and not struct (#6144) +- More log grooming (bp #6140) (#6143) + +### Goreleaser + +- Reintroduce arm64 build instructions + +### Libs/log + +- [JSON format] include timestamp (#6174) +- [JSON format] include timestamp (bp #6174) (#6179) + +### Light + +- Improve timeout functionality (#6145) + +### Logging + +- Print string instead of callback (#6177) +- Print string instead of callback (#6178) + +### P2p + +- Enable scheme-less parsing of IPv6 strings (#6158) + +### Rpc + +- Standardize error codes (#6019) +- Change default sorting to desc for `/tx_search` results (#6168) + +### Rpc/client/http + +- Do not drop events even if the `out` channel is full (#6163) +- Drop endpoint arg from New and add WSOptions (#6176) + +### State + +- Save in batches within the state store (#6067) + +## [0.34.7] - 2021-02-18 + +### .goreleaser + +- Remove arm64 build instructions and bump changelog again (#6131) + +## [0.34.6] - 2021-02-18 + +### Changelog + +- Bump to v0.34.6 + +## [0.34.5] - 2021-02-18 + +### ABCI + +- Fix ReCheckTx for Socket Client (#6124) + +### CHANGELOG_PENDING + +- Update changelog for changes to American spelling (#6100) + +### Documentation + +- Fix proto file names (#6112) + +### Security + +- Update 0.34.3 changelog with details on security vuln (bp #6108) (#6110) + +### Adr + +- Batch verification (#6008) + +### Backports + +- Mergify (#6107) + +### Build + +- Bump golangci/golangci-lint-action from v2.3.0 to v2.4.0 (#6111) + +### Changelog + +- Update to reflect v0.34.4 release (#6105) +- Update 0.34.3 changelog with details on security vuln (#6108) +- Update for 0.34.5 (#6129) + +### Consensus + +- P2p refactor (#5969) +- Groom Logs (#5917) +- Remove privValidator from log call (#6128) + +### Node + +- Feature flag for legacy p2p support (#6056) + +### Proto + +- Modify height int64 to uint64 (#253) + +### Tooling + +- Remove tools/Makefile (#6102) +- Remove tools/Makefile (bp #6102) (#6106) + +## [0.34.4] - 2021-02-11 + +### .github + +- Fix fuzz-nightly job (#5965) +- Archive crashers and fix set-crashers-count step (#5992) +- Rename crashers output (fuzz-nightly-test) (#5993) +- Clean up PR template (#6050) +- Use job ID (not step ID) inside if condition (#6060) +- Remove erik as reviewer from dependapot (#6076) +- Rename crashers output (fuzz-nightly-test) (#5993) +- Archive crashers and fix set-crashers-count step (#5992) +- Fix fuzz-nightly job (#5965) +- Use job ID (not step ID) inside if condition (#6060) +- Remove erik as reviewer from dependapot (#6076) + +### .github/workflows + +- Enable manual dispatch for some workflows (#5929) +- Try different e2e nightly test set (#6036) +- Separate e2e workflows for 0.34.x and master (#6041) +- Fix whitespace in e2e config file (#6043) +- Cleanup yaml for e2e nightlies (#6049) +- Try different e2e nightly test set (#6036) +- Separate e2e workflows for 0.34.x and master (#6041) +- Fix whitespace in e2e config file (#6043) +- Cleanup yaml for e2e nightlies (#6049) + +### .golangci + +- Set locale to US for misspell linter (#6038) + +### ADR-062 + +- Update with new P2P core implementation (#6051) + +### CODEOWNERS + +- Remove erikgrinaker (#6057) +- Remove erikgrinaker (#6057) + +### CONTRIBUTING.md + +- Update testing section (#5979) + +### Documentation + +- Update package-lock.json (#5928) +- Package-lock.json fix (#5948) +- Change v0.33 version (#5950) +- Bump package-lock.json of v0.34.x (#5952) +- Dont login when in PR (#5961) +- Release Linux/ARM64 image (#5925) +- Log level docs (#5945) +- Fix typo in state sync example (#5989) +- External address (#6035) +- Reword configuration (#6039) +- Change v0.33 version (#5950) +- Release Linux/ARM64 image (#5925) +- Dont login when in PR (#5961) +- Fix typo in state sync example (#5989) + +### Makefile + +- Always pull image in proto-gen-docker. (#5953) +- Always pull image in proto-gen-docker. (#5953) + +### Security + +- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) +- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) +- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) +- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) + +### Testing + +- Fix TestPEXReactorRunning data race (#5955) +- Move fuzz tests into this repo (#5918) +- Fix `make test` (#5966) +- Close transports to avoid goroutine leak failures (#5982) +- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) +- Fix TestSwitchAcceptRoutine flake by ignoring error type (#6000) +- Disable TestPEXReactorSeedModeFlushStop due to flake (#5996) +- Fix test data race in p2p.MemoryTransport with logger (#5995) +- Fix TestSwitchAcceptRoutine by ignoring spurious error (#6001) +- Fix TestRouter to take into account PeerManager reconnects (#6002) +- Fix flaky router broadcast test (#6006) +- Enable pprof server to help debugging failures (#6003) +- Increase sign/propose tolerances (#6033) +- Increase validator tolerances (#6037) +- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) (#6047) +- Enable pprof server to help debugging failures (#6003) +- Increase sign/propose tolerances (#6033) +- Increase validator tolerances (#6037) +- Move fuzz tests into this repo (#5918) +- Fix `make test` (#5966) + +### Blockchain/v2 + +- Internalize behavior package (#6094) + +### Build + +- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) +- Bump JamesIves/github-pages-deploy-action (#6062) +- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) +- Bump github.com/spf13/cobra from 1.1.1 to 1.1.2 (#6075) +- Bump github.com/spf13/cobra from 1.1.2 to 1.1.3 (#6098) + +### Changelog + +- Update changelog for v0.34.3 (#5927) +- Update for v0.34.4 (#6096) +- Improve with suggestions from @melekes (#6097) + +### Consensus + +- Groom Logs (#5917) + +### E2e + +- Releases nightly (#5906) +- Add control over the log level of nodes (#5958) +- Releases nightly (#5906) +- Disconnect maverick (#6099) + +### Evidence + +- Terminate broadcastEvidenceRoutine when peer is stopped (#6068) + +### Goreleaser + +- Downcase archive and binary names (#6029) +- Downcase archive and binary names (#6029) + +### Libs/log + +- Format []byte as hexidecimal string (uppercased) (#5960) +- Format []byte as hexidecimal string (uppercased) (#5960) + +### Light + +- Fix panic with RPC calls to commit and validator when height is nil (#6026) +- Fix panic with RPC calls to commit and validator when height is nil (#6040) +- Remove max retry attempts from client and add to provider (#6054) +- Remove witnesses in order of decreasing index (#6065) +- Create provider options struct (#6064) + +### Light/provider/http + +- Fix Validators (#6022) +- Fix Validators (#6024) + +### Makefile + +- Remove call to tools (#6104) + +### Maverick + +- Reduce some duplication (#6052) +- Reduce some duplication (#6052) + +### Mempool + +- P2p refactor (#5919) +- Fix reactor tests (#5967) +- Fix TestReactorNoBroadcastToSender (#5984) +- Fix mempool tests timeout (#5988) + +### P2p + +- Revise shim log levels (#5940) +- Improve PeerManager prototype (#5936) +- Make PeerManager.DialNext() and EvictNext() block (#5947) +- Improve peerStore prototype (#5954) +- Simplify PeerManager upgrade logic (#5962) +- Add PeerManager.Advertise() (#5957) +- Add prototype PEX reactor for new stack (#5971) +- Resolve PEX addresses in PEX reactor (#5980) +- Use stopCtx when dialing peers in Router (#5983) +- Clean up new Transport infrastructure (#6017) +- Tighten up and test Transport API (#6020) +- Add tests and fix bugs for `NodeAddress` and `NodeID` (#6021) +- Tighten up and test PeerManager (#6034) +- Tighten up Router and add tests (#6044) + +### Params + +- Remove block timeiota (#248) +- Remove blockTimeIota (#5987) + +### Proto + +- Docker deployment (#5931) +- Seperate native and proto types (#5994) +- Add files (#246) +- Docker deployment (#5931) + +### Proto/p2p + +- Rename PEX messages and fields (#5974) + +### Spec + +- Remove reactor section (#242) + +### Store + +- Fix deadlock in pruning (#6007) +- Use a batch instead of individual writes in SaveBlock (#6018) + +### Sync + +- Move closer to separate file (#6015) + +### Types + +- Cleanup protobuf.go (#6023) + +## [0.34.3] - 2021-01-19 + +### .github/codeowners + +- Add alexanderbez (#5913) +- Add alexanderbez (#5913) + +### Security + +- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) +- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) +- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) +- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) +- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) +- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) + +### Changelog + +- Update changelogs to reflect changes released in 0.34.2 +- Update for 0.34.3 (#5926) + +### Config + +- Fix mispellings (#5914) +- Fix mispellings (#5914) + +### Light + +- Fix light store deadlock (#5901) + +### Mod + +- Go mod tidy + +### P2p + +- Add prototype peer lifecycle manager (#5882) + +### Proto + +- Bump gogoproto (1.3.2) (#5886) +- Bump gogoproto (1.3.2) (#5886) + +### Readme + +- Add security mailing list (#5916) +- Add security mailing list (#5916) + +## [0.34.2] - 2021-01-12 + +### Documentation + +- Fix broken redirect links (#5881) + +### Testing + +- Improve WaitGroup handling in Byzantine tests (#5861) +- Tolerate up to 2/3 missed signatures for a validator (#5878) +- Disable abci/grpc and blockchain/v2 due to flake (#5854) + +### Abci + +- Rewrite to proto interface (#237) + +### Abci/grpc + +- Fix invalid mutex handling in StopForError() (#5849) + +### Blockchain/v0 + +- Stop tickers on poolRoutine exit (#5860) + +### Blockchain/v2 + +- Fix missing mutex unlock (#5862) + +### Build + +- Bump gaurav-nelson/github-action-markdown-link-check (#239) +- Bump gaurav-nelson/github-action-markdown-link-check (#5884) + +### Changelog + +- Update with changes released in 0.34.1 (#5875) +- Prepare 0.34.2 release (#5894) + +### Evidence + +- P2p refactor (#5747) +- Buffer evidence from consensus (#5890) +- Buffer evidence from consensus (#5890) + +### Layout + +- Add section titles (#240) + +### Libs/os + +- EnsureDir now returns IO errors and checks file type (#5852) + +### Os + +- Simplify EnsureDir() (#5871) + +### P2p + +- Add Router prototype (#5831) + +### Privval + +- Add grpc (#5725) +- Query validator key (#5876) + +### Reactors + +- Remove bcv1 (#241) + +### State + +- Prune states using an iterator (#5864) + +### Store + +- Use db iterators for pruning and range-based queries (#5848) + +### Tools/tm-signer-harness + +- Fix listener leak in newTestHarnessListener() (#5850) + +## [0.34.1] - 2021-01-06 + +### ABCI + +- Update readme to fix broken link to proto (#5847) + +### Testing + +- Disable abci/grpc and blockchain/v2 due to flake (#5854) +- Add conceptual overview (#5857) +- Improve WaitGroup handling in Byzantine tests (#5861) + +### Abci/grpc + +- Fix invalid mutex handling in StopForError() (#5849) + +### Blockchain/v0 + +- Stop tickers on poolRoutine exit (#5860) + +### Blockchain/v2 + +- Fix missing mutex unlock (#5862) + +### Build + +- Bump codecov/codecov-action from v1.1.1 to v1.2.0 (#5863) +- Bump codecov/codecov-action from v1.2.0 to v1.2.1 + +### Changelog + +- Update changelog for v0.34.1 (#5872) + +### Libs/os + +- EnsureDir now returns IO errors and checks file type (#5852) + +### Os + +- Simplify EnsureDir() (#5871) + +### P2p + +- Rename ID to NodeID +- Add NodeID.Validate(), replaces validateID() +- Replace PeerID with NodeID +- Rename NodeInfo.DefaultNodeID to NodeID +- Rename PubKeyToID to NodeIDFromPubKey +- Fix IPv6 address handling in new transport API (#5853) +- Fix MConnection inbound traffic statistics and rate limiting (#5868) +- Fix MConnection inbound traffic statistics and rate limiting (#5868) (#5870) + +### Statesync + +- Do not recover panic on peer updates (#5869) + +### Store + +- Order-preserving varint key encoding (#5771) + +### Tools/tm-signer-harness + +- Fix listener leak in newTestHarnessListener() (#5850) + +## [0.34.1-rc1] - 2020-12-23 + +### CHANGELOG + +- Prepare 0.34.1-rc1 (#5832) + +### Documentation + +- Use hyphens instead of snake case (#5802) +- Specify master for tutorials (#5822) +- Specify 0.34 (#5823) + +### Makefile + +- Use git 2.20-compatible branch detection (#5778) + +### Security + +- Bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 (#5807) +- Bump github.com/cosmos/iavl from 0.15.2 to 0.15.3 (#5814) + +### Abci + +- Use protoio for length delimitation (#5818) + +### Blockchain/v2 + +- Send status request when new peer joins (#5774) + +### Build + +- Bump vuepress-theme-cosmos from 1.0.178 to 1.0.179 in /docs (#5780) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.8 to 1.0.9 (#5779) +- Bump gaurav-nelson/github-action-markdown-link-check (#5787) +- Bump gaurav-nelson/github-action-markdown-link-check (#5793) +- Bump gaurav-nelson/github-action-markdown-link-check (#233) +- Bump github.com/cosmos/iavl from 0.15.0 to 0.15.2 +- Bump codecov/codecov-action from v1.0.15 to v1.1.1 (#5825) + +### Ci + +- Make timeout-minutes 8 for golangci (#5821) +- Run `goreleaser build` (#5824) + +### Cmd + +- Hyphen case cli and config (#5777) +- Hyphen-case cli v0.34.1 (#5786) + +### Config + +- Increase MaxPacketMsgPayloadSize to 1400 + +### Consensus + +- Change log level to error when adding vote +- Deprecate time iota ms (#5792) + +### Localnet + +- Fix node starting issue with --proxy-app flag (#5803) +- Expose 6060 (pprof) and 9090 (prometheus) on node0 +- Use 27000 port for prometheus (#5811) + +### Mempool + +- Introduce KeepInvalidTxsInCache config option (#5813) +- Disable MaxBatchBytes (#5800) +- Introduce KeepInvalidTxsInCache config option (#5813) +- Disable MaxBatchBytes (#5800) + +### P2p + +- Implement new Transport interface (#5791) +- Remove `NodeInfo` interface and rename `DefaultNodeInfo` struct (#5799) +- Do not format raw msg bytes +- Update frame size (#235) +- Fix data race in MakeSwitch test helper (#5810) +- Add MemoryTransport, an in-memory transport for testing (#5827) + +### Readme + +- Add links to job post (#5785) +- Update discord link (#5795) + +## [0.34.1-dev1] - 2020-12-10 + +### .goreleaser + +- Add windows, remove arm (32 bit) (#5692) + +### CONTRIBUTING + +- Update to match the release flow used for 0.34.0 (#5697) + +### Documentation + +- Add nodes section (#5604) +- Add version dropdown and v0.34 docs(#5762) +- Fix link (#5763) + +### README + +- Update link to Tendermint blog (#5713) + +### Security + +- Bump vuepress-theme-cosmos from 1.0.176 to 1.0.177 in /docs (#5746) +- Bump vuepress-theme-cosmos from 1.0.177 to 1.0.178 in /docs (#5754) + +### Testing + +- Switched node keys back to edwards (#4) +- Enable v1 and v2 blockchains (#5702) +- Fix TestByzantinePrevoteEquivocation flake (#5710) +- Fix TestByzantinePrevoteEquivocation flake (#5710) +- Fix integration tests and rename binary + +### UX + +- Version configuration (#5740) + +### Abci + +- Add abci_version to requestInfo (#223) +- Modify Client interface and socket client (#5673) + +### Adr + +- Privval gRPC (#5712) + +### Blockchain/v0 + +- Relax termination conditions and increase sync timeout (#5741) + +### Blockchain/v1 + +- Handle peers without blocks (#5701) +- Fix deadlock (#5711) +- Remove in favor of v2 (#5728) +- Omit incoming message bytes from log + +### Build + +- Bump github.com/cosmos/iavl from 0.15.0-rc5 to 0.15.0 (#5708) +- Bump vuepress-theme-cosmos from 1.0.175 to 1.0.176 in /docs (#5727) +- Refactor BLS library/bindings integration (#9) +- BLS scripts - Improve build.sh, Fix install.sh (#10) +- Dashify some files (#11) +- Fix docker image and docker.yml workflow (#12) +- Fix coverage.yml, bump go version, install BLS, drop an invalid character (#19) +- Fix test.yml, bump go version, install BLS, fix job names (#18) +- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#5737) +- Bump gaurav-nelson/github-action-markdown-link-check (#22) +- Bump codecov/codecov-action from v1.0.13 to v1.0.15 (#23) +- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#24) +- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 (#25) +- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#26) +- Bump vuepress-theme-cosmos from 1.0.173 to 1.0.177 in /docs (#27) +- Bump watchpack from 2.0.1 to 2.1.0 in /docs (#5768) +- Bump rtCamp/action-slack-notify from ecc1353ce30ef086ce3fc3d1ea9ac2e32e150402 to 2.1.2 (#5767) + +### Changelog + +- Add entry back (#5738) + +### Ci + +- Remove circle (#5714) +- Build for 32 bit, libs: fix overflow (#5700) +- Build for 32 bit, libs: fix overflow (#5700) +- Install BLS library in lint.yml and bump its go version (#15) +- E2e fixes - docker image, e2e.yml BLS library, default KeyType (#21) + +### Cmd + +- Modify `gen_node_key` to print key to STDOUT (#5772) + +### Codecov + +- Validate codecov.yml (#5699) + +### Consensus + +- Fix flaky tests (#5734) + +### Contributing + +- Simplify our minor release process (#5749) + +### Crypto + +- Fix infinite recursion in Secp256k1 string formatting (#5707) +- Fix infinite recursion in Secp256k1 string formatting (#5707) (#5709) + +### Crypto|p2p|state|types + +- Rename Pub/PrivKey's TypeIdentifier() and Type() + +### Dep + +- Bump ed25519consensus version (#5760) + +### Evidence + +- Omit bytes field (#5745) +- Omit bytes field (#5745) + +### Goreleaser + +- Lowercase binary name (#5765) + +### Libs/bits + +- Validate BitArray in FromProto (#5720) + +### Light + +- Minor fixes / standardising errors (#5716) + +### Lint + +- Run gofmt and goimports (#13) + +### Linter + +- Fix some bls-related linter issues (#14) + +### Node + +- Improve test coverage on proposal block (#5748) + +### P2p + +- State sync reactor refactor (#5671) + +### P2p/pex + +- Fix flaky tests (#5733) + +### Reactors + +- Omit incoming message bytes from reactor logs (#5743) +- Omit incoming message bytes from reactor logs (#5743) + +### Readme + +- Remover circleci badge (#5729) + +### Version + +- Add abci version to handshake (#5706) + +## [0.34.0] - 2020-11-19 + +### .github + +- Move mergify config +- Move codecov.yml into .github +- Move codecov config into .github + +### .gitignore + +- Sort (#5690) + +### .goreleaser + +- Don't build linux/arm +- Build for windows + +### .vscode + +- Remove directory (#5626) + +### CHANGELOG + +- Update to reflect v0.34.0-rc6 (#5622) +- Add breaking Version name change (#5628) + +### Core + +- Move validation & data structures together (#176) + +### Documentation + +- Update url for kms repo (#5510) +- Footer cleanup (#5457) +- Remove DEV_SESSIONS list (#5579) +- Add ADR on P2P refactor scope (#5592) +- Bump vuepress-theme-cosmos (#5614) +- Make blockchain not viewable (#211) +- Add missing ADRs to README, update status of ADR 034 (#5663) +- Add P2P architecture ADR (#5637) +- Warn developers about calling blocking funcs in Receive (#5679) + +### RFC + +- Adopt zip 215 (#144) + +### Security + +- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) +- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) +- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) +- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) +- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) +- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) +- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) +- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) +- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) +- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) + +### Testing + +- Clean up E2E test volumes using a container (#5509) +- Tweak E2E tests for nightly runs (#5512) +- Enable ABCI gRPC client in E2E testnets (#5521) +- Enable blockchain v2 in E2E testnet generator (#5533) +- Enable restart/kill perturbations in E2E tests (#5537) +- Add end-to-end testing framework (#5435) +- Add basic end-to-end test cases (#5450) +- Add GitHub action for end-to-end tests (#5452) +- Remove P2P tests (#5453) +- Add E2E test for node peering (#5465) +- Add random testnet generator (#5479) +- Clean up E2E test volumes using a container (#5509) +- Tweak E2E tests for nightly runs (#5512) +- Enable ABCI gRPC client in E2E testnets (#5521) +- Enable blockchain v2 in E2E testnet generator (#5533) +- Enable restart/kill perturbations in E2E tests (#5537) +- Run remaining E2E testnets on run-multiple.sh failure (#5557) +- Tag E2E Docker resources and autoremove them (#5558) +- Add evidence e2e tests (#5488) +- Run remaining E2E testnets on run-multiple.sh failure (#5557) +- Tag E2E Docker resources and autoremove them (#5558) +- Add evidence e2e tests (#5488) +- Fix handling of start height in generated E2E testnets (#5563) +- Disable E2E misbehaviors due to bugs (#5569) +- Fix handling of start height in generated E2E testnets (#5563) +- Disable E2E misbehaviors due to bugs (#5569) +- Fix various E2E test issues (#5576) +- Fix various E2E test issues (#5576) +- Fix secp failures (#5649) +- Fix secp failures (#5649) + +### Abci + +- Lastcommitinfo.round extra sentence (#221) + +### Abci/grpc + +- Return async responses in order (#5520) +- Return async responses in order (#5520) (#5531) +- Fix ordering of sync/async callback combinations (#5556) +- Fix ordering of sync/async callback combinations (#5556) + +### Block + +- Fix max commit sig size (#5567) +- Fix max commit sig size (#5567) + +### Blockchain/v1 + +- Add noBlockResponse handling (#5401) + +### Blockchain/v2 + +- Fix "panic: duplicate block enqueued by processor" (#5499) +- Fix panic: processed height X+1 but expected height X (#5530) +- Fix "panic: duplicate block enqueued by processor" (#5499) +- Fix panic: processed height X+1 but expected height X (#5530) +- Make the removal of an already removed peer a noop (#5553) +- Make the removal of an already removed peer a noop (#5553) +- Remove peers from the processor (#5607) +- Remove peers from the processor (#5607) + +### Buf + +- Modify buf.yml, add buf generate (#5653) + +### Build + +- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5525) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#5543) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#188) +- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) +- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) +- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) +- Bump technote-space/get-diff-action from v3 to v4 (#5485) +- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#5571) +- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5582) +- Bump watchpack from 2.0.0 to 2.0.1 in /docs (#5605) +- Bump actions/cache from v2.1.2 to v2.1.3 (#5633) +- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 +- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 +- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) +- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 +- Bump codecov/codecov-action from v1.0.14 to v1.0.15 (#5676) + +### Changelog + +- Squash changelog from 0.34 RCs into one (#5691) +- Squash changelog from 0.34 RCs into one (#5687) + +### Ci + +- Docker remove circleci and add github action (#5551) +- Add goreleaser (#5527) +- Tests (#5577) +- Add goreleaser (#5527) +- Tests (#5577) +- Use gh pages (#5609) +- Remove `add-path` (#5674) +- Remove `add-path` (#5674) + +### Ci/e2e + +- Avoid running job when no go files are touched (#5471) + +### Circleci + +- Remove Gitian reproducible_builds job (#5462) + +### Cli + +- Light home dir should default to where the full node default is (#5392) + +### Cmd + +- Add support for --key (#5612) + +### Consensus + +- Open target WAL as read/write during autorepair (#5536) +- Open target WAL as read/write during autorepair (#5536) (#5547) + +### Contributing + +- Include instructions for a release candidate (#5498) + +### Crypto + +- Add in secp256k1 support (#5500) +- Add in secp256k1 support (#5500) +- Adopt zip215 ed25519 verification (#5632) + +### E2e + +- Use ed25519 for secretConn (remote signer) (#5678) +- Use ed25519 for secretConn (remote signer) (#5678) + +### Encoding + +- Add secp, ref zip215, tables (#212) + +### Evidence + +- Don't gossip consensus evidence too soon (#5528) +- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) +- Don't gossip consensus evidence too soon (#5528) +- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) +- Structs can independently form abci evidence (#5610) +- Structs can independently form abci evidence (#5610) +- Update data structures to reflect added support of abci evidence (#213) + +### Github + +- Rename e2e jobs (#5502) +- Add nightly E2E testnet action (#5480) +- Add nightly E2E testnet action (#5480) +- Rename e2e jobs (#5502) +- Only notify nightly E2E failures once (#5559) +- Only notify nightly E2E failures once (#5559) +- Issue template for proposals (#190) + +### Go.mod + +- Upgrade iavl and deps (#5657) +- Upgrade iavl and deps (#5657) + +### Libs/os + +- Add test case for TrapSignal (#5646) +- Remove unused aliases, add test cases (#5654) + +### Light + +- Cross-check the very first header (#5429) +- Model-based tests (#5461) +- Run detector for sequentially validating light client (#5538) +- Run detector for sequentially validating light client (#5538) (#5601) +- Make fraction parts uint64, ensuring that it is always positive (#5655) +- Make fraction parts uint64, ensuring that it is always positive (#5655) +- Ensure required header fields are present for verification (#5677) + +### Light/rpc + +- Fix ABCIQuery (#5375) + +### P2p + +- Remove p2p.FuzzedConnection and its config settings (#5598) +- Remove unused MakePoWTarget() (#5684) + +### Privval + +- Make response values non nullable (#5583) +- Make response values non nullable (#5583) +- Increase read/write timeout to 5s and calculate ping interval based on it (#5638) +- Reset pingTimer to avoid sending unnecessary pings (#5642) +- Increase read/write timeout to 5s and calculate ping interva… (#5666) +- Reset pingTimer to avoid sending unnecessary pings (#5642) (#5668) +- Duplicate SecretConnection from p2p package (#5672) + +### Proto + +- Buf for everything (#5650) + +### Relase_notes + +- Add release notes for v0.34.0 + +### Rpc + +- Fix content-type header (#5661) +- Fix content-type header + +### Scripts + +- Move build.sh into scripts +- Make linkifier default to 'pull' rather than 'issue' (#5689) + +### Spec + +- Update light client verification to match supervisor (#171) + +### Statesync + +- Check all necessary heights when adding snapshot to pool (#5516) +- Check all necessary heights when adding snapshot to pool (#5516) (#5518) + +### Types + +- Rename json parts to part_set_header (#5523) +- Move `MakeBlock` to block.go (#5573) + +### Upgrading + +- Update 0.34 instructions with updates since RC4 (#5685) +- Update 0.34 instructions with updates since RC4 (#5686) + +## [0.34.0-rc5] - 2020-10-13 + +### Documentation + +- Minor tweaks (#5404) +- Update state sync config with discovery_time (#5405) +- Add explanation of p2p configuration options (#5397) +- Specify TM version in go tutorials (#5427) +- Revise ADR 56, documenting short term decision around amnesia evidence (#5440) +- Fix links to adr 56 (#5464) +- Docs-staging → master (#5468) +- Make /master the default (#5474) + +### Testing + +- Add end-to-end testing framework (#5435) +- Add basic end-to-end test cases (#5450) +- Add GitHub action for end-to-end tests (#5452) +- Remove P2P tests (#5453) +- Add E2E test for node peering (#5465) +- Add random testnet generator (#5479) + +### Abci + +- Remove setOption (#5447) + +### Block + +- Use commit sig size instead of vote size (#5490) + +### Blockchain + +- Remove duplication of validate basic (#5418) + +### Blockchain/v1 + +- Add noBlockResponse handling (#5401) + +### Build + +- Bump watchpack from 1.7.4 to 2.0.0 in /docs (#5470) +- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) +- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) +- Bump technote-space/get-diff-action from v3 to v4 (#5485) + +### Changelog + +- Add missing date to v0.33.5 release, fix indentation (#5454) +- Add missing date to v0.33.5 release, fix indentation (#5454) (#5455) +- Prepare changelog for RC5 (#5494) + +### Ci + +- Docker remvoe circleci and add github action (#5420) + +### Ci/e2e + +- Avoid running job when no go files are touched (#5471) + +### Circleci + +- Remove Gitian reproducible_builds job (#5462) + +### Cli + +- Light home dir should default to where the full node default is (#5392) + +### Codecov + +- Disable annotations (#5413) + +### Config + +- Set statesync.rpc_servers when generating config file (#5433) +- Set statesync.rpc_servers when generating config file (#5433) (#5438) + +### Consensus + +- Check block parts don't exceed maximum block bytes (#5431) +- Check block parts don't exceed maximum block bytes (#5436) + +### Evidence + +- Update data structures (#165) +- Use bytes instead of quantity to limit size (#5449) +- Use bytes instead of quantity to limit size (#5449)(#5476) + +### Light + +- Expand on errors and docs (#5443) +- Cross-check the very first header (#5429) + +### Light/rpc + +- Fix ABCIQuery (#5375) + +### Mempool + +- Fix nil pointer dereference (#5412) +- Fix nil pointer dereference (#5412) +- Length prefix txs when getting them from mempool (#5483) + +### Privval + +- Allow passing options to NewSignerDialerEndpoint (#5434) +- Allow passing options to NewSignerDialerEndpoint (#5434) (#5437) +- Fix ping message encoding (#5441) +- Fix ping message encoding (#5442) + +### Rpc/core + +- More docs and a test for /blockchain endpoint (#5417) + +### Spec + +- Protobuf changes (#156) + +### State + +- More test cases for block validation (#5415) + +### Tx + +- Reduce function to one parameter (#5493) + +## [0.34.0-rc4] - 2020-09-24 + +### CHANGELOG + +- Update for 0.34.0-rc4 (#5400) + +### CODEOWNERS + +- Specify more precise codeowners (#5333) + +### Documentation + +- Cleanup (#5252) +- Dont display duplicate (#5271) +- Rename swagger to openapi (#5263) +- Fix go tutorials (#5267) +- Versioned (#5241) +- Remove duplicate secure p2p (#5279) +- Remove interview transcript (#5282) +- Add block retention to upgrading.md (#5284) +- Updates to various sections (#5285) +- Add algolia docsearch configs (#5309) +- Add sections to abci (#150) +- Add doc on state sync configuration (#5304) +- Move subscription to tendermint-core (#5323) +- Add missing metrics (#5325) +- Add more description to initial_height (#5350) +- Make rfc section disppear (#5353) +- Document max entries for `/blockchain` RPC (#5356) +- Fix incorrect time_iota_ms configuration (#5385) + +### README + +- Clean up README (#5391) + +### Security + +- Bump vuepress-theme-cosmos from 1.0.169 to 1.0.172 in /docs (#5286) +- Bump google.golang.org/grpc from 1.31.0 to 1.31.1 (#5290) + +### UPGRADING + +- Polish upgrading instructions for 0.34 (#5398) + +### Abci + +- Update evidence (#5324) +- Fix socket client error for state sync responses (#5395) + +### Adr + +- Add API stability ADR (#5341) + +### Blockchain + +- Fix fast sync halt with initial height > 1 (#5249) +- Verify +2/3 (#5278) + +### Blockstore + +- Fix race conditions when loading data (#5382) + +### Build + +- Bump golangci/golangci-lint-action from v2.1.0 to v2.2.0 (#5245) +- Bump actions/cache from v1 to v2.1.0 (#5244) +- Bump codecov/codecov-action from v1.0.7 to v1.0.12 (#5247) +- Bump technote-space/get-diff-action from v1 to v3 (#5246) +- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.5 (#5248) +- Bump codecov/codecov-action from v1.0.12 to v1.0.13 (#5258) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.5 to 1.0.6 (#5265) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.6 to 1.0.7 (#5269) +- Bump actions/cache from v2.1.0 to v2.1.1 (#5268) +- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.7 (#149) +- Bump github.com/tendermint/tm-db from 0.6.1 to 0.6.2 (#5296) +- Bump google.golang.org/grpc from 1.31.1 to 1.32.0 (#5346) +- Bump github.com/minio/highwayhash from 1.0.0 to 1.0.1 (#5370) +- Bump vuepress-theme-cosmos from 1.0.172 to 1.0.173 in /docs (#5390) + +### Changelog + +- Add v0.33.8 from release (#5242) +- Minor tweaks (#5389) + +### Ci + +- Fix net pipeline (#5272) +- Delay codecov notification (#5275) +- Add markdown linter (#146) +- Add dependabot config (#148) +- Fix net run (#5343) + +### Config + +- Trust period consistency (#5297) +- Rename prof_laddr to pprof_laddr and move it to rpc (#5315) +- Set time_iota_ms to timeout_commit in test genesis (#5386) +- Add state sync discovery_time setting (#5399) + +### Consensus + +- Double-sign risk reduction (ADR-51) (#5147) +- Fix wrong proposer schedule for `InitChain` validators (#5329) + +### Crypto + +- Remove secp256k1 (#5280) +- Remove proto privatekey (#5301) +- Reword readme (#5349) + +### Evidence + +- Modularise evidence by moving verification function into evidence package (#5234) +- Remove ConflictingHeaders type (#5317) +- Remove lunatic (#5318) +- Remove amnesia & POLC (#5319) +- Introduction of LightClientAttackEvidence and refactor of evidence lifecycle (#5361) + +### Header + +- Check block protocol (#5340) + +### Libs/bits + +- Inline defer and change order of mutexes (#5187) + +### Light + +- Update ADR 47 with light traces (#5250) +- Implement light block (#5298) +- Move dropout handling and invalid data to the provider (#5308) + +### Lint + +- Add markdown linter (#5254) +- Add errchecks (#5316) +- Enable errcheck (#5336) + +### Makefile + +- Add options for other DBs (#5357) + +### Markdownlint + +- Ignore .github directory (#5351) + +### Mempool + +- Return an error when WAL fails (#5292) +- Batch txs per peer in broadcastTxRoutine (#5321) + +### Mempool/reactor + +- Fix reactor broadcast test (#5362) + +### Metrics + +- Switch from gauge to histogram (#5326) + +### Mocks + +- Update with 2.2.1 (#5294) + +### Node + +- Fix genesis state propagation to state sync (#5302) + +### P2p + +- Reduce log severity (#5338) + +### Privval + +- Add chainID to requests (#5239) + +### Rfc + +- Add end-to-end testing RFC (#5337) + +### Rpc + +- Add private & unconditional to /dial_peer (#5293) +- Fix openapi spec syntax error (#5358) +- Fix test data races (#5363) +- Revert JSON-RPC/WebSocket response batching (#5378) + +### Rpc/client + +- Take context as first param (#5347) + +### Rpc/jsonrpc/server + +- Ws server optimizations (#5312) + +### Spec + +- Update abci events (#151) +- Extract light-client to its own directory (#152) +- Remove evidences (#153) +- Light client attack detector (#164) + +### Spec/reactors/mempool + +- Batch txs per peer (#155) + +### State + +- Define interface for state store (#5348) + +### Statesync + +- Fix valset off-by-one causing consensus failures (#5311) +- Broadcast snapshot request to all peers on startup (#5320) +- Fix the validator set heights (again) (#5330) + +### Swagger + +- Update (#5257) + +### Types + +- Comment on need for length prefixing (#5283) + +### Upgrading + +- State store change (#5364) + +### Ux + +- Use docker to format proto files (#5384) + +## [0.34.0-rc3] - 2020-08-13 + +### RFC-002 + +- Non-zero genesis (#119) + +### Security + +- [Security] Bump prismjs from 1.20.0 to 1.21.0 in /docs + +### Testing + +- Protobuf vectors for reactors (#5221) + +### Abci + +- Fix abci evidence types (#5174) +- Add ResponseInitChain.app_hash, check and record it (#5227) +- Add ResponseInitChain.app_hash (#140) + +### Build + +- Bump google.golang.org/grpc from 1.30.0 to 1.31.0 +- Bump github.com/spf13/viper from 1.7.0 to 1.7.1 + +### Changelog + +- Add v0.33.7 release (#5203) +- Add v0.32.13 release (#5204) +- Update for 0.34.0-rc3 (#5240) + +### Ci + +- Freeze golangci action version (#5196) + +### Consensus + +- Don't check InitChain app hash vs genesis app hash, replace it (#5237) + +### Contributing + +- Add steps for adding and removing rc branches (#5223) + +### Crypto + +- Consistent api across keys (#5214) +- API modifications (#5236) + +### Db + +- Add support for badgerdb (#5233) + +### Evidence + +- Remove phantom validator evidence (#5181) +- Don't stop evidence verification if an evidence fails (#5189) +- Fix usage of time field in abci evidence (#5201) +- Change evidence time to block time (#5219) +- Remove validator index verification (#5225) + +### Genesis + +- Add support for arbitrary initial height (#5191) + +### Libs/rand + +- Fix "out-of-memory" error on unexpected argument (#5215) + +### Merkle + +- Return hashes for empty merkle trees (#5193) + +### Node + +- Don't attempt fast sync when InitChain sets self as only validator (#5211) + +### Rpc/client/http + +- Log error (#5182) + +### Spec + +- Revert event hashing (#132) + +### State + +- Don't save genesis state in database when loaded (#5231) + +## [0.34.0-rc2] - 2020-07-30 + +### .github/issue_template + +- Update `/dump_consensus_state` request. (#5060) + +### ADR + +- Add missing numbers as blank templates (#5154) + +### ADR-057 + +- RPC (#4857) + +### CHANGELOG_PENDING + +- Fix the upcoming release number (#5103) + +### Documentation + +- Update .vuepress/config.js (#5043) +- Add warning for chainid (#5072) +- Added further documentation to the subscribing to events page (#5110) +- Tweak light client documentation (#5121) +- Modify needed proto files for guides (#5123) +- EventAttribute#Index is not deterministic (#5132) +- Event hashing ADR 058 (#5134) +- Simplify choosing an ADR number (#5156) +- Add more details on Vote struct from /consensus_state (#5164) +- Document ConsensusParams (#5165) +- Document canonical field (#5166) + +### README + +- Update chat link with Discord instead of Riot (#5071) + +### Security + +- [Security] Bump lodash from 4.17.15 to 4.17.19 in /docs + +### Testing + +- Use github.sha in binary cache key (#5062) +- Deflake TestAddAndRemoveListenerConcurrency and TestSyncer_SyncAny (#5101) + +### Abci + +- Tweak node sync estimate (#115) + +### Abci/example/kvstore + +- Decrease val power by 1 upon equivocation (#5056) + +### Abci/types + +- Add comment for TotalVotingPower (#5081) + +### Behaviour + +- Add simple doc.go (#5055) + +### Blockchain + +- Test vectors for proto encoding (#5073) +- Rename to core (#123) +- Remove duplicate evidence sections (#124) + +### Build + +- Bump github.com/prometheus/client_golang +- Bump vuepress-theme-cosmos from 1.0.168 to 1.0.169 in /docs + +### Changelog + +- Update 0.33.6 (#5075) +- Note breaking change in the 0.33.6 release (#5077) +- Reorgranize (#5065) +- Move entries from pending (#5172) +- Bump to 0.34.0-rc2 (#5176) + +### Ci + +- Try to fix codecov (#5095) +- Only run tests when go files are touched (#5097) +- Version linter fix (#5128) + +### Consensus + +- Do not allow signatures for a wrong block in commits +- Msg testvectors (#5076) +- Added byzantine test, modified previous test (#5150) +- Only call privValidator.GetPubKey once per block (#5143) + +### Deps + +- Bump tm-db to 0.6.0 (#5058) + +### Evidence + +- Fix data race in Pool.updateValToLastHeight() (#5100) +- Check lunatic vote matches header (#5093) +- New evidence event subscription (#5108) +- Minor correction to potential amnesia ev validate basic (#5151) + +### Jsonrpc + +- Change log to debug (#5131) + +### Libs + +- Wrap mutexes for build flag with godeadlock (#5126) + +### Light + +- Fix rpc calls: /block_results & /validators (#5104) +- Use bisection (not VerifyCommitTrusting) when verifying a head… (#5119) +- Return if target header is invalid (#5124) + +### Lint + +- Errcheck (#5091) + +### Linter + +- (1/2) enable errcheck (#5064) + +### Mempool + +- Make it clear overwriting of pre/postCheck filters is intent… (#5054) +- Use oneof (#5063) +- Add RemoveTxByKey function (#5066) + +### P2p + +- Remove data race bug in netaddr stringer (#5048) +- Ensure peers can't change IP of known nodes (#5136) + +### Privval + +- If remote signer errors, don't retry (#5140) + +### Proto + +- Increase lint level to basic and fix lint warnings (#5096) +- Improve enums (#5099) +- Reorganize Protobuf schemas (#5102) +- Minor cleanups (#5105) +- Change type + a cleanup (#5107) +- Add a comment for Validator#Address (#5144) + +### Proto/tendermint/abci + +- Fix Request oneof numbers (#5116) + +### Proxy + +- Improve ABCI app connection handling (#5078) + +### Rpc + +- Move docs from doc.go to swagger.yaml (#5044) +- /broadcast_evidence nil evidence check (#5109) +- Make gasWanted/Used snake_case (#5137) + +### Rpc/jsonrpc/server + +- Merge WriteRPCResponseHTTP and WriteRPCResponseAr (#5141) + +### Spec/abci + +- Expand on Validator#Address (#118) + +### Spec/consensus + +- Canonical vs subjective commit + +### State + +- Revert event hashing (#5159) + +### Types + +- Simplify safeMul (#5061) +- Verify commit fully +- Validatebasic on from proto (#5152) +- Check if nil or empty valset (#5167) + +### Version + +- Bump version numbers (#5173) + +## [0.34.0-dev1] - 2020-06-24 + +### .github + +- Move checklist from PR description into an auto-comment (#4745) +- Fix whitespace for autocomment (#4747) +- Fix whitespace for auto-comment (#4750) + +### ADR-053 + +- Strengthen and simplify the state sync ABCI interface (#4610) + +### Bug Fixes + +- Fix spelling of comment (#4566) + +### CHANGELOG + +- Update to reflect 0.33.5 (#4915) +- Add 0.32.12 changelog entry (#4918) + +### CONTRIBUTING + +- Update minor release process (#4909) + +### Documentation + +- Validator setup & Key info (#4604) +- Add adr-55 for proto repo design (#4623) +- Amend adr-54 with changes in the sdk (#4684) +- Create adr 56: prove amnesia attack +- Mention unbonding period in MaxAgeNumBlocks/MaxAgeDuration +- State we don't support non constant time crypto +- Move tcp-window.png to imgs/ +- Document open file limit in production guide (#4945) +- Update amnesia adr (#4994) + +### Makefile + +- Parse TENDERMINT_BUILD_OPTIONS (#4738) + +### README + +- Specify supported versions (#4660) + +### RFC-001 + +- Configurable block retention (#84) + +### Security + +- [Security] Bump websocket-extensions from 0.1.3 to 0.1.4 in /docs (#4976) + +### Testing + +- Fix p2p test build breakage caused by Debian testing +- Revert Go 1.13→1.14 bump +- Use random socket names to avoid collisions (#4885) +- Mitigate test data race (#4886) + +### UPGRADING.md + +- Write about the LastResultsHash change (#5000) + +### Abci + +- Add basic description of ABCI Commit.ResponseHeight (#85) +- Add MaxAgeNumBlocks/MaxAgeDuration to EvidenceParams (#87) +- Update MaxAgeNumBlocks & MaxAgeDuration docs (#88) +- Fix protobuf lint issues +- Regenerate proto files +- Remove protoreplace script +- Remove python examples +- Proto files follow same path (#5039) +- Add AppVersion to ConsensusParams (#106) + +### Abci/server + +- Print panic & stack trace to STDERR if logger is not set + +### Adr-053 + +- Update after state sync merge (#4768) + +### All + +- Name reactors when they are initialized (#4608) + +### Blockchain + +- Enable v2 to be set (#4597) +- Change validator set sorting method (#91) +- Proto migration (#4969) + +### Blockchain/v2 + +- Allow setting nil switch, for CustomReactors() +- Don't broadcast base if height is 0 +- Fix excessive CPU usage due to spinning on closed channels (#4761) +- Respect fast_sync option (#4772) +- Integrate with state sync +- Correctly set block store base in status responses (#4971) + +### Blockchain[v1] + +- Increased timeout times for peer tests (#4871) + +### Blockstore + +- Allow initial SaveBlock() at any height + +### Build + +- Bump github.com/Workiva/go-datastructures (#4545) +- Bump google.golang.org/grpc from 1.27.1 to 1.28.0 (#4551) +- Bump github.com/tendermint/tm-db from 0.4.1 to 0.5.0 (#4554) +- Bump github.com/golang/protobuf from 1.3.4 to 1.3.5 (#4563) +- Bump github.com/prometheus/client_golang (#4574) +- Bump github.com/gorilla/websocket from 1.4.1 to 1.4.2 (#4584) +- Bump github.com/spf13/cobra from 0.0.6 to 0.0.7 (#4612) +- Bump github.com/tendermint/tm-db from 0.5.0 to 0.5.1 (#4613) +- Bump google.golang.org/grpc from 1.28.0 to 1.28.1 (#4653) +- Bump github.com/spf13/viper from 1.6.2 to 1.6.3 (#4664) +- Bump @vuepress/plugin-google-analytics in /docs (#4692) +- Bump google.golang.org/grpc from 1.28.1 to 1.29.0 +- Bump google.golang.org/grpc from 1.29.0 to 1.29.1 (#4735) +- Manually bump github.com/prometheus/client_golang from 1.5.1 to 1.6.0 (#4758) +- Bump github.com/golang/protobuf from 1.4.0 to 1.4.1 (#4794) +- Bump vuepress-theme-cosmos from 1.0.163 to 1.0.164 in /docs (#4815) +- Bump github.com/spf13/viper from 1.6.3 to 1.7.0 (#4814) +- Bump github.com/golang/protobuf from 1.4.1 to 1.4.2 (#4849) +- Bump vuepress-theme-cosmos from 1.0.164 to 1.0.165 in /docs +- Bump github.com/stretchr/testify from 1.5.1 to 1.6.0 +- Bump vuepress-theme-cosmos from 1.0.165 to 1.0.166 in /docs (#4920) +- Bump github.com/stretchr/testify from 1.6.0 to 1.6.1 +- Bump github.com/prometheus/client_golang from 1.6.0 to 1.7.0 (#5027) +- Bump google.golang.org/grpc from 1.29.1 to 1.30.0 + +### Changelog + +- Add entries from secruity releases + +### Ci + +- Transition some ci to github actions +- Only run when applicable (#4752) +- Check git diff on each job (#4770) +- Checkout code before git diff check (#4779) +- Add paths +- Bump the timeout for test_coverage (#4864) +- Migrate localnet to github actions (#4878) +- Add timeouts (#4912) +- Migrate test_cover (#4869) +- Fix spacing of if statement (#5015) + +### Cli + +- Add command to generate shell completion scripts (#4665) + +### Codeowners + +- Add code owners (#82) + +### Config + +- Allow fastsync.version = v2 (#4639) + +### Consensus + +- Add comment as to why use mocks during replay (#4785) +- Fix TestSimulateValidatorsChange +- Fix and rename TestStateLockPOLRelock (#4796) +- Bring back log.Error statement (#4899) +- Increase ensureTimeout (#4891) +- Fix startnextheightcorrectly test (#4938) +- Attempt to repair the WAL file on data corruption (#4682) +- Change logging and handling of height mismatch (#4954) +- Stricter on LastCommitRound check (#4970) +- Proto migration (#4984) + +### Cov + +- Ignore autogen file (#5033) + +### Crypto + +- Remove SimpleHashFromMap() and SimpleProofsFromMap() +- Remove key suffixes (#4941) +- Removal of multisig (#4988) + +### Crypto/merkle + +- Remove simple prefix (#4989) + +### Dep + +- Bump protobuf, cobra, btcutil & std lib deps (#4676) + +### Deps + +- Bump deps that bot cant (#4555) +- Run go mod tidy (#4587) + +### Encoding + +- Remove codecs (#4996) + +### Evidence + +- Both MaxAgeDuration and MaxAgeNumBlocks need to be surpassed (#4667) +- Handling evidence from light client(s) (#4532) +- Remove unused param (#4726) +- Remove pubkey from duplicate vote evidence +- Add doc.go +- Protect valToLastHeight w/ mtx +- Check evidence is pending before validating evidence +- Refactor evidence mocks throughout packages (#4787) +- Cap evidence to an absolute number (#4780) +- Create proof of lock change and implement it in evidence store (#4746) +- Prevent proposer from proposing duplicate pieces of evidence (#4839) +- Remove header from phantom evidence (#4892) +- Retrieve header at height of evidence for validation (#4870) +- Json tags for DuplicateVoteEvidence (#4959) +- Migrate reactor to proto (#4949) +- Adr56 form amnesia evidence (#4821) +- Improve amnesia evidence handling (#5003) +- Replace mock evidence with mocked duplicate vote evidence (#5036) + +### Format + +- Add format cmd & goimport repo (#4586) + +### Indexer + +- Allow indexing an event at runtime (#4466) +- Remove index filtering (#5006) + +### Ints + +- Stricter numbers (#4939) + +### Json + +- Add Amino-compatible encoder/decoder (#4955) + +### Keys + +- Change to []bytes (#4950) + +### Libs + +- Remove bech32 +- Remove kv (#4874) + +### Libs/kv + +- Remove unused type KI64Pair (#4542) + +### Light + +- Rename lite2 to light & remove lite (#4946) +- Implement validate basic (#4916) +- Migrate to proto (#4964) +- Added more tests for pruning, initialization and bisection (#4978) + +### Lint + +- Add review dog (#4652) +- Enable nolintlinter, disable on tests +- Various fixes + +### Linting + +- Remove unused variable + +### Lite + +- Fix HTTP provider error handling + +### Lite2 + +- Add benchmarking tests (#4514) +- Cache headers in bisection (#4562) +- Use bisection for some of backward verification (#4575) +- Make maxClockDrift an option (#4616) +- Prevent falsely returned double voting error (#4620) +- Default to http scheme in provider.New (#4649) +- Verify ConsensusHash in rpc client +- Fix pivot height during bisection (#4850) +- Correctly return the results of the "latest" block (#4931) +- Allow bigger requests to LC proxy (#4930) +- Check header w/ witnesses only when doing bisection (#4929) +- Compare header with witnesses in parallel (#4935) + +### Lite2/http + +- Fix provider test by increasing the block retention value (#4890) + +### Lite2/rpc + +- Verify block results and validators (#4703) + +### Mempool + +- Reserve IDs in InitPeer instead of AddPeer +- Move mock into mempool directory +- Allow ReapX and CheckTx functions to run in parallel +- Do not launch broadcastTxRoutine if Broadcast is off + +### Mergify + +- Use PR title and body for squash merge commit (#4669) + +### P2p + +- PEX message abuse should ban as well as disconnect (#4621) +- Limit the number of incoming connections +- Set RecvMessageCapacity to maxMsgSize in all reactors +- Return err on `signChallenge` (#4795) +- Return masked IP (not the actual IP) in addrbook#groupKey +- TestTransportMultiplexAcceptNonBlocking and TestTransportMultiplexConnFilterTimeout (#4868) +- Remove nil guard (#4901) +- Expose SaveAs on NodeKey (#4981) +- Proto leftover (#4995) + +### P2p/conn + +- Add a test for MakeSecretConnection (#4829) +- Migrate to Protobuf (#4990) + +### P2p/pex + +- Fix DATA RACE +- Migrate to Protobuf (#4973) + +### P2p/test + +- Wait for listener to get ready (#4881) +- Fix Switch test race condition (#4893) + +### Pex + +- Use highwayhash for pex bucket + +### Privval + +- Return error on getpubkey (#4534) +- Remove deprecated `OldFilePV` +- Retry GetPubKey/SignVote/SignProposal N times before +- Migrate to protobuf (#4985) + +### Proto + +- Use docker to generate stubs (#4615) +- Bring over proto types & msgs (#4718) +- Regenerate proto (#4730) +- Remove test files +- Add proto files for ibc unblock (#4853) +- Add more to/from (#4956) +- Change to use gogofaster (#4957) +- Remove amino proto tests (#4982) +- Move keys to oneof (#4983) +- Leftover amino (#4986) +- Move all proto dirs to /proto (#5012) +- Folder structure adhere to buf (#5025) + +### Reactors/pex + +- Specify hash function (#94) +- Masked IP is used as group key (#96) + +### Readme + +- Add badge for git tests (#4732) +- Add source graph badge (#4980) + +### Removal + +- Remove build folder (#4565) + +### Rpc + +- Fix panic when `Subscribe` is called (#4570) +- Add codespace to ResultBroadcastTx (#4611) +- Handle panics during panic handling +- Use a struct to wrap all the global objects +- Refactor lib folder (#4836) +- Increase waitForEventTimeout to 8 seconds (#4917) +- Add BlockByHash to Client (#4923) +- Replace Amino with new JSON encoder (#4968) +- Support EXISTS operator in /tx_search query (#4979) +- Add /check_tx endpoint (#5017) + +### Rpc/client + +- Split out client packages (#4628) + +### Rpc/core + +- Do not lock ConsensusState mutex +- Return an error if `page=0` (#4947) + +### Rpc/test + +- Fix test race in TestAppCalls (#4894) +- Wait for mempool CheckTx callback (#4908) +- Wait for subscription in TestTxEventsSentWithBroadcastTxAsync (#4907) + +### Spec + +- Add ProofTrialPeriod to EvidenceParam (#99) +- Modify Header.LastResultsHash (#97) +- Link to abci server implementations (#100) +- Update evidence in blockchain.md (#108) + +### State + +- Export InitStateVersion +- Proto migration (#4951) +- Proto migration (#4972) + +### Statesync + +- Use Protobuf instead of Amino for p2p traffic (#4943) + +### Store + +- Proto migration (#4974) + +### Swagger + +- Remove duplicate blockID +- Define version (#4952) + +### Template + +- Add labels to pr template + +### Toml + +- Make sections standout (#4993) + +### Tools + +- Remove need to install buf (#4605) +- Update gogoproto get cmd (#5007) + +### Tools/build + +- Delete stale tools (#4558) + +### Types + +- Implement Header#ValidateBasic (#4638) +- Return an error if voting power overflows +- Sort validators by voting power +- Simplify VerifyCommitTrusting +- Remove extra validation in VerifyCommit +- Assert specific error in TestValSetUpdateOverflowRelated +- Remove unnecessary sort call (#4876) +- Create ValidateBasic() funcs for validator and validator set (#4905) +- Remove VerifyFutureCommit (#4961) +- Migrate params to protobuf (#4962) +- Remove duplicated validation in VerifyCommit (#4991) +- Add tests for blockmeta (#5013) +- Remove pubkey options (#5016) +- More test cases for TestValidatorSet_VerifyCommit (#5018) +- Rename partsheader to partsetheader (#5029) +- Fix evidence timestamp calculation (#5032) +- Add AppVersion to ConsensusParams (#5031) +- Reject blocks w/ ConflictingHeadersEvidence (#5041) + +### Types/test + +- Remove slow test cases in TestValSetUpdatePriorityOrderTests (#4903) + +### Upgrading + +- Add note on rpc/client subpackages (#4636) + +## [0.33.1-dev3] - 2020-03-09 + +### .github + +- Add markdown link checker (#4513) + +### CONTRIBUTING + +- Include instructions for installing protobuf + +### Documentation + +- Adr-046 add bisection algorithm details (#4496) +- `tendermint node --help` dumps all supported flags (#4511) +- Write about debug kill and dump (#4516) +- Fix links (#4531) + +### Testing + +- Simplified txsearch cancellation test (#4500) + +### Adr + +- Crypto encoding for proto (#4481) + +### Adr-047 + +- Evidence handling (#4429) + +### Build + +- Bump github.com/golang/protobuf from 1.3.3 to 1.3.4 (#4485) +- Bump github.com/prometheus/client_golang (#4525) + +### Circleci + +- Fix reproducible builds test (#4497) + +### Cmd + +- Show useful error when tm not initialised (#4512) +- Fix debug kill and change debug dump archive filename format (#4517) + +### Deps + +- Bump github.com/Workiva/go-datastructures (#4519) + +### Example/kvstore + +- Return ABCI query height (#4509) + +### Lite + +- Add helper functions for initiating the light client (#4486) + +### Lite2 + +- Fix tendermint lite sub command (#4505) +- Remove auto update (#4535) +- Indicate success/failure of Update (#4536) +- Replace primary when providing invalid header (#4523) + +### Mergify + +- Remove unnecessary conditions (#4501) +- Use strict merges (#4502) + +### Readme + +- Add discord to readme (#4533) + +### Rpc + +- Stop txSearch result processing if context is done (#4418) +- Keep the original subscription "id" field when new RPCs come in (#4493) +- Remove BlockStoreRPC in favor of BlockStore (#4510) +- Create buffered subscriptions on /subscribe (#4521) + +### Swagger + +- Update swagger port (#4498) + +### Tool + +- Add Mergify (#4490) + +## [0.33.1-dev2] - 2020-02-27 + +### Deps + +- Bump github.com/tendermint/tm-db from 0.4.0 to 0.4.1 (#4476) + +### Github + +- Edit templates for use in issues and pull requests (#4483) + +### Lite2 + +- Cross-check first header and update tests (#4471) +- Remove expiration checks on functions that don't require them (#4477) +- Prune-headers (#4478) +- Return height as 2nd return param in TrustedValidatorSet (#4479) +- Actually run example tests + clock drift (#4487) + +## [0.33.1-dev1] - 2020-02-26 + +### ADR-053 + +- Update with implementation plan after prototype (#4427) + +### Documentation + +- Fix spec links (#4384) +- Update Light Client Protocol page (#4405) + +### Adr + +- Light client implementation (#4397) + +### Autofile + +- Resolve relative paths (#4390) + +### Blockchain + +- Add v2 reactor (#4361) + +### Build + +- Bump github.com/stretchr/testify from 1.5.0 to 1.5.1 (#4441) +- Bump github.com/spf13/cobra from 0.0.3 to 0.0.6 (#4440) + +### Circleci + +- Run P2P IPv4 and IPv6 tests in parallel (#4459) + +### Consensus + +- Reduce log severity for ErrVoteNonDeterministicSignature (#4431) + +### Dep + +- Bump gokit dep (#4424) +- Maunally bump dep (#4436) + +### Deps + +- Bump github.com/stretchr/testify from 1.4.0 to 1.5.0 (#4435) + +### Evidence + +- Add time to evidence params (#69) + +### Lite + +- Modified bisection to loop (#4400) + +### Lite2 + +- Manage witness dropout (#4380) +- Improve string output of all existing providers (#4387) +- Modified sequence method to match bisection (#4403) +- Disconnect from bad nodes (#4388) +- Divide verify functions (#4412) +- Return already verified headers and verify earlier headers (#4428) +- Don't save intermediate headers (#4452) +- Store current validator set (#4472) + +### Make + +- Remove sentry setup cmds (#4383) + +### Makefile + +- Place phony markers after targets (#4408) + +### P2p + +- Use curve25519.X25519() instead of ScalarMult() (#4449) + +### Proto + +- Add buf and protogen script (#4369) +- Minor linting to proto files (#4386) + +### Readme + +- Fix link to original paper (#4391) + +### Release + +- Minor release 0.33.1 (#4401) + +### Rpc + +- Fix issue with multiple subscriptions (#4406) +- Fix tx_search pagination with ordered results (#4437) +- Fix txsearch tests (#4438) +- Fix TxSearch test nits (#4446) + +### Types + +- VerifyCommitX return when +2/3 sigs are verified (#4445) + +## [0.33.1-dev0] - 2020-02-07 + +### Documentation + +- Fix incorrect link (#4377) + +### Lite2 + +- Return if there are no headers in RemoveNoLongerTrustedHeaders (#4378) + +## [0.33.0-dev2] - 2020-02-07 + +### Documentation + +- Update links to rpc (#4348) +- Update npm dependencies (#4364) +- Update guides proto paths (#4365) +- Update specs to remove cmn (#77) + +### Security + +- Cross-check new header with all witnesses (#4373) + +### Abci + +- Fix broken spec link (#4366) + +### Adr + +- ADR-051: Double Signing Risk Reduction (#4262) + +### Build + +- Bump google.golang.org/grpc from 1.26.0 to 1.27.0 (#4355) + +### Deps + +- Bump github.com/golang/protobuf from 1.3.2 to 1.3.3 (#4359) +- Bump google.golang.org/grpc from 1.27.0 to 1.27.1 (#4372) + +### Lite2 + +- Add Start, TrustedValidatorSet funcs (#4337) +- Rename alternative providers to witnesses (#4344) +- Refactor cleanup() (#4343) +- Batch save & delete operations in DB store (#4345) +- Panic if witness is on another chain (#4356) +- Make witnesses mandatory (#4358) +- Replace primary provider with alternative when unavailable (#4354) +- Fetch missing headers (#4362) +- Validate TrustOptions, add NewClientFromTrustedStore (#4374) + +### Node + +- Use GRPCMaxOpenConnections when creating the gRPC server (#4349) + +### P2p + +- Merlin based malleability fixes (#72) + +### Rpc + +- Add sort_order option to tx_search (#4342) + +## [0.33.0-dev1] - 2020-01-23 + +### .golangci + +- Disable new linters (#4024) + +### CHANGELOG + +- Update release/v0.32.8 details (#4162) + +### Documentation + +- Fix consensus spec formatting (#3804) +- "Writing a built-in Tendermint Core application in Go" guide (#3608) +- Add guides to docs (#3830) +- Add a footer to guides (#3835) +- "Writing a Tendermint Core application in Kotlin (gRPC)" guide (#3838) +- "Writing a Tendermint Core application in Java (gRPC)" guide (#3887) +- Fix some typos and changelog entries (#3915) +- Switch the data in `/unconfirmed_txs` and `num_unconfirmed_txs` (#3933) +- Add dev sessions from YouTube (#3929) +- Move dev sessions into docs (#3934) +- Specify a fix for badger err on Windows (#3974) +- Remove traces of develop branch (#4022) +- Any path can be absolute or relative (#4035) +- Add previous dev sessions (#4040) +- Add ABCI Overview (2/2) dev session (#4044) +- Update fork-accountability.md (#4068) +- Add assumption to getting started with abci-cli (#4098) +- Fix build instructions (#4123) +- Add GA for docs.tendermint.com (#4149) +- Replace dead original whitepaper link (#4155) +- Update wording (#4174) +- Mention that Evidence votes are now sorted +- Fix broken links (#4186) +- Fix broken links in consensus/readme.md (#4200) +- Update ADR 43 with links to PRs (#4207) +- Add flag documentation (#4219) +- Fix broken rpc link (#4221) +- Fix broken ecosystem link (#4222) +- Add notes on architecture intro (#4175) +- Remove "0 means latest" from swagger docs (#4236) +- Update app-architecture.md (#4259) +- Link fixes in readme (#4268) +- Add link for installing Tendermint (#4307) +- Update theme version (#4315) +- Minor doc fixes (#4335) + +### Security + +- Refactor Remote signers (#3370) + +### Testing + +- Branch for fix of ci (#4266) +- Bind test servers to 127.0.0.1 (#4322) + +### Vagrantfile + +- Update Go version + +### [Docs] + +- Minor doc touchups (#4171) + +### Abci + +- Remove TotalTxs and NumTxs from Header (#3783) + +### Abci/client + +- Fix DATA RACE in gRPC client (#3798) + +### Abci/kvstore + +- Return `LastBlockHeight` and `LastBlockAppHash` in `Info` (#4233) + +### Abci/server + +- Recover from app panics in socket server (#3809) + +### Adr + +- ADR-052: Tendermint Mode (#4302) + +### Adr#50 + +- Improve trusted peering (#4072) + +### Blockchain + +- Reorg reactor (#3561) + +### Build + +- Bump github.com/tendermint/tm-db from 0.1.1 to 0.2.0 (#4001) +- Bump github.com/gogo/protobuf from 1.3.0 to 1.3.1 (#4055) +- Bump github.com/spf13/viper from 1.4.0 to 1.5.0 (#4102) +- Bump github.com/spf13/viper from 1.5.0 to 1.6.1 (#4224) +- Bump github.com/pkg/errors from 0.9.0 to 0.9.1 (#4310) + +### Changelog + +- Add v0.31.9 and v0.31.8 updates (#4034) +- Fix typo (#4106) +- Explain breaking changes better +- GotVoteFromUnwantedRoundError -> ErrGotVoteFromUnwantedRound +- Add 0.32.9 changelog to master (#4305) + +### Cli + +- Add `--cs.create_empty_blocks_interval` flag (#4205) +- Add `--db_backend` and `--db_dir` flags to tendermint node cmd (#4235) +- Add optional `--genesis_hash` flag to check genesis hash upon startup (#4238) +- Debug sub-command (#4227) + +### Cmd/debug + +- Execute p.Signal only when p is not nil (#4271) + +### Cmd/lite + +- Switch to new lite2 package (#4300) + +### Config + +- Move max_msg_bytes into mempool section (#3869) +- Add rocksdb as a db backend option (#4239) + +### Consensus + +- Reduce "Error attempting to add vote" message severity (Er… (#3871) + +### Consensus/types + +- Fix BenchmarkRoundStateDeepCopy panics (#4244) + +### Crypto + +- Add sr25519 signature scheme (#4190) +- Fix sr25519 from raw import (#4272) + +### Crypto/amino + +- Add function to modify key codec (#4112) + +### Cs + +- Check for SkipTimeoutCommit or wait timeout in handleTxsAvailable (#3928) +- Don't panic when block is not found in store (#4163) +- Clarify where 24 comes from in maxMsgSizeBytes (wal.go) +- Set missing_validators(_power) metrics to 0 for 1st block (#4194) +- Check if cs.privValidator is nil (#4295) + +### Dep + +- Update tm-db to 0.4.0 (#4289) + +### Deps + +- Update gogo/protobuf version from v1.2.1 to v1.3.0 (#3947) +- Bump github.com/magiconair/properties from 1.8.0 to 1.8.1 (#3937) +- Bump github.com/rs/cors from 1.6.0 to 1.7.0 (#3939) +- Bump github.com/fortytw2/leaktest from 1.2.0 to 1.3.0 (#3943) +- Bump github.com/libp2p/go-buffer-pool from 0.0.1 to 0.0.2 (#3948) +- Bump google.golang.org/grpc from 1.22.0 to 1.23.0 (#3942) +- Bump github.com/gorilla/websocket from 1.2.0 to 1.4.1 (#3945) +- Bump viper to 1.4.0 and logfmt to 0.4.0 (#3950) +- Bump github.com/stretchr/testify from 1.3.0 to 1.4.0 (#3951) +- Bump github.com/go-kit/kit from 0.6.0 to 0.9.0 (#3952) +- Bump google.golang.org/grpc from 1.23.0 to 1.23.1 (#3982) +- Bump google.golang.org/grpc from 1.23.1 to 1.24.0 (#4021) +- Bump google.golang.org/grpc from 1.25.0 to 1.25.1 (#4127) +- Bump google.golang.org/grpc from 1.25.1 to 1.26.0 (#4264) +- Bump github.com/go-logfmt/logfmt from 0.4.0 to 0.5.0 (#4282) +- Bump github.com/pkg/errors from 0.8.1 to 0.9.0 (#4301) +- Bump github.com/spf13/viper from 1.6.1 to 1.6.2 (#4318) + +### Evidence + +- Enforce ordering in DuplicateVoteEvidence (#4151) +- Introduce time.Duration to evidence params (#4254) + +### Gitian + +- Update reproducible builds to build with Go 1.12.8 (#3902) + +### Libs + +- Remove db from tendermint in favor of tendermint/tm-cmn (#3811) + +### Libs/common + +- Refactor libs/common 01 (#4230) +- Refactor libs/common 2 (#4231) +- Refactor libs common 3 (#4232) +- Refactor libs/common 4 (#4237) +- Refactor libs/common 5 (#4240) + +### Libs/pubsub + +- Relax tx querying (#4070) + +### Libs/pubsub/query + +- Add EXISTS operator (#4077) + +### Lint + +- Golint issue fixes (#4258) + +### Linters + +- Enable scopelint (#3963) +- Modify code to pass maligned and interfacer (#3959) +- Enable stylecheck (#4153) + +### Lite + +- Follow up from #3989 (#4209) + +### Lite2 + +- Light client with weak subjectivity (#3989) +- Move AutoClient into Client (#4326) +- Improve auto update (#4334) + +### Make + +- Add back tools cmd (#4281) + +### Makefile + +- Minor cleanup (#3994) + +### Mempool + +- Make max_msg_bytes configurable (#3826) +- Make `max_tx_bytes` configurable instead of `max_msg_bytes` (#3877) +- Fix memory loading error on 32-bit machines (#3969) +- Moved TxInfo parameter into Mempool.CheckTx() (#4083) + +### Metrics + +- Only increase last_signed_height if commitSig for block (#4283) + +### Networks/remote + +- Turn on GO111MODULE and use git clone instead of go get (#4203) + +### P2p + +- Fix error logging for connection stop (#3824) +- Do not write 'Couldn't connect to any seeds' if there are no seeds (#3834) +- Only allow ed25519 pubkeys when connecting +- Log as debug msg when address dialing is already connected (#4082) +- Make SecretConnection non-malleable (#3668) +- Add `unconditional_peer_ids` and `persistent_peers_max_dial_period` (#4176) +- Extract maxBackoffDurationForPeer func and remove 1 test (#4218) + +### P2p/conn + +- Add Bufferpool (#3664) +- Simplify secret connection handshake malleability fix with merlin (#4185) + +### Privval + +- Remove misplaced debug statement (#4103) +- Add `SignerDialerEndpointRetryWaitInterval` option (#4115) + +### Prometheus/metrics + +- Three new metrics for consensus (#4263) + +### Rpc + +- Make max_body_bytes and max_header_bytes configurable (#3818) +- /broadcast_evidence (#3481) +- Return err if page is incorrect (less than 0 or greater than tot… (#3825) +- Protect subscription access from race condition (#3910) +- Allow using a custom http client in rpc client (#3779) +- Remove godoc comments in favor of swagger docs (#4126) +- /block_results fix docs + write test + restructure response (#3615) +- Remove duplication of data in `ResultBlock ` (#3856) +- Add pagination to /validators (#3993) +- Update swagger docs to openapi 3.0 (#4223) +- Added proposer in consensus_state (#4250) +- Pass `outCapacity` to `eventBus#Subscribe` when subscribing using a l… (#4279) +- Add method block_by_hash (#4257) +- Modify New* functions to return error (#4274) +- Check nil blockmeta (#4320) +- PR#4320 follow up (#4323) + +### Rpc/client + +- Add basic authentication (#4291) + +### Rpc/lib + +- Fix RPC client, which was previously resolving https protocol to http (#4131) + +### Rpc/swagger + +- Add numtxs to blockmeta (#4139) + +### Scripts + +- Remove install scripts (#4242) + +### Spec + +- Update spec with tendermint updates (#62) + +### Spec/consensus/signing + +- Add more details about nil and amnesia (#54) + +### State + +- Txindex/kv: fsync data to disk immediately after receiving it (#4104) +- Txindex/kv: return an error if there's one (#4095) + +### State/store + +- Remove extra `if` statement (#3774) + +### Store + +- Register block amino, not just crypto (#3894) + +### Tm-bench + +- Add deprecation warning (#3992) + +### Tools.mk + +- Use tags instead of revisions where possible +- Install protoc + +### Tools/tm-bench + +- Remove tm-bench in favor of tm-load-test (#4169) + +### Txindexer + +- Refactor Tx Search Aggregation (#3851) + +### Types + +- Move MakeVote / MakeBlock functions (#3819) +- Add test for block commits with votes for the wrong blockID (#3936) +- Prevent temporary power overflows on validator updates (#4165) +- Change number_txs to num_txs json tag in BlockMeta +- Remove dots from errors in SignedHeader#ValidateBasic +- Change `Commit` to consist of just signatures (#4146) +- Prevent spurious validator power overflow warnings when changing the validator set (#4183) + +## [0.32.1] - 2019-07-15 + +### Documentation + +- Update to contributing.md (#3760) +- Add readme image (#3763) +- Remove confusing statement from contributing.md (#3764) +- Quick link fixes throughout docs and repo (#3776) +- Replace priv_validator.json with priv_validator_key.json (#3786) + +### Testing + +- Add consensus_params to testnet config generation (#3781) + +### Abci + +- Refactor CheckTx to notify of recheck (#3744) +- Minor cleanups in the socket client (#3758) +- Fix documentation regarding CheckTx type update (#3789) + +### Adr + +- [43] blockchain riri-org (#3753) + +### Behaviour + +- Return correct reason in MessageOutOfOrder (#3772) + +### Config + +- Make possible to set absolute paths for TLS cert and key (#3765) + +### Libs + +- Remove commented and unneeded code (#3757) +- Minor cleanup (#3794) + +### Libs/common + +- Remove heap.go (#3780) +- Remove unused functions (#3784) + +### Libs/fail + +- Clean up `fail.go` (#3785) + +### Node + +- Allow registration of custom reactors while creating node (#3771) + +### P2p + +- Dial addrs which came from seed instead of calling ensurePeers (#3762) +- Extract ID validation into a separate func (#3754) + +### Tm-monitor + +- Update build-docker Makefile target (#3790) +- Add Context to RPC handlers (#3792) + +## [0.32.0] - 2019-06-25 + +### Documentation + +- (rpc/broadcast_tx_*) write expectations for a client (#3749) +- Update JS section of abci-cli.md (#3747) + +## [0.32.0-dev2] - 2019-06-22 + +### Abci + +- Refactor ABCI CheckTx and DeliverTx signatures (#3735) + +### Abci/examples + +- Switch from hex to base64 pubkey in kvstore (#3641) + +### Cs + +- Exit if SwitchToConsensus fails (#3706) + +### Node + +- Run whole func in goroutine, not just logger.Error fn (#3743) + +### Rpc/lib + +- Write a test for TLS server (#3703) + +### State + +- Add more tests for block validation (#3674) + +## [0.32.0-dev1] - 2019-06-21 + +### Documentation + +- Missing 'b' in python command (#3728) +- Fix some language issues and deprecated link (#3733) + +### Node + +- Fix a bug where `nil` is recorded as node's address (#3740) + +### P2p + +- Refactor Switch#OnStop (#3729) + +### Types + +- Do not ignore errors returned by PublishWithEvents (#3722) + +## [0.32.0-dev0] - 2019-06-12 + +### Documentation + +- Update /block_results RPC docs (#3708) + +### Abci + +- Refactor tagging events using list of lists (#3643) + +### Libs/db + +- Fix the BoltDB Batch.Delete +- Fix the BoltDB Get and Iterator + +### P2p + +- Per channel metrics (#3666) (#3677) +- Remove NewNetAddressStringWithOptionalID (#3711) +- Peerbehaviour follow up (#3653) (#3663) + +### Rpc + +- Use Wrap instead of Errorf error (#3686) + +## [0.31.7] - 2019-06-04 + +### Documentation + +- Update RPC docs for /subscribe & /unsubscribe (#3705) + +### Libs/db + +- Remove deprecated `LevelDBBackend` const (#3632) + +## [0.31.6] - 2019-05-30 + +### ADR-037 + +- DeliverBlock (#3420) + +### Documentation + +- Fix typo in clist readme (#3574) +- Update contributing.md (#3503) +- Fix minor typo (#3681) + +### Abci/types + +- Update comment (#3612) + +### Cli + +- Add option to not clear address book with unsafe reset (#3606) + +### Crypto + +- Proof of Concept for iterative version of SimpleHashFromByteSlices (#2611) (#3530) + +### Cs + +- Fix nondeterministic tests (#3582) + +### Cs/replay + +- Check appHash for each block (#3579) +- ExecCommitBlock should not read from state.lastValidators (#3067) + +### Libs/common + +- Remove deprecated PanicXXX functions (#3595) + +### Libs/db + +- Bbolt (etcd's fork of bolt) (#3610) +- Close boltDBIterator (#3627) +- Fix boltdb batching +- Conditional compilation (#3628) +- Boltdb: use slice instead of sync.Map (#3633) + +### Mempool + +- Move interface into mempool package (#3524) +- Remove only valid (Code==0) txs on Update (#3625) + +### Node + +- Refactor node.NewNode (#3456) + +### P2p + +- (seed mode) limit the number of attempts to connect to a peer (#3573) +- Session should terminate on nonce wrapping (#3531) (#3609) +- Make persistent prop independent of conn direction (#3593) +- PeerBehaviour implementation (#3539) (#3552) +- Peer state init too late and pex message too soon (#3634) + +### P2p/pex + +- Consult seeds in crawlPeersRoutine (#3647) + +### Pex + +- Dial seeds when address book needs more addresses (#3603) +- Various follow-ups (#3605) + +### Privval + +- Increase timeout to mitigate non-deterministic test failure (#3580) + +### Rpc + +- Add support for batched requests/responses (#3534) +- /dial_peers: only mark peers as persistent if flag is on (#3620) + +### Types + +- CommitVotes struct as last step towards #1648 (#3298) + +## [0.31.5] - 2019-04-16 + +### Adr + +- PeerBehaviour updates (#3558) + +### Blockchain + +- Dismiss request channel delay (#3459) + +### Common + +- CMap: slight optimization in Keys() and Values(). (#3567) + +### Gitignore + +- Add .vendor-new (#3566) + +### State + +- Use last height changed if validator set is empty (#3560) + +## [0.31.4] - 2019-04-12 + +### Documentation + +- Fix block.Header.Time description (#3529) +- Abci#Commit: better explain the possible deadlock (#3536) + +### Adr + +- Peer Behaviour (#3539) + +### P2p + +- Seed mode refactoring (#3011) +- Do not log err if peer is private (#3474) + +### Rpc + +- Fix response time grow over time (#3537) + +## [0.31.2] - 2019-04-01 + +### Blockchain + +- Comment out logger in test code that causes a race condition (#3500) + +### Libs + +- Remove useless code in group (#3504) + +## [0.31.1] - 2019-03-28 + +### Documentation + +- Fix broken links (#3482) (#3488) +- Fix broken links (#3482) (#3488) + +### Blockchain + +- Update the maxHeight when a peer is removed (#3350) + +### Changelog + +- Add summary & fix link & add external contributor (#3490) + +### Crypto + +- Delete unused code (#3426) + +### Mempool + +- Fix broadcastTxRoutine leak (#3478) +- Add a safety check, write tests for mempoolIDs (#3487) + +### P2p + +- Refactor GetSelectionWithBias for addressbook (#3475) + +### Rpc + +- Client disable compression (#3430) +- Support tls rpc (#3469) + +### Rpc/client + +- Include NetworkClient interface into Client interface (#3473) + +## [0.31.0] - 2019-03-19 + +### Types + +- Refactor PB2TM.ConsensusParams to take BlockTimeIota as an arg (#3442) + +## [0.31.0-rc0] - 2019-03-14 + +### Changelog + +- More review fixes/release/v0.31.0 (#3427) + +### Cmd + +- Make sure to have 'testnet' create the data directory for nonvals (#3409) + +### Cs + +- Comment out log.Error to avoid TestReactorValidatorSetChanges timing out (#3401) + +### Grpcdb + +- Close Iterator/ReverseIterator after use (#3424) + +### Localnet + +- Fix $LOG variable (#3423) + +### Types + +- Remove check for priority order of existing validators (#3407) + +## [0.30.2] - 2019-03-11 + +### Documentation + +- Fix typo (#3373) +- Fix the reverse of meaning in spec (#3387) + +### Circleci + +- Removed complexity from docs deployment job (#3396) + +### Deps + +- Update gogo/protobuf from 1.1.1 to 1.2.1 and golang/protobuf from 1.1.0 to 1.3.0 (#3357) + +### Libs/db + +- Add cleveldb.Stats() (#3379) +- Close batch (#3397) +- Close batch (#3397) + +### P2p + +- Do not panic when filter times out (#3384) + +### Types + +- Followup after validator set changes (#3301) + +## [0.31.0-dev0] - 2019-02-28 + +### Cs + +- Update wal comments (#3334) + +### P2p + +- Fix comment in secret connection (#3348) + +### Privval + +- Improve Remote Signer implementation (#3351) + +## [0.30.1] - 2019-02-20 + +### Documentation + +- Fix rpc Tx() method docs (#3331) + +### Consensus + +- Flush wal on stop (#3297) + +### Cs + +- Reset triggered timeout precommit (#3310) +- Sync WAL more frequently (#3300) + +### Cs/wal + +- Refuse to encode msg that is bigger than maxMsgSizeBytes (#3303) + +### P2p + +- Check secret conn id matches dialed id (#3321) + +### Rpc/net_info + +- Change RemoteIP type from net.IP to String (#3309) + +### Types + +- Validator set update tests (#3284) + +## [0.29.2-rc1] - 2019-02-08 + +### Secp256k1 + +- Change build tags (#3277) + +## [0.29.2-rc0] - 2019-02-08 + +### Documentation + +- Fix links (#3220) + +### R4R + +- Config TestRoot modification for LCD test (#3177) + +### WAL + +- Better errors and new fail point (#3246) + +### Addrbook_test + +- Preallocate memory for bookSizes (#3268) + +### Adr + +- Style fixes (#3206) + +### Cmn + +- GetFreePort (#3255) + +### Mempool + +- Correct args order in the log msg (#3221) + +### P2p + +- Fix infinite loop in addrbook (#3232) + +### P2p/conn + +- Don't hold stopMtx while waiting (#3254) + +### Pubsub + +- Comments +- Fixes after Ethan's review (#3212) + +### Types + +- Comments on user vs internal events + +## [0.29.1-rc0] - 2019-01-24 + +### Documentation + +- Explain how someone can run his/her own ABCI app on localnet (#3195) +- Update pubsub ADR (#3131) +- Fix lite client formatting (#3198) + +### P2p + +- File descriptor leaks (#3150) + +## [0.29.0-rc0] - 2019-01-22 + +### Mempool + +- Enforce maxMsgSize limit in CheckTx (#3168) + +## [0.29.0-beta0] - 2019-01-18 + +### Documentation + +- Fix broken link (#3142) +- Fix RPC links (#3141) + +### Json2wal + +- Increase reader's buffer size (#3147) + +## [0.28.0] - 2019-01-16 + +### Documentation + +- Update link for rpc docs (#3129) + +### Makefile + +- Fix build-docker-localnode target (#3122) + +### Privval + +- Fixes from review (#3126) + +## [0.28.0-beta1] - 2019-01-13 + +### Documentation + +- Fix p2p readme links (#3109) + +### Rpc + +- Include peer's remote IP in `/net_info` (#3052) + +## [0.28.0-dev0] - 2019-01-10 + +### R4R + +- Split immutable and mutable parts of priv_validator.json (#2870) + +### Cs + +- Prettify logging of ignored votes (#3086) + +## [0.27.4] - 2018-12-21 + +### Documentation + +- Add rpc link to docs navbar and re-org sidebar (#3041) + +### Circleci + +- Update go version (#3051) + +### Mempool + +- Move tx to back, not front (#3036) +- Move tx to back, not front (#3036) + +## [0.27.3] - 2018-12-16 + +### Crypto + +- Revert to mainline Go crypto lib (#3027) + +## [0.27.1] - 2018-12-16 + +### Documentation + +- Relative links in docs/spec/readme.md, js-amino lib (#2977) +- Fixes from 'first time' review (#2999) +- Enable full-text search (#3004) +- Add edit on Github links (#3014) +- Update DOCS_README (#3019) +- Networks/docker-compose: small fixes (#3017) + +### Circleci + +- Add a job to automatically update docs (#3005) + +### Mempool + +- Add a comment and missing changelog entry (#2996) +- NotifyTxsAvailable if there're txs left, but recheck=false (#2991) + +### P2p + +- Set MConnection#created during init (#2990) + +## [0.27.0-rc0] - 2018-12-05 + +### Documentation + +- Add client#Start/Stop to examples in RPC docs (#2939) + +### P2p + +- Panic on transport error (#2968) +- Fix peer count mismatch #2332 (#2969) + +## [0.27.0-dev1] - 2018-11-29 + +### Documentation + +- Update ecosystem.json: add Rust ABCI (#2945) + +### Types + +- ValidatorSet.Update preserves Accum (#2941) + +## [0.27.0-dev0] - 2018-11-28 + +### Documentation + +- Small improvements (#2933) +- Fix js-abci example (#2935) +- Add client.Start() to RPC WS examples (#2936) + +### R4R + +- Swap start/end in ReverseIterator (#2913) + +### Types + +- NewValidatorSet doesn't panic on empty valz list (#2938) + +## [0.26.4] - 2018-11-27 + +### Documentation + +- Prepend cp to /usr/local with sudo (#2885) + +### Mempool + +- Add txs from Update to cache + +### Node + +- Refactor privValidator ext client code & tests (#2895) + +### Rpc + +- Fix tx.height range queries (#2899) + +### Types + +- Emit tags from BeginBlock/EndBlock (#2747) + +## [0.26.3] - 2018-11-17 + +### R4R + +- Add timeouts to http servers (#2780) + +### P2p + +- Log 'Send failed' on Debug (#2857) +- NewMultiplexTransport takes an MConnConfig (#2869) + +### P2p/conn + +- FlushStop. Use in pex. Closes #2092 (#2802) + +## [0.26.2-rc0] - 2018-11-15 + +### Documentation + +- Update config: ref #2800 & #2837 + +### Optimize + +- Using parameters in func (#2845) + +### Abci + +- LocalClient improvements & bugfixes & pubsub Unsubscribe issues (#2748) + +### Arm + +- Add install script, fix Makefile (#2824) + +## [0.26.1] - 2018-11-12 + +### P2p + +- AddressBook requires addresses to have IDs; Do not close conn immediately after sending pex addrs in seed mode (#2797) +- Re-check after sleeps (#2664) + +## [0.26.1-rc1] - 2018-11-07 + +### Mempool + +- Print postCheck error (#2762) + +### P2p + +- Peer-id -> peer_id (#2771) + +## [0.26.1-rc0] - 2018-11-06 + +### Mempool + +- ErrPreCheck and more log info (#2724) + +## [0.26.0] - 2018-11-03 + +### ADR-016 + +- Add versions to Block and State (#2644) +- Add protocol Version to NodeInfo (#2654) +- Update ABCI Info method for versions (#2662) + +### Adr-016 + +- Update int64->uint64; add version to ConsensusParams (#2667) + +### Crypto + +- Use stdlib crypto/rand. ref #2099 (#2669) + +### P2p + +- Restore OriginalAddr (#2668) + +### Privval + +- Add IPCPV and fix SocketPV (#2568) + +### Tm-monitor + +- Update health after we added / removed node (#2694) + +### Types + +- Remove Version from CanonicalXxx (#2666) +- Dont use SimpleHashFromMap for header. closes #1841 (#2670) +- First field in Canonical structs is Type (#2675) + +## [0.26.0-dev0] - 2018-10-15 + +### Documentation + +- Consensus params and general merkle (#2524) + +### Testing + +- Test itr.Value in checkValuePanics (#2580) + +### Abci + +- Codespace (#2557) + +### Adr-029 + +- Update CheckBlock + +### Bit_array + +- Simplify subtraction + +### Circle + +- Save p2p logs as artifacts (#2566) + +### Clist + +- Speedup Next by removing defers (#2511) + +### Config + +- Add ValidateBasic (#2485) +- Refactor ValidateBasic (#2503) + +### Consensus + +- Wait timeout precommit before starting new round (#2493) +- Add ADR for first stage consensus refactor (#2462) +- Wait for proposal or timeout before prevote (#2540) + +### Crypto + +- Add a way to go from pubkey to route (#2574) + +### Crypto/amino + +- Address anton's comment on PubkeyAminoRoute (#2592) + +### Crypto/merkle + +- Remove byter in favor of plain byte slices (#2595) + +### Crypto/random + +- Use chacha20, add forward secrecy (#2562) + +### Distribution + +- Lock binary dependencies to specific commits (#2550) + +### Ed25519 + +- Use golang/x/crypto fork (#2558) + +### Libs + +- Handle SIGHUP explicitly inside autofile (#2480) +- Call Flush() before rename #2428 (#2439) +- Fix event concurrency flaw (#2519) +- Refactor & document events code (#2576) +- Let prefixIterator implements Iterator correctly (#2581) +- Test deadlock from listener removal inside callback (#2588) + +### Lite + +- Add synchronization in lite verify (#2396) + +### Metrics + +- Add additional metrics to p2p and consensus (#2425) + +### Node + +- Respond always to OS interrupts (#2479) + +### P2p + +- NodeInfo is an interface; General cleanup (#2556) + +### Privval + +- Switch to amino encoding in SignBytes (#2459) +- Set deadline in readMsg (#2548) + +### Rpc/core + +- Ints are strings in responses, closes #1896 + +### Rpc/libs/doc + +- Formatting for godoc, closes #2420 + +### State + +- Require block.Time of the fist block to be genesis time (#2594) + +### Tools + +- Refactor tm-bench (#2570) + +### Types + +- Remove pubkey from validator hash (#2512) +- Cap evidence in block validation (#2560) + +## [0.25.0] - 2018-09-23 + +### Documentation -- Move FROM to golang:1.4 because 1.4.2 broke -- Go-events -> tmlibs/events -- Update for 0.10.0 [ci skip]" -- Add docs from website -- Tons of minor improvements -- Add conf.py -- Test -- Add sphinx Makefile & requirements -- Consolidate ADRs -- Convert markdown to rst -- Organize the specification -- Rpc docs to be slate, see #526, #629 -- Use maxdepth 2 for spec -- Port website's intro for rtd -- Rst-ify the intro -- Fix image links -- Link fixes -- Clean a bunch of stuff up -- Logo, add readme, fixes -- Pretty-fy -- Give index a Tools section -- Update and clean up adr -- Use README.rst to be pulled from tendermint -- Re-add the images -- Add original README's from tools repo -- Convert from md to rst -- Update index.rst -- Move images in from tools repo -- Harmonize headers for tools docs -- Add kubes docs to mintnet doc, from tools -- Add original tm-bench/monitor files -- Organize tm-bench/monitor description -- Pull from tools on build -- Finish pull from tools -- Organize the directory, #656 -- Add software.json from website (ecosystem) -- Rename file -- Add and re-format the ecosystem from website -- Pull from tools' master branch -- Using ABCI-CLI -- Remove last section from ecosystem -- Organize install a bit better -- Add ABCI implementations -- Added passchain to the ecosystem.rst in the applications section; -- Fix build warnings -- Add stratumn -- Add py-tendermint to abci-servers -- Remove mention of type byte -- Add info about tm-migrate -- Update abci example details [ci skip] -- Typo -- Smaller logo (200px) -- Comb through step by step -- Fixup abci guide -- Fix links, closes #860 -- Add note about putting GOPATH/bin on PATH -- Correction, closes #910 -- Update ecosystem.rst (#1037) -- Add abci spec -- Add counter/dummy code snippets -- Updates from review (#1076) -- Tx formats: closes #1083, #536 -- Fix tx formats [ci skip] -- Update getting started [ci skip] -- Add document 'On Determinism' -- Wrong command-line flag -- The character for 1/3 fraction could not be rendered in PDF on readthedocs. (#1326) -- Update quick start guide (#1351) -- Build updates -- Add diagram, closes #1565 (#1577) -- Lil fixes -- Update install instructions, closes #1580 -- Blockchain and consensus dirs -- Fix dead links, closes #1608 -- Use absolute links (#1617) -- Update ABCI output (#1635) -- A link to quick install script -- Add BSD install script -- Start move back to md -- Cleanup/clarify build process -- Pretty fixes -- Some organizational cleanup -- DuplicateVoteEvidence -- Update abci links (#1796) -- Update js-abci example -- Minor fix for abci query peer filter -- Update address spec to sha2 for ed25519 -- Remove node* files -- Update getting started and remove old script (now in scripts/install) -- Md fixes & latest tm-bench/monitor -- Modify blockchain spec to reflect validator set changes (#2107) -- Fix links & other imrpvoements -- Note max outbound peers excludes persistent -- Fix img links, closes #2214 (#2282) -- Deprecate RTD (#2280) -- Fix indentation for genesis.validators -- Remove json tags, dont use HexBytes -- Update vote, signature, time -- Fix encoding JSON -- Bring blockchain.md up-to-date -- Specify consensus params in state.md -- Fix note about ChainID size -- Remove tags from result for now -- Move app-dev/abci-spec.md to spec/abci/abci.md -- Update spec -- Refactor ABCI docs -- Fixes and more from #2249 -- Add abci spec to config.js - Improve docs on AppHash (#2363) - Update link to rpc (#2361) - Update README (#2393) - Update secure-p2p doc to match the spec + current implementation - Add missing changelog entry and comment (#2451) - Add assets/instructions for local docs build (#2453) -- Consensus params and general merkle (#2524) -- Update config: ref #2800 & #2837 -- Prepend cp to /usr/local with sudo (#2885) -- Small improvements (#2933) -- Fix js-abci example (#2935) -- Add client.Start() to RPC WS examples (#2936) -- Update ecosystem.json: add Rust ABCI (#2945) -- Add client#Start/Stop to examples in RPC docs (#2939) -- Relative links in docs/spec/readme.md, js-amino lib (#2977) -- Fixes from 'first time' review (#2999) -- Enable full-text search (#3004) -- Add edit on Github links (#3014) -- Update DOCS_README (#3019) -- Networks/docker-compose: small fixes (#3017) -- Add rpc link to docs navbar and re-org sidebar (#3041) -- Fix p2p readme links (#3109) -- Update link for rpc docs (#3129) -- Fix broken link (#3142) -- Fix RPC links (#3141) -- Explain how someone can run his/her own ABCI app on localnet (#3195) -- Update pubsub ADR (#3131) -- Fix lite client formatting (#3198) -- Fix links (#3220) -- Fix rpc Tx() method docs (#3331) -- Fix typo (#3373) -- Fix the reverse of meaning in spec (#3387) -- Fix broken links (#3482) (#3488) -- Fix broken links (#3482) (#3488) -- Fix block.Header.Time description (#3529) -- Abci#Commit: better explain the possible deadlock (#3536) -- Fix typo in clist readme (#3574) -- Update contributing.md (#3503) -- Fix minor typo (#3681) -- Update RPC docs for /subscribe & /unsubscribe (#3705) -- Update /block_results RPC docs (#3708) -- Missing 'b' in python command (#3728) -- Fix some language issues and deprecated link (#3733) -- (rpc/broadcast_tx_*) write expectations for a client (#3749) -- Update JS section of abci-cli.md (#3747) -- Update to contributing.md (#3760) -- Add readme image (#3763) -- Remove confusing statement from contributing.md (#3764) -- Quick link fixes throughout docs and repo (#3776) -- Replace priv_validator.json with priv_validator_key.json (#3786) -- Fix consensus spec formatting (#3804) -- "Writing a built-in Tendermint Core application in Go" guide (#3608) -- Add guides to docs (#3830) -- Add a footer to guides (#3835) -- "Writing a Tendermint Core application in Kotlin (gRPC)" guide (#3838) -- "Writing a Tendermint Core application in Java (gRPC)" guide (#3887) -- Fix some typos and changelog entries (#3915) -- Switch the data in `/unconfirmed_txs` and `num_unconfirmed_txs` (#3933) -- Add dev sessions from YouTube (#3929) -- Move dev sessions into docs (#3934) -- Specify a fix for badger err on Windows (#3974) -- Remove traces of develop branch (#4022) -- Any path can be absolute or relative (#4035) -- Add previous dev sessions (#4040) -- Add ABCI Overview (2/2) dev session (#4044) -- Update fork-accountability.md (#4068) -- Add assumption to getting started with abci-cli (#4098) -- Fix build instructions (#4123) -- Add GA for docs.tendermint.com (#4149) -- Replace dead original whitepaper link (#4155) -- Update wording (#4174) -- Mention that Evidence votes are now sorted -- Fix broken links (#4186) -- Fix broken links in consensus/readme.md (#4200) -- Update ADR 43 with links to PRs (#4207) -- Add flag documentation (#4219) -- Fix broken rpc link (#4221) -- Fix broken ecosystem link (#4222) -- Add notes on architecture intro (#4175) -- Remove "0 means latest" from swagger docs (#4236) -- Update app-architecture.md (#4259) -- Link fixes in readme (#4268) -- Add link for installing Tendermint (#4307) -- Update theme version (#4315) -- Minor doc fixes (#4335) -- Update links to rpc (#4348) -- Update npm dependencies (#4364) -- Update guides proto paths (#4365) -- Update specs to remove cmn (#77) -- Fix incorrect link (#4377) -- Fix spec links (#4384) -- Update Light Client Protocol page (#4405) -- Adr-046 add bisection algorithm details (#4496) -- `tendermint node --help` dumps all supported flags (#4511) -- Write about debug kill and dump (#4516) -- Fix links (#4531) -- Validator setup & Key info (#4604) -- Add adr-55 for proto repo design (#4623) -- Amend adr-54 with changes in the sdk (#4684) -- Create adr 56: prove amnesia attack -- Mention unbonding period in MaxAgeNumBlocks/MaxAgeDuration -- State we don't support non constant time crypto -- Move tcp-window.png to imgs/ -- Document open file limit in production guide (#4945) -- Update amnesia adr (#4994) -- Update .vuepress/config.js (#5043) -- Add warning for chainid (#5072) -- Added further documentation to the subscribing to events page (#5110) -- Tweak light client documentation (#5121) -- Modify needed proto files for guides (#5123) -- EventAttribute#Index is not deterministic (#5132) -- Event hashing ADR 058 (#5134) -- Simplify choosing an ADR number (#5156) -- Add more details on Vote struct from /consensus_state (#5164) -- Document ConsensusParams (#5165) -- Document canonical field (#5166) -- Cleanup (#5252) -- Dont display duplicate (#5271) -- Rename swagger to openapi (#5263) -- Fix go tutorials (#5267) -- Versioned (#5241) -- Remove duplicate secure p2p (#5279) -- Remove interview transcript (#5282) -- Add block retention to upgrading.md (#5284) -- Updates to various sections (#5285) -- Add algolia docsearch configs (#5309) -- Add sections to abci (#150) -- Add doc on state sync configuration (#5304) -- Move subscription to tendermint-core (#5323) -- Add missing metrics (#5325) -- Add more description to initial_height (#5350) -- Make rfc section disppear (#5353) -- Document max entries for `/blockchain` RPC (#5356) -- Fix incorrect time_iota_ms configuration (#5385) -- Minor tweaks (#5404) -- Update state sync config with discovery_time (#5405) -- Add explanation of p2p configuration options (#5397) -- Specify TM version in go tutorials (#5427) -- Revise ADR 56, documenting short term decision around amnesia evidence (#5440) -- Fix links to adr 56 (#5464) -- Docs-staging → master (#5468) -- Make /master the default (#5474) -- Update url for kms repo (#5510) -- Footer cleanup (#5457) -- Remove DEV_SESSIONS list (#5579) -- Add ADR on P2P refactor scope (#5592) -- Bump vuepress-theme-cosmos (#5614) -- Make blockchain not viewable (#211) -- Add missing ADRs to README, update status of ADR 034 (#5663) -- Add P2P architecture ADR (#5637) -- Warn developers about calling blocking funcs in Receive (#5679) -- Add nodes section (#5604) -- Add version dropdown and v0.34 docs(#5762) -- Fix link (#5763) -- Use hyphens instead of snake case (#5802) -- Specify master for tutorials (#5822) -- Specify 0.34 (#5823) -- Fix broken redirect links (#5881) -- Update package-lock.json (#5928) -- Package-lock.json fix (#5948) -- Change v0.33 version (#5950) -- Bump package-lock.json of v0.34.x (#5952) -- Dont login when in PR (#5961) -- Release Linux/ARM64 image (#5925) -- Log level docs (#5945) -- Fix typo in state sync example (#5989) -- External address (#6035) -- Reword configuration (#6039) -- Change v0.33 version (#5950) -- Release Linux/ARM64 image (#5925) -- Dont login when in PR (#5961) -- Fix typo in state sync example (#5989) -- Fix proto file names (#6112) -- How to add tm version to RPC (#6151) -- Add preallocated list of security vulnerability names (#6167) -- Fix sample code (#6186) -- Fix sample code #6186 -- Bump vuepress-theme-cosmos (#6344) -- Remove RFC section and s/RFC001/ADR066 (#6345) -- Adr-65 adjustments (#6401) -- Adr cleanup (#6489) -- Hide security page (second attempt) (#6511) -- Rename tendermint-core to system (#6515) -- Logger updates (#6545) -### Fix +### Security -- Ansible playbook to deploy tendermint +- Implement PeerTransport -### GroupReader#Read +### Adr-021 -- Return io.EOF if file is empty +- Note about tag spacers (#2362) -### Makefile +### Common -- Go test --race -- Add gmt and lint -- Add 'build' target -- Add megacheck & some additional fixes -- Remove redundant lint -- Fix linter -- Parse TENDERMINT_BUILD_OPTIONS (#4738) -- Use git 2.20-compatible branch detection (#5778) -- Always pull image in proto-gen-docker. (#5953) -- Always pull image in proto-gen-docker. (#5953) +- Delete unused functions (#2452) -### Optimize +### Mempool -- Using parameters in func (#2845) +- Filter new txs if they have insufficient gas (#2385) -### P2P +### P2p -- Evidence Reactor Test Refactor (#6238) +- Integrate new Transport +- Add RPCAddress to NodeInfoOther.String() (#2442) -### Proposal +### Proxy -- New Makefile standard template (#168) +- Remove Handshaker from proxy pkg (#2437) -### PubKeyFromBytes +### Rpc -- Return zero value PubKey on error +- Transform /status result.node_info.other into map (#2417) +- Add /consensus_params endpoint (#2415) -### Query +### Spec + +- Add missing field to NodeInfoOther (#2426) + +### Tools/tm-bench + +- Bounds check for txSize and improving test cases (#2410) + +### Version + +- Types + +## [0.24.0] - 2018-09-07 + +### Documentation + +- Fix encoding JSON +- Bring blockchain.md up-to-date +- Specify consensus params in state.md +- Fix note about ChainID size +- Remove tags from result for now +- Move app-dev/abci-spec.md to spec/abci/abci.md +- Update spec +- Refactor ABCI docs +- Fixes and more from #2249 +- Add abci spec to config.js + +### Types/time + +- Add note about stripping monotonic part + +### Version + +- Add and bump abci version -- Height -> LastHeight -- LastHeight -> Height :) +## [0.24.0-rc0] - 2018-09-05 -### R4R +### Documentation -- Add timeouts to http servers (#2780) -- Swap start/end in ReverseIterator (#2913) -- Split immutable and mutable parts of priv_validator.json (#2870) -- Config TestRoot modification for LCD test (#3177) +- Fix indentation for genesis.validators +- Remove json tags, dont use HexBytes +- Update vote, signature, time -### README +### Tmtime -- Add godoc instead of tedious MD regeneration -- Document the minimum Go version -- Specify supported versions (#4660) -- Update chat link with Discord instead of Riot (#5071) -- Clean up README (#5391) -- Update link to Tendermint blog (#5713) +- Canonical, some comments (#2312) -### RFC +## [0.23.1] - 2018-08-31 -- Adopt zip 215 (#144) -- ReverseSync - fetching historical data (#224) +### Documentation -### RFC-001 +- Fix links & other imrpvoements +- Note max outbound peers excludes persistent +- Fix img links, closes #2214 (#2282) +- Deprecate RTD (#2280) -- Configurable block retention (#84) +### Abci -### RFC-002 +- Add next_validators_hash to header +- VoteInfo, ValidatorUpdate. See ADR-018 +- Move round back from votes to commit -- Non-zero genesis (#119) +### Blockchain -### RPC +- Fix register concrete name. (#2213) -- Don't cap page size in unsafe mode (#6329) +### Clist -### ResponseEndBlock +- Speedup functions (#2208) -- Ensure Address matches PubKey if provided +### Cmap -### Security +- Remove defers (#2210) -- Use bytes.Equal for key comparison -- Remove RipeMd160. -- Implement PeerTransport -- Refactor Remote signers (#3370) -- Cross-check new header with all witnesses (#4373) -- [Security] Bump websocket-extensions from 0.1.3 to 0.1.4 in /docs (#4976) -- [Security] Bump lodash from 4.17.15 to 4.17.19 in /docs -- [Security] Bump prismjs from 1.20.0 to 1.21.0 in /docs -- Bump vuepress-theme-cosmos from 1.0.169 to 1.0.172 in /docs (#5286) -- Bump google.golang.org/grpc from 1.31.0 to 1.31.1 (#5290) -- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) -- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) -- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) -- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) -- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) -- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) -- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) -- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) -- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) -- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) -- Bump vuepress-theme-cosmos from 1.0.176 to 1.0.177 in /docs (#5746) -- Bump vuepress-theme-cosmos from 1.0.177 to 1.0.178 in /docs (#5754) -- Bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 (#5807) -- Bump github.com/cosmos/iavl from 0.15.2 to 0.15.3 (#5814) -- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) -- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) -- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) -- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) -- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) -- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) -- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) -- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) -- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) -- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) -- Update 0.34.3 changelog with details on security vuln (bp #6108) (#6110) -- Bump vuepress-theme-cosmos from 1.0.180 to 1.0.181 in /docs (#6266) -- Bump github.com/minio/highwayhash from 1.0.1 to 1.0.2 (#6280) -- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (#6330) -- Bump github.com/confio/ics23/go from 0.6.3 to 0.6.6 (#6374) -- Bump github.com/grpc-ecosystem/go-grpc-middleware from 1.2.2 to 1.3.0 (#6387) -- Bump google.golang.org/grpc from 1.37.0 to 1.37.1 (#6461) -- Bump google.golang.org/grpc from 1.37.1 to 1.38.0 (#6483) -- Bump github.com/lib/pq from 1.10.1 to 1.10.2 (#6505) +### Config -### Testing +- Reduce default mempool size (#2300) -- Broadcast_tx with tmsp; p2p -- Add throughput benchmark using mintnet and netmon -- Install mintnet, netmon -- Use MACH_PREFIX -- Cleanup -- Dont run cloud test on push to master -- README.md -- Refactor bash; test fastsync (failing) -- Name client conts so we dont need to rm them because circle -- Test dummy using rpc query -- Add xxd dep to dockerfile -- More verbosity -- Add killall to dockerfile. cleanup -- Codecov -- Use glide with mintnet/netmon -- Install glide for network test -- App persistence -- Tmsp query result is json -- Increase proposal timeout -- Cleanup and fix scripts -- Crank it to eleventy -- More cleanup on p2p -- RandConsensusNet takes more args -- Crank circle timeouts -- Automate building consensus/test_data -- Circle artifacts -- Dont start cs until all peers connected -- Shorten timeouts -- Remove codecov patch threshold -- Kill and restart all nodes -- Use PROXY_APP=persistent_dummy -- Use fail-test failure indices -- More unique container names -- Set log_level=info -- Always rebuild grpc_client -- Split up test/net/test.sh -- Unexport internal function. -- Update docker to 1.7.4 -- Dont use log files on circle -- Shellcheck -- Forward CIRCLECI var through docker -- Only use syslog on circle -- More logging -- Wait for tendermint proc -- Add extra kill after fail index triggered -- Wait for ports to be freed -- Use --pex on restart -- Install abci apps first -- Fix docker and apps -- Dial_seeds -- Docker exec doesnt work on circle -- Bump sleep to 5 for bound ports release -- Better client naming -- Use unix socket for rpc -- Shellcheck -- Check err on cmd.Wait -- Test_libs all use Makefile -- Jq .result[1] -> jq .result -- P2p.seeds and p2p.pex -- Add simple client/server test with no addr prefix -- Update for abci-cli consolidation. shell formatting -- Sunset tmlibs/process.Process -- Wait for node heights before checking app hash -- Fix ensureABCIIsUp -- Fix test/app/counter_test.sh -- Longer timeout -- Add some timeouts -- Use shasum to avoid rarer dependency -- Less bash -- More smoothness -- Test itr.Value in checkValuePanics (#2580) -- Add consensus_params to testnet config generation (#3781) -- Branch for fix of ci (#4266) -- Bind test servers to 127.0.0.1 (#4322) -- Simplified txsearch cancellation test (#4500) -- Fix p2p test build breakage caused by Debian testing -- Revert Go 1.13→1.14 bump -- Use random socket names to avoid collisions (#4885) -- Mitigate test data race (#4886) -- Use github.sha in binary cache key (#5062) -- Deflake TestAddAndRemoveListenerConcurrency and TestSyncer_SyncAny (#5101) -- Protobuf vectors for reactors (#5221) -- Add end-to-end testing framework (#5435) -- Add basic end-to-end test cases (#5450) -- Add GitHub action for end-to-end tests (#5452) -- Remove P2P tests (#5453) -- Add E2E test for node peering (#5465) -- Add random testnet generator (#5479) -- Clean up E2E test volumes using a container (#5509) -- Tweak E2E tests for nightly runs (#5512) -- Enable ABCI gRPC client in E2E testnets (#5521) -- Enable blockchain v2 in E2E testnet generator (#5533) -- Enable restart/kill perturbations in E2E tests (#5537) -- Add end-to-end testing framework (#5435) -- Add basic end-to-end test cases (#5450) -- Add GitHub action for end-to-end tests (#5452) -- Remove P2P tests (#5453) -- Add E2E test for node peering (#5465) -- Add random testnet generator (#5479) -- Clean up E2E test volumes using a container (#5509) -- Tweak E2E tests for nightly runs (#5512) -- Enable ABCI gRPC client in E2E testnets (#5521) -- Enable blockchain v2 in E2E testnet generator (#5533) -- Enable restart/kill perturbations in E2E tests (#5537) -- Run remaining E2E testnets on run-multiple.sh failure (#5557) -- Tag E2E Docker resources and autoremove them (#5558) -- Add evidence e2e tests (#5488) -- Run remaining E2E testnets on run-multiple.sh failure (#5557) -- Tag E2E Docker resources and autoremove them (#5558) -- Add evidence e2e tests (#5488) -- Fix handling of start height in generated E2E testnets (#5563) -- Disable E2E misbehaviors due to bugs (#5569) -- Fix handling of start height in generated E2E testnets (#5563) -- Disable E2E misbehaviors due to bugs (#5569) -- Fix various E2E test issues (#5576) -- Fix various E2E test issues (#5576) -- Fix secp failures (#5649) -- Fix secp failures (#5649) -- Switched node keys back to edwards (#4) -- Enable v1 and v2 blockchains (#5702) -- Fix TestByzantinePrevoteEquivocation flake (#5710) -- Fix TestByzantinePrevoteEquivocation flake (#5710) -- Fix integration tests and rename binary -- Disable abci/grpc and blockchain/v2 due to flake (#5854) -- Add conceptual overview (#5857) -- Improve WaitGroup handling in Byzantine tests (#5861) -- Improve WaitGroup handling in Byzantine tests (#5861) -- Tolerate up to 2/3 missed signatures for a validator (#5878) -- Disable abci/grpc and blockchain/v2 due to flake (#5854) -- Fix TestPEXReactorRunning data race (#5955) -- Move fuzz tests into this repo (#5918) -- Fix `make test` (#5966) -- Close transports to avoid goroutine leak failures (#5982) -- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) -- Fix TestSwitchAcceptRoutine flake by ignoring error type (#6000) -- Disable TestPEXReactorSeedModeFlushStop due to flake (#5996) -- Fix test data race in p2p.MemoryTransport with logger (#5995) -- Fix TestSwitchAcceptRoutine by ignoring spurious error (#6001) -- Fix TestRouter to take into account PeerManager reconnects (#6002) -- Fix flaky router broadcast test (#6006) -- Enable pprof server to help debugging failures (#6003) -- Increase sign/propose tolerances (#6033) -- Increase validator tolerances (#6037) -- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) (#6047) -- Enable pprof server to help debugging failures (#6003) -- Increase sign/propose tolerances (#6033) -- Increase validator tolerances (#6037) -- Move fuzz tests into this repo (#5918) -- Fix `make test` (#5966) -- Fix TestByzantinePrevoteEquivocation (#6132) -- Fix PEX reactor test (#6188) -- Fix rpc, secret_connection and pex tests (#6190) -- Refactor mempool reactor to use new p2ptest infrastructure (#6250) -- Clean up databases in tests (#6304) -- Improve cleanup for data and disk use (#6311) -- Produce structured reporting from benchmarks (#6343) -- Create common functions for easily producing tm data structures (#6435) -- HeaderHash test vector (#6531) -- Add evidence hash testvectors (#6536) +### Crypto -### UPGRADING +- Add compact bit array for intended usage in the multisig +- Threshold multisig implementation +- Add compact bit array for intended usage in the multisig (#2140) +- Remove unnecessary prefixes from amino route variable names (#2205) -- Polish upgrading instructions for 0.34 (#5398) +### Crypto/secp256k1 -### UPGRADING.md +- Fix signature malleability, adopt more efficient en… (#2239) -- Write about the LastResultsHash change (#5000) +### Libs -### UX +- Remove usage of custom Fmt, in favor of fmt.Sprintf (#2199) -- Version configuration (#5740) +### Libs/autofile -### Update +- Bring back loops (#2261) -- JTMSP -> jABCI +### Make -### Vagrantfile +- Update protoc_abci use of awk -- Update Go version +### Makefile -### ValidatorSet#GetByAddress +- Lint flags -- Return -1 if no validator was found +### Mempool -### WAL +- Keep cache hashmap and linked list in sync (#2188) +- Store txs by hash inside of cache (#2234) -- Better errors and new fail point (#3246) +### Types -### WIP +- Allow genesis file to have 0 validators (#2148) -- Begin parallel refactoring with go-wire Write methods and MConnection -- Fix rpc/core -- More empty struct examples -- Add implementation of mock/fake http-server -- Rename package name from fakeserver to mockcoreserver -- Change the method names of call structure, Fix adding headers -- Add mock of JRPCServer implementation on top of HTTServer mock +## [0.23.0] - 2018-08-05 -### [Docs] +### ADR -- Minor doc touchups (#4171) +- Fix malleability problems in Secp256k1 signatures -### [docs +### Documentation -- Typo fix] remove misplaced "the" -- Typo fix] add missing "have" +- Modify blockchain spec to reflect validator set changes (#2107) ### Abci -- Remove old repo docs -- Remove nested .gitignore -- Remove LICENSE -- Add comment for doc update -- Remove fee (#2043) - Change validators to last_commit_info in RequestBeginBlock (#2074) - Update readme for building protoc (#2124) -- Add next_validators_hash to header -- VoteInfo, ValidatorUpdate. See ADR-018 -- Move round back from votes to commit -- Codespace (#2557) -- LocalClient improvements & bugfixes & pubsub Unsubscribe issues (#2748) -- Refactor tagging events using list of lists (#3643) -- Refactor ABCI CheckTx and DeliverTx signatures (#3735) -- Refactor CheckTx to notify of recheck (#3744) -- Minor cleanups in the socket client (#3758) -- Fix documentation regarding CheckTx type update (#3789) -- Remove TotalTxs and NumTxs from Header (#3783) -- Fix broken spec link (#4366) -- Add basic description of ABCI Commit.ResponseHeight (#85) -- Add MaxAgeNumBlocks/MaxAgeDuration to EvidenceParams (#87) -- Update MaxAgeNumBlocks & MaxAgeDuration docs (#88) -- Fix protobuf lint issues -- Regenerate proto files -- Remove protoreplace script -- Remove python examples -- Proto files follow same path (#5039) -- Add AppVersion to ConsensusParams (#106) -- Tweak node sync estimate (#115) -- Fix abci evidence types (#5174) -- Add ResponseInitChain.app_hash, check and record it (#5227) -- Add ResponseInitChain.app_hash (#140) -- Update evidence (#5324) -- Fix socket client error for state sync responses (#5395) -- Remove setOption (#5447) -- Lastcommitinfo.round extra sentence (#221) -- Add abci_version to requestInfo (#223) -- Modify Client interface and socket client (#5673) -- Use protoio for length delimitation (#5818) -- Rewrite to proto interface (#237) -- Fix ReCheckTx for Socket Client (bp #6124) (#6125) -- Note on concurrency (#258) -- Change client to use multi-reader mutexes (#6306) -- Reorder sidebar (#282) -### Abci-cli +### Adr + +- Encoding for cryptography at launch (#2121) +- Protocol versioning +- Chain-versions + +### Adr-018 + +- Abci validators + +### Ci + +- Reduce log output in test_cover (#2105) + +### Consensus + +- Fix test for blocks with evidence +- Failing test for ProposerAddress + +### Crypto + +- Add compact bit array for intended usage in the multisig +- Remove interface from crypto.Signature + +### Libs + +- Make bitarray functions lock parameters that aren't the caller (#2081) + +### Libs/autofile/group_test + +- Remove unnecessary logging (#2100) + +### Libs/cmn + +- Remove Tempfile, Tempdir, switch to ioutil variants (#2114) + +### Libs/cmn/writefileatomic + +- Handle file already exists gracefully (#2113) + +### Libs/common + +- Refactor tempfile code into its own file + +### P2p + +- Connect to peers from a seed node immediately (#2115) +- Add test vectors for deriving secrets (#2120) + +### P2p/pex + +- Allow configured seed nodes to not be resolvable over DNS (#2129) +- Fix mismatch between dialseeds and checkseeds. (#2151) + +### Types + +- Fix formatting when printing signatures + +## [0.22.8-rc0] - 2018-07-27 + +### Adr + +- PeerTransport (#2069) + +### Libs + +- Update BitArray go docs (#2079) + +## [0.22.7] - 2018-07-26 + +### .github + +- Split the issue template into two seperate templates (#2073) + +### Security + +- Remove RipeMd160. + +### Crypto + +- Add benchmarking code for signature schemes (#2061) +- Switch hkdfchacha back to xchacha (#2058) + +### Makefile + +- Add `make check_dep` and remove `make ensure_deps` (#2055) + +### P2p/secret_connection + +- Switch salsa usage to hkdf + chacha + +### Rpc + +- Improve slate for Jenkins (#2070) + +## [0.22.6] - 2018-07-25 + +### Github + +- Update PR template to indicate changing pending changelog. (#2059) + +### Rpc + +- Log error when we timeout getting validators from consensus (#2045) + +## [0.22.6-rc0] - 2018-07-25 + +### Abci + +- Remove fee (#2043) + +### Consensus + +- Include evidence in proposed block parts. fixes #2050 + +### Dep + +- Revert updates + +### P2p + +- Reject addrs coming from private peers (#2032) +- Fix conn leak. part of #2046 + +### Rpc + +- Fix /blockchain OOM #2049 +- Validate height in abci_query + +### Tools + +- Clean up Makefile and remove LICENSE file (#2042) + +## [0.22.5] - 2018-07-24 + +### WIP + +- More empty struct examples + +### Common/rand + +- Remove exponential distribution functions (#1979) + +### Config + +- 10x default send/recv rate (#1978) + +### Crypto + +- Refactor to move files out of the top level directory +- Remove Ed25519 and Secp256k1 suffix on GenPrivKey +- Fix package imports from the refactor + +### Crypto/ed25519 + +- Update the godocs (#2002) +- Remove privkey.Generate method (#2022) + +### Crypto/secp256k1 + +- Add godocs, remove indirection in privkeys (#2017) + +### Libs/common/rand + +- Update godocs + +### Makefile + +- Fix protoc_libs + +### Mempool -- Print OK if code is 0 -- Prefix flag variables with flag +- Chan bool -> chan struct{} -### Abci/client +### Rpc -- Fix DATA RACE in gRPC client (#3798) +- Test Validator retrevial timeout -### Abci/example/kvstore +### Tools -- Decrease val power by 1 upon equivocation (#5056) +- Remove redundant grep -v vendors/ (#1996) -### Abci/examples +## [0.22.4-rc0] - 2018-07-14 -- Switch from hex to base64 pubkey in kvstore (#3641) +### Consensus -### Abci/grpc +- Wait on stop if not fastsync -- Return async responses in order (#5520) -- Return async responses in order (#5520) (#5531) -- Fix ordering of sync/async callback combinations (#5556) -- Fix ordering of sync/async callback combinations (#5556) -- Fix invalid mutex handling in StopForError() (#5849) -- Fix invalid mutex handling in StopForError() (#5849) +### Tools/tm-bench -### Abci/kvstore +- Don't count the first block if its empty +- Remove testing flags from help (#1949) +- Don't count the first block if its empty (#1948) -- Return `LastBlockHeight` and `LastBlockAppHash` in `Info` (#4233) +### Tools/tmbench -### Abci/server +- Fix the end time being used for statistics calculation +- Improve accuracy with large tx sizes. +- Move statistics to a seperate file -- Recover from app panics in socket server (#3809) -- Print panic & stack trace to STDERR if logger is not set +## [0.22.3] - 2018-07-10 -### Abci/types +### Dep -- Update comment (#3612) -- Add comment for TotalVotingPower (#5081) +- Pin all deps to version or commit -### Absent_validators +## [0.22.1] - 2018-07-10 -- Repeated int -> repeated bytes +### Documentation -### Addrbook +- Md fixes & latest tm-bench/monitor -- Toggle strict routability +### Rpc/lib/server -### Addrbook_test +- Add test for int parsing -- Preallocate memory for bookSizes (#3268) +### State -### Adr +- Err if 0 power validator is added to the validator set +- Format panics -- Add 005 consensus params -- Update 007 trust metric usage -- Amend decisions for PrivValidator -- Update readme -- PeerTransport (#2069) -- Encoding for cryptography at launch (#2121) -- Protocol versioning -- Chain-versions -- Style fixes (#3206) -- Peer Behaviour (#3539) -- PeerBehaviour updates (#3558) -- [43] blockchain riri-org (#3753) -- ADR-052: Tendermint Mode (#4302) -- ADR-051: Double Signing Risk Reduction (#4262) -- Light client implementation (#4397) -- Crypto encoding for proto (#4481) -- Add API stability ADR (#5341) -- Privval gRPC (#5712) -- Batch verification (#6008) -- ADR 065: Custom Event Indexing (#6307) +## [0.22.0-autodraft] - 2018-07-04 -### Adr#50 +### Documentation -- Improve trusted peering (#4072) +- Remove node* files +- Update getting started and remove old script (now in scripts/install) -### Adr-009 +## [0.22.0-rc2] - 2018-07-02 -- No pubkeys in beginblock -- Add references +### P2p -### Adr-016 +- External address -- Update int64->uint64; add version to ConsensusParams (#2667) +### Tmbench -### Adr-018 +- Make it more resilient to WSConn breaking (#111) -- Abci validators +## [0.22.0-rc1] - 2018-07-01 -### Adr-021 +### Consensus -- Note about tag spacers (#2362) +- Stop wal -### Adr-029 +## [0.22.0-rc0] - 2018-07-01 -- Update CheckBlock +### Documentation -### Adr-047 +- Minor fix for abci query peer filter +- Update address spec to sha2 for ed25519 -- Evidence handling (#4429) +### Config -### Adr-053 +- Rename skip_upnp to upnp (#1827) -- Update after state sync merge (#4768) +### Crypto -### All +- Abstract pubkey / signature size when known to constants (#1808) -- No more anonymous imports -- Fix vet issues with build tags, formatting -- Gofmt (#1743) -- Name reactors when they are initialized (#4608) +### Tmbench -### Ansible +- Make sendloop act in one second segments (#110) -- Update tendermint and basecoin versions -- Added option to provide accounts for genesis generation, terraform: added option to secure DigitalOcean servers, devops: added DNS name creation to tendermint terraform +## [0.21.1-rc1] - 2018-06-27 -### Appveyor +### Documentation -- Use make +- Update abci links (#1796) +- Update js-abci example -### Arm +### Abci -- Add install script, fix Makefile (#2824) +- Remove old repo docs +- Remove nested .gitignore +- Remove LICENSE +- Add comment for doc update -### Autofile +### Adr -- Ensure file is open in Sync -- Resolve relative paths (#4390) +- Update readme -### Backports +### Adr-009 -- Mergify (#6107) +- No pubkeys in beginblock +- Add references -### Batch +### Ci -- Progress +- Setup abci in dependency step +- Move over abci-cli tests -### Behaviour +### Consensus -- Return correct reason in MessageOutOfOrder (#3772) -- Add simple doc.go (#5055) +- Fix addProposalBlockPart -### Binary +### Crypto -- Prevent runaway alloc +- Rename last traces of go-crypto (#1786) -### Bit_array +### Crypto/hkdfchachapoly -- Simplify subtraction +- Add testing seal to the test vector -### Block +### Mempool -- Use commit sig size instead of vote size (#5490) -- Fix max commit sig size (#5567) -- Fix max commit sig size (#5567) +- Log hashes, not whole tx -### Block/state +### P2p/trust -- Add CallTx type -- Gas price for block and tx +- Fix nil pointer error on TrustMetric Copy() (#1819) -### Blockchain +### Rpc -- Use ApplyBlock -- Thread safe store.Height() -- Explain isCaughtUp logic -- Fixing reactor tests -- Add comment in AddPeer. closes #666 -- Add tests and more docs for BlockStore -- Update store comments -- Updated store docs/comments from review -- Deduplicate store header value tests -- Less fragile and involved tests for blockstore -- Block creator helper for compressing tests as per @ebuchman -- Note about store tests needing simplification ... -- Test fixes -- Update for new state -- Test wip for hard to test functionality [ci skip] -- Fix register concrete name. (#2213) -- Update the maxHeight when a peer is removed (#3350) -- Comment out logger in test code that causes a race condition (#3500) -- Dismiss request channel delay (#3459) -- Reorg reactor (#3561) -- Add v2 reactor (#4361) -- Enable v2 to be set (#4597) -- Change validator set sorting method (#91) -- Proto migration (#4969) -- Test vectors for proto encoding (#5073) -- Rename to core (#123) -- Remove duplicate evidence sections (#124) -- Fix fast sync halt with initial height > 1 (#5249) -- Verify +2/3 (#5278) -- Remove duplication of validate basic (#5418) +- Break up long lines -### Blockchain/pool +### Tm-bench -- Some comments and small changes +- Improve code shape +- Update dependencies, add total metrics -### Blockchain/reactor +### Tmbench -- RespondWithNoResponseMessage for missing height +- Fix iterating through the blocks, update readme +- Make tx size configurable +- Update dependencies to use tendermint's master -### Blockchain/store +## [0.20.1-rc0] - 2018-06-19 -- Comment about panics +### Documentation -### Blockchain/v0 +- Some organizational cleanup +- DuplicateVoteEvidence -- Relax termination conditions and increase sync timeout (#5741) -- Stop tickers on poolRoutine exit (#5860) -- Stop tickers on poolRoutine exit (#5860) +### Consensus -### Blockchain/v1 +- Fixes #1754 -- Add noBlockResponse handling (#5401) -- Add noBlockResponse handling (#5401) -- Handle peers without blocks (#5701) -- Fix deadlock (#5711) -- Remove in favor of v2 (#5728) -- Omit incoming message bytes from log +### Mempool -### Blockchain/v2 +- Fix cache_size==0. closes #1761 -- Allow setting nil switch, for CustomReactors() -- Don't broadcast base if height is 0 -- Fix excessive CPU usage due to spinning on closed channels (#4761) -- Respect fast_sync option (#4772) -- Integrate with state sync -- Correctly set block store base in status responses (#4971) -- Fix "panic: duplicate block enqueued by processor" (#5499) -- Fix panic: processed height X+1 but expected height X (#5530) -- Fix "panic: duplicate block enqueued by processor" (#5499) -- Fix panic: processed height X+1 but expected height X (#5530) -- Make the removal of an already removed peer a noop (#5553) -- Make the removal of an already removed peer a noop (#5553) -- Remove peers from the processor (#5607) -- Remove peers from the processor (#5607) -- Send status request when new peer joins (#5774) -- Fix missing mutex unlock (#5862) -- Fix missing mutex unlock (#5862) -- Internalize behavior package (#6094) +## [0.21.0-rc0] - 2018-06-15 -### Blockchain[v1] +### Bech32 -- Increased timeout times for peer tests (#4871) +- Wrap error messages -### Blockpool +### Docs -- Fix removePeer bug +- Update description of seeds and persistent peers -### Blockstore +### Documentation -- Allow initial SaveBlock() at any height -- Fix race conditions when loading data (#5382) -- Save only the last seen commit (#6212) +- Start move back to md +- Cleanup/clarify build process +- Pretty fixes -### Buf +### All -- Modify buf.yml, add buf generate (#5653) +- Gofmt (#1743) -### Build +## [0.20.0] - 2018-06-07 -- Bump github.com/tendermint/tm-db from 0.1.1 to 0.2.0 (#4001) -- Bump github.com/gogo/protobuf from 1.3.0 to 1.3.1 (#4055) -- Bump github.com/spf13/viper from 1.4.0 to 1.5.0 (#4102) -- Bump github.com/spf13/viper from 1.5.0 to 1.6.1 (#4224) -- Bump github.com/pkg/errors from 0.9.0 to 0.9.1 (#4310) -- Bump google.golang.org/grpc from 1.26.0 to 1.27.0 (#4355) -- Bump github.com/stretchr/testify from 1.5.0 to 1.5.1 (#4441) -- Bump github.com/spf13/cobra from 0.0.3 to 0.0.6 (#4440) -- Bump github.com/golang/protobuf from 1.3.3 to 1.3.4 (#4485) -- Bump github.com/prometheus/client_golang (#4525) -- Bump github.com/Workiva/go-datastructures (#4545) -- Bump google.golang.org/grpc from 1.27.1 to 1.28.0 (#4551) -- Bump github.com/tendermint/tm-db from 0.4.1 to 0.5.0 (#4554) -- Bump github.com/golang/protobuf from 1.3.4 to 1.3.5 (#4563) -- Bump github.com/prometheus/client_golang (#4574) -- Bump github.com/gorilla/websocket from 1.4.1 to 1.4.2 (#4584) -- Bump github.com/spf13/cobra from 0.0.6 to 0.0.7 (#4612) -- Bump github.com/tendermint/tm-db from 0.5.0 to 0.5.1 (#4613) -- Bump google.golang.org/grpc from 1.28.0 to 1.28.1 (#4653) -- Bump github.com/spf13/viper from 1.6.2 to 1.6.3 (#4664) -- Bump @vuepress/plugin-google-analytics in /docs (#4692) -- Bump google.golang.org/grpc from 1.28.1 to 1.29.0 -- Bump google.golang.org/grpc from 1.29.0 to 1.29.1 (#4735) -- Manually bump github.com/prometheus/client_golang from 1.5.1 to 1.6.0 (#4758) -- Bump github.com/golang/protobuf from 1.4.0 to 1.4.1 (#4794) -- Bump vuepress-theme-cosmos from 1.0.163 to 1.0.164 in /docs (#4815) -- Bump github.com/spf13/viper from 1.6.3 to 1.7.0 (#4814) -- Bump github.com/golang/protobuf from 1.4.1 to 1.4.2 (#4849) -- Bump vuepress-theme-cosmos from 1.0.164 to 1.0.165 in /docs -- Bump github.com/stretchr/testify from 1.5.1 to 1.6.0 -- Bump vuepress-theme-cosmos from 1.0.165 to 1.0.166 in /docs (#4920) -- Bump github.com/stretchr/testify from 1.6.0 to 1.6.1 -- Bump github.com/prometheus/client_golang from 1.6.0 to 1.7.0 (#5027) -- Bump google.golang.org/grpc from 1.29.1 to 1.30.0 -- Bump github.com/prometheus/client_golang -- Bump vuepress-theme-cosmos from 1.0.168 to 1.0.169 in /docs -- Bump google.golang.org/grpc from 1.30.0 to 1.31.0 -- Bump github.com/spf13/viper from 1.7.0 to 1.7.1 -- Bump golangci/golangci-lint-action from v2.1.0 to v2.2.0 (#5245) -- Bump actions/cache from v1 to v2.1.0 (#5244) -- Bump codecov/codecov-action from v1.0.7 to v1.0.12 (#5247) -- Bump technote-space/get-diff-action from v1 to v3 (#5246) -- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.5 (#5248) -- Bump codecov/codecov-action from v1.0.12 to v1.0.13 (#5258) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.5 to 1.0.6 (#5265) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.6 to 1.0.7 (#5269) -- Bump actions/cache from v2.1.0 to v2.1.1 (#5268) -- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.7 (#149) -- Bump github.com/tendermint/tm-db from 0.6.1 to 0.6.2 (#5296) -- Bump google.golang.org/grpc from 1.31.1 to 1.32.0 (#5346) -- Bump github.com/minio/highwayhash from 1.0.0 to 1.0.1 (#5370) -- Bump vuepress-theme-cosmos from 1.0.172 to 1.0.173 in /docs (#5390) -- Bump watchpack from 1.7.4 to 2.0.0 in /docs (#5470) -- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) -- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) -- Bump technote-space/get-diff-action from v3 to v4 (#5485) -- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5525) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#5543) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#188) -- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) -- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) -- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) -- Bump technote-space/get-diff-action from v3 to v4 (#5485) -- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#5571) -- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5582) -- Bump watchpack from 2.0.0 to 2.0.1 in /docs (#5605) -- Bump actions/cache from v2.1.2 to v2.1.3 (#5633) -- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 -- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 -- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) -- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 -- Bump codecov/codecov-action from v1.0.14 to v1.0.15 (#5676) -- Bump github.com/cosmos/iavl from 0.15.0-rc5 to 0.15.0 (#5708) -- Bump vuepress-theme-cosmos from 1.0.175 to 1.0.176 in /docs (#5727) -- Refactor BLS library/bindings integration (#9) -- BLS scripts - Improve build.sh, Fix install.sh (#10) -- Dashify some files (#11) -- Fix docker image and docker.yml workflow (#12) -- Fix coverage.yml, bump go version, install BLS, drop an invalid character (#19) -- Fix test.yml, bump go version, install BLS, fix job names (#18) -- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#5737) -- Bump gaurav-nelson/github-action-markdown-link-check (#22) -- Bump codecov/codecov-action from v1.0.13 to v1.0.15 (#23) -- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#24) -- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 (#25) -- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#26) -- Bump vuepress-theme-cosmos from 1.0.173 to 1.0.177 in /docs (#27) -- Bump watchpack from 2.0.1 to 2.1.0 in /docs (#5768) -- Bump rtCamp/action-slack-notify from ecc1353ce30ef086ce3fc3d1ea9ac2e32e150402 to 2.1.2 (#5767) -- Bump vuepress-theme-cosmos from 1.0.178 to 1.0.179 in /docs (#5780) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.8 to 1.0.9 (#5779) -- Bump gaurav-nelson/github-action-markdown-link-check (#5787) -- Bump gaurav-nelson/github-action-markdown-link-check (#5793) -- Bump gaurav-nelson/github-action-markdown-link-check (#233) -- Bump github.com/cosmos/iavl from 0.15.0 to 0.15.2 -- Bump codecov/codecov-action from v1.0.15 to v1.1.1 (#5825) -- Bump codecov/codecov-action from v1.1.1 to v1.2.0 (#5863) -- Bump codecov/codecov-action from v1.2.0 to v1.2.1 -- Bump gaurav-nelson/github-action-markdown-link-check (#239) -- Bump gaurav-nelson/github-action-markdown-link-check (#5884) -- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) -- Bump JamesIves/github-pages-deploy-action (#6062) -- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) -- Bump github.com/spf13/cobra from 1.1.1 to 1.1.2 (#6075) -- Bump github.com/spf13/cobra from 1.1.2 to 1.1.3 (#6098) -- Bump golangci/golangci-lint-action from v2.3.0 to v2.4.0 (#6111) -- Bump golangci/golangci-lint-action from v2.4.0 to v2.5.1 (#6175) -- Bump google.golang.org/grpc from 1.35.0 to 1.36.0 (#6180) -- Bump JamesIves/github-pages-deploy-action from 4.0.0 to 4.1.0 (#6215) -- Bump rtCamp/action-slack-notify from ae4223259071871559b6e9d08b24a63d71b3f0c0 to 2.1.3 (#6234) -- Bump codecov/codecov-action from v1.2.1 to v1.2.2 (#6231) -- Bump codecov/codecov-action from v1.2.2 to v1.3.1 (#6247) -- Bump github.com/golang/protobuf from 1.4.3 to 1.5.1 (#6254) -- Bump github.com/prometheus/client_golang (#6258) -- Bump google.golang.org/grpc from 1.36.0 to 1.36.1 (#6281) -- Bump github.com/golang/protobuf from 1.5.1 to 1.5.2 (#6299) -- Bump github.com/Workiva/go-datastructures (#6298) -- Bump golangci/golangci-lint-action from v2.5.1 to v2.5.2 (#6317) -- Bump codecov/codecov-action from v1.3.1 to v1.3.2 (#6319) -- Bump JamesIves/github-pages-deploy-action (#6316) -- Bump docker/setup-buildx-action from v1 to v1.1.2 (#6324) -- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (bp #6330) (#6335) -- Bump styfle/cancel-workflow-action from 0.8.0 to 0.9.0 (#6341) -- Bump actions/cache from v2.1.4 to v2.1.5 (#6350) -- Bump codecov/codecov-action from v1.3.2 to v1.4.0 (#6365) -- Bump codecov/codecov-action from v1.4.0 to v1.4.1 (#6379) -- Bump docker/setup-buildx-action from v1.1.2 to v1.2.0 (#6391) -- Bump docker/setup-buildx-action from v1.2.0 to v1.3.0 (#6413) -- Bump codecov/codecov-action from v1.4.1 to v1.5.0 (#6417) -- Bump github.com/cosmos/iavl from 0.15.3 to 0.16.0 (#6421) -- Bump JamesIves/github-pages-deploy-action (#6448) -- Bump docker/build-push-action from 2 to 2.4.0 (#6454) -- Bump actions/stale from 3 to 3.0.18 (#6455) -- Bump actions/checkout from 2 to 2.3.4 (#6456) -- Bump docker/login-action from 1 to 1.9.0 (#6460) -- Bump actions/stale from 3.0.18 to 3.0.19 (#6477) -- Bump actions/stale from 3 to 3.0.18 (#300) -- Bump watchpack from 2.1.1 to 2.2.0 in /docs (#6482) -- Bump actions/stale from 3.0.18 to 3.0.19 (#302) -- Bump browserslist from 4.16.4 to 4.16.6 in /docs (#6487) -- Bump docker/build-push-action from 2.4.0 to 2.5.0 (#6496) -- Bump dns-packet from 1.3.1 to 1.3.4 in /docs (#6500) -- Bump actions/cache from 2.1.5 to 2.1.6 (#6504) -- Bump rtCamp/action-slack-notify from 2.1.3 to 2.2.0 (#6543) -- Bump github.com/prometheus/client_golang (#6552) +### Documentation -### Certifiers +- Add BSD install script -- Test uses WaitForHeight +### ResponseEndBlock -### Changelog +- Ensure Address matches PubKey if provided -- Add prehistory -- Add genesis amount->power -- More review fixes/release/v0.31.0 (#3427) -- Add summary & fix link & add external contributor (#3490) -- Add v0.31.9 and v0.31.8 updates (#4034) -- Fix typo (#4106) -- Explain breaking changes better -- GotVoteFromUnwantedRoundError -> ErrGotVoteFromUnwantedRound -- Add 0.32.9 changelog to master (#4305) -- Add entries from secruity releases -- Update 0.33.6 (#5075) -- Note breaking change in the 0.33.6 release (#5077) -- Reorgranize (#5065) -- Move entries from pending (#5172) -- Bump to 0.34.0-rc2 (#5176) -- Add v0.33.7 release (#5203) -- Add v0.32.13 release (#5204) -- Update for 0.34.0-rc3 (#5240) -- Add v0.33.8 from release (#5242) -- Minor tweaks (#5389) -- Add missing date to v0.33.5 release, fix indentation (#5454) -- Add missing date to v0.33.5 release, fix indentation (#5454) (#5455) -- Prepare changelog for RC5 (#5494) -- Squash changelog from 0.34 RCs into one (#5691) -- Squash changelog from 0.34 RCs into one (#5687) -- Add entry back (#5738) -- Update changelog for v0.34.1 (#5872) -- Update with changes released in 0.34.1 (#5875) -- Prepare 0.34.2 release (#5894) -- Update changelogs to reflect changes released in 0.34.2 -- Update for 0.34.3 (#5926) -- Update changelog for v0.34.3 (#5927) -- Update for v0.34.4 (#6096) -- Improve with suggestions from @melekes (#6097) -- Update to reflect v0.34.4 release (#6105) -- Update 0.34.3 changelog with details on security vuln (#6108) -- Update for 0.34.5 (#6129) -- Bump to v0.34.6 -- Fix changelog pending version numbering (#6149) -- Update with changes from 0.34.7 (and failed 0.34.5, 0.34.6) (#6150) -- Update for 0.34.8 (#6181) -- Update for 0.34.8 (#6183) -- Prepare changelog for 0.34.9 release (#6333) -- Update to reflect 0.34.9 (#6334) -- Update for 0.34.10 (#6357) -- Update for 0.34.10 (#6358) +## [0.19.9-rc0] - 2018-06-06 -### Ci +### Evidence -- Setup abci in dependency step -- Move over abci-cli tests -- Reduce log output in test_cover (#2105) -- Transition some ci to github actions -- Only run when applicable (#4752) -- Check git diff on each job (#4770) -- Checkout code before git diff check (#4779) -- Add paths -- Bump the timeout for test_coverage (#4864) -- Migrate localnet to github actions (#4878) -- Add timeouts (#4912) -- Migrate test_cover (#4869) -- Fix spacing of if statement (#5015) -- Try to fix codecov (#5095) -- Only run tests when go files are touched (#5097) -- Version linter fix (#5128) -- Freeze golangci action version (#5196) -- Fix net pipeline (#5272) -- Delay codecov notification (#5275) -- Add markdown linter (#146) -- Add dependabot config (#148) -- Fix net run (#5343) -- Docker remvoe circleci and add github action (#5420) -- Docker remove circleci and add github action (#5551) -- Add goreleaser (#5527) -- Tests (#5577) -- Add goreleaser (#5527) -- Tests (#5577) -- Use gh pages (#5609) -- Remove `add-path` (#5674) -- Remove `add-path` (#5674) -- Remove circle (#5714) -- Build for 32 bit, libs: fix overflow (#5700) -- Build for 32 bit, libs: fix overflow (#5700) -- Install BLS library in lint.yml and bump its go version (#15) -- E2e fixes - docker image, e2e.yml BLS library, default KeyType (#21) -- Make timeout-minutes 8 for golangci (#5821) -- Run `goreleaser build` (#5824) -- Add janitor (#6292) +- Dont send evidence to unsynced peers +- Check peerstate exists; dont send old evidence +- Give each peer a go-routine -### Ci/e2e +### State -- Avoid running job when no go files are touched (#5471) -- Avoid running job when no go files are touched (#5471) +- S -> state +- B -> block + +## [0.19.8] - 2018-06-04 + +### Documentation + +- A link to quick install script + +### Scripts + +- Quickest/easiest fresh install + +## [0.19.7-rc0] - 2018-05-31 + +### Merkle + +- Remove unused funcs. unexport simplemap. improv docs +- Use amino for byteslice encoding + +## [0.19.6-rc2] - 2018-05-29 + +### Documentation + +- Fix dead links, closes #1608 +- Use absolute links (#1617) +- Update ABCI output (#1635) ### Circle -- Docker 1.10.0 -- Add metalinter to test -- Fix config.yml - Add GOCACHE=off and -v to tests -- Save p2p logs as artifacts (#2566) -### Circleci +### Consensus -- Add a job to automatically update docs (#3005) -- Update go version (#3051) -- Removed complexity from docs deployment job (#3396) -- Run P2P IPv4 and IPv6 tests in parallel (#4459) -- Fix reproducible builds test (#4497) -- Remove Gitian reproducible_builds job (#5462) -- Remove Gitian reproducible_builds job (#5462) +- Link to spec from readme (#1609) -### Cleanup +### Tmhash -- Replace common.Exit with log.Crit or log.Fatal +- Add Sum function -### Cli +## [0.19.5-rc1] - 2018-05-20 -- Testnet cmd inits files for testnet -- ResetAll doesnt depend on cobra -- Support --root and --home -- More descriptive naming -- Viper.Set(HomeFlag, rootDir) -- Clean up error handling -- Use cobra's new ExactArgs() feature -- WriteDemoConfig -> WriteConfigVals -- Add option to not clear address book with unsafe reset (#3606) -- Add `--cs.create_empty_blocks_interval` flag (#4205) -- Add `--db_backend` and `--db_dir` flags to tendermint node cmd (#4235) -- Add optional `--genesis_hash` flag to check genesis hash upon startup (#4238) -- Debug sub-command (#4227) -- Add command to generate shell completion scripts (#4665) -- Light home dir should default to where the full node default is (#5392) -- Light home dir should default to where the full node default is (#5392) +### Consensus -### Client +- Only fsync wal after internal msgs -- ResultsCh chan json.RawMessage, ErrorsCh -- Wsc.String() -- Safe error handling -- Use vars for retry intervals +## [0.19.5-rc0] - 2018-05-20 -### Clist +### Documentation -- Reduce numTimes in test -- Speedup functions (#2208) -- Speedup Next by removing defers (#2511) +- Lil fixes +- Update install instructions, closes #1580 +- Blockchain and consensus dirs -### Cmap +### Testing -- Remove defers (#2210) +- Less bash +- More smoothness -### Cmd +### Networks -- Fixes for new config -- Query params are flags -- --consensus.no_empty_blocks -- Don't load config for version command. closes #620 -- Dont wait for genesis. closes #562 -- Make sure to have 'testnet' create the data directory for nonvals (#3409) -- Show useful error when tm not initialised (#4512) -- Fix debug kill and change debug dump archive filename format (#4517) -- Add support for --key (#5612) -- Modify `gen_node_key` to print key to STDOUT (#5772) -- Hyphen case cli and config (#5777) -- Hyphen-case cli v0.34.1 (#5786) -- Ignore missing wal in debug kill command (#6160) +- Update readmes -### Cmd/abci-cli +## [0.19.4-rc0] - 2018-05-17 -- Use a single connection per session -- Implement batch +### Documentation -### Cmd/debug +- Add diagram, closes #1565 (#1577) -- Execute p.Signal only when p is not nil (#4271) +### Circle -### Cmd/lite +- Fix config.yml -- Switch to new lite2 package (#4300) +### P2p -### Cmd/tendermint +- Prevent connections from same ip -- Fix initialization file creation checks (#991) +### Spec -### Cmd/tendermint/commands +- Move to final location (#1576) -- Update ParseConfig doc +## [0.19.3] - 2018-05-15 -### Cmd/tendermint/commands/lite +### Absent_validators -- Add tcp scheme to address URLs (#1297) +- Repeated int -> repeated bytes -### Cmn +## [0.19.3-rc0] - 2018-05-14 -- Kill -- Fix race condition in prng -- Fix repeate timer test with manual ticker -- Fix race -- Fix HexBytes.MarshalJSON -- GetFreePort (#3255) +### Grpcdb -### Codecov +- Better readability for docs and constructor names -- Disable annotations (#5413) -- Validate codecov.yml (#5699) +### Remotedb -### Codeowners +- A client package implementing the db.DB interface -- Add code owners (#82) +### Rpc -### Commands +- Add voting power totals to vote bitarrays +- /consensus_state for simplified output -- Run -> RunE +## [0.19.2-rc0] - 2018-04-30 -### Common +### Node -- ProtocolAndAddress -- Fingerprint comment -- WriteFileAtomic use tempfile in current dir -- Comments for Service -- No more relying on math/rand.DefaultSource -- Use names prng and mrand -- Use genius simplification of tests from @ebuchman -- Rand* warnings about cryptographic unsafety -- Fix BitArray.Update to avoid nil dereference -- BitArray: feedback from @adrianbrink to simplify tests -- IsHex should be able to handle 0X prefixed strings -- NewBitArray never crashes on negatives (#170) -- Remove {Left, Right}PadString (#168) -- NewBitArray never crashes on negatives (#170) -- Delete unused functions (#2452) -- CMap: slight optimization in Keys() and Values(). (#3567) +- Remove dup code from rebase +- Remove commented out trustMetric -### Common/BitArray +### P2p -- Reduce fragility with methods +- Dont require minor versions to match in handshake +- Explicit netaddress errors +- Some comments and a log line +- MinNumOutboundPeers. Closes #1501 +- Change some logs from Error to Debug. #1476 +- Small lint -### Common/IsDirEmpty +### P2p/pex -- Do not mask non-existance errors +- Minor cleanup and comments +- Some addrbook fixes -### Common/rand +### Rpc -- Remove exponential distribution functions (#1979) +- Add n_peers to /net_info -### Config +### Spec -- Hardcode default genesis.json -- Block size, consensus timeouts, recheck tx -- Cswal_light, mempool_broadcast, mempool_reap -- Toggle authenticated encryption -- Disable_data_hash (for testing) -- All urls use tcp:// or unix:// prefix -- Filter_peers defaults to false -- Reduce timeouts during test -- Pex_reactor -> pex -- Write all default options to config file -- Lil fixes -- Unexpose chainID -- Fix addrbook path to go in config -- Fix private_peer_ids -- Rename skip_upnp to upnp (#1827) -- 10x default send/recv rate (#1978) -- Reduce default mempool size (#2300) -- Add ValidateBasic (#2485) -- Refactor ValidateBasic (#2503) -- Make possible to set absolute paths for TLS cert and key (#3765) -- Move max_msg_bytes into mempool section (#3869) -- Add rocksdb as a db backend option (#4239) -- Allow fastsync.version = v2 (#4639) -- Trust period consistency (#5297) -- Rename prof_laddr to pprof_laddr and move it to rpc (#5315) -- Set time_iota_ms to timeout_commit in test genesis (#5386) -- Add state sync discovery_time setting (#5399) -- Set statesync.rpc_servers when generating config file (#5433) -- Set statesync.rpc_servers when generating config file (#5433) (#5438) -- Increase MaxPacketMsgPayloadSize to 1400 -- Fix mispellings (#5914) -- Fix mispellings (#5914) -- Create `BootstrapPeers` p2p config parameter (#6372) -- Add private peer id /net_info expose information in default config (#6490) -- Seperate priv validator config into seperate section (#6462) +- Pex update +- Abci notes. closes #1257 + +## [0.19.1] - 2018-04-28 + +### P2p + +- NodeInfo.Channels is HexBytes + +### Rpc + +- Lower_case peer_round_states, use a list, add the node_address +- Docs/comments + +### Spec + +- Update encoding.md +- Note on byte arrays, clean up bitarrays and more, add merkle proof, add crypto.go script +- Add Address spec. notes about Query + +## [0.19.0-rc3] - 2018-04-09 + +### P2p + +- Switch - reconnect only if persistent +- Don't use dial funcn in peerconfig + +### Types + +- Lock block on MakePartSet + +## [0.18.0-autodraft] - 2018-04-06 + +### Documentation + +- Build updates + +### ValidatorSet#GetByAddress + +- Return -1 if no validator was found -### Config/indexer +### WIP -- Custom event indexing (#6411) +- Fix rpc/core ### Consensus -- Broadcast evidence tx on ErrVoteConflictingSignature -- Check both vote orderings for dupeout txs -- Fix negative timeout; log levels -- Msg saving and replay -- Replay console -- Use replay log to avoid sign regression -- Don't wait for wal if conS not running -- Dont allow peer round states to decrease -- Cswal doesnt write any consensus msgs in light mode -- Fix more races in tests -- Fix race from OnStop accessing cs.Height -- T.Fatal -> panic -- Hvs.Reset(height, valSet) -- Increase mempool_test timeout -- Don't print shared vars in cs.String() -- Add note about replay test -- No sign err in replay; fix a race -- Hvs.StringIndented needed a lock. addresses #284 -- Test reactor -- Fix panic on POLRound=-1 -- Ensure dir for cswal on reactor tests -- Lock before loading commit -- Track index of privVal -- Test validator set change -- Wal.Flush() and cleanup replay tests -- TimeoutTicker, skip TimeoutCommit on HasAll -- Mv timeoutRoutine into TimeoutTicker -- No internal vars in reactor.String() -- Sync wal.writeHeight -- Remove crankTimeoutPropose from tests -- Be more explicit when we need to write height after handshake -- Let time.Timer handle non-positive durations -- Check HasAll when TwoThirdsMajority -- Nice error msg if ApplyBlock fails -- Handshake replay test using wal -- More handshake replay tests -- Some more informative logging -- Timeout on replayLastBlock -- Comment about test_data [ci skip] -- Fix tests -- Improve logging for conflicting votes -- Better logging -- More comments -- IsProposer func -- Remove rs from handleMsg -- Log ProposalHeartbeat msg -- Test proposal heartbeat -- Recover panics in receive routine -- Remove support for replay by #HEIGHT. closes #567 -- Use filepath for windows compatibility, closes #595 -- Kill process on app error -- Ensure prs.ProposalBlockParts is initialized. fixes #810 -- Fix for initializing block parts during catchup -- Make mempool_test deterministic -- Fix LastCommit log -- Crank timeout in timeoutWaitGroup -- Fix typo on ticker.go documentation -- Fix makeBlockchainFromWAL -- Remove log stmt. closes #987 -- Note about duplicate evidence -- Rename test funcs -- Minor cosmetic -- Fix SetLogger in tests -- Print go routines in failed test -- Return from go-routine in test -- Return from errors sooner in addVote - Close pubsub channels. fixes #1372 -- Only fsync wal after internal msgs -- Link to spec from readme (#1609) -- Fixes #1754 -- Fix addProposalBlockPart -- Stop wal -- Wait on stop if not fastsync -- Include evidence in proposed block parts. fixes #2050 -- Fix test for blocks with evidence -- Failing test for ProposerAddress -- Wait timeout precommit before starting new round (#2493) -- Add ADR for first stage consensus refactor (#2462) -- Wait for proposal or timeout before prevote (#2540) -- Flush wal on stop (#3297) -- Reduce "Error attempting to add vote" message severity (Er… (#3871) -- Reduce log severity for ErrVoteNonDeterministicSignature (#4431) -- Add comment as to why use mocks during replay (#4785) -- Fix TestSimulateValidatorsChange -- Fix and rename TestStateLockPOLRelock (#4796) -- Bring back log.Error statement (#4899) -- Increase ensureTimeout (#4891) -- Fix startnextheightcorrectly test (#4938) -- Attempt to repair the WAL file on data corruption (#4682) -- Change logging and handling of height mismatch (#4954) -- Stricter on LastCommitRound check (#4970) -- Proto migration (#4984) -- Do not allow signatures for a wrong block in commits -- Msg testvectors (#5076) -- Added byzantine test, modified previous test (#5150) -- Only call privValidator.GetPubKey once per block (#5143) -- Don't check InitChain app hash vs genesis app hash, replace it (#5237) -- Double-sign risk reduction (ADR-51) (#5147) -- Fix wrong proposer schedule for `InitChain` validators (#5329) -- Check block parts don't exceed maximum block bytes (#5431) -- Check block parts don't exceed maximum block bytes (#5436) -- Open target WAL as read/write during autorepair (#5536) -- Open target WAL as read/write during autorepair (#5536) (#5547) -- Fix flaky tests (#5734) -- Change log level to error when adding vote -- Deprecate time iota ms (#5792) -- Groom Logs (#5917) -- P2p refactor (#5969) -- Groom Logs (#5917) -- Remove privValidator from log call (#6128) -- More log grooming (#6140) -- Log private validator address and not struct (#6144) -- More log grooming (bp #6140) (#6143) -- Reduce shared state in tests (#6313) -- Add test vector for hasvote (#6469) -### Consensus/WAL +### Https -- Benchmark WALDecode across data sizes +- //github.com/tendermint/tendermint/pull/1128#discussion_r162799294 -### Consensus/replay +### P2p -- Remove timeout +- Persistent - redial if first dial fails -### Consensus/types +## [0.17.1] - 2018-03-27 -- Fix BenchmarkRoundStateDeepCopy panics (#4244) +### Types -### Consensus/wal +- Fix genesis.AppStateJSON -- #HEIGHT -> #ENDHEIGHT +## [0.17.0] - 2018-03-27 -### Console +### Documentation -- Fix output, closes #93 -- Fix tests +- Add document 'On Determinism' +- Wrong command-line flag +- The character for 1/3 fraction could not be rendered in PDF on readthedocs. (#1326) +- Update quick start guide (#1351) -### Contributing +### Adr -- Use full version from site -- Add steps for adding and removing rc branches (#5223) -- Include instructions for a release candidate (#5498) -- Simplify our minor release process (#5749) +- Amend decisions for PrivValidator -### Core +### Cmd/tendermint/commands/lite -- Apply megacheck vet tool (unused, gosimple, staticcheck) -- Update a few sections (#284) +- Add tcp scheme to address URLs (#1297) -### Counter +### Common -- Fix tx buffer overflow +- NewBitArray never crashes on negatives (#170) +- Remove {Left, Right}PadString (#168) +- NewBitArray never crashes on negatives (#170) -### Cov +### Config -- Ignore autogen file (#5033) +- Fix private_peer_ids -### Crypto +### Consensus -- Rename last traces of go-crypto (#1786) -- Abstract pubkey / signature size when known to constants (#1808) -- Refactor to move files out of the top level directory -- Remove Ed25519 and Secp256k1 suffix on GenPrivKey -- Fix package imports from the refactor -- Add benchmarking code for signature schemes (#2061) -- Switch hkdfchacha back to xchacha (#2058) -- Add compact bit array for intended usage in the multisig -- Remove interface from crypto.Signature -- Add compact bit array for intended usage in the multisig -- Threshold multisig implementation -- Add compact bit array for intended usage in the multisig (#2140) -- Remove unnecessary prefixes from amino route variable names (#2205) -- Add a way to go from pubkey to route (#2574) -- Use stdlib crypto/rand. ref #2099 (#2669) -- Revert to mainline Go crypto lib (#3027) -- Delete unused code (#3426) -- Proof of Concept for iterative version of SimpleHashFromByteSlices (#2611) (#3530) -- Add sr25519 signature scheme (#4190) -- Fix sr25519 from raw import (#4272) -- Remove SimpleHashFromMap() and SimpleProofsFromMap() -- Remove key suffixes (#4941) -- Removal of multisig (#4988) -- Consistent api across keys (#5214) -- API modifications (#5236) -- Remove secp256k1 (#5280) -- Remove proto privatekey (#5301) -- Reword readme (#5349) -- Add in secp256k1 support (#5500) -- Add in secp256k1 support (#5500) -- Adopt zip215 ed25519 verification (#5632) -- Fix infinite recursion in Secp256k1 string formatting (#5707) -- Fix infinite recursion in Secp256k1 string formatting (#5707) (#5709) -- Ed25519 & sr25519 batch verification (#6120) -- Add sr25519 as a validator key (#6376) +- Return from go-routine in test +- Return from errors sooner in addVote -### Crypto/amino +### Lite/proxy -- Address anton's comment on PubkeyAminoRoute (#2592) -- Add function to modify key codec (#4112) +- Validation* tests and hardening for nil dereferences +- Consolidate some common test headers into a variable -### Crypto/ed25519 +### P2p -- Update the godocs (#2002) -- Remove privkey.Generate method (#2022) +- Introduce peerConn to simplify peer creation (#1226) +- Keep reference to connections in test peer -### Crypto/hkdfchachapoly +### PrivVal -- Add testing seal to the test vector +- Improve SocketClient network code (#1315) -### Crypto/merkle +### State -- Remove byter in favor of plain byte slices (#2595) -- Remove simple prefix (#4989) -- Pre-allocate data slice in innherHash (#6443) -- Optimize merkle tree hashing (#6513) +- Builds +- Fix txResult issue with UnmarshalBinary into ptr -### Crypto/random +### Types -- Use chacha20, add forward secrecy (#2562) +- Update for new go-wire. WriteSignBytes -> SignBytes +- Remove dep on p2p +- Tests build +- Builds +- Revert to old wire. builds +- Working on tests... +- P2pID -> P2PID +- Fix validator_set_test issue with UnmarshalBinary into ptr +- Bring back json.Marshal/Unmarshal for genesis/priv_val +- TestValidatorSetVerifyCommit +- Uncomment some tests +- Hash invoked for nil Data and Header should not panic +- Compile time assert to, and document sort.Interface +- Revert CheckTx/DeliverTx changes. make them the same -### Crypto/secp256k1 +### Types/validator_set_test -- Add godocs, remove indirection in privkeys (#2017) -- Fix signature malleability, adopt more efficient en… (#2239) +- Move funcs around -### Crypto|p2p|state|types +### Wire + +- No codec yet + +## [0.16.0] - 2018-02-21 + +### Documentation + +- Update ecosystem.rst (#1037) +- Add abci spec +- Add counter/dummy code snippets +- Updates from review (#1076) +- Tx formats: closes #1083, #536 +- Fix tx formats [ci skip] +- Update getting started [ci skip] -- Rename Pub/PrivKey's TypeIdentifier() and Type() +### Testing -### Cs +- Use shasum to avoid rarer dependency -- Prettify logging of ignored votes (#3086) -- Reset triggered timeout precommit (#3310) -- Sync WAL more frequently (#3300) -- Update wal comments (#3334) -- Comment out log.Error to avoid TestReactorValidatorSetChanges timing out (#3401) -- Fix nondeterministic tests (#3582) -- Exit if SwitchToConsensus fails (#3706) -- Check for SkipTimeoutCommit or wait timeout in handleTxsAvailable (#3928) -- Don't panic when block is not found in store (#4163) -- Clarify where 24 comes from in maxMsgSizeBytes (wal.go) -- Set missing_validators(_power) metrics to 0 for 1st block (#4194) -- Check if cs.privValidator is nil (#4295) +### Blockchain -### Cs/replay +- Test wip for hard to test functionality [ci skip] -- Check appHash for each block (#3579) -- ExecCommitBlock should not read from state.lastValidators (#3067) +### Cli -### Cs/wal +- WriteDemoConfig -> WriteConfigVals -- Refuse to encode msg that is bigger than maxMsgSizeBytes (#3303) +### Cmn -### Cswal +- Fix HexBytes.MarshalJSON -- Write #HEIGHT:1 for empty wal +### Common -### Daemon +- Fix BitArray.Update to avoid nil dereference +- BitArray: feedback from @adrianbrink to simplify tests +- IsHex should be able to handle 0X prefixed strings -- Refactor out of cmd into own package +### Common/BitArray -### Db +- Reduce fragility with methods -- Add Close() to db interface. closes #31 -- Fix memdb iterator -- Fix MemDB.Close -- Sort keys for memdb iterator -- Some comments in types.go -- Test panic on nil key -- Some test cleanup -- Fixes to fsdb and clevledb -- Memdb iterator -- Goleveldb iterator -- Cleveldb iterator -- Fsdb iterator -- Fix c and go iterators -- Simplify exists check, fix IsKeyInDomain signature, Iterator Close -- Add support for badgerdb (#5233) -- Migration script for key format change (#6355) +### Config -### Dep +- Fix addrbook path to go in config -- Pin all deps to version or commit -- Revert updates -- Update tm-db to 0.4.0 (#4289) -- Bump gokit dep (#4424) -- Maunally bump dep (#4436) -- Bump protobuf, cobra, btcutil & std lib deps (#4676) -- Bump ed25519consensus version (#5760) -- Remove IAVL dependency (#6550) +### Consensus -### Deps +- Rename test funcs +- Minor cosmetic +- Fix SetLogger in tests +- Print go routines in failed test -- Update gogo/protobuf from 1.1.1 to 1.2.1 and golang/protobuf from 1.1.0 to 1.3.0 (#3357) -- Update gogo/protobuf version from v1.2.1 to v1.3.0 (#3947) -- Bump github.com/magiconair/properties from 1.8.0 to 1.8.1 (#3937) -- Bump github.com/rs/cors from 1.6.0 to 1.7.0 (#3939) -- Bump github.com/fortytw2/leaktest from 1.2.0 to 1.3.0 (#3943) -- Bump github.com/libp2p/go-buffer-pool from 0.0.1 to 0.0.2 (#3948) -- Bump google.golang.org/grpc from 1.22.0 to 1.23.0 (#3942) -- Bump github.com/gorilla/websocket from 1.2.0 to 1.4.1 (#3945) -- Bump viper to 1.4.0 and logfmt to 0.4.0 (#3950) -- Bump github.com/stretchr/testify from 1.3.0 to 1.4.0 (#3951) -- Bump github.com/go-kit/kit from 0.6.0 to 0.9.0 (#3952) -- Bump google.golang.org/grpc from 1.23.0 to 1.23.1 (#3982) -- Bump google.golang.org/grpc from 1.23.1 to 1.24.0 (#4021) -- Bump google.golang.org/grpc from 1.25.0 to 1.25.1 (#4127) -- Bump google.golang.org/grpc from 1.25.1 to 1.26.0 (#4264) -- Bump github.com/go-logfmt/logfmt from 0.4.0 to 0.5.0 (#4282) -- Bump github.com/pkg/errors from 0.8.1 to 0.9.0 (#4301) -- Bump github.com/spf13/viper from 1.6.1 to 1.6.2 (#4318) -- Bump github.com/golang/protobuf from 1.3.2 to 1.3.3 (#4359) -- Bump google.golang.org/grpc from 1.27.0 to 1.27.1 (#4372) -- Bump github.com/stretchr/testify from 1.4.0 to 1.5.0 (#4435) -- Bump github.com/tendermint/tm-db from 0.4.0 to 0.4.1 (#4476) -- Bump github.com/Workiva/go-datastructures (#4519) -- Bump deps that bot cant (#4555) -- Run go mod tidy (#4587) -- Bump tm-db to 0.6.0 (#5058) +### Example/dummy -### Dist +- Remove iavl dep - just use raw db -- Dont mkdir in container -- Dont mkdir in container +### Hd -### Distribution +- Comments and some cleanup -- Lock binary dependencies to specific commits (#2550) +### Keys/keybase.go -### Dummy +- Comments and fixes -- Valset changes and tests -- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 -- Include app.key tag +### Lite -### E2e +- MemStoreProvider GetHeightBinarySearch method + fix ValKeys.signHeaders +- < len(v) in for loop check, as per @melekes' recommendation +- TestCacheGetsBestHeight with GetByHeight and GetByHeightBinarySearch +- Comment out iavl code - TODO #1183 -- Use ed25519 for secretConn (remote signer) (#5678) -- Use ed25519 for secretConn (remote signer) (#5678) -- Releases nightly (#5906) -- Add control over the log level of nodes (#5958) -- Releases nightly (#5906) -- Disconnect maverick (#6099) -- Adjust timeouts to be dynamic to size of network (#6202) -- Add benchmarking functionality (#6210) -- Integrate light clients (#6196) -- Add benchmarking functionality (bp #6210) (#6216) -- Fix light client generator (#6236) -- Integrate light clients (bp #6196) -- Fix perturbation of seed nodes (#6272) -- Add evidence generation and testing (#6276) -- Tx load to use broadcast sync instead of commit (#6347) -- Tx load to use broadcast sync instead of commit (backport #6347) (#6352) -- Relax timeouts (#6356) -- Split out nightly tests (#6395) -- Prevent non-viable testnets (#6486) +### Mempool -### Ebuchman +- Cfg.CacheSize and expose InitWAL -- Added some demos on how to parse unknown types +### Merkle -### Ed25519 +- Remove go-wire dep by copying EncodeByteSlice -- Use golang/x/crypto fork (#2558) +### Nano -### Encoding +- Update comments -- Remove codecs (#4996) -- Add secp, ref zip215, tables (#212) +### P2p -### Errcheck +- PrivKey need not be Ed25519 +- Reorder some checks in addPeer; add comments to NodeInfo +- Peer.Key -> peer.ID +- Add ID to NetAddress and use for AddrBook +- Support addr format ID@IP:PORT +- Authenticate peer ID +- Remove deprecated Dockerfile +- Seed mode fixes from rebase and review +- Seed disconnects after sending addrs +- Add back lost func +- Use sub dirs +- Tmconn->conn and types->p2p +- Use conn.Close when peer is nil +- Notes about ListenAddr +- AddrBook.Save() on DialPeersAsync +- Add Channels to NodeInfo and don't send for unknown channels +- Fix tests for required channels +- Fix break in double loop -- PR comment fixes +### P2p/conn -### Events +- Better handling for some stop conditions -- Integrate event switch into services via Eventable interface -- Add block_id to NewBlockEvent (#6478) +### P2p/pex -### Evidence +- Wait to connect to all peers in reactor test -- More funcs in store.go -- Store tests and fixes -- Pool test -- Reactor test -- Reactor test -- Dont send evidence to unsynced peers -- Check peerstate exists; dont send old evidence -- Give each peer a go-routine -- Enforce ordering in DuplicateVoteEvidence (#4151) -- Introduce time.Duration to evidence params (#4254) -- Add time to evidence params (#69) -- Both MaxAgeDuration and MaxAgeNumBlocks need to be surpassed (#4667) -- Handling evidence from light client(s) (#4532) -- Remove unused param (#4726) -- Remove pubkey from duplicate vote evidence -- Add doc.go -- Protect valToLastHeight w/ mtx -- Check evidence is pending before validating evidence -- Refactor evidence mocks throughout packages (#4787) -- Cap evidence to an absolute number (#4780) -- Create proof of lock change and implement it in evidence store (#4746) -- Prevent proposer from proposing duplicate pieces of evidence (#4839) -- Remove header from phantom evidence (#4892) -- Retrieve header at height of evidence for validation (#4870) -- Json tags for DuplicateVoteEvidence (#4959) -- Migrate reactor to proto (#4949) -- Adr56 form amnesia evidence (#4821) -- Improve amnesia evidence handling (#5003) -- Replace mock evidence with mocked duplicate vote evidence (#5036) -- Fix data race in Pool.updateValToLastHeight() (#5100) -- Check lunatic vote matches header (#5093) -- New evidence event subscription (#5108) -- Minor correction to potential amnesia ev validate basic (#5151) -- Remove phantom validator evidence (#5181) -- Don't stop evidence verification if an evidence fails (#5189) -- Fix usage of time field in abci evidence (#5201) -- Change evidence time to block time (#5219) -- Remove validator index verification (#5225) -- Modularise evidence by moving verification function into evidence package (#5234) -- Remove ConflictingHeaders type (#5317) -- Remove lunatic (#5318) -- Remove amnesia & POLC (#5319) -- Introduction of LightClientAttackEvidence and refactor of evidence lifecycle (#5361) -- Update data structures (#165) -- Use bytes instead of quantity to limit size (#5449) -- Use bytes instead of quantity to limit size (#5449)(#5476) -- Don't gossip consensus evidence too soon (#5528) -- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) -- Don't gossip consensus evidence too soon (#5528) -- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) -- Structs can independently form abci evidence (#5610) -- Structs can independently form abci evidence (#5610) -- Update data structures to reflect added support of abci evidence (#213) -- Omit bytes field (#5745) -- Omit bytes field (#5745) -- P2p refactor (#5747) -- Buffer evidence from consensus (#5890) -- Buffer evidence from consensus (#5890) -- Terminate broadcastEvidenceRoutine when peer is stopped (#6068) -- Fix bug with hashes (#6375) -- Fix bug with hashes (backport #6375) (#6381) -- Separate abci specific validation (#6473) +### P2p/trustmetric -### Example +- Non-deterministic test -- Fix func suffix +### Priv-val -### Example/dummy +- Fix timestamp for signing things that only differ by timestamp -- Remove iavl dep - just use raw db +### Spec -### Example/kvstore +- Convert to rst +- Typos & other fixes +- Remove notes, see #1152 +- More fixes +- Minor fixes -- Return ABCI query height (#4509) +### Types -### Fmt +- Check bufio.Reader +- TxEventBuffer.Flush now uses capacity preserving slice clearing idiom +- RequestInitChain.AppStateBytes -- Run 'make fmt' +### Types/priv_validator -### Format +- Fixes for latest p2p and cmn -- Add format cmd & goimport repo (#4586) +### Wip -### Genesis +- Priv val via sockets +- Comment types +- Fix code block in ADR +- Fix nil pointer deference +- Avoid underscore in var name +- Check error of wire read -- Add support for arbitrary initial height (#5191) -- Explain fields in genesis file (#270) +## [0.15.0] - 2017-12-29 -### Github +### CRandHex -- Update PR template to indicate changing pending changelog. (#2059) -- Edit templates for use in issues and pull requests (#4483) -- Rename e2e jobs (#5502) -- Add nightly E2E testnet action (#5480) -- Add nightly E2E testnet action (#5480) -- Rename e2e jobs (#5502) -- Only notify nightly E2E failures once (#5559) -- Only notify nightly E2E failures once (#5559) -- Issue template for proposals (#190) -- Add @tychoish to code owners (#6273) -- Fix linter configuration errors and occluded errors (#6400) +- Fix up doc to mention length of digits -### Gitian +### Proposal -- Update reproducible builds to build with Go 1.12.8 (#3902) +- New Makefile standard template (#168) -### Gitignore +### README -- Add .vendor-new (#3566) +- Document the minimum Go version -### Glide +### Testing -- Update go-common -- Update lock and add util scripts -- Update go-common -- Update go-wire -- Use versions where applicable -- Update for autofile fix -- More external deps locked to versions -- Update grpc version +- Longer timeout +- Add some timeouts -### Go.mod +### All -- Upgrade iavl and deps (#5657) -- Upgrade iavl and deps (#5657) +- Fix vet issues with build tags, formatting -### Goreleaser +### Batch -- Lowercase binary name (#5765) -- Downcase archive and binary names (#6029) -- Downcase archive and binary names (#6029) -- Reintroduce arm64 build instructions +- Progress -### Grpcdb +### Blockchain -- Better readability for docs and constructor names -- Close Iterator/ReverseIterator after use (#3424) +- Test fixes +- Update for new state -### Hd +### Cmd/abci-cli -- Optimize ReverseBytes + add tests -- Comments and some cleanup +- Use a single connection per session +- Implement batch -### Header +### Cmd/tendermint -- Check block protocol (#5340) +- Fix initialization file creation checks (#991) -### Http +### Cmn -- Http-utils added after extraction +- Fix race condition in prng +- Fix repeate timer test with manual ticker +- Fix race -### Https +### Common -- //github.com/tendermint/tendermint/pull/1128#discussion_r162799294 +- No more relying on math/rand.DefaultSource +- Use names prng and mrand +- Use genius simplification of tests from @ebuchman +- Rand* warnings about cryptographic unsafety -### Improvement +### Config -- Update TxInfo (#6529) +- Write all default options to config file +- Lil fixes +- Unexpose chainID -### Indexer +### Consensus -- Allow indexing an event at runtime (#4466) -- Remove index filtering (#5006) -- Remove info log (#6194) -- Remove info log (#6194) +- Fix makeBlockchainFromWAL +- Remove log stmt. closes #987 +- Note about duplicate evidence -### Ints +### Db -- Stricter numbers (#4939) +- Some comments in types.go +- Test panic on nil key +- Some test cleanup +- Fixes to fsdb and clevledb +- Memdb iterator +- Goleveldb iterator +- Cleveldb iterator +- Fsdb iterator +- Fix c and go iterators +- Simplify exists check, fix IsKeyInDomain signature, Iterator Close -### Json +### Evidence -- Add Amino-compatible encoder/decoder (#4955) +- More funcs in store.go +- Store tests and fixes +- Pool test +- Reactor test +- Reactor test -### Json2wal +### Mempool -- Increase reader's buffer size (#3147) +- Remove Peer interface. use p2p.Peer -### Jsonrpc +### P2p/trust -- Change log to debug (#5131) +- Remove extra channels -### Keys +### Protoc -- Transactions.go -> types.go -- Change to []bytes (#4950) +- "//nolint: gas" directive after pb generation (#164) -### Keys/keybase.go +### Rpc -- Comments and fixes +- GetHeight helper function +- Fix getHeight -### Layout +### Spec -- Add section titles (#240) +- Fixes from review -### Libs +### State -- Update BitArray go docs (#2079) -- Make bitarray functions lock parameters that aren't the caller (#2081) -- Remove usage of custom Fmt, in favor of fmt.Sprintf (#2199) -- Handle SIGHUP explicitly inside autofile (#2480) -- Call Flush() before rename #2428 (#2439) -- Fix event concurrency flaw (#2519) -- Refactor & document events code (#2576) -- Let prefixIterator implements Iterator correctly (#2581) -- Test deadlock from listener removal inside callback (#2588) -- Remove useless code in group (#3504) -- Remove commented and unneeded code (#3757) -- Minor cleanup (#3794) -- Remove db from tendermint in favor of tendermint/tm-cmn (#3811) -- Remove bech32 -- Remove kv (#4874) -- Wrap mutexes for build flag with godeadlock (#5126) -- Remove most of libs/rand (#6364) -- Internalize some packages (#6366) +- TestValidateBlock +- Move methods to funcs +- BlockExecutor +- Re-order funcs. fix tests +- Send byzantine validators in BeginBlock -### Libs/autofile +### Types -- Bring back loops (#2261) +- Compile type assertions to avoid sneaky runtime surprises +- Check ResponseCheckTx too +- Update String() test to assert Prevote type +- Rename exampleVote to examplePrecommit on vote_test +- Add test for IsVoteTypeValid +- Params.Update() +- Comments; compiles; evidence test +- Evidences for merkle hashing; Evidence.String() +- Tx.go comments +- Evidence cleanup +- Better error messages for votes -### Libs/autofile/group_test +### Types/params -- Remove unnecessary logging (#2100) +- Introduce EvidenceParams -### Libs/bits +### Wip -- Inline defer and change order of mutexes (#5187) -- Validate BitArray in FromProto (#5720) +- Tendermint specification -### Libs/clist +## [0.14.0] - 2017-12-12 -- Fix flaky tests (#6453) +### Adr -### Libs/cmn +- Update 007 trust metric usage -- Remove Tempfile, Tempdir, switch to ioutil variants (#2114) +### Appveyor -### Libs/cmn/writefileatomic +- Use make -- Handle file already exists gracefully (#2113) +### Blockchain -### Libs/common +- Add tests and more docs for BlockStore +- Update store comments +- Updated store docs/comments from review +- Deduplicate store header value tests +- Less fragile and involved tests for blockstore +- Block creator helper for compressing tests as per @ebuchman +- Note about store tests needing simplification ... -- Refactor tempfile code into its own file -- Remove deprecated PanicXXX functions (#3595) -- Remove heap.go (#3780) -- Remove unused functions (#3784) -- Refactor libs/common 01 (#4230) -- Refactor libs/common 2 (#4231) -- Refactor libs common 3 (#4232) -- Refactor libs/common 4 (#4237) -- Refactor libs/common 5 (#4240) +### Consensus -### Libs/common/rand +- Fix typo on ticker.go documentation -- Update godocs +### Linter -### Libs/db +- Enable in CI & make deterministic -- Add cleveldb.Stats() (#3379) -- Close batch (#3397) -- Close batch (#3397) -- Bbolt (etcd's fork of bolt) (#3610) -- Close boltDBIterator (#3627) -- Fix boltdb batching -- Conditional compilation (#3628) -- Boltdb: use slice instead of sync.Map (#3633) -- Remove deprecated `LevelDBBackend` const (#3632) -- Fix the BoltDB Batch.Delete -- Fix the BoltDB Get and Iterator +### P2p -### Libs/fail +- Exponential backoff on reconnect. closes #939 -- Clean up `fail.go` (#3785) +## [0.13.0] - 2017-12-06 -### Libs/kv +### Documentation -- Remove unused type KI64Pair (#4542) +- Add note about putting GOPATH/bin on PATH +- Correction, closes #910 -### Libs/log +### Testing -- Format []byte as hexidecimal string (uppercased) (#5960) -- Format []byte as hexidecimal string (uppercased) (#5960) -- [JSON format] include timestamp (#6174) -- [JSON format] include timestamp (bp #6174) (#6179) -- Use fmt.Fprintf directly with *bytes.Buffer to avoid unnecessary allocations (#6503) +- Sunset tmlibs/process.Process +- Wait for node heights before checking app hash +- Fix ensureABCIIsUp +- Fix test/app/counter_test.sh -### Libs/os +### Abci-cli -- Add test case for TrapSignal (#5646) -- Remove unused aliases, add test cases (#5654) -- EnsureDir now returns IO errors and checks file type (#5852) -- EnsureDir now returns IO errors and checks file type (#5852) -- Avoid CopyFile truncating destination before checking if regular file (#6428) -- Avoid CopyFile truncating destination before checking if regular file (backport: #6428) (#6436) +- Print OK if code is 0 +- Prefix flag variables with flag -### Libs/pubsub +### Client -- Relax tx querying (#4070) +- Use vars for retry intervals -### Libs/pubsub/query +### Common -- Add EXISTS operator (#4077) +- Comments for Service -### Libs/rand +### Dummy -- Fix "out-of-memory" error on unexpected argument (#5215) +- Include app.key tag -### Light +### Glide -- Rename lite2 to light & remove lite (#4946) -- Implement validate basic (#4916) -- Migrate to proto (#4964) -- Added more tests for pruning, initialization and bisection (#4978) -- Fix rpc calls: /block_results & /validators (#5104) -- Use bisection (not VerifyCommitTrusting) when verifying a head… (#5119) -- Return if target header is invalid (#5124) -- Update ADR 47 with light traces (#5250) -- Implement light block (#5298) -- Move dropout handling and invalid data to the provider (#5308) -- Expand on errors and docs (#5443) -- Cross-check the very first header (#5429) -- Cross-check the very first header (#5429) -- Model-based tests (#5461) -- Run detector for sequentially validating light client (#5538) -- Run detector for sequentially validating light client (#5538) (#5601) -- Make fraction parts uint64, ensuring that it is always positive (#5655) -- Make fraction parts uint64, ensuring that it is always positive (#5655) -- Ensure required header fields are present for verification (#5677) -- Minor fixes / standardising errors (#5716) -- Fix light store deadlock (#5901) -- Fix panic with RPC calls to commit and validator when height is nil (#6026) -- Fix panic with RPC calls to commit and validator when height is nil (#6040) -- Remove max retry attempts from client and add to provider (#6054) -- Remove witnesses in order of decreasing index (#6065) -- Create provider options struct (#6064) -- Improve timeout functionality (#6145) -- Improve provider handling (#6053) -- Handle too high errors correctly (#6346) -- Handle too high errors correctly (backport #6346) (#6351) -- Ensure trust level is strictly less than 1 (#6447) -- Spec alignment on verify skipping (#6474) +- Update grpc version -### Light/evidence +### Mempool -- Handle FLA backport (#6331) +- Implement Mempool.CloseWAL +- Return error on cached txs +- Assert -> require in test -### Light/provider/http +### P2p/trust -- Fix Validators (#6022) -- Fix Validators (#6024) +- Split into multiple files and improve function order +- Lock on Copy() -### Light/rpc +### Rpc -- Fix ABCIQuery (#5375) -- Fix ABCIQuery (#5375) +- Make time human readable. closes #926 -### Lint +### Shame -- Remove dot import (go-common) -- S/common.Fmt/fmt.Sprintf -- S/+=1/++, remove else clauses -- Couple more fixes -- Apply deadcode/unused -- Golint issue fixes (#4258) -- Add review dog (#4652) -- Enable nolintlinter, disable on tests -- Various fixes -- Errcheck (#5091) -- Add markdown linter (#5254) -- Add errchecks (#5316) -- Enable errcheck (#5336) -- Run gofmt and goimports (#13) -- Fix lint errors (#301) +- Forgot to add new code pkg -### Linter +### Types -- Couple fixes -- Add metalinter to Makefile & apply some fixes -- Last fixes & add to circle -- Address deadcode, implement incremental lint testing -- Sort through each kind and address small fixes -- Enable in CI & make deterministic -- (1/2) enable errcheck (#5064) -- Fix some bls-related linter issues (#14) -- Fix nolintlint warnings (#6257) +- Use data.Bytes directly in type.proto via gogo/protobuf. wow +- Consolidate some file +- Add note about ReadMessage having no cap +- RequestBeginBlock includes absent and byzantine validators +- Drop uint64 from protobuf.go +- IsOK() +- Int32 with gogo int +- Fix for broken customtype int in gogo +- Add MarshalJSON funcs for Response types with a Code +- Add UnmarshalJSON funcs for Response types -### Linters +## [0.12.1] - 2017-11-28 -- Enable scopelint (#3963) -- Modify code to pass maligned and interfacer (#3959) -- Enable stylecheck (#4153) +### Documentation -### Linting +- Give index a Tools section +- Update and clean up adr +- Use README.rst to be pulled from tendermint +- Re-add the images +- Add original README's from tools repo +- Convert from md to rst +- Update index.rst +- Move images in from tools repo +- Harmonize headers for tools docs +- Add kubes docs to mintnet doc, from tools +- Add original tm-bench/monitor files +- Organize tm-bench/monitor description +- Pull from tools on build +- Finish pull from tools +- Organize the directory, #656 +- Add software.json from website (ecosystem) +- Rename file +- Add and re-format the ecosystem from website +- Pull from tools' master branch +- Using ABCI-CLI +- Remove last section from ecosystem +- Organize install a bit better +- Add ABCI implementations +- Added passchain to the ecosystem.rst in the applications section; +- Fix build warnings +- Add stratumn +- Add py-tendermint to abci-servers +- Remove mention of type byte +- Add info about tm-migrate +- Update abci example details [ci skip] +- Typo +- Smaller logo (200px) +- Comb through step by step +- Fixup abci guide +- Fix links, closes #860 -- Cover the basics -- Catch some errors -- Add to Makefile & do some fixes -- Next round of fixes -- Fixup some stuffs -- Little more fixes -- A few fixes -- Replace megacheck with metalinter -- Apply 'gofmt -s -w' throughout -- Apply misspell -- Apply errcheck part1 -- Apply errcheck part2 -- Moar fixes -- Few more fixes -- Remove unused variable +### GroupReader#Read -### Lite +- Return io.EOF if file is empty -- MemStoreProvider GetHeightBinarySearch method + fix ValKeys.signHeaders -- < len(v) in for loop check, as per @melekes' recommendation -- TestCacheGetsBestHeight with GetByHeight and GetByHeightBinarySearch -- Comment out iavl code - TODO #1183 -- Add synchronization in lite verify (#2396) -- Follow up from #3989 (#4209) -- Modified bisection to loop (#4400) -- Add helper functions for initiating the light client (#4486) -- Fix HTTP provider error handling +### Makefile -### Lite/proxy +- Remove redundant lint +- Fix linter -- Validation* tests and hardening for nil dereferences -- Consolidate some common test headers into a variable +### PubKeyFromBytes -### Lite2 +- Return zero value PubKey on error -- Light client with weak subjectivity (#3989) -- Move AutoClient into Client (#4326) -- Improve auto update (#4334) -- Add Start, TrustedValidatorSet funcs (#4337) -- Rename alternative providers to witnesses (#4344) -- Refactor cleanup() (#4343) -- Batch save & delete operations in DB store (#4345) -- Panic if witness is on another chain (#4356) -- Make witnesses mandatory (#4358) -- Replace primary provider with alternative when unavailable (#4354) -- Fetch missing headers (#4362) -- Validate TrustOptions, add NewClientFromTrustedStore (#4374) -- Return if there are no headers in RemoveNoLongerTrustedHeaders (#4378) -- Manage witness dropout (#4380) -- Improve string output of all existing providers (#4387) -- Modified sequence method to match bisection (#4403) -- Disconnect from bad nodes (#4388) -- Divide verify functions (#4412) -- Return already verified headers and verify earlier headers (#4428) -- Don't save intermediate headers (#4452) -- Store current validator set (#4472) -- Cross-check first header and update tests (#4471) -- Remove expiration checks on functions that don't require them (#4477) -- Prune-headers (#4478) -- Return height as 2nd return param in TrustedValidatorSet (#4479) -- Actually run example tests + clock drift (#4487) -- Fix tendermint lite sub command (#4505) -- Remove auto update (#4535) -- Indicate success/failure of Update (#4536) -- Replace primary when providing invalid header (#4523) -- Add benchmarking tests (#4514) -- Cache headers in bisection (#4562) -- Use bisection for some of backward verification (#4575) -- Make maxClockDrift an option (#4616) -- Prevent falsely returned double voting error (#4620) -- Default to http scheme in provider.New (#4649) -- Verify ConsensusHash in rpc client -- Fix pivot height during bisection (#4850) -- Correctly return the results of the "latest" block (#4931) -- Allow bigger requests to LC proxy (#4930) -- Check header w/ witnesses only when doing bisection (#4929) -- Compare header with witnesses in parallel (#4935) +### Security + +- Use bytes.Equal for key comparison + +### Testing -### Lite2/http +- Add simple client/server test with no addr prefix +- Update for abci-cli consolidation. shell formatting -- Fix provider test by increasing the block retention value (#4890) +### WIP -### Lite2/rpc +- Begin parallel refactoring with go-wire Write methods and MConnection -- Verify block results and validators (#4703) +### [docs -### Localnet +- Typo fix] remove misplaced "the" +- Typo fix] add missing "have" -- Fix $LOG variable (#3423) -- Fix node starting issue with --proxy-app flag (#5803) -- Expose 6060 (pprof) and 9090 (prometheus) on node0 -- Use 27000 port for prometheus (#5811) -- Fix localnet by excluding self from persistent peers list (#6209) +### Adr -### Log +- Add 005 consensus params -- Move some Info to Debug -- Tm -> TM +### All -### Logger +- No more anonymous imports -- Refactor Tendermint logger by using zerolog (#6534) +### Autofile -### Logging +- Ensure file is open in Sync -- Print string instead of callback (#6177) -- Print string instead of callback (#6178) -- Shorten precommit log message (#6270) -- Shorten precommit log message (#6270) (#6274) +### Blockchain -### Logs +- Fixing reactor tests +- Add comment in AddPeer. closes #666 -- Cleanup (#6198) -- Cleanup (#6198) +### Blockchain/pool -### Make +- Some comments and small changes -- Dont use -v on go test -- Update protoc_abci use of awk -- Add back tools cmd (#4281) -- Remove sentry setup cmds (#4383) +### Blockchain/reactor -### Makefile +- RespondWithNoResponseMessage for missing height -- Remove megacheck -- Fix protoc_libs -- Add `make check_dep` and remove `make ensure_deps` (#2055) -- Lint flags -- Fix build-docker-localnode target (#3122) -- Minor cleanup (#3994) -- Place phony markers after targets (#4408) -- Add options for other DBs (#5357) -- Remove call to tools (#6104) +### Blockchain/store -### Markdownlint +- Comment about panics -- Ignore .github directory (#5351) +### Certifiers -### Maverick +- Test uses WaitForHeight -- Reduce some duplication (#6052) -- Reduce some duplication (#6052) +### Changelog -### Mempool +- Add genesis amount->power -- Add GetState() -- Remove bad txs from cacheMap -- Don't remove committed txs from cache -- Comments -- Reactor test -- Implement Mempool.CloseWAL -- Return error on cached txs -- Assert -> require in test -- Remove Peer interface. use p2p.Peer -- Cfg.CacheSize and expose InitWAL -- Fix cache_size==0. closes #1761 -- Log hashes, not whole tx -- Chan bool -> chan struct{} -- Keep cache hashmap and linked list in sync (#2188) -- Store txs by hash inside of cache (#2234) -- Filter new txs if they have insufficient gas (#2385) -- ErrPreCheck and more log info (#2724) -- Print postCheck error (#2762) -- Add txs from Update to cache -- Add a comment and missing changelog entry (#2996) -- NotifyTxsAvailable if there're txs left, but recheck=false (#2991) -- Move tx to back, not front (#3036) -- Move tx to back, not front (#3036) -- Enforce maxMsgSize limit in CheckTx (#3168) -- Correct args order in the log msg (#3221) -- Fix broadcastTxRoutine leak (#3478) -- Add a safety check, write tests for mempoolIDs (#3487) -- Move interface into mempool package (#3524) -- Remove only valid (Code==0) txs on Update (#3625) -- Make max_msg_bytes configurable (#3826) -- Make `max_tx_bytes` configurable instead of `max_msg_bytes` (#3877) -- Fix memory loading error on 32-bit machines (#3969) -- Moved TxInfo parameter into Mempool.CheckTx() (#4083) -- Reserve IDs in InitPeer instead of AddPeer -- Move mock into mempool directory -- Allow ReapX and CheckTx functions to run in parallel -- Do not launch broadcastTxRoutine if Broadcast is off -- Make it clear overwriting of pre/postCheck filters is intent… (#5054) -- Use oneof (#5063) -- Add RemoveTxByKey function (#5066) -- Return an error when WAL fails (#5292) -- Batch txs per peer in broadcastTxRoutine (#5321) -- Fix nil pointer dereference (#5412) -- Fix nil pointer dereference (#5412) -- Length prefix txs when getting them from mempool (#5483) -- Introduce KeepInvalidTxsInCache config option (#5813) -- Disable MaxBatchBytes (#5800) -- Introduce KeepInvalidTxsInCache config option (#5813) -- Disable MaxBatchBytes (#5800) -- P2p refactor (#5919) -- Fix reactor tests (#5967) -- Fix TestReactorNoBroadcastToSender (#5984) -- Fix mempool tests timeout (#5988) -- Don't return an error on checktx with the same tx (#6199) -- Remove vestigal mempool wal (#6396) -- Benchmark improvements (#6418) -- Add duplicate transaction and parallel checktx benchmarks (#6419) -- V1 implementation (#6466) +### Circle -### Mempool/reactor +- Add metalinter to test -- Fix reactor broadcast test (#5362) +### Cli -### Mempool/rpc +- Clean up error handling +- Use cobra's new ExactArgs() feature -- Log grooming (#6201) -- Log grooming (bp #6201) (#6203) +### Clist -### Mergify +- Reduce numTimes in test -- Remove unnecessary conditions (#4501) -- Use strict merges (#4502) -- Use PR title and body for squash merge commit (#4669) +### Cmd -### Merkle +- Dont wait for genesis. closes #562 -- Go-common -> tmlibs -- Remove go-wire dep by copying EncodeByteSlice -- Remove unused funcs. unexport simplemap. improv docs -- Use amino for byteslice encoding -- Return hashes for empty merkle trees (#5193) +### Cmn -### Metalinter +- Kill -- Add linter to Makefile like tendermint +### Common -### Metrics +- Fingerprint comment +- WriteFileAtomic use tempfile in current dir -- Add additional metrics to p2p and consensus (#2425) -- Only increase last_signed_height if commitSig for block (#4283) -- Switch from gauge to histogram (#5326) -- Change blocksize to a histogram (#6549) +### Consensus -### Mocks +- Remove support for replay by #HEIGHT. closes #567 +- Use filepath for windows compatibility, closes #595 +- Kill process on app error +- Ensure prs.ProposalBlockParts is initialized. fixes #810 +- Fix for initializing block parts during catchup +- Make mempool_test deterministic +- Fix LastCommit log +- Crank timeout in timeoutWaitGroup -- Update with 2.2.1 (#5294) +### Consensus/WAL -### Mod +- Benchmark WALDecode across data sizes -- Go mod tidy +### Console -### Nano +- Fix output, closes #93 +- Fix tests -- Update comments +### Db -### Networks +- Fix MemDB.Close +- Sort keys for memdb iterator -- Update readmes +### Dummy -### Networks/remote +- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 -- Turn on GO111MODULE and use git clone instead of go get (#4203) +### Errcheck -### Node +- PR comment fixes -- ConfigFromViper -- NewNode takes DBProvider and GenDocProvider -- Clean makeNodeInfo -- Remove dup code from rebase -- Remove commented out trustMetric -- Respond always to OS interrupts (#2479) -- Refactor privValidator ext client code & tests (#2895) -- Refactor node.NewNode (#3456) -- Fix a bug where `nil` is recorded as node's address (#3740) -- Run whole func in goroutine, not just logger.Error fn (#3743) -- Allow registration of custom reactors while creating node (#3771) -- Use GRPCMaxOpenConnections when creating the gRPC server (#4349) -- Don't attempt fast sync when InitChain sets self as only validator (#5211) -- Fix genesis state propagation to state sync (#5302) -- Improve test coverage on proposal block (#5748) -- Feature flag for legacy p2p support (#6056) -- Implement tendermint modes (#6241) -- Remove mode defaults. Make node mode explicit (#6282) -- Use db provider instead of mem db (#6362) -- Cleanup pex initialization (#6467) -- Change package interface (#6540) +### Example -### Node/state +- Fix func suffix -- Graceful shutdown in the consensus state (#6370) +### Glide + +- Update for autofile fix +- More external deps locked to versions + +### Keys + +- Transactions.go -> types.go + +### Lint + +- Couple more fixes +- Apply deadcode/unused + +### Linter + +- Couple fixes +- Add metalinter to Makefile & apply some fixes +- Last fixes & add to circle +- Address deadcode, implement incremental lint testing +- Sort through each kind and address small fixes + +### Linting + +- Cover the basics +- Catch some errors +- Add to Makefile & do some fixes +- Next round of fixes +- Fixup some stuffs +- Little more fixes +- A few fixes +- Replace megacheck with metalinter +- Apply 'gofmt -s -w' throughout +- Apply misspell +- Apply errcheck part1 +- Apply errcheck part2 +- Moar fixes +- Few more fixes -### Node/tests +### Makefile -- Clean up use of genesis doc and surrounding tests (#6554) +- Remove megacheck -### Note +### Metalinter -- Add nondeterministic note to events (#6220) -- Add nondeterministic note to events (#6220) (#6225) +- Add linter to Makefile like tendermint -### Os +### Node -- Simplify EnsureDir() (#5871) -- Simplify EnsureDir() (#5871) +- NewNode takes DBProvider and GenDocProvider +- Clean makeNodeInfo ### P2p -- Push handshake containing chainId for early disconnect. Closes #12 -- Fix switch_test to account for handshake -- Broadcast spawns goroutine to Send on each peer and times out after 10 seconds. Closes #7 -- Fix switch test for Broadcast returning success channel -- Use cmn instead of . -- Fix race by peer.Start() before peers.Add() -- Fix test -- Sw.peers.List() is empty in sw.OnStart -- Put maxMsgPacketPayloadSize, recvRate, sendRate in config -- Test fix - Fully test PeerSet, more docs, parallelize PeerSet tests - Minor comment fixes - Delete unused and untested *IPRangeCount functions @@ -5152,1066 +8531,862 @@ - Fix comment on addPeer (thanks @odeke-em) - Make Switch.DialSeeds use a new PRNG per call - Disable trustmetric test while being fixed -- Exponential backoff on reconnect. closes #939 -- PrivKey need not be Ed25519 -- Reorder some checks in addPeer; add comments to NodeInfo -- Peer.Key -> peer.ID -- Add ID to NetAddress and use for AddrBook -- Support addr format ID@IP:PORT -- Authenticate peer ID -- Remove deprecated Dockerfile -- Seed mode fixes from rebase and review -- Seed disconnects after sending addrs -- Add back lost func -- Use sub dirs -- Tmconn->conn and types->p2p -- Use conn.Close when peer is nil -- Notes about ListenAddr -- AddrBook.Save() on DialPeersAsync -- Add Channels to NodeInfo and don't send for unknown channels -- Fix tests for required channels -- Fix break in double loop -- Introduce peerConn to simplify peer creation (#1226) -- Keep reference to connections in test peer -- Persistent - redial if first dial fails -- Switch - reconnect only if persistent -- Don't use dial funcn in peerconfig -- NodeInfo.Channels is HexBytes -- Dont require minor versions to match in handshake -- Explicit netaddress errors -- Some comments and a log line -- MinNumOutboundPeers. Closes #1501 -- Change some logs from Error to Debug. #1476 -- Small lint -- Prevent connections from same ip -- External address -- Reject addrs coming from private peers (#2032) -- Fix conn leak. part of #2046 -- Connect to peers from a seed node immediately (#2115) -- Add test vectors for deriving secrets (#2120) -- Integrate new Transport -- Add RPCAddress to NodeInfoOther.String() (#2442) -- NodeInfo is an interface; General cleanup (#2556) -- Restore OriginalAddr (#2668) -- Peer-id -> peer_id (#2771) -- AddressBook requires addresses to have IDs; Do not close conn immediately after sending pex addrs in seed mode (#2797) -- Re-check after sleeps (#2664) -- Log 'Send failed' on Debug (#2857) -- NewMultiplexTransport takes an MConnConfig (#2869) -- Panic on transport error (#2968) -- Fix peer count mismatch #2332 (#2969) -- Set MConnection#created during init (#2990) -- File descriptor leaks (#3150) -- Fix infinite loop in addrbook (#3232) -- Check secret conn id matches dialed id (#3321) -- Fix comment in secret connection (#3348) -- Do not panic when filter times out (#3384) -- Refactor GetSelectionWithBias for addressbook (#3475) -- Seed mode refactoring (#3011) -- Do not log err if peer is private (#3474) -- (seed mode) limit the number of attempts to connect to a peer (#3573) -- Session should terminate on nonce wrapping (#3531) (#3609) -- Make persistent prop independent of conn direction (#3593) -- PeerBehaviour implementation (#3539) (#3552) -- Peer state init too late and pex message too soon (#3634) -- Per channel metrics (#3666) (#3677) -- Remove NewNetAddressStringWithOptionalID (#3711) -- Peerbehaviour follow up (#3653) (#3663) -- Refactor Switch#OnStop (#3729) -- Dial addrs which came from seed instead of calling ensurePeers (#3762) -- Extract ID validation into a separate func (#3754) -- Fix error logging for connection stop (#3824) -- Do not write 'Couldn't connect to any seeds' if there are no seeds (#3834) -- Only allow ed25519 pubkeys when connecting -- Log as debug msg when address dialing is already connected (#4082) -- Make SecretConnection non-malleable (#3668) -- Add `unconditional_peer_ids` and `persistent_peers_max_dial_period` (#4176) -- Extract maxBackoffDurationForPeer func and remove 1 test (#4218) -- Merlin based malleability fixes (#72) -- Use curve25519.X25519() instead of ScalarMult() (#4449) -- PEX message abuse should ban as well as disconnect (#4621) -- Limit the number of incoming connections -- Set RecvMessageCapacity to maxMsgSize in all reactors -- Return err on `signChallenge` (#4795) -- Return masked IP (not the actual IP) in addrbook#groupKey -- TestTransportMultiplexAcceptNonBlocking and TestTransportMultiplexConnFilterTimeout (#4868) -- Remove nil guard (#4901) -- Expose SaveAs on NodeKey (#4981) -- Proto leftover (#4995) -- Remove data race bug in netaddr stringer (#5048) -- Ensure peers can't change IP of known nodes (#5136) -- Reduce log severity (#5338) -- Remove p2p.FuzzedConnection and its config settings (#5598) -- Remove unused MakePoWTarget() (#5684) -- State sync reactor refactor (#5671) -- Implement new Transport interface (#5791) -- Remove `NodeInfo` interface and rename `DefaultNodeInfo` struct (#5799) -- Do not format raw msg bytes -- Update frame size (#235) -- Fix data race in MakeSwitch test helper (#5810) -- Add MemoryTransport, an in-memory transport for testing (#5827) -- Rename ID to NodeID -- Add NodeID.Validate(), replaces validateID() -- Replace PeerID with NodeID -- Rename NodeInfo.DefaultNodeID to NodeID -- Rename PubKeyToID to NodeIDFromPubKey -- Fix IPv6 address handling in new transport API (#5853) -- Fix MConnection inbound traffic statistics and rate limiting (#5868) -- Fix MConnection inbound traffic statistics and rate limiting (#5868) (#5870) -- Add Router prototype (#5831) -- Add prototype peer lifecycle manager (#5882) -- Revise shim log levels (#5940) -- Improve PeerManager prototype (#5936) -- Make PeerManager.DialNext() and EvictNext() block (#5947) -- Improve peerStore prototype (#5954) -- Simplify PeerManager upgrade logic (#5962) -- Add PeerManager.Advertise() (#5957) -- Add prototype PEX reactor for new stack (#5971) -- Resolve PEX addresses in PEX reactor (#5980) -- Use stopCtx when dialing peers in Router (#5983) -- Clean up new Transport infrastructure (#6017) -- Tighten up and test Transport API (#6020) -- Add tests and fix bugs for `NodeAddress` and `NodeID` (#6021) -- Tighten up and test PeerManager (#6034) -- Tighten up Router and add tests (#6044) -- Enable scheme-less parsing of IPv6 strings (#6158) -- Links (#268) -- Revised router message scheduling (#6126) -- Metrics (#6278) -- Simple peer scoring (#6277) -- Rate-limit incoming connections by IP (#6286) -- Fix "Unknown Channel" bug on CustomReactors (#6297) -- Connect max inbound peers configuration to new router (#6296) -- Filter peers by IP address and ID (#6300) -- Improve router test stability (#6310) -- Extend e2e tests for new p2p framework (#6323) -- Make peer scoring test more resilient (#6322) -- Fix using custom channels (#6339) -- Minor cleanup + update router options (#6353) -- Fix network update test (#6361) -- Update state sync messages for reverse sync (#285) -- Improve PEX reactor (#6305) -- Support private peer IDs in new p2p stack (#6409) -- Wire pex v2 reactor to router (#6407) -- Add channel descriptors to open channel (#6440) -- Revert change to routePeer (#6475) -- Limit rate of dialing new peers (#6485) -- Renames for reactors and routing layer internal moves (#6547) -### P2p/addrbook +### P2p/addrbook + +- Comments +- AddrNew/Old -> bucketsNew/Old +- Simplify PickAddress +- AddAddress returns error. more defensive PickAddress +- Add non-terminating test +- Fix addToOldBucket +- Some comments + +### P2p/connetion + +- Remove panics, test error cases + +### P2p/pex + +- Simplify ensurePeers + +### Readme + +- Re-organize & update docs links + +### Rpc + +- Fix client websocket timeout (#687) +- Subscribe on reconnection (#689) +- Use /iavl repo in test (#713) +- Wait for rpc servers to be available in tests +- Fix tests + +### Rpc/client + +- Use compile time assertions instead of methods + +### Rpc/lib + +- Remove dead files, closes #710 + +### Rpc/lib/client + +- Add jitter for exponential backoff of WSClient +- Jitter test updates and only to-be run on releases + +### Rpc/lib/server + +- Add handlers tests +- Update with @melekes and @ebuchman feedback +- Separate out Notifications test +- Minor changes to test + +### Rpc/lib/types + +- RPCResponse.Result is not a pointer + +### Rpc/wsevents + +- Small cleanup + +### Server + +- Use cmn.ProtocolAndAddress +- Minor refactor + +### SocketClient + +- Fix and test for StopForError deadlock + +### State + +- Minor comment fixes +- Return to-be-used function + +### Types + +- Remove redundant version file +- PrivVal.Sign returns an error +- More . -> cmn +- Comments +- ConsensusParams test + document the ranges/limits +- ConsensusParams: add feedback from @ebuchman and @melekes +- Unexpose valset.To/FromBytes +- Add gas and fee fields to CheckTx + +### Types/heartbeat + +- Test all Heartbeat functions + +### Upnp + +- Keep a link + +### WsConnection + +- Call onDisconnect + +## [0.10.4] - 2017-09-05 + +### Documentation + +- Add conf.py +- Test +- Add sphinx Makefile & requirements +- Consolidate ADRs +- Convert markdown to rst +- Organize the specification +- Rpc docs to be slate, see #526, #629 +- Use maxdepth 2 for spec +- Port website's intro for rtd +- Rst-ify the intro +- Fix image links +- Link fixes +- Clean a bunch of stuff up +- Logo, add readme, fixes +- Pretty-fy + +### Cmd + +- Don't load config for version command. closes #620 + +### Cmd/tendermint/commands + +- Update ParseConfig doc + +### Consensus + +- Recover panics in receive routine + +### Db + +- Fix memdb iterator + +### Mempool + +- Reactor test + +### P2p + +- Put maxMsgPacketPayloadSize, recvRate, sendRate in config +- Test fix +### Readme + +- Update install instruction (#100) + +### Rpc + +- Typo fixes - Comments -- AddrNew/Old -> bucketsNew/Old -- Simplify PickAddress -- AddAddress returns error. more defensive PickAddress -- Add non-terminating test -- Fix addToOldBucket -- Some comments +- Historical validators +- Block and Commit take pointers; return latest on nil -### P2p/conn +### Rtd -- Better handling for some stop conditions -- FlushStop. Use in pex. Closes #2092 (#2802) -- Don't hold stopMtx while waiting (#3254) -- Add Bufferpool (#3664) -- Simplify secret connection handshake malleability fix with merlin (#4185) -- Add a test for MakeSecretConnection (#4829) -- Migrate to Protobuf (#4990) -- Check for channel id overflow before processing receive msg (#6522) -- Check for channel id overflow before processing receive msg (backport #6522) (#6528) +- Build fixes -### P2p/connetion +### State -- Remove panics, test error cases +- Comments; use wire.BinaryBytes +- Persist validators -### P2p/pex +## [0.10.3] - 2017-08-10 -- Simplify ensurePeers -- Wait to connect to all peers in reactor test -- Minor cleanup and comments -- Some addrbook fixes -- Allow configured seed nodes to not be resolvable over DNS (#2129) -- Fix mismatch between dialseeds and checkseeds. (#2151) -- Consult seeds in crawlPeersRoutine (#3647) -- Fix DATA RACE -- Migrate to Protobuf (#4973) -- Fix flaky tests (#5733) -- Cleanup to pex internals and peerManager interface (#6476) -- Reuse hash.Hasher per addrbook for speed (#6509) +### Documentation -### P2p/secret_connection +- Tons of minor improvements -- Switch salsa usage to hkdf + chacha +### Fix -### P2p/test +- Ansible playbook to deploy tendermint -- Wait for listener to get ready (#4881) -- Fix Switch test race condition (#4893) +### README -### P2p/trust +- Add godoc instead of tedious MD regeneration -- Split into multiple files and improve function order -- Lock on Copy() -- Remove extra channels -- Fix nil pointer error on TrustMetric Copy() (#1819) +### Cmd -### P2p/trustmetric +- --consensus.no_empty_blocks -- Non-deterministic test +### Common -### Params +- ProtocolAndAddress -- Remove block timeiota (#248) -- Remove blockTimeIota (#5987) +### Common/IsDirEmpty -### Pex +- Do not mask non-existance errors -- Dial seeds when address book needs more addresses (#3603) -- Various follow-ups (#3605) -- Use highwayhash for pex bucket -- Fix send requests too often test (#6437) +### Consensus -### Premerge2 +- More comments +- IsProposer func +- Remove rs from handleMsg +- Log ProposalHeartbeat msg +- Test proposal heartbeat -- Rpc -> rpc/tendermint +### Hd -### Priv-val +- Optimize ReverseBytes + add tests -- Fix timestamp for signing things that only differ by timestamp +### Http -### PrivVal +- Http-utils added after extraction -- Improve SocketClient network code (#1315) +### Mempool -### Privval +- Comments -- Switch to amino encoding in SignBytes (#2459) -- Set deadline in readMsg (#2548) -- Add IPCPV and fix SocketPV (#2568) -- Fixes from review (#3126) -- Improve Remote Signer implementation (#3351) -- Increase timeout to mitigate non-deterministic test failure (#3580) -- Remove misplaced debug statement (#4103) -- Add `SignerDialerEndpointRetryWaitInterval` option (#4115) -- Return error on getpubkey (#4534) -- Remove deprecated `OldFilePV` -- Retry GetPubKey/SignVote/SignProposal N times before -- Migrate to protobuf (#4985) -- If remote signer errors, don't retry (#5140) -- Add chainID to requests (#5239) -- Allow passing options to NewSignerDialerEndpoint (#5434) -- Allow passing options to NewSignerDialerEndpoint (#5434) (#5437) -- Fix ping message encoding (#5441) -- Fix ping message encoding (#5442) -- Make response values non nullable (#5583) -- Make response values non nullable (#5583) -- Increase read/write timeout to 5s and calculate ping interval based on it (#5638) -- Reset pingTimer to avoid sending unnecessary pings (#5642) -- Increase read/write timeout to 5s and calculate ping interva… (#5666) -- Reset pingTimer to avoid sending unnecessary pings (#5642) (#5668) -- Duplicate SecretConnection from p2p package (#5672) -- Add grpc (#5725) -- Query validator key (#5876) -- Return errors on loadFilePV (#6185) -- Add ctx to privval interface (#6240) +### P2p -### Prometheus/metrics +- Sw.peers.List() is empty in sw.OnStart -- Three new metrics for consensus (#4263) +### Rpc -### Proto +- Move grpc_test from test/ to grpc/ -- Add buf and protogen script (#4369) -- Minor linting to proto files (#4386) -- Use docker to generate stubs (#4615) -- Bring over proto types & msgs (#4718) -- Regenerate proto (#4730) -- Remove test files -- Add proto files for ibc unblock (#4853) -- Add more to/from (#4956) -- Change to use gogofaster (#4957) -- Remove amino proto tests (#4982) -- Move keys to oneof (#4983) -- Leftover amino (#4986) -- Move all proto dirs to /proto (#5012) -- Folder structure adhere to buf (#5025) -- Increase lint level to basic and fix lint warnings (#5096) -- Improve enums (#5099) -- Reorganize Protobuf schemas (#5102) -- Minor cleanups (#5105) -- Change type + a cleanup (#5107) -- Add a comment for Validator#Address (#5144) -- Buf for everything (#5650) -- Bump gogoproto (1.3.2) (#5886) -- Bump gogoproto (1.3.2) (#5886) -- Docker deployment (#5931) -- Seperate native and proto types (#5994) -- Add files (#246) -- Docker deployment (#5931) -- Modify height int64 to uint64 (#253) +### Scripts/txs + +- Add 0x and randomness + +### Types + +- Block comments + +### Ws + +- Small comment + +## [0.10.2] - 2017-07-10 + +### Documentation + +- Add docs from website + +### Consensus + +- Improve logging for conflicting votes +- Better logging + +### Contributing + +- Use full version from site + +### P2p + +- Fix test + +## [0.10.1] - 2017-06-28 + +### Documentation + +- Update for 0.10.0 [ci skip]" + +### Ansible + +- Update tendermint and basecoin versions +- Added option to provide accounts for genesis generation, terraform: added option to secure DigitalOcean servers, devops: added DNS name creation to tendermint terraform + +### Blockchain -### Proto/p2p +- Explain isCaughtUp logic -- Rename PEX messages and fields (#5974) +### Rpc -### Proto/tendermint/abci +- SetWriteDeadline for ws ping. fixes #553 -- Fix Request oneof numbers (#5116) +### Rpc/lib -### Protoc +- Test tcp and unix +- Set logger on ws conn -- "//nolint: gas" directive after pb generation (#164) +## [0.10.0] - 2017-06-03 -### Proxy +### Makefile -- Typed app conns -- NewAppConns takes a NewTMSPClient func -- Wrap NewTMSPClient in ClientCreator -- Nil -> nilapp -- Remove Handshaker from proxy pkg (#2437) -- Improve ABCI app connection handling (#5078) +- Add megacheck & some additional fixes -### Pubsub +### Core -- Comments -- Fixes after Ethan's review (#3212) +- Apply megacheck vet tool (unused, gosimple, staticcheck) -### Reactors +### Dist -- Omit incoming message bytes from reactor logs (#5743) -- Omit incoming message bytes from reactor logs (#5743) -- Remove bcv1 (#241) +- Dont mkdir in container +- Dont mkdir in container -### Reactors/pex +## [0.10.0-rc1] - 2017-05-18 -- Specify hash function (#94) -- Masked IP is used as group key (#96) +### BROKEN -### Readme +- Attempt to replace go-wire.JSON with json.Unmarshall in rpc -- Js-tmsp -> js-abci -- Update install instruction (#100) -- Re-organize & update docs links -- Fix link to original paper (#4391) -- Add discord to readme (#4533) -- Add badge for git tests (#4732) -- Add source graph badge (#4980) -- Remover circleci badge (#5729) -- Add links to job post (#5785) -- Update discord link (#5795) -- Add security mailing list (#5916) -- Add security mailing list (#5916) -- Cleanup (#262) +### CHANGELOG -### Relase_notes +- Update release date +- Update release date -- Add release notes for v0.34.0 +### Testing -### Release +- Jq .result[1] -> jq .result +- P2p.seeds and p2p.pex -- Minor release 0.33.1 (#4401) +### Cli -### Remotedb +- Support --root and --home +- More descriptive naming +- Viper.Set(HomeFlag, rootDir) -- A client package implementing the db.DB interface +### Cmd -### Removal +- Fixes for new config +- Query params are flags -- Remove build folder (#4565) +### Config -### Repeat_timer +- Pex_reactor -> pex -- Drain channel in Stop; done -> wg +### Consensus -### Replay +- Comment about test_data [ci skip] +- Fix tests -- Larger read buffer -- More tests -- Ensure cs.height and wal.height match +### Ebuchman -### Rfc +- Added some demos on how to parse unknown types -- Add end-to-end testing RFC (#5337) +### Log + +- Tm -> TM + +### Node + +- ConfigFromViper + +### P2p + +- Use cmn instead of . +- Fix race by peer.Start() before peers.Add() ### Rpc -- Add status and net info -- Return tx hash, creates contract, contract addr in broadcast (required some helper functions). Closes #30 -- Give each call a dedicated Response struct, add basic test -- Separate out golang API into rpc/core -- Generalized rpc using reflection on funcs and params -- Fixes for better type handlings, explicit error field in response, more tests -- Cleanup, more tests, working http and jsonrpc -- Fix tests to count mempool; copy responses to avoid data races -- Return (*Response, error) for all functions -- GetStorage and Call methods. Tests. -- Decrement mempool count after block mined -- GetStorage and Call methods. Tests. -- Decrement mempool count after block mined -- Auto generated client methods using rpc-gen -- Myriad little fixes -- Cleanup, use client for tests, rpc-gen fixes -- Websockets -- Tests cleanup, use client lib for JSONRPC testing too -- Test CallCode and Call -- Fix memcount error in tests -- Use gorilla websockets -- First successful websocket event subscription -- Websocket events testing -- Use NewBlock event in rpc tests -- Cleanup tests and test contract calls -- Genesis route -- Remove unecessary response wrappers -- Add app_hash to /status -- TMResult and TMEventData -- Test cleanup -- Unsafe_set_config -- Num_unconfirmed_txs (avoid sending txs back) -- Start/stop cpu profiler -- Unsafe_write_heap_profile -- Broadcast tests. closes #219 -- Unsafe_flush_mempool. closes #190 -- Use interfaces for pipe -- Remove restriction on DialSeeds -- /commit -- Fix SeenCommit condition -- Dial_seeds msg. addresses #403 -- Better arg validation for /tx -- /tx allows height+hash -- Use HTTP error codes - Repsonse types use data.Bytes - Response types use Result instead of pb Response - Fix tests - Decode args without wire - Cleanup some comments [ci skip] - Fix tests -- SetWriteDeadline for ws ping. fixes #553 -- Move grpc_test from test/ to grpc/ -- Typo fixes -- Comments -- Historical validators -- Block and Commit take pointers; return latest on nil -- Fix client websocket timeout (#687) -- Subscribe on reconnection (#689) -- Use /iavl repo in test (#713) -- Wait for rpc servers to be available in tests -- Fix tests -- Make time human readable. closes #926 -- GetHeight helper function -- Fix getHeight -- Lower_case peer_round_states, use a list, add the node_address -- Docs/comments -- Add n_peers to /net_info -- Add voting power totals to vote bitarrays -- /consensus_state for simplified output -- Break up long lines -- Test Validator retrevial timeout -- Fix /blockchain OOM #2049 -- Validate height in abci_query -- Log error when we timeout getting validators from consensus (#2045) -- Improve slate for Jenkins (#2070) -- Transform /status result.node_info.other into map (#2417) -- Add /consensus_params endpoint (#2415) -- Fix tx.height range queries (#2899) -- Include peer's remote IP in `/net_info` (#3052) -- Client disable compression (#3430) -- Support tls rpc (#3469) -- Fix response time grow over time (#3537) -- Add support for batched requests/responses (#3534) -- /dial_peers: only mark peers as persistent if flag is on (#3620) -- Use Wrap instead of Errorf error (#3686) -- Make max_body_bytes and max_header_bytes configurable (#3818) -- /broadcast_evidence (#3481) -- Return err if page is incorrect (less than 0 or greater than tot… (#3825) -- Protect subscription access from race condition (#3910) -- Allow using a custom http client in rpc client (#3779) -- Remove godoc comments in favor of swagger docs (#4126) -- /block_results fix docs + write test + restructure response (#3615) -- Remove duplication of data in `ResultBlock ` (#3856) -- Add pagination to /validators (#3993) -- Update swagger docs to openapi 3.0 (#4223) -- Added proposer in consensus_state (#4250) -- Pass `outCapacity` to `eventBus#Subscribe` when subscribing using a l… (#4279) -- Add method block_by_hash (#4257) -- Modify New* functions to return error (#4274) -- Check nil blockmeta (#4320) -- PR#4320 follow up (#4323) -- Add sort_order option to tx_search (#4342) -- Fix issue with multiple subscriptions (#4406) -- Fix tx_search pagination with ordered results (#4437) -- Fix txsearch tests (#4438) -- Fix TxSearch test nits (#4446) -- Stop txSearch result processing if context is done (#4418) -- Keep the original subscription "id" field when new RPCs come in (#4493) -- Remove BlockStoreRPC in favor of BlockStore (#4510) -- Create buffered subscriptions on /subscribe (#4521) -- Fix panic when `Subscribe` is called (#4570) -- Add codespace to ResultBroadcastTx (#4611) -- Handle panics during panic handling -- Use a struct to wrap all the global objects -- Refactor lib folder (#4836) -- Increase waitForEventTimeout to 8 seconds (#4917) -- Add BlockByHash to Client (#4923) -- Replace Amino with new JSON encoder (#4968) -- Support EXISTS operator in /tx_search query (#4979) -- Add /check_tx endpoint (#5017) -- Move docs from doc.go to swagger.yaml (#5044) -- /broadcast_evidence nil evidence check (#5109) -- Make gasWanted/Used snake_case (#5137) -- Add private & unconditional to /dial_peer (#5293) -- Fix openapi spec syntax error (#5358) -- Fix test data races (#5363) -- Revert JSON-RPC/WebSocket response batching (#5378) -- Fix content-type header (#5661) -- Fix content-type header -- Standardize error codes (#6019) -- Change default sorting to desc for `/tx_search` results (#6168) -- Index block events to support block event queries (#6226) -- Index block events to support block event queries (bp #6226) (#6261) -- Define spec for RPC (#276) -- Remove global environment (#6426) -- Clean up client global state in tests (#6438) -- Add chunked rpc interface (#6445) -- Clarify timestamps (#304) -- Add chunked genesis endpoint (#299) -- Decouple test fixtures from node implementation (#6533) -### Rpc/client +### Rpc/lib + +- No Result wrapper + +### Types + +- []byte -> data.Bytes +- Result and Validator use data.Bytes +- Methods convert pb types to use data.Bytes + +## [0.9.2] - 2017-04-26 + +### Documentation + +- Go-events -> tmlibs/events + +### Testing + +- Test_libs all use Makefile + +### Commands + +- Run -> RunE -- Use compile time assertions instead of methods -- Include NetworkClient interface into Client interface (#3473) -- Add basic authentication (#4291) -- Split out client packages (#4628) -- Take context as first param (#5347) +### Merkle -### Rpc/client/http +- Go-common -> tmlibs -- Log error (#5182) -- Do not drop events even if the `out` channel is full (#6163) -- Drop endpoint arg from New and add WSOptions (#6176) +### Premerge2 -### Rpc/core +- Rpc -> rpc/tendermint -- Ints are strings in responses, closes #1896 -- Do not lock ConsensusState mutex -- Return an error if `page=0` (#4947) -- More docs and a test for /blockchain endpoint (#5417) +### Rpc -### Rpc/core/types +- Use HTTP error codes -- UintX -> int +## [0.9.1] - 2017-04-21 -### Rpc/jsonrpc +### Testing -- Unmarshal RPCRequest correctly (#6191) -- Unmarshal RPCRequest correctly (bp #6191) (#6193) +- Check err on cmd.Wait -### Rpc/jsonrpc/server +### Blockpool -- Merge WriteRPCResponseHTTP and WriteRPCResponseAr (#5141) -- Ws server optimizations (#5312) -- Return an error in WriteRPCResponseHTTP(Error) (#6204) -- Return an error in WriteRPCResponseHTTP(Error) (bp #6204) (#6230) +- Fix removePeer bug -### Rpc/lib +### Changelog -- No Result wrapper -- Test tcp and unix -- Set logger on ws conn -- Remove dead files, closes #710 -- Write a test for TLS server (#3703) -- Fix RPC client, which was previously resolving https protocol to http (#4131) +- Add prehistory -### Rpc/lib/client +### Cli -- Add jitter for exponential backoff of WSClient -- Jitter test updates and only to-be run on releases +- Testnet cmd inits files for testnet +- ResetAll doesnt depend on cobra -### Rpc/lib/server +### Consensus -- Add handlers tests -- Update with @melekes and @ebuchman feedback -- Separate out Notifications test -- Minor changes to test -- Add test for int parsing +- Timeout on replayLastBlock -### Rpc/lib/types +### Consensus/replay -- RPCResponse.Result is not a pointer +- Remove timeout -### Rpc/libs/doc +### Consensus/wal -- Formatting for godoc, closes #2420 +- #HEIGHT -> #ENDHEIGHT -### Rpc/net_info +### Readme -- Change RemoteIP type from net.IP to String (#3309) +- Js-tmsp -> js-abci -### Rpc/swagger +### Rpc -- Add numtxs to blockmeta (#4139) +- Dial_seeds msg. addresses #403 +- Better arg validation for /tx +- /tx allows height+hash + +### Rpc/core/types + +- UintX -> int ### Rpc/test - /tx - Restore txindexer after setting null -- Fix test race in TestAppCalls (#4894) -- Wait for mempool CheckTx callback (#4908) -- Wait for subscription in TestTxEventsSentWithBroadcastTxAsync (#4907) -### Rpc/tests +### Secp256k1 -- Panic dont t.Fatal. use random txs for broadcast +- Use compressed pubkey, bitcoin-style address -### Rpc/wsevents +### State -- Small cleanup +- ABCIResponses, s.Save() in ApplyBlock -### Rtd +### Wal -- Build fixes +- Gr.Close() -### Scripts +## [0.9.0] - 2017-03-06 -- Quickest/easiest fresh install -- Remove install scripts (#4242) -- Move build.sh into scripts -- Make linkifier default to 'pull' rather than 'issue' (#5689) +### Client -### Scripts/txs +- DumpConsensusState, not DialSeeds. Cleanup -- Add 0x and randomness +### Connect2Switches -### Secp256k1 +- Panic on err -- Use compressed pubkey, bitcoin-style address -- Change build tags (#3277) +### Makefile -### Security +- Add gmt and lint +- Add 'build' target -- Update policy after latest security release (#6336) +### Query -### Server +- Height -> LastHeight +- LastHeight -> Height :) -- Allow multiple connections -- Return result with error -- Use cmn.ProtocolAndAddress -- Minor refactor +### Testing -### Service +- RandConsensusNet takes more args +- Crank circle timeouts +- Automate building consensus/test_data +- Circle artifacts +- Dont start cs until all peers connected +- Shorten timeouts +- Remove codecov patch threshold +- Kill and restart all nodes +- Use PROXY_APP=persistent_dummy +- Use fail-test failure indices +- More unique container names +- Set log_level=info +- Always rebuild grpc_client +- Split up test/net/test.sh +- Unexport internal function. +- Update docker to 1.7.4 +- Dont use log files on circle +- Shellcheck +- Forward CIRCLECI var through docker +- Only use syslog on circle +- More logging +- Wait for tendermint proc +- Add extra kill after fail index triggered +- Wait for ports to be freed +- Use --pex on restart +- Install abci apps first +- Fix docker and apps +- Dial_seeds +- Docker exec doesnt work on circle +- Bump sleep to 5 for bound ports release +- Better client naming +- Use unix socket for rpc +- Shellcheck -- Start/stop logs are info, ignored are debug -- Reset() for restarts +### Update + +- JTMSP -> jABCI + +### Blockchain + +- Thread safe store.Height() + +### Cleanup + +- Replace common.Exit with log.Crit or log.Fatal + +### Consensus + +- Wal.Flush() and cleanup replay tests +- TimeoutTicker, skip TimeoutCommit on HasAll +- Mv timeoutRoutine into TimeoutTicker +- No internal vars in reactor.String() +- Sync wal.writeHeight +- Remove crankTimeoutPropose from tests +- Be more explicit when we need to write height after handshake +- Let time.Timer handle non-positive durations +- Check HasAll when TwoThirdsMajority +- Nice error msg if ApplyBlock fails +- Handshake replay test using wal +- More handshake replay tests +- Some more informative logging + +### Fmt + +- Run 'make fmt' + +### Glide + +- Update go-wire +- Use versions where applicable + +### Lint + +- Remove dot import (go-common) +- S/common.Fmt/fmt.Sprintf +- S/+=1/++, remove else clauses + +### Make + +- Dont use -v on go test + +### Repeat_timer + +- Drain channel in Stop; done -> wg + +### Rpc + +- /commit +- Fix SeenCommit condition ### Shame -- Forgot a file - Version bump 0.7.4 -- Forgot to add new code pkg -### SocketClient +### State -- Fix and test for StopForError deadlock +- AppHashIsStale -> IntermediateState +- Remove StateIntermediate -### Spec +### Tmsp -- Fixes from review -- Convert to rst -- Typos & other fixes -- Remove notes, see #1152 -- More fixes -- Minor fixes -- Update encoding.md -- Note on byte arrays, clean up bitarrays and more, add merkle proof, add crypto.go script -- Add Address spec. notes about Query -- Pex update -- Abci notes. closes #1257 -- Move to final location (#1576) -- Add missing field to NodeInfoOther (#2426) -- Update spec with tendermint updates (#62) -- Add ProofTrialPeriod to EvidenceParam (#99) -- Modify Header.LastResultsHash (#97) -- Link to abci server implementations (#100) -- Update evidence in blockchain.md (#108) -- Revert event hashing (#132) -- Update abci events (#151) -- Extract light-client to its own directory (#152) -- Remove evidences (#153) -- Light client attack detector (#164) -- Protobuf changes (#156) -- Update light client verification to match supervisor (#171) -- Remove reactor section (#242) -- Merge rust-spec (#252) +- ResponseInfo and ResponseEndBlock + +### Types + +- Benchmark WriteSignBytes +- Canonical_json.go +- SignatureEd25519 -> Signature +- Use mtx on PartSet.String() +- ValSet LastProposer->Proposer and Proposer()->GetProposer() -### Spec/abci +## [0.7.4] - 2016-12-14 -- Expand on Validator#Address (#118) +### Testing -### Spec/consensus +- App persistence +- Tmsp query result is json +- Increase proposal timeout +- Cleanup and fix scripts +- Crank it to eleventy +- More cleanup on p2p -- Canonical vs subjective commit +### Addrbook -### Spec/consensus/signing +- Toggle strict routability -- Add more details about nil and amnesia (#54) +### Blockchain -### Spec/reactors/mempool +- Use ApplyBlock -- Batch txs per peer (#155) +### Consensus -### State +- Test reactor +- Fix panic on POLRound=-1 +- Ensure dir for cswal on reactor tests +- Lock before loading commit +- Track index of privVal +- Test validator set change -- ExecTx bug fixes for create contract -- Fix debug logs -- Fix CreateAddress to use Address not Word -- Fixes for creating a contract and msging it in the same block -- Fix GetStorage on blockcache with unknown account -- FireEvents flag on ExecTx and fixes for GetAccount -- ApplyBlock -- AppHashIsStale -> IntermediateState -- Remove StateIntermediate -- ABCIResponses, s.Save() in ApplyBlock -- Comments; use wire.BinaryBytes -- Persist validators -- Minor comment fixes -- Return to-be-used function -- TestValidateBlock -- Move methods to funcs -- BlockExecutor -- Re-order funcs. fix tests -- Send byzantine validators in BeginBlock -- Builds -- Fix txResult issue with UnmarshalBinary into ptr -- S -> state -- B -> block -- Err if 0 power validator is added to the validator set -- Format panics -- Require block.Time of the fist block to be genesis time (#2594) -- Use last height changed if validator set is empty (#3560) -- Add more tests for block validation (#3674) -- Txindex/kv: fsync data to disk immediately after receiving it (#4104) -- Txindex/kv: return an error if there's one (#4095) -- Export InitStateVersion -- Proto migration (#4951) -- Proto migration (#4972) -- Revert event hashing (#5159) -- Don't save genesis state in database when loaded (#5231) -- Define interface for state store (#5348) -- More test cases for block validation (#5415) -- Prune states using an iterator (#5864) -- Save in batches within the state store (#6067) -- Cleanup block indexing logs and null (#6263) -- Fix block event indexing reserved key check (#6314) -- Fix block event indexing reserved key check (#6314) (#6315) -- Keep a cache of block verification results (#6402) +### Counter -### State/indexer +- Fix tx buffer overflow -- Reconstruct indexer, move txindex into the indexer package (#6382) +### Cswal -### State/store +- Write #HEIGHT:1 for empty wal -- Remove extra `if` statement (#3774) +### Dummy -### Statesync +- Valset changes and tests -- Use Protobuf instead of Amino for p2p traffic (#4943) -- Fix valset off-by-one causing consensus failures (#5311) -- Broadcast snapshot request to all peers on startup (#5320) -- Fix the validator set heights (again) (#5330) -- Check all necessary heights when adding snapshot to pool (#5516) -- Check all necessary heights when adding snapshot to pool (#5516) (#5518) -- Do not recover panic on peer updates (#5869) -- Improve e2e test outcomes (#6378) -- Improve e2e test outcomes (backport #6378) (#6380) -- Sort snapshots by commonness (#6385) -- Fix unreliable test (#6390) -- Ranking test fix (#6415) +### Glide -### Store +- Update go-common -- Register block amino, not just crypto (#3894) -- Proto migration (#4974) -- Order-preserving varint key encoding (#5771) -- Use db iterators for pruning and range-based queries (#5848) -- Fix deadlock in pruning (#6007) -- Use a batch instead of individual writes in SaveBlock (#6018) +### Rpc -### Swagger +- Remove restriction on DialSeeds -- Update swagger port (#4498) -- Remove duplicate blockID -- Define version (#4952) -- Update (#5257) +### Shame -### Sync +- Forgot a file -- Move closer to separate file (#6015) +### State -### Template +- ApplyBlock -- Add labels to pr template +### Types -### Throttle_timer +- Pretty print validators +- Update LastBlockInfo and ConfigInfo +- Copy vote set bit array +- Copy commit bit array -- Fix race, use mtx instead of atomic +## [0.7.3] - 2016-10-21 -### Tm-bench +### Testing -- Improve code shape -- Update dependencies, add total metrics -- Add deprecation warning (#3992) +- Codecov +- Use glide with mintnet/netmon +- Install glide for network test -### Tm-monitor +### Consensus -- Update health after we added / removed node (#2694) -- Update build-docker Makefile target (#3790) -- Add Context to RPC handlers (#3792) +- Hvs.StringIndented needed a lock. addresses #284 -### Tmbench +### Log -- Fix iterating through the blocks, update readme -- Make tx size configurable -- Update dependencies to use tendermint's master -- Make sendloop act in one second segments (#110) -- Make it more resilient to WSConn breaking (#111) +- Move some Info to Debug -### Tmhash +### Replay -- Add Sum function +- Larger read buffer +- More tests +- Ensure cs.height and wal.height match -### Tmsp +### Rpc -- ResponseInfo and ResponseEndBlock +- Use interfaces for pipe -### Tmtime +### Service -- Canonical, some comments (#2312) +- Reset() for restarts -### Toml +### Version -- Make sections standout (#4993) +- Bump 0.7.3 -### Tool +## [0.7.2] - 2016-09-11 -- Add Mergify (#4490) +### Documentation -### Tooling +- Move FROM to golang:1.4 because 1.4.2 broke -- Remove tools/Makefile (#6102) -- Remove tools/Makefile (bp #6102) (#6106) +### Makefile -### Tools +- Go test --race -- Remove redundant grep -v vendors/ (#1996) -- Clean up Makefile and remove LICENSE file (#2042) -- Refactor tm-bench (#2570) -- Remove need to install buf (#4605) -- Update gogoproto get cmd (#5007) -- Use os home dir to instead of the hardcoded PATH (#6498) +### Testing -### Tools.mk +- Broadcast_tx with tmsp; p2p +- Add throughput benchmark using mintnet and netmon +- Install mintnet, netmon +- Use MACH_PREFIX +- Cleanup +- Dont run cloud test on push to master +- README.md +- Refactor bash; test fastsync (failing) +- Name client conts so we dont need to rm them because circle +- Test dummy using rpc query +- Add xxd dep to dockerfile +- More verbosity +- Add killall to dockerfile. cleanup -- Use tags instead of revisions where possible -- Install protoc +### Binary -### Tools/build +- Prevent runaway alloc -- Delete stale tools (#4558) +### Block/state -### Tools/tm-bench +- Add CallTx type +- Gas price for block and tx -- Don't count the first block if its empty -- Remove testing flags from help (#1949) -- Don't count the first block if its empty (#1948) -- Bounds check for txSize and improving test cases (#2410) -- Remove tm-bench in favor of tm-load-test (#4169) +### Circle -### Tools/tm-signer-harness +- Docker 1.10.0 -- Fix listener leak in newTestHarnessListener() (#5850) -- Fix listener leak in newTestHarnessListener() (#5850) +### Client -### Tools/tmbench +- ResultsCh chan json.RawMessage, ErrorsCh +- Wsc.String() +- Safe error handling + +### Config + +- Hardcode default genesis.json +- Block size, consensus timeouts, recheck tx +- Cswal_light, mempool_broadcast, mempool_reap +- Toggle authenticated encryption +- Disable_data_hash (for testing) +- All urls use tcp:// or unix:// prefix +- Filter_peers defaults to false +- Reduce timeouts during test + +### Consensus + +- Broadcast evidence tx on ErrVoteConflictingSignature +- Check both vote orderings for dupeout txs +- Fix negative timeout; log levels +- Msg saving and replay +- Replay console +- Use replay log to avoid sign regression +- Don't wait for wal if conS not running +- Dont allow peer round states to decrease +- Cswal doesnt write any consensus msgs in light mode +- Fix more races in tests +- Fix race from OnStop accessing cs.Height +- T.Fatal -> panic +- Hvs.Reset(height, valSet) +- Increase mempool_test timeout +- Don't print shared vars in cs.String() +- Add note about replay test +- No sign err in replay; fix a race + +### Daemon -- Fix the end time being used for statistics calculation -- Improve accuracy with large tx sizes. -- Move statistics to a seperate file +- Refactor out of cmd into own package -### Tx +### Db -- Reduce function to one parameter (#5493) +- Add Close() to db interface. closes #31 -### Txindexer +### Events -- Refactor Tx Search Aggregation (#3851) +- Integrate event switch into services via Eventable interface -### Types +### Glide -- PrivVal.LastSignature. closes #247 -- Pretty print validators -- Update LastBlockInfo and ConfigInfo -- Copy vote set bit array -- Copy commit bit array -- Benchmark WriteSignBytes -- Canonical_json.go -- SignatureEd25519 -> Signature -- Use mtx on PartSet.String() -- ValSet LastProposer->Proposer and Proposer()->GetProposer() -- []byte -> data.Bytes -- Result and Validator use data.Bytes -- Methods convert pb types to use data.Bytes -- Block comments -- Remove redundant version file -- PrivVal.Sign returns an error -- More . -> cmn -- Comments -- ConsensusParams test + document the ranges/limits -- ConsensusParams: add feedback from @ebuchman and @melekes -- Unexpose valset.To/FromBytes -- Add gas and fee fields to CheckTx -- Use data.Bytes directly in type.proto via gogo/protobuf. wow -- Consolidate some file -- Add note about ReadMessage having no cap -- RequestBeginBlock includes absent and byzantine validators -- Drop uint64 from protobuf.go -- IsOK() -- Int32 with gogo int -- Fix for broken customtype int in gogo -- Add MarshalJSON funcs for Response types with a Code -- Add UnmarshalJSON funcs for Response types -- Compile type assertions to avoid sneaky runtime surprises -- Check ResponseCheckTx too -- Update String() test to assert Prevote type -- Rename exampleVote to examplePrecommit on vote_test -- Add test for IsVoteTypeValid -- Params.Update() -- Comments; compiles; evidence test -- Evidences for merkle hashing; Evidence.String() -- Tx.go comments -- Evidence cleanup -- Better error messages for votes -- Check bufio.Reader -- TxEventBuffer.Flush now uses capacity preserving slice clearing idiom -- RequestInitChain.AppStateBytes -- Update for new go-wire. WriteSignBytes -> SignBytes -- Remove dep on p2p -- Tests build -- Builds -- Revert to old wire. builds -- Working on tests... -- P2pID -> P2PID -- Fix validator_set_test issue with UnmarshalBinary into ptr -- Bring back json.Marshal/Unmarshal for genesis/priv_val -- TestValidatorSetVerifyCommit -- Uncomment some tests -- Hash invoked for nil Data and Header should not panic -- Compile time assert to, and document sort.Interface -- Revert CheckTx/DeliverTx changes. make them the same -- Fix genesis.AppStateJSON -- Lock block on MakePartSet -- Fix formatting when printing signatures -- Allow genesis file to have 0 validators (#2148) -- Remove pubkey from validator hash (#2512) -- Cap evidence in block validation (#2560) -- Remove Version from CanonicalXxx (#2666) -- Dont use SimpleHashFromMap for header. closes #1841 (#2670) -- First field in Canonical structs is Type (#2675) -- Emit tags from BeginBlock/EndBlock (#2747) -- NewValidatorSet doesn't panic on empty valz list (#2938) -- ValidatorSet.Update preserves Accum (#2941) -- Comments on user vs internal events -- Validator set update tests (#3284) -- Followup after validator set changes (#3301) -- Remove check for priority order of existing validators (#3407) -- Refactor PB2TM.ConsensusParams to take BlockTimeIota as an arg (#3442) -- CommitVotes struct as last step towards #1648 (#3298) -- Do not ignore errors returned by PublishWithEvents (#3722) -- Move MakeVote / MakeBlock functions (#3819) -- Add test for block commits with votes for the wrong blockID (#3936) -- Prevent temporary power overflows on validator updates (#4165) -- Change number_txs to num_txs json tag in BlockMeta -- Remove dots from errors in SignedHeader#ValidateBasic -- Change `Commit` to consist of just signatures (#4146) -- Prevent spurious validator power overflow warnings when changing the validator set (#4183) -- VerifyCommitX return when +2/3 sigs are verified (#4445) -- Implement Header#ValidateBasic (#4638) -- Return an error if voting power overflows -- Sort validators by voting power -- Simplify VerifyCommitTrusting -- Remove extra validation in VerifyCommit -- Assert specific error in TestValSetUpdateOverflowRelated -- Remove unnecessary sort call (#4876) -- Create ValidateBasic() funcs for validator and validator set (#4905) -- Remove VerifyFutureCommit (#4961) -- Migrate params to protobuf (#4962) -- Remove duplicated validation in VerifyCommit (#4991) -- Add tests for blockmeta (#5013) -- Remove pubkey options (#5016) -- More test cases for TestValidatorSet_VerifyCommit (#5018) -- Rename partsheader to partsetheader (#5029) -- Fix evidence timestamp calculation (#5032) -- Add AppVersion to ConsensusParams (#5031) -- Reject blocks w/ ConflictingHeadersEvidence (#5041) -- Simplify safeMul (#5061) -- Verify commit fully -- Validatebasic on from proto (#5152) -- Check if nil or empty valset (#5167) -- Comment on need for length prefixing (#5283) -- Rename json parts to part_set_header (#5523) -- Move `MakeBlock` to block.go (#5573) -- Cleanup protobuf.go (#6023) -- Refactor EventAttribute (#6408) -- Fix verify commit light / trusting bug (#6414) -- Revert breaking change (#6538) +- Update go-common +- Update lock and add util scripts -### Types/heartbeat +### Mempool -- Test all Heartbeat functions +- Add GetState() +- Remove bad txs from cacheMap +- Don't remove committed txs from cache -### Types/params +### P2p -- Introduce EvidenceParams +- Push handshake containing chainId for early disconnect. Closes #12 +- Fix switch_test to account for handshake +- Broadcast spawns goroutine to Send on each peer and times out after 10 seconds. Closes #7 +- Fix switch test for Broadcast returning success channel -### Types/priv_validator +### Proxy -- Fixes for latest p2p and cmn +- Typed app conns +- NewAppConns takes a NewTMSPClient func +- Wrap NewTMSPClient in ClientCreator +- Nil -> nilapp -### Types/test +### Rpc -- Remove slow test cases in TestValSetUpdatePriorityOrderTests (#4903) +- Add status and net info +- Return tx hash, creates contract, contract addr in broadcast (required some helper functions). Closes #30 +- Give each call a dedicated Response struct, add basic test +- Separate out golang API into rpc/core +- Generalized rpc using reflection on funcs and params +- Fixes for better type handlings, explicit error field in response, more tests +- Cleanup, more tests, working http and jsonrpc +- Fix tests to count mempool; copy responses to avoid data races +- Return (*Response, error) for all functions +- GetStorage and Call methods. Tests. +- Decrement mempool count after block mined +- GetStorage and Call methods. Tests. +- Decrement mempool count after block mined +- Auto generated client methods using rpc-gen +- Myriad little fixes +- Cleanup, use client for tests, rpc-gen fixes +- Websockets +- Tests cleanup, use client lib for JSONRPC testing too +- Test CallCode and Call +- Fix memcount error in tests +- Use gorilla websockets +- First successful websocket event subscription +- Websocket events testing +- Use NewBlock event in rpc tests +- Cleanup tests and test contract calls +- Genesis route +- Remove unecessary response wrappers +- Add app_hash to /status +- TMResult and TMEventData +- Test cleanup +- Unsafe_set_config +- Num_unconfirmed_txs (avoid sending txs back) +- Start/stop cpu profiler +- Unsafe_write_heap_profile +- Broadcast tests. closes #219 +- Unsafe_flush_mempool. closes #190 -### Types/time +### Rpc/tests -- Add note about stripping monotonic part +- Panic dont t.Fatal. use random txs for broadcast -### Types/validator_set_test +### Server -- Move funcs around +- Allow multiple connections +- Return result with error -### Upgrading +### Service -- Add note on rpc/client subpackages (#4636) -- State store change (#5364) -- Update 0.34 instructions with updates since RC4 (#5685) -- Update 0.34 instructions with updates since RC4 (#5686) +- Start/stop logs are info, ignored are debug -### Upnp +### State -- Keep a link +- ExecTx bug fixes for create contract +- Fix debug logs +- Fix CreateAddress to use Address not Word +- Fixes for creating a contract and msging it in the same block +- Fix GetStorage on blockcache with unknown account +- FireEvents flag on ExecTx and fixes for GetAccount -### Ux +### Throttle_timer -- Use docker to format proto files (#5384) +- Fix race, use mtx instead of atomic -### Version +### Types -- Bump 0.7.3 -- Add and bump abci version -- Types -- Bump version numbers (#5173) -- Add abci version to handshake (#5706) -- Revert version through ldflag only (#6494) +- PrivVal.LastSignature. closes #247 ### Vm @@ -6223,30 +9398,3 @@ - Eventable and flip fix on CALL address - Catch stack underflow on Peek() -### Wal - -- Gr.Close() - -### Wip - -- Tendermint specification -- Priv val via sockets -- Comment types -- Fix code block in ADR -- Fix nil pointer deference -- Avoid underscore in var name -- Check error of wire read - -### Wire - -- No codec yet - -### Ws - -- Small comment -- Parse remote addrs with trailing dash (#6537) - -### WsConnection - -- Call onDisconnect - diff --git a/version/version.go b/version/version.go index e666b0d140..abaecd764d 100644 --- a/version/version.go +++ b/version/version.go @@ -9,7 +9,7 @@ var ( const ( // TMVersionDefault is the used as the fallback version for Tenderdash // when not using git describe. It is formatted with semantic versioning. - TMVersionDefault = "0.11.2" + TMVersionDefault = "0.11.3" // ABCISemVer is the semantic version of the ABCI library ABCISemVer = "0.20.0"