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.

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