Skip to content

0.11

Pre-release
Pre-release
Compare
Choose a tag to compare
@ccf-bot ccf-bot released this 15 Jun 18:18
aa85cd8

Changed:

  • KV reorganisation to enable app-defined serialisation (#1179, #1216, #1234)

kv.h has been split into multiple headers so apps may need to add includes for kv/store.h and kv/tx.h. The typedefs ccf::Store and ccf::Tx have been removed; apps should now use kv::Store and kv::Tx.

CCF now deals internally only with serialised data in its tables, mapping byte-vectors to byte-vectors. By default all tables will convert their keys and values to msgpack, using the existing macros for user-defined types. Apps may define custom serialisers for their own types - see kv/serialise_entry_json.h for an example.

  • Fixed issues that affected the accuracy of tx status reporting (#1157, #1150)
  • All RPCs and external APIs now use view and seqno to describe the components of a transaction ID, regardless of the specific consensus implementation selected (#1187, #1227)
  • Improved resiliency of recovery process (#1051)
  • foreach early-exit semantics are now consistent (#1222)
  • Third party dependency updates (#1144, #1148, #1149, #1151, #1155, #1255)
  • All logging output now goes to stdout, and can be configured to be either JSON or plain text (#1258) doc
  • Initial support for historical query handlers (#1207) sample
  • Implement the equivalent of "log rolling" for the ledger (#1135) doc
  • Internal RPCs renamed to follow more traditional REST conventions (#968) doc

Added:

  • Support for floating point types in default KV serialiser (#1174)
  • The start_test_network.sh script now supports recovering an old network with the --recover flag (#1095) doc
  • Application CI and runtime containers are now available (#1178)
    1. ccfciteam/ccf-app-ci:0.11 is recommended to build CCF applications
    2. ccfciteam/ccf-app-run:0.11 is recommended to run CCF nodes, for example in k8s
  • Initial websockets support (#629) sample

Removed:

ccf::Store and ccf::Tx typdefs, in favour of kv::Store and kv::Tx.