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.

246 lines
5.6 KiB

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