Skip to content

Releases: microsoft/CCF

0.8.1

12 Mar 18:06
49c7800
Compare
Choose a tag to compare
0.8.1 Pre-release
Pre-release

New

  • PBFT timers can be set fromcchost CLI (#929). See docs.
  • Nodes output their PID in a cchost.pid file on start-up (#927).
  • (Experimental) Members can retrieve their decrypted recovery shares via getEncryptedRecoveryShare and submit the decrypted share via submitRecoveryShare (#932).

Changed

  • App handlers should set HTTP response fields instead of custom error codes (#921). See docs.
  • Single build for Raft and PBFT consensuses (#922, #929, #935).
  • Members' proposals are forever rejected if they fail to execute (#930).
  • Original consortium members can ACK (#933).
  • PBFT performance improvements (#940, #942).
  • PBFT ledger private tables are now encrypted (#939).

0.8

04 Mar 14:42
b4d16e1
Compare
Choose a tag to compare
0.8 Pre-release
Pre-release

This pre-release enables experimental support for running CCF with the PBFT consensus protocol. In providing an experimental release of CCF with PBFT we hope to get feedback from early adopters.

Added

  • Experimental PBFT support docs
  • Increased threading support docs (#831, #838)
  • Governance proposals can now be rejected, which allows consitutions to implement veto power (#854)
  • Support for non JSON-RPC payloads (#852)
  • RPC to get the OE report (containing the SGX quote) of a specific node (#907)

Changed

  • Compatibility with msgpack 1.0.0
  • Members now need to provide two public keys, an identity to sign their proposals and votes as before, and public key with which their recovery key share will be encrypted. --member_cert cli argument replaced with --member-info when starting up a network to allow this docs
  • Member status is now a string, eg. "ACTIVE" rather than an integer (#827)
  • User apps have access to standard user-cert lookup (#906)
  • get_rpc_handler() now returns UserRpcFrontend instead of RpcHandler docs (#908)
  • All governance RPC's must now be signed (#911)
  • Test infra stores keys and certificates (e.g. networkcert.pem, user0_privk.pem) in new workspace/<test_label>_common/ folder (#892)

Removed

  • FramedTCP support

0.7.1

12 Feb 12:12
80476b2
Compare
Choose a tag to compare
0.7.1 Pre-release
Pre-release

This release contains some minor additions to 0.7:

  • Installed Python infrastructure can now be used to launch test networks of external builds (#809)
  • Initial threading support, Raft nodes now execute transactions on multiple worker threads (#773, #822)

0.7

30 Jan 18:35
2ad1536
Compare
Choose a tag to compare
0.7 Pre-release
Pre-release

This pre-release enables experimental support for Javascript as a CCF runtime, and switches the default transport to HTTP. FramedTCP is still supported in this release (-DFTCP=ON) but is deprecated and will be dropped in the next release.

Changed

  • Fixed node deadlock that could occur under heavy load (#628)
  • Fixed vulnerability to possible replay attack (#419)
  • CCF has an installable bundle (#742)
  • HTTP is the default frame format (#744)

Added

  • Added support for re-keying the ledger (#50)
  • Added QuickJS runtime and sample Javascript app (#668)

Deprecated

  • FramedTCP support. Please use the ccf_FTCP.tar.gz release bundle or build CCF with -DFTCP=ON if you require FTCP support.

0.6

10 Dec 19:10
b816666
Compare
Choose a tag to compare
0.6 Pre-release
Pre-release

This pre-release enables support for HTTP in CCF

Changed

  • Quote format in getQuotes changed from string to vector of bytes (#566)
  • Improved error reporting and logging (#572, #577, #620)
  • Node certificates endorsed by the network (#581)
  • The keygenerator.sh scripts replaces the keygenerator CLI utility to generate member and user identities.

Added

  • HTTP endpoint support when built with -DHTTP=ON, see https://microsoft.github.io/CCF/users/client.html for details.
  • [Only when building with -DHTTP=ON] The new scurl.sh script can be used to issue signed HTTP requests to CCF (e.g. for member votes). The script takes the same arguments as curl.
  • listMethods RPC for luageneric app (#570)
  • getReceipt/verifyReceipt RPCs (#567)
  • Support for app-defined ACLs (#590)

Binaries for cchost and libluagenericenc.so are attached to this release. Note that libluagenericenc.so should be signed before being deployed by CCF (see https://microsoft.github.io/CCF/developers/build_app.html#standalone-signing).

0.5

14 Nov 16:17
4aa499e
Compare
Choose a tag to compare
0.5 Pre-release
Pre-release

This pre-release fixes minor issues and clarifies some of cchost command line options.

Removed

Improvements

  • The members and users certificates can now be registered by the consortium using clients that are not the memberclient CLI (e.g. using the tests/infra/jsonrpc.py module) (#550).
  • Fix for Raft consensus to truncate the ledger whenever a rollback occurs and use commit_idx instead of last_idx in many places because of signatures (#503).
  • Join protocol over HTTP fix (#550).
  • Clearer error messages for when untrusted users/members issue transactions to CCF (#530).
  • devcontainer.json now points to right Dockerfile (#543).
  • cchost --raft-election-timeout CLI option default now set to 5000 ms (#559).
  • Better descriptions for cchost command line options (e.g. --raft-election-timeout) (#559).

The cchost, libluagenericenc.so, keygenerator and memberclient are also attached to this release to start a CCF network with lua application.
Note that libluagenericenc.so should be signed before being deployed by CCF (see https://microsoft.github.io/CCF/developers/build_app.html#standalone-signing).

0.4

04 Nov 16:02
b3fb3ba
Compare
Choose a tag to compare
0.4 Pre-release
Pre-release

In this preview release, it is possible to run CCF with the PBFT consensus algorithm, albeit with significant limitations.

The evercrypt submodule has been removed, the code is instead imported, to make release tarballs easier to use.

0.3

08 Oct 09:59
5c026be
Compare
Choose a tag to compare
0.3 Pre-release
Pre-release

This pre-release implements the genesis model described in the TR, with a distinct service opening phase. See https://microsoft.github.io/CCF/start_network.html for details.

Some discrepancies with the TR remain, and are being tracked under https://github.com/microsoft/CCF/milestone/2

0.2

10 Jun 10:46
9471bc8
Compare
Choose a tag to compare
0.2 Pre-release
Pre-release

Initial pre-release