PackageTrack

Go modules · #2377

github.com/celestiaorg/celestia-core

v0.31.12celestiaorg/celestia-core

Release timeline

196 releases since 2016
20182020202220242026

Releases

  1. v0.27.0-dev1.0.20181205123227-a14fd8eba0315 Dec 2018pre-release

    Nothing published for this version

  2. v0.27.0-dev129 Nov 2018pre-release

    Nothing published for this version

  3. v0.27.0-dev0.0.20181129132612-44b769b1acd029 Nov 2018pre-release

    Nothing published for this version

  4. v0.27.0-dev028 Nov 2018pre-release

    Nothing published for this version

  5. v0.26.5-0.20181128203509-b30c34e7135628 Nov 2018pre-release

    Nothing published for this version

  6. v0.26.427 Nov 2018
    Release notes

    November 27th, 2018

    Special thanks to external contributors on this release: @ackratos, @goolAdapter, @james-ray, @joe-bowman, @kostko, @nagarajmanjunath, @tomtau

    Friendly reminder, we have a bug bounty program.

    FEATURES:

    • [rpc] #2747 Enable subscription to tags emitted from BeginBlock/EndBlock (@kostko)
    • [types] #2747 Add ResultBeginBlock and ResultEndBlock fields to EventDataNewBlock and EventDataNewBlockHeader to support subscriptions (@kostko)
    • [types] #2918 Add Marshal, MarshalTo, Unmarshal methods to various structs to support Protobuf compatibility (@nagarajmanjunath)

    IMPROVEMENTS:

    • [config] #2877 Add blocktime_iota to the config.toml (@ackratos)
      • NOTE: this should be a ConsensusParam, not part of the config, and will be removed from the config at a later date (#2920.
    • [mempool] #2882 Add txs from Update to cache
    • [mempool] #2891 Remove local int64 counter from being stored in every tx
    • [node] #2866 Add ability to instantiate IPCVal (@joe-bowman)

    BUG FIXES:

    • [blockchain] #2731 Retry both blocks if either is bad to avoid getting stuck during fast sync (@goolAdapter)
    • [consensus] #2893 Use genDoc.Validators instead of state.NextValidators on replay when appHeight==0 (@james-ray)
    • [log] #2868 Fix module=main setting overriding all others
      • NOTE: this changes the default logging behaviour to be much less verbose. Set log_level="info" to restore the previous behaviour.
    • [rpc] #2808 Fix accum field in /validators by calling IncrementAccum if necessary
    • [rpc] #2811 Allow integer IDs in JSON-RPC requests (@tomtau)
    • [txindex/kv] #2759 Fix tx.height range queries
    • [txindex/kv] #2775 Order tx results by index if height is the same
    • [txindex/kv] #2908 Don't return false positives when searching for a prefix of a tag value
    Open source →
  7. v0.26.317 Nov 2018
    Release notes

    November 17th, 2018

    Special thanks to external contributors on this release: @danil-lashin, @kevlubkcm, @krhubert, @srmo

    Friendly reminder, we have a bug bounty program.

    BREAKING CHANGES:

    • Go API
      • [rpc] #2791 Functions that start HTTP servers are now blocking:
        • Impacts StartHTTPServer, StartHTTPAndTLSServer, and StartGRPCServer
        • These functions now take a net.Listener instead of an address
      • [rpc] #2767 Subscribing to events NewRound and CompleteProposal return new types EventDataNewRound and EventDataCompleteProposal, respectively, instead of the generic EventDataRoundState. (@kevlubkcm)

    FEATURES:

    • [log] #2843 New log_format config option, which can be set to 'plain' for colored text or 'json' for JSON output
    • [types] #2767 New event types EventDataNewRound (with ProposerInfo) and EventDataCompleteProposal (with BlockID). (@kevlubkcm)

    IMPROVEMENTS:

    • [dep] #2844 Dependencies are no longer pinned to an exact version in the Gopkg.toml:
      • Serialization libs are allowed to vary by patch release
      • Other libs are allowed to vary by minor release
    • [p2p] #2857 "Send failed" is logged at debug level instead of error.
    • [rpc] #2780 Add read and write timeouts to HTTP servers
    • [state] #2848 Make "Update to validators" msg value pretty (@danil-lashin)

    BUG FIXES:

    • [consensus] #2819 Don't send proposalHearbeat if not a validator
    • [docs] #2859 Fix ConsensusParams details in spec
    • [libs/autofile] #2760 Comment out autofile permissions check - should fix running Tendermint on Windows
    • [p2p] #2869 Set connection config properly instead of always using default
    • [p2p/pex] #2802 Seed mode fixes:
      • Only disconnect from inbound peers
      • Use FlushStop instead of Sleep to ensure all messages are sent before disconnecting
    Open source →
  8. v0.26.215 Nov 2018
    Release notes

    November 15th, 2018

    Special thanks to external contributors on this release: @hleb-albau, @zhuzeyu

    Friendly reminder, we have a bug bounty program.

    FEATURES:

    • [rpc] #2582 Enable CORS on RPC API (@hleb-albau)

    BUG FIXES:

    • [abci] #2748 Unlock mutex in localClient so even when app panics (e.g. during CheckTx), consensus continue working
    • [abci] #2748 Fix DATA RACE in localClient
    • [amino] #2822 Update to v0.14.1 to support compiling on 32-bit platforms
    • [rpc] #2748 Drain channel before calling Unsubscribe(All) in /broadcast_tx_commit
    Open source →
  9. v0.26.2-rc015 Nov 2018pre-release

    Nothing published for this version

  10. v0.26.2-0.20181115171624-9973decff9d615 Nov 2018pre-release

    Nothing published for this version

  11. v0.26.112 Nov 2018
    Release notes

    November 11, 2018

    Special thanks to external contributors on this release: @katakonst

    Friendly reminder, we have a bug bounty program.

    IMPROVEMENTS:

    • [consensus] #2704 Simplify valid POL round logic
    • [docs] #2749 Deduplicate some ABCI docs
    • [mempool] More detailed log messages

    BUG FIXES:

    • [autofile] #2703 Do not panic when checking Head size
    • [crypto/merkle] #2756 Fix crypto/merkle ProofOperators.Verify to check bounds on keypath parts.
    • [mempool] fix a bug where we create a WAL despite wal_dir being empty
    • [p2p] #2771 Fix peer-id label name to peer_id in prometheus metrics
    • [p2p] #2797 Fix IDs in peer NodeInfo and require them for addresses in AddressBook
    • [p2p] #2797 Do not close conn immediately after sending pex addrs in seed mode. Partial fix for #2092.
    Open source →
  12. v0.26.1-rc17 Nov 2018pre-release

    Nothing published for this version

  13. v0.26.1-rc0.0.20181107051246-6e9aee5460617 Nov 2018pre-release

    Nothing published for this version

  14. v0.26.1-rc06 Nov 2018pre-release

    Nothing published for this version

  15. v0.26.1-0.20181106065344-03e42d2e38666 Nov 2018pre-release

    Nothing published for this version

  16. v0.26.03 Nov 2018
    Release notes

    November 2, 2018

    Special thanks to external contributors on this release: @bradyjoestar, @connorwstein, @goolAdapter, @HaoyangLiu, @james-ray, @overbool, @phymbert, @Slamper, @Uzair1995, @yutianwu.

    Special thanks to @Slamper for a series of bug reports in our bug bounty program which are fixed in this release.

    This release is primarily about adding Version fields to various data structures, optimizing consensus messages for signing and verification in restricted environments (like HSMs and the Ethereum Virtual Machine), and aligning the consensus code with the specification. It also includes our first take at a generalized merkle proof system, and changes the length of hashes used for hashing data structures from 20 to 32 bytes.

    See the UPGRADING.md for details on upgrading to the new version.

    Please note that we are still making breaking changes to the protocols. While the new Version fields should help us to keep the software backwards compatible even while upgrading the protocols, we cannot guarantee that new releases will be compatible with old chains just yet. We expect there will be another breaking release or two before the Cosmos Hub launch, but we will otherwise be paying increasing attention to backwards compatibility. Thanks for bearing with us!

    BREAKING CHANGES:

    • CLI/RPC/Config

      • [config] #2232 Timeouts are now strings like "3s" and "100ms", not ints
      • [config] #2505 Remove Mempool.RecheckEmpty (it was effectively useless anyways)
      • [config] #2490 mempool.wal is disabled by default
      • [privval] #2459 Split SocketPVMsgs implementations into Request and Response, where the Response may contain a error message (returned by the remote signer)
      • [state] #2644 Add Version field to State, breaking the format of State as encoded on disk.
      • [rpc] #2298 /abci_query takes prove argument instead of trusted and switches the default behaviour to prove=false
      • [rpc] #2654 Remove all node_info.other.*_version fields in /status and /net_info
      • [rpc] #2636 Remove _params suffix from fields in consensus_params.
    • Apps

      • [abci] #2298 ResponseQuery.Proof is now a structured merkle.Proof, not just arbitrary bytes
      • [abci] #2644 Add Version to Header and shift all fields by one
      • [abci] #2662 Bump the field numbers for some ResponseInfo fields to make room for AppVersion
      • [abci] #2636 Updates to ConsensusParams
        • Remove Params suffix from field names
        • Add Params suffix to message types
        • Add new field and type, Validator ValidatorParams, to control what types of validator keys are allowed.
    • Go API

      • [config] #2232 Timeouts are time.Duration, not ints
      • [crypto/merkle & lite] #2298 Various changes to accomodate General Merkle trees
      • [crypto/merkle] #2595 Remove all Hasher objects in favor of byte slices
      • [crypto/merkle] #2635 merkle.SimpleHashFromTwoHashes is no longer exported
      • [node] #2479 Remove node.RunForever
      • [rpc/client] #2298 ABCIQueryOptions.Trusted -> ABCIQueryOptions.Prove
      • [types] #2298 Remove Index and Total fields from TxProof.
      • [types] #2598 VoteTypeXxx are now of type SignedMsgType byte and named XxxType, eg. PrevoteType, PrecommitType.
      • [types] #2636 Rename fields in ConsensusParams to remove Params suffixes
      • [types] #2735 Simplify Proposal message to align with spec
    • Blockchain Protocol

      • [crypto/tmhash] #2732 TMHASH is now full 32-byte SHA256
        • All hashes in the block header and Merkle trees are now 32-bytes
        • PubKey Addresses are still only 20-bytes
      • [state] #2587 Require block.Time of the fist block to be genesis time
      • [state] #2644 Require block.Version to match state.Version
      • [types] Update SignBytes for Vote/Proposal/Heartbeat:
        • #2459 Use amino encoding instead of JSON in SignBytes.
        • #2598 Reorder fields and use fixed sized encoding.
        • #2598 Change Type field from string to byte and use new SignedMsgType to enumerate.
      • [types] #2730 Use same order for fields in Vote as in the SignBytes
      • [types] #2732 Remove the address field from the validator hash
      • [types] #2644 Add Version struct to Header
      • [types] #2609 ConsensusParams.Hash() is the hash of the amino encoded struct instead of the Merkle tree of the fields
      • [types] #2670 Header.Hash() builds Merkle tree out of fields in the same order they appear in the header, instead of sorting by field name
      • [types] #2682 Use proto3 varint encoding for ints that are usually unsigned (instead of zigzag encoding).
      • [types] #2636 Add Validator field to ConsensusParams (Used to control which pubkey types validators can use, by abci type).
    • P2P Protocol

      • [consensus] #2652 Replace CommitStepMessage with NewValidBlockMessage
      • [consensus] #2735 Simplify Proposal message to align with spec
      • [consensus] #2730 Add Type field to Proposal and use same order of fields as in the SignBytes for both Proposal and Vote
      • [p2p] #2654 Add ProtocolVersion struct with protocol versions to top of DefaultNodeInfo and require ProtocolVersion.Block to match during peer handshake

    FEATURES:

    • [abci] #2557 Add Codespace field to Response{CheckTx, DeliverTx, Query}
    • [abci] #2662 Add BlockVersion and P2PVersion to RequestInfo
    • [crypto/merkle] #2298 General Merkle Proof scheme for chaining various types of Merkle trees together
    • [docs/architecture] #1181 S plit immutable and mutable parts of priv_validator.json

    IMPROVEMENTS:

    • Additional Metrics
    • [config] #2232 Added ValidateBasic method, which performs basic checks
    • [crypto/ed25519] #2558 Switch to use latest golang.org/x/crypto through our fork at github.com/tendermint/crypto
    • [libs/log] #2707 Add year to log format (@yutianwu)
    • [tools] #2238 Binary dependencies are now locked to a specific git commit

    BUG FIXES:

    • #2711 Validate all incoming reactor messages. Fixes various bugs due to negative ints.
    • [autofile] #2428 Group.RotateFile need call Flush() before rename (@goolAdapter)
    • [common] #2533 Fixed a bug in the BitArray.Or method
    • [common] #2506 Fixed a bug in the BitArray.Sub method (@james-ray)
    • [common] #2534 Fix BitArray.PickRandom to choose uniformly from true bits
    • [consensus] #1690 Wait for timeoutPrecommit before starting next round
    • [consensus] #1745 Wait for Proposal or timeoutProposal before entering prevote
    • [consensus] #2642 Only propose ValidBlock, not LockedBlock
    • [consensus] #2642 Initialized ValidRound and LockedRound to -1
    • [consensus] #1637 Limit the amount of evidence that can be included in a block
    • [consensus] #2652 Ensure valid block property with faulty proposer
    • [evidence] #2515 Fix db iter leak (@goolAdapter)
    • [libs/event] #2518 Fix event concurrency flaw (@goolAdapter)
    • [node] #2434 Make node respond to signal interrupts while sleeping for genesis time
    • [state] #2616 Pass nil to NewValidatorSet() when genesis file's Validators field is nil
    • [p2p] #2555 Fix p2p switch FlushThrottle value (@goolAdapter)
    • [p2p] #2668 Reconnect to originally dialed address (not self-reported address) for persistent peers
    Open source →
  17. v0.26.0-dev015 Oct 2018pre-release

    Nothing published for this version

  18. v0.25.1-0.20181015022841-37928cb9907a15 Oct 2018pre-release

    Nothing published for this version

  19. v0.25.023 Sept 2018
    Release notes

    September 22, 2018

    Special thanks to external contributors on this release: @scriptionist, @bradyjoestar, @WALL-E

    This release is mostly about the ConsensusParams - removing fields and enforcing MaxGas. It also addresses some issues found via security audit, removes various unused functions from libs/common, and implements ADR-012.

    Friendly reminder, we have a bug bounty program.

    BREAKING CHANGES:

    • CLI/RPC/Config

      • [rpc] #2391 /status result.node_info.other became a map
      • [types] #2364 Remove TxSize and BlockGossip from ConsensusParams
        • Maximum tx size is now set implicitly via the BlockSize.MaxBytes
        • The size of block parts in the consensus is now fixed to 64kB
    • Apps

      • [mempool] #2360 Mempool tracks the ResponseCheckTx.GasWanted and ConsensusParams.BlockSize.MaxGas and enforces:
        • GasWanted <= MaxGas for every tx
        • (sum of GasWanted in block) <= MaxGas for block proposal
    • Go API

      • [libs/common] #2431 Remove Word256 due to lack of use
      • [libs/common] #2452 Remove the following functions due to lack of use:
        • byteslice.go: cmn.IsZeros, cmn.RightPadBytes, cmn.LeftPadBytes, cmn.PrefixEndBytes
        • strings.go: cmn.IsHex, cmn.StripHex
        • int.go: Uint64Slice, all put/get int64 methods

    FEATURES:

    • [rpc] #2415 New /consensus_params?height=X endpoint to query the consensus params at any height (@scriptonist)
    • [types] #1714 Add Address to GenesisValidator
    • [metrics] #2337 consensus.block_interval_metrics is now gauge, not histogram (you will be able to see spikes, if any)
    • [libs] #2286 Panic if autofile or db/fsdb permissions change from 0600.

    IMPROVEMENTS:

    • [libs/db] #2371 Output error instead of panic when the given db_backend is not initialised (@bradyjoestar)
    • [mempool] #2399 Make mempool cache a proper LRU (@bradyjoestar)
    • [p2p] #2126 Introduce PeerTransport interface to improve isolation of concerns
    • [libs/common] #2326 Service returns ErrNotStarted

    BUG FIXES:

    • [node] #2294 Delay starting node until Genesis time
    • [consensus] #2048 Correct peer statistics for marking peer as good
    • [rpc] #2460 StartHTTPAndTLSServer() now passes StartTLS() errors back to the caller rather than hanging forever.
    • [p2p] #2047 Accept new connections asynchronously
    • [tm-bench] #2410 Enforce minimum transaction size (@WALL-E)
    Open source →
  20. v0.24.07 Sept 2018
    Release notes

    September 6th, 2018

    Special thanks to external contributors with PRs included in this release: ackratos, james-ray, bradyjoestar, peerlink, Ahmah2009, bluele, b00f.

    This release includes breaking upgrades in the block header, including the long awaited changes for delaying validator set updates by one block to better support light clients. It also fixes enforcement on the maximum size of blocks, and includes a BFT timestamp in each block that can be safely used by applications. There are also some minor breaking changes to the rpc, config, and ABCI.

    See the UPGRADING.md for details on upgrading to the new version.

    From here on, breaking changes will be broken down to better reflect how users are affected by a change.

    A few more breaking changes are in the works - each will come with a clear Architecture Decision Record (ADR) explaining the change. You can review ADRs here or in the open Pull Requests. You can also check in on the issues marked as breaking.

    BREAKING CHANGES:

    • CLI/RPC/Config

      • [config] #2169 Replace MaxNumPeers with MaxNumInboundPeers and MaxNumOutboundPeers
      • [config] #2300 Reduce default mempool size from 100k to 5k, until ABCI rechecking is implemented.
      • [rpc] #1815 /commit returns a signed_header field instead of everything being top-level
    • Apps

      • [abci] Added address of the original proposer of the block to Header
      • [abci] Change ABCI Header to match Tendermint exactly
      • [abci] #2159 Update use of Validator (see ADR-018):
        • Remove PubKey from Validator (so it's just Address and Power)
        • Introduce ValidatorUpdate (with just PubKey and Power)
        • InitChain and EndBlock use ValidatorUpdate
        • Update field names and types in BeginBlock
      • [state] #1815 Validator set changes are now delayed by one block
        • updates returned in ResponseEndBlock for block H will be included in RequestBeginBlock for block H+2
    • Go API

      • [lite] #1815 Complete refactor of the package
      • [node] #2212 NewNode now accepts a *p2p.NodeKey (@bradyjoestar)
      • [libs/common] #2199 Remove Fmt, in favor of fmt.Sprintf
      • [libs/common] SplitAndTrim was deleted
      • [libs/common] #2274 Remove unused Math functions like MaxInt, MaxInt64, MinInt, MinInt64 (@Ahmah2009)
      • [libs/clist] Panics if list extends beyond MaxLength
      • [crypto] #2205 Rename AminoRoute variables to no longer be prefixed by signature type.
    • Blockchain Protocol

      • [state] #1815 Validator set changes are now delayed by one block (!)
        • Add NextValidatorSet to State, changes on-disk representation of state
      • [state] #2184 Enforce ConsensusParams.BlockSize.MaxBytes (See ADR-020).
        • Remove ConsensusParams.BlockSize.MaxTxs
        • Introduce maximum sizes for all components of a block, including ChainID
      • [types] Updates to the block Header:
        • #1815 NextValidatorsHash - hash of the validator set for the next block, so the current validators actually sign over the hash for the new validators
        • #2106 ProposerAddress - address of the block's original proposer
      • [consensus] #2203 Implement BFT time
        • Timestamp in block must be monotonic and equal the median of timestamps in block's LastCommit
      • [crypto] #2239 Secp256k1 signature changes (See ADR-014):
        • format changed from DER to r || s, both little endian encoded as 32 bytes.
        • malleability removed by requiring s to be in canonical form.
    • P2P Protocol

      • [p2p] #2263 Update secret connection to use a little endian encoded nonce
      • [blockchain] #2213 Fix Amino routes for blockchain reactor messages (@peerlink)

    FEATURES:

    • [types] #2015 Allow genesis file to have 0 validators (@b00f)
      • Initial validator set can be determined by the app in ResponseInitChain
    • [rpc] #2161 New event ValidatorSetUpdates for when the validator set changes
    • [crypto/multisig] #2164 Introduce multisig pubkey and signature format
    • [libs/db] #2293 Allow passing options through when creating instances of leveldb dbs

    IMPROVEMENTS:

    • [docs] Lint documentation with write-good and stop-words.
    • [docs] #2249 Refactor, deduplicate, and improve the ABCI docs and spec (with thanks to @ttmc).
    • [scripts] #2196 Added json2wal tool, which is supposed to help our users restore (@bradyjoestar) corrupted WAL files and compose test WAL files (@bradyjoestar)
    • [mempool] #2234 Now stores txs by hash inside of the cache, to mitigate memory leakage
    • [mempool] #2166 Set explicit capacity for map when updating txs (@bluele)

    BUG FIXES:

    • [config] #2284 Replace db_path with db_dir from automatically generated configuration files.
    • [mempool] #2188 Fix OOM issue from cache map and list getting out of sync
    • [state] #2051 KV store index supports searching by tx.height (@ackratos)
    • [rpc] #2327 /dial_peers does not try to dial existing peers
    • [node] #2323 Filter empty strings from config lists (@james-ray)
    • [abci/client] #2236 Fix closing GRPC connection (@bradyjoestar)
    Open source →
  21. v0.24.0-rc05 Sept 2018pre-release

    Nothing published for this version

  22. v0.23.2-0.20180905231506-604eae86b6625 Sept 2018pre-release

    Nothing published for this version

  23. v0.23.131 Aug 2018
    Release notes

    August 22nd, 2018

    BUG FIXES:

    • [libs/autofile] #2261 Fix log rotation so it actually happens.
      • Fixes issues with consensus WAL growing unbounded ala #2259
    Open source →
  24. v0.23.05 Aug 2018
    Release notes

    August 5th, 2018

    This release includes breaking upgrades in our P2P encryption, some ABCI messages, and how we encode time and signatures.

    A few more changes are still coming to the Header, ABCI, and validator set handling to better support light clients, BFT time, and upgrades. Most notably, validator set changes will be delayed by one block (see #1815).

    We also removed make ensure_deps in favour of make get_vendor_deps.

    BREAKING CHANGES:

    • [abci] Changed time format from int64 to google.protobuf.Timestamp
    • [abci] Changed Validators to LastCommitInfo in RequestBeginBlock
    • [abci] Removed Fee from ResponseDeliverTx and ResponseCheckTx
    • [crypto] Switch crypto.Signature from interface to []byte for space efficiency #2128
      • NOTE: this means signatures no longer have the prefix bytes in Amino binary nor the type field in Amino JSON. They're just bytes.
    • [p2p] Remove salsa and ripemd primitives, in favor of using chacha as a stream cipher, and hkdf #2054
    • [tools] Removed make ensure_deps in favor of make get_vendor_deps
    • [types] CanonicalTime uses nanoseconds instead of clipping to ms
      • breaks serialization/signing of all messages with a timestamp

    FEATURES:

    • [tools] Added make check_dep
      • ensures gopkg.lock is synced with gopkg.toml
      • ensures no branches are used in the gopkg.toml

    IMPROVEMENTS:

    • [blockchain] Improve fast-sync logic #1805
      • tweak params
      • only process one block at a time to avoid starving
    • [common] bit array functions which take in another parameter are now thread safe
    • [crypto] Switch hkdfchachapoly1305 to xchachapoly1305
    • [p2p] begin connecting to peers as soon a seed node provides them to you (#2093)

    BUG FIXES:

    • [common] Safely handle cases where atomic write files already exist #2109
    • [privval] fix a deadline for accepting new connections in socket private validator.
    • [p2p] Allow startup if a configured seed node's IP can't be resolved (#1716)
    • [node] Fully exit when CTRL-C is pressed even if consensus state panics #2072
    Open source →
  25. v0.22.9-0.20180727021327-40d6dc2ee55a27 Jul 2018pre-release

    Nothing published for this version

  26. v0.22.827 Jul 2018
    Release notes

    July 26th, 2018

    BUG FIXES

    • [consensus, blockchain] Fix 0.22.7 below.
    Open source →
  27. v0.22.8-rc027 Jul 2018pre-release

    Nothing published for this version

  28. v0.22.8-autodraft27 Jul 2018pre-release

    Nothing published for this version

  29. v0.22.8-0.20180727010809-d542d2c3945127 Jul 2018pre-release

    Nothing published for this version

  30. v0.22.726 Jul 2018
    Release notes

    July 26th, 2018

    BUG FIXES

    • [consensus, blockchain] Register the Evidence interface so it can be marshalled/unmarshalled by the blockchain and consensus reactors
    Open source →
  31. v0.22.625 Jul 2018
    Release notes

    July 24th, 2018

    BUG FIXES

    • [rpc] Fix /blockchain endpoint
      • (#2049) Fix OOM attack by returning error on negative input
      • Fix result length to have max 20 (instead of 21) block metas
    • [rpc] Validate height is non-negative in /abci_query
    • [consensus] (#2050) Include evidence in proposal block parts (previously evidence was not being included in blocks!)
    • [p2p] (#2046) Close rejected inbound connections so file descriptor doesn't leak
    • [Gopkg] (#2053) Fix versions in the toml
    Open source →
  32. v0.22.6-rc025 Jul 2018pre-release

    Nothing published for this version

  33. v0.22.6-0.20180725015839-6046b991973f25 Jul 2018pre-release

    Nothing published for this version

  34. v0.22.524 Jul 2018
    Release notes

    July 23th, 2018

    BREAKING CHANGES:

    • [crypto] Refactor tendermint/crypto into many subpackages
    • [libs/common] remove exponentially distributed random numbers

    IMPROVEMENTS:

    • [abci, libs/common] Generated gogoproto static marshaller methods
    • [config] Increase default send/recv rates to 5 mB/s
    • [p2p] reject addresses coming from private peers
    • [p2p] allow persistent peers to be private

    BUG FIXES:

    • [mempool] fixed a race condition when create_empty_blocks=false where a transaction is published at an old height.
    • [p2p] dial external IP setup by persistent_peers, not internal NAT IP
    • [rpc] make /status RPC endpoint resistant to consensus halt
    Open source →
  35. v0.22.414 Jul 2018
    Release notes

    July 14th, 2018

    BREAKING CHANGES:

    • [genesis] removed deprecated app_options field.
    • [types] Genesis.AppStateJSON -> Genesis.AppState

    FEATURES:

    • [tools] Merged in from github.com/tendermint/tools

    BUG FIXES:

    • [tools/tm-bench] Various fixes
    • [consensus] Wait for WAL to stop on shutdown
    • [abci] Fix #1891, pending requests cannot hang when abci server dies. Previously a crash in BeginBlock could leave tendermint in broken state.
    Open source →
  36. v0.22.4-rc014 Jul 2018pre-release

    Nothing published for this version

  37. v0.22.4-0.20180714122954-94006855d14f14 Jul 2018pre-release

    Nothing published for this version

  38. v0.22.310 Jul 2018
    Release notes

    July 10th, 2018

    IMPROVEMENTS

    • Update dependencies
      • pin all values in Gopkg.toml to version or commit
      • update golang/protobuf to v1.1.0
    Open source →
  39. v0.22.210 Jul 2018
    Release notes

    July 10th, 2018

    IMPROVEMENTS

    • More cleanup post repo merge!
    • [docs] Include ecosystem.json and tendermint-bft.md from deprecated aib-data repository.
    • [config] Add instrumentation.max_open_connections, which limits the number of requests in flight to Prometheus server (if enabled). Default: 3.

    BUG FIXES

    • [rpc] Allow unquoted integers in requests
      • NOTE: this is only for URI requests. JSONRPC requests and all responses will use quoted integers (the proto3 JSON standard).
    • [consensus] Fix halt on shutdown
    Open source →
  40. v0.22.2-rc010 Jul 2018pre-release

    Nothing published for this version

  41. v0.22.2-0.20180710135515-ac3b764b528610 Jul 2018pre-release

    Nothing published for this version

  42. v0.22.110 Jul 2018
    Release notes

    July 5th, 2018

    IMPROVEMENTS

    • Cleanup post repo-merge.
    • [docs] Various improvements.

    BUG FIXES

    • [state] Return error when EndBlock returns a 0-power validator that isn't already in the validator set.
    • [consensus] Shut down WAL properly.
    Open source →
  43. v0.22.1-0.20180704012003-fa05b03956784 Jul 2018pre-release

    Nothing published for this version

  44. v0.22.02 Jul 2018
    Release notes

    July 2nd, 2018

    BREAKING CHANGES:

    • [config]
      • Remove max_block_size_txs and max_block_size_bytes in favor of consensus params from the genesis file.
      • Rename skip_upnp to upnp, and turn it off by default.
      • Change max_packet_msg_size back to max_packet_msg_payload_size
    • [rpc]
      • All integers are encoded as strings (part of the update for Amino v0.10.1)
      • syncing is now called catching_up
    • [types] Update Amino to v0.10.1
      • Amino is now fully proto3 compatible for the basic types
      • JSON-encoded types now use the type name instead of the prefix bytes
      • Integers are encoded as strings
    • [crypto] Update go-crypto to v0.10.0 and merge into crypto
      • privKey.Sign returns error.
      • ed25519 address changed to the first 20-bytes of the SHA256 of the raw pubkey bytes
      • tmlibs/merkle -> crypto/merkle. Uses SHA256 instead of RIPEMD160
    • [tmlibs] Update to v0.9.0 and merge into libs
      • remove merkle package (moved to crypto/merkle)

    FEATURES

    • [cmd] Added metrics (served under /metrics using a Prometheus client; disabled by default). See the new instrumentation section in the config and metrics guide.
    • [p2p] Add IPv6 support to peering.
    • [p2p] Add external_address to config to allow specifying the address for peers to dial

    IMPROVEMENT

    • [rpc/client] Supports https and wss now.
    • [crypto] Make public key size into public constants
    • [mempool] Log tx hash, not entire tx
    • [abci] Merged in github.com/tendermint/abci
    • [crypto] Merged in github.com/tendermint/go-crypto
    • [libs] Merged in github.com/tendermint/tmlibs
    • [docs] Move from .rst to .md

    BUG FIXES:

    • [rpc] Limit maximum number of HTTP/WebSocket connections (rpc.max_open_connections) and gRPC connections (rpc.grpc_max_open_connections). Check out "Running In Production" guide if you want to increase them.
    • [rpc] Limit maximum request body size to 1MB (header is limited to 1MB).
    • [consensus] Fix a halting bug where create_empty_blocks=false
    • [p2p] Fix panic in seed mode
    Open source →
  45. v0.22.0-rc22 Jul 2018pre-release

    Nothing published for this version

  46. v0.22.0-rc1.0.20180702184059-5923b6288fe82 Jul 2018pre-release

    Nothing published for this version

  47. v0.22.0-rc11 Jul 2018pre-release

    Nothing published for this version

  48. v0.22.0-rc0.0.20180701165351-af703620d4421 Jul 2018pre-release

    Nothing published for this version

  49. v0.22.0-rc01 Jul 2018pre-release

    Nothing published for this version

  50. v0.22.0-autodraft4 Jul 2018pre-release

    Nothing published for this version

  51. v0.21.1-rc1.0.20180701155106-3a0dff7db2621 Jul 2018pre-release

    Nothing published for this version

  52. v0.21.1-rc127 Jun 2018pre-release

    Nothing published for this version

  53. v0.21.1-0.20180627141445-aa20c45ae99b27 Jun 2018pre-release

    Nothing published for this version

  54. v0.21.021 Jun 2018
    Release notes

    June 21th, 2018

    BREAKING CHANGES

    • [config] Change default ports from 4665X to 2665X. Ports over 32768 are ephemeral and reserved for use by the kernel.
    • [cmd] unsafe_reset_all removes the addrbook.json

    IMPROVEMENT

    • [pubsub] Set default capacity to 0
    • [docs] Various improvements

    BUG FIXES

    • [consensus] Fix an issue where we don't make blocks after fast_sync when create_empty_blocks=false
    • [mempool] Fix #1761 where we don't process txs if cache_size=0
    • [rpc] Fix memory leak in Websocket (when using /subscribe method)
    • [config] Escape paths in config - fixes config paths on Windows
    Open source →
  55. v0.21.0-rc0.0.20180619012119-4b2348f697d919 Jun 2018pre-release

    Nothing published for this version

  56. v0.21.0-rc015 Jun 2018pre-release

    Nothing published for this version

  57. v0.20.1-rc019 Jun 2018pre-release

    Nothing published for this version

  58. v0.20.1-0.20180615032204-c84be3b8ddf415 Jun 2018pre-release

    Nothing published for this version

  59. v0.20.07 Jun 2018
    Release notes

    June 6th, 2018

    This is the first in a series of breaking releases coming to Tendermint after soliciting developer feedback and conducting security audits.

    This release does not break any blockchain data structures or protocols other than the ABCI messages between Tendermint and the application.

    Applications that upgrade for ABCI v0.11.0 should be able to continue running Tendermint v0.20.0 on blockchains created with v0.19.X

    BREAKING CHANGES

    • [abci] Upgrade to v0.11.0
    • [abci] Change Query path for filtering peers by node ID from p2p/filter/pubkey/<id> to p2p/filter/id/<id>
    Open source →
  60. v0.19.96 Jun 2018
    Release notes

    June 5th, 2018

    BREAKING CHANGES

    • [types/priv_validator] Moved to top level privval package

    FEATURES

    • [config] Collapse PeerConfig into P2PConfig
    • [docs] Add quick-install script
    • [docs/spec] Add table of Amino prefixes

    BUG FIXES

    • [rpc] Return 404 for unknown endpoints
    • [consensus] Flush WAL on stop
    • [evidence] Don't send evidence to peers that are behind
    • [p2p] Fix memory leak on peer disconnects
    • [rpc] Fix panic when per_page=0
    Open source →