You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

224 lines
5.0 KiB

8 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
  1. # Changelog
  2. ## 0.7.0 (October 27, 2017)
  3. BREAKING CHANGES:
  4. - [cli] consolidate example apps under a single `abci-cli` binary
  5. IMPROVEMENTS:
  6. - [cli] use spf13/cobra instead of urfave/cli
  7. - [dummy] use iavl instead of merkleeyes, and add support for historical queries
  8. BUG FIXES:
  9. - [client] fix deadlock on StopForError
  10. ## 0.6.0 (September 22, 2017)
  11. BREAKING CHANGES:
  12. - [types/client] app.BeginBlock takes RequestBeginBlock
  13. - [types/client] app.InitChain takes RequestInitChain
  14. - [types/client] app.Info takes RequestInfo
  15. IMPROVEMENTS:
  16. - various linting
  17. ## 0.5.0 (May 18, 2017)
  18. BREAKING CHANGES:
  19. - `NewSocketClient` and `NewGRPCClient` no longer start the client automatically, and don't return errors. The caller is responsible for running `client.Start()` and checking the error.
  20. - `NewSocketServer` and `NewGRPCServer` no longer start the server automatically, and don't return errors. The caller is responsible for running `server.Start()` and checking the error.
  21. FEATURES:
  22. - [types] new method `func (res Result) IsSameCode(compare Result) bool` checks whether two results have the same code
  23. - [types] new methods `func (r *ResponseCheckTx) Result() Result` and `func (r *ResponseDeliverTx) Result() Result` to convert from protobuf types (for control over json serialization)
  24. - [types] new method `func (r *ResponseQuery) Result() *ResultQuery` and struct `ResultQuery` to convert from protobuf types (for control over json serializtion)
  25. IMPROVEMENTS:
  26. - Update imports for new `tmlibs` repository
  27. - Use the new logger
  28. - [abci-cli] Add flags to the query command for `path`, `height`, and `prove`
  29. - [types] use `data.Bytes` and `json` tags in the `Result` struct
  30. BUG FIXES:
  31. ## 0.4.1 (April 18, 2017)
  32. IMPROVEMENTS:
  33. - Update dependencies
  34. ## 0.4.0 (March 6, 2017)
  35. BREAKING CHANGES:
  36. - Query takes RequestQuery and returns ResponseQuery. The request is split into `data` and `path`,
  37. can specify a height to query the state from, and whether or not the response should come with a proof.
  38. The response returns the corresponding key-value pair, with proof if requested.
  39. ```
  40. message RequestQuery{
  41. bytes data = 1;
  42. string path = 2;
  43. uint64 height = 3;
  44. bool prove = 4;
  45. }
  46. message ResponseQuery{
  47. CodeType code = 1;
  48. int64 index = 2;
  49. bytes key = 3;
  50. bytes value = 4;
  51. bytes proof = 5;
  52. uint64 height = 6;
  53. string log = 7;
  54. }
  55. ```
  56. IMPROVEMENTS:
  57. - Updates to Makefile
  58. - Various cleanup
  59. - BaseApplication can be embedded by new apps to avoid implementing empty methods
  60. - Drop BlockchainAware and make BeginBlock/EndBlock part of the `type Application interface`
  61. ## 0.3.0 (January 12, 2017)
  62. BREAKING CHANGES:
  63. - TMSP is now ABCI (Application/Asynchronous/A BlockChain Interface or Atomic BroadCast Interface)
  64. - AppendTx is now DeliverTx (conforms to the literature)
  65. - BeginBlock takes a Header:
  66. ```
  67. message RequestBeginBlock{
  68. bytes hash = 1;
  69. Header header = 2;
  70. }
  71. ```
  72. - Info returns a ResponseInfo, containing last block height and app hash:
  73. ```
  74. message ResponseInfo {
  75. string data = 1;
  76. string version = 2;
  77. uint64 last_block_height = 3;
  78. bytes last_block_app_hash = 4;
  79. }
  80. ```
  81. - EndBlock returns a ResponseEndBlock, containing the changed validators:
  82. ```
  83. message ResponseEndBlock{
  84. repeated Validator diffs = 4;
  85. }
  86. ```
  87. - Hex strings are 0x-prefixed in the CLI
  88. - Query on the Dummy app now uses hex-strings
  89. FEATURES:
  90. - New app, PersistentDummy, uses Info/BeginBlock to recover from failures and supports validator set changes
  91. - New message types for blockchain data:
  92. ```
  93. //----------------------------------------
  94. // Blockchain Types
  95. message Header {
  96. string chain_id = 1;
  97. uint64 height = 2;
  98. uint64 time = 3;
  99. uint64 num_txs = 4;
  100. BlockID last_block_id = 5;
  101. bytes last_commit_hash = 6;
  102. bytes data_hash = 7;
  103. bytes validators_hash = 8;
  104. bytes app_hash = 9;
  105. }
  106. message BlockID {
  107. bytes hash = 1;
  108. PartSetHeader parts = 2;
  109. }
  110. message PartSetHeader {
  111. uint64 total = 1;
  112. bytes hash = 2;
  113. }
  114. message Validator {
  115. bytes pubKey = 1;
  116. uint64 power = 2;
  117. }
  118. ```
  119. - Add support for Query to Counter app
  120. IMPROVEMENT:
  121. - Don't exit the tmsp-cli console on bad args
  122. BUG FIXES:
  123. - Fix parsing in the Counter app to handle invalid transactions
  124. ## 0.2.1 (September 12, 2016)
  125. IMPROVEMENTS
  126. - Better error handling in console
  127. ## 0.2.0 (July 23, 2016)
  128. BREAKING CHANGES:
  129. - Use `oneof` types in protobuf
  130. FEATURES:
  131. - GRPC support
  132. ## PreHistory
  133. ##### Mar 26h, 2016
  134. * Introduce BeginBlock
  135. ##### Mar 6th, 2016
  136. * Added InitChain, EndBlock
  137. ##### Feb 14th, 2016
  138. * s/GetHash/Commit/g
  139. * Document Protobuf request/response fields
  140. ##### Jan 23th, 2016
  141. * Added CheckTx/Query ABCI message types
  142. * Added Result/Log fields to DeliverTx/CheckTx/SetOption
  143. * Removed Listener messages
  144. * Removed Code from ResponseSetOption and ResponseGetHash
  145. * Made examples BigEndian
  146. ##### Jan 12th, 2016
  147. * Added "RetCodeBadNonce = 0x06" return code
  148. ##### Jan 8th, 2016
  149. * Tendermint/ABCI now comes to consensus on the order first before DeliverTx.