Releases: microsoft/CCF
0.8.1
New
- PBFT timers can be set from
cchost
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 viasubmitRecoveryShare
(#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
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 returnsUserRpcFrontend
instead ofRpcHandler
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 newworkspace/<test_label>_common/
folder (#892)
Removed
- FramedTCP support
0.7.1
0.7
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
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
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 thekeygenerator
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 newscurl.sh
script can be used to issue signed HTTP requests to CCF (e.g. for member votes). The script takes the same arguments ascurl
. 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
This pre-release fixes minor issues and clarifies some of cchost
command line options.
Removed
- The
new_user
function in constitution scripts (e.g.gov.lua
) should be deleted as it is now directly implemented inside CCF (#550). cmake -DTARGET=all
replaced withcmake -DTARGET=sgx;virtual
. See https://microsoft.github.io/CCF/quickstart/build.html#build-switches for new values (#513).
Improvements
- The members and users certificates can now be registered by the consortium using clients that are not the
memberclient
CLI (e.g. using thetests/infra/jsonrpc.py
module) (#550). - Fix for Raft consensus to truncate the ledger whenever a rollback occurs and use
commit_idx
instead oflast_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
0.3
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