5.0.0-rc0
Pre-release
Pre-release
github-actions
released this
04 Jul 15:46
·
170 commits
to main
since this release
Added
- More public namespaces have been moved under
::ccf
::ds
is nowccf::ds
::siphash
is nowccf::siphash
::threading
is nowccf::threading
, andccf/ds/thread_ids.h
has moved toccf/threading/thread_ids.h
::consensus
is nowccf::consensus
::tls
is nowccf::tls
::http
is nowccf::http
::nonstd
is nowccf::nonstd
::crypto
is nowccf::crypto
::kv
is nowccf::kv
::logger
is nowccf::logger
::ccfapp
is now::ccf
- The
programmability
sample app now demonstrates how applications can define their own extensions, creating bindings between C++ and JS state, and allowing JS endpoints to call functions implemented in C++. - Introduce
DynamicJSEndpointRegistry::record_action_for_audit_v1
andDynamicJSEndpointRegistry::check_action_not_replayed_v1
to allow an application making use of the programmability feature to easily implement auditability, and protect users allowed to update the application against replay attacks (#6285). - Endpoints now support a
ToBackup
redirection strategy, for requests which should never be executed on a primary. These must also be read-only. These are configured similar toToPrimary
endpoints, with ato_backup
object (specifying by-role or statically-addressed targets) in each node's configuration. - Introduced
ccf::historical::read_only_adapter_v4
andccf::historical::read_write_adapter_v4
. Users are now capable of passing a custom error handler to the adapter to customise RPC responses for internal historical queries errors, which are listed inccf::historical::HistoricalQueryErrorCode
enum.
Changed
- Updated Open Enclave to 0.19.7.
- Containers are now published to the GitHub Container Registry. The platform has moved from the tag to the image name, to enable meaningful usage of GitHub attestation, and the tag now matches the git tag used to cut the release. For example, the SGX Development container for this release is
ghcr.io/microsoft/ccf/app/dev/sgx:ccf-5.0.0-rc0
.
Deprecated
ccf::historical::adapter_v3
becomes deprecated in favour of_v4
version.
Removed
- Removed the existing metrics endpoint and API (
GET /api/metrics
,get_metrics_v1
). Stats for request execution can instead be gathered by overriding theEndpointRegistry::handle_event_request_completed()
method. - Removed automatic msgpack support from JSON endpoint adapters, and related
include/ccf/serdes.h
file.