Releases: microsoft/CCF
Releases · microsoft/CCF
6.0.23
6.0.22
Fixed
- x509 parsing now correctly handles times validity beyond 2262. To support this, some public function signatures (
ccf::ds::time_point_from_string(),ccf::crypto::Verifier::remaining_seconds()) now usetime_points fromccf::nonstd::SystemClockrather thanstd::chrono::system_clock(#7648)
6.0.21
Fixed
- Snapshot fetching requests now handle either inclusive-end or exclusive-end
content-rangeheaders, for compatibility with 7.x nodes. - Primaries now indicate all of their chunk-ending transactions in the transaction header, for better interop with 7.x nodes. Upgrades must create a snapshot from the network after it has upgraded to this version, and provide that to joining 7.x nodes.
6.0.20
7.0.0-dev9
6.0.19
7.0.0-dev8
7.0.0-dev7
Added
- Experimental self-healing-open protocol for automatically transitioning-to-open during a disaster recovery without operator intervention. (#7189)
Changed
- Improved
ccf::historical::verify_self_issued_receipt- now can verify receipts signed by the past service identities if they were back-endorsed (#7546).
Removed
ccf::historical::adapter_v3has been removed,ccf::historical::read_only_adapter_v4andccf::historical::read_write_adapter_v4can be used instead (#7553).
6.0.18
Changed
- NodeInfoNetwork serialisation handling has become stricter (#7576), yielding better error messages in failure cases.
- JavaScript toolchain updates for security reasons (#7579).
Fixed
- Correct handling of double-sealed secrets in historical cache (#7558).
Added
- LedgerChunkRead feature flag (#7578), to enable compatible live migration. Note that the feature itself is not included.
7.0.0-dev6
Added
- Support for Turin attestations (#7499)
- verify_attestation script to fetch endorsements from AMD and check the provided attestation against them (#7499)
- PreVote optimistaion enabled. This requires that a follower checks that it could be elected before becoming a candidate. This optimisation improves the availablilty of Raft when there are omission faults like partial network partitions. (#7462)
- ProposeRequestVote on SIGTERM. When a primary, with
ignore_first_sigtermreceives the first SIGTERM, it nominates a successor, allowing the successor to skip waiting for the election timeout and call an election right away. (#7514)
Changed
- Start nodes now confirm that read-only ledger directories are empty on startup (#7355).
- In the C++ API, the method
get_txid()onccf::kv::ReadOnlyStorehas been renamed tocurrent_txid(). This may affect historical query code which works directly with the returnedStorePtr(#7477). - The C++ API for installing endpoints with local commit handlers has changed. These handlers should now be added to an
Endpointwith.set_locally_committed_function(handler), and themake_[read_only_]endpoint_with_local_commit_handlermethods onEndpointRegistryhave been removed (#7487). - The format of CCF's stdout logging has changed. Each line previously tried to align host logs with enclave logs containing a timestamp offset. Since enclave logs no longer exist, this timestamp is never present, so the padding whitespace has been removed (#7491).
- Introduced
ccf::historical::verify_self_issued_receiptto verify COSE CCF receipts against current service identity (#7494).