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.

171 lines
3.3 KiB

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