Releases: microsoft/CCF
Releases · microsoft/CCF
5.0.0-dev5
- In governance contexts, JS runtimes now only use runtime limits from the public:ccf.gov.js_runtime_options map if they are strictly higher than the defaults (#5730).
- Fixed an issue where a JS runtime limit could be hit out of user code execution, leading to an incorrectly constructed JS runtime or a crash (#5730).
- Added a GET /node/primary endpoint, returning 200 when primary and 404 when not, for load balancers to use (#5789).
MCR Docker Images: App Development, C++ Runtime, TypeScript/JavaScript Runtime
4.0.11
- Path to the enclave file should now be passed as
--enclave-file
CLI argument tocchost
, rather thanenclave.file
entry within configuration file. A potential SNP security context directory environment variable override, where desired, should now be passed as--snp-security-context-dir-var
CLI argument tocchost
, rather thanattestation.environment.security_context_directory
entry within configuration file. This is to ensure that these values are attested on Confidential Containers/SNP, even if the configuration itself is provided from un-attested storage, such as an external mount. The configuration entries are deprecated, and will be removed in a future release. - A new versioned governance API is now available, with the
api-version=2023-06-01-preview
query parameter. This will fully replace the previous governance endpoints, which will be removed in a future release. A guide to aid in upgrading from the previous API is available here - Added a
consensus.max_uncommitted_tx_count
configuration option, which specifies the maximum number of transactions that can be pending on the primary. When that threshold is exceeded, a503 Service Unavailable
is temporarily returned on all but the/node/*
paths (#5692). - In governance contexts, JS runtimes now only use runtime limits from the public:ccf.gov.js_runtime_options map if they are strictly higher than the defaults (#5730).
- Fixed an issue where a JS runtime limit could be hit out of user code execution, leading to an incorrectly constructed JS runtime or a crash (#5730).
5.0.0-dev4
- Fix for JS execution behaviour when reusing interpreters. Storing KV handles on the global state may lead to unsafe accesses. Work around that by lazily requesting handles in the TypedKvMap for TypeScript apps.
- On retirement, nodes that are primary now request that their most likely successor triggers and instant election, without waiting for a timeout. This speeds up some reconfigurations, particularly code updates since they result in all the nodes being replaced. (#5697)
MCR Docker Images: App Development, C++ Runtime, TypeScript/JavaScript Runtime
5.0.0-dev3
- Added a
consensus.max_uncommitted_tx_count
configuration option, which specifies the maximum number of transactions that can be pending on the primary. When that threshold is exceeded, a503 Service Unavailable
is temporarily returned on all but the/node/*
paths (#5692). - A new versioned governance API is now available, with the
api-version=2023-06-01-preview
query parameter. This will fully replace the previous governance endpoints, which will be removed in a future release. A guide to aid in upgrading from the previous API is available here
MCR Docker Images: App Development, C++ Runtime, TypeScript/JavaScript Runtime
4.0.10
- The CCF Python package now requires cryptography 41.*
5.0.0-dev2
- Updated
llhttp
from6.0.9
to9.0.1
. - Updated
fmt
library from9.1.0
to10.1.1
. - Updated QCBOR from
1.1
to1.2
. - Updated
nghttp2
from1.51.0
to1.55.1
. - Converted SNP attestation UVM endorsements from integer to arbitrary string.
- Updated Intel SGX PSW from 2.17 to 2.20 (#5616)
- Path to the enclave file should now be passed as
--enclave-file
CLI argument tocchost
, rather thanenclave.file
entry within configuration file. A potential SNP security context directory environment variable override, where desired, should now be passed as--snp-security-context-dir-var
CLI argument tocchost
, rather thanattestation.environment.security_context_directory
entry within configuration file. This is to ensure that these values are attested on Confidential Containers/SNP, even if the configuration itself is provided from un-attested storage, such as an external mount. The configuration entries are deprecated, and will be removed in a future release. - Added
ccf.SnpAttestation.verifySnpAttestation()
endpoint for TypeScript apps. (#5653) - Secret sharing used for ledger recovery now relies on a much simpler implementation that requires no external dependencies. Note that while the code still accepts shares generated by the old code for now, it only generates shares with the new implementation. As a result, a DR attempt that would downgrade the code to a version that pre-dates this change, after having previously picked it up, would not succeed if a reshare had already taken place (#5655).
MCR Docker Images: App Development, C++ Runtime, TypeScript/JavaScript Runtime
4.0.9
- Secret sharing used for ledger recovery now relies on a much simpler implementation that requires no external dependencies. Note that while the code still accepts shares generated by the old code for now, it only generates shares with the new implementation. As a result, a DR attempt that would downgrade the code to a version that pre-dates this change, after having previously picked it up, would not succeed if a reshare had already taken place (#5655).
4.0.8
- SGX builds now use OpenSSL 3.1.1 by default (#5481).
- Converted SNP attestation UVM endorsements from integer to arbitrary string.
- Add
/node/ready/app
and/node/ready/gov
endpoints for the use of load balancers wanting to check if a node is ready to accept application or governance transactions. See Operator RPC API for details. - Updated
llhttp
from6.0.9
to9.0.1
. - Updated
fmt
library from9.1.0
to10.1.1
. - Updated QCBOR from
1.1
to1.2
. - Updated
nghttp2
from1.51.0
to1.55.1
. - Updated Intel SGX PSW from 2.17 to 2.20 (#5616)
5.0.0-dev1
5.0.0-dev0
- Add HMAC support to JS API. Call with
ccf.crypto.sign({"name": "HMAC", "hash": "SHA-256"}, key, data)
. - Add
/node/ready/app
and/node/ready/gov
endpoints for the use of load balancers wanting to check if a node is ready to accept application or governance transactions. See Operator RPC API for details. - SGX builds now use OpenSSL 3.1.1 inside the enclave by default (#5481).
- JWT verifiers are now automatically cached, for increased performance (#5575).
GET /api/metrics
now correctly returns templated endpoint paths (#5539).- Fix TLS bug that could cause TLS handshakes to fail (#5482).