Skip to content

2.0.0-dev8

Pre-release
Pre-release

Choose a tag to compare

@achamayou achamayou released this 01 Feb 13:44
90d0218

Added

  • Added set_claims_digest() API to RpcContext, see documentation on how to use it to attach application-defined claims to transaction receipts.
  • Added a GET /jwt_metrics endpoint to monitor attempts and successes of key refresh for each issuer. See documentation on how to use it.

Changed

  • Service certificate validity period is no longer hardcoded and can instead be set by operators and renewed by members (#3363):
    • The new service_certificate_initial_validity_days (defaults to 1 day) configuration entry lets operators set the initial validity period for the service certificate (valid from the current system time).
    • The new maximum_service_certificate_validity_days (defaults to 365 days) configuration entry sets the maximum validity period allowed for service certificate.
    • The new set_service_certificate_validity proposal action allows members to renew the service certificate.
  • Service certificate output by first node default name is now service_cert.pem rather than networkcert.pem (#3363).
  • Retired nodes are now removed from the store/ledger as soon as their retirement is committed (#3409).

Removed

  • The ccf Python package no longer provides utilities to issue requests to a running CCF service. This is because CCF supports widely-used client-server protocols (TLS, HTTP) that should already be provided by libraries for all programming languages. The ccf Python package can still be used to audit the ledger and snapshot files (#3386).
  • The proposal_generator has been removed from the ccf Python package. The majority of proposals can be trivially constructed in existing client tooling, without needing to invoke Python. This also introduces parity between the default constitution and custom constitution actions - all should be constructed and called from the same governance client code. Some jinja templates are included in samples/templates for constructing careful ballots from existing proposals.