Releases: zigbee-alliance/distributed-compliance-ledger
Releases · zigbee-alliance/distributed-compliance-ledger
Release 0.10.0
- Upgrade procedure
- The release must be applied via cosmovisor and Upgrade Proposal transactions, see pool-upgrade-how-to.md.
- The upgrade name must be equal to
v0.10.0
. - The release must be applied to all nodes (Validators, Observers, Sentries, etc.)
- All upgraded nodes must be at 0.9.0 with cosmovisor enabled.
- The release contains a number of breaking changes which leads to the consequences mentioned below.
- Adding new nodes to the running pool (Test Net in particular) must be done via one of the ways described in running-node-in-existing-network.md. Starting a new node from the genesis state as described in running-node.md will not work. There are instructions on how to add a new node to the Test Net:
- Querying Certificates:
- Certificates created before 0.10.0 must be queried as follows:
subject
is a human readable string with unparsed VID/PID OIDS (before More human friendly way to display Matter OIDs in the certificates is fixed);subject_key_id
is a hex string without leading zeros.
- Certificates created after 0.10.0 must be queried as follows:
subject
is a certificates's Subject in base64 format;subject_key_id
is a hex string with leading zeros.- See transactions.md.
- See Certificate SKID and subject should be unambiguous format for X509 transactions for details.
- The reason for that difference is that data migration hasn't been done for the Test Net, so certificates created before 0.10.0 should be queried in the "old" way.
- Certificates created before 0.10.0 must be queried as follows:
Major Changes (comparing to 0.9.0)
- Features:
- Defects Fixed:
- Certificate SKID and subject should be unambiguous format for X509 transactions
- More human friendly way to display Matter OIDs in the certificates
- Defect: Certificate approval should need 2/3 Trustee Votes
- VIDs should be hexadecimal values
- typo "companyPrefferedName" in /dcl/vendorinfo/vendors
- Defect: Account Approvals were getting overwritten in store
Release 0.9.0
- The release doesn't contain any breaking changes from the data/consensus point of view comparing to 0.7.0.
- The release can be safely applied by every Node Admin asynchronously (no need to coordinate and upgrade at the same time).
- The recommended way to apply the release to the Test Net is to use switch_to_cosmovisor script as described in switch to cosmovisor how to.
- The release contains a breaking change for the REST API (openapi): camel case instead of snake case is now used in JSON requests and replies for model, pki and compliance queries.
Major Changes (comparing to 0.7.0)
- Software upgrade and cosmovisor support
- REST API fix (breaking change): openapi uses camel case instead of snake case.
Release 0.8.0
Please don't upgrade to this release now!
- Software upgrade and cosmovisor support
- Bug fixes
Release 0.7.0
Please note, that there were breaking changes in DCL 0.7.0 (migration to the latest Cosmos SDK), so the current master and DCL releases 0.6+ are not compatible with pools and Test Nets running DCL 0.5.
Changes
Release 0.6.0
Please note, that there were breaking changes in DCL 0.6.0 (migration to the latest Cosmos SDK), so the current master and DCL releases 0.6+ are not compatible with pools and Test Nets running DCL 0.5.
Major Changes
- Migrated to the latest Cosmos-sdk v0.44.5 and Tendermint v0.34.14 which causes lots of changes (usage of protobuf in particular).
dclcli
is deprecated.dcld
contains all CLI commands now.- gRPC interface is now exposed by every node.
- REST API is now exposed by every node (no need to run a separate service).
- Light Client Proxy is supported. It can be used to automatically verify state proofs for single-value query requests sent by a CLI or Tendermint RPC. It allows connection to untrusted nodes.
- Various fixes and improvements.
Release 0.5.1 (Test Net Re-Launch Release Fix)
- Fixes for setup scripts and docs
Release 0.5 (Test Net Re-Launch Release)
- Updated ledger schemes and commands to match the latest DCL spec DistributedComplianceLedger.adoc
- Support multiple Models with the same VID/PID but different versions (introduced
modelversion
entity) vendorinfo
module is added- Restrict Vendor accounts to work with the given
vid
only (vid
is specified when creating a new account withVendor
role) - Compliance tests and compliance info are created against a given Modelversion (VID/PID/SoftwareVersion), not just a Model (VID/PID)
- Support multiple Models with the same VID/PID but different versions (introduced
- Simplified deployment by introducing helper scripts:
- DCL web UI is open sourced: dcl-ui
- It's not compatible with the latest schema changes
- Load Tests framework: bench
- Bug fixing:
Release 0.4 (Test Net)
Release 0.4 (Test Net Launch Release)
The following use cases and CLI commands are supported:
- Compliance and Certification
- Add a new model info (
dclcli tx modelinfo add-model
) - Update an existing model info (
dclcli tx modelinfo update-model
) - Add a new testing result for the model associated with VID/PID (
dclcli tx compliancetest add-test-result
) - Certify the model associated with the VID/PID (
dclcli tx compliance certify-model
) - Revoke certification for the model associated with the VID/PID (
dclcli tx compliance revoke-model
) - Get a model info (
dclcli query modelinfo model
) - Get all model infos (
dclcli query modelinfo all-models
) - Get all vendors (
dclcli query modelinfo vendors
) - Get all model infos for the given vendor (
dclcli query modelinfo vendor-models
) - Get testing results for the model (
dclcli query compliancetest test-result
) - Check if the model associated with the VID/PID is certified (
dclcli query compliance certified-model
) - Get all certified models (
dclcli query compliance all-certified-models
) - Check if the model associated with the VID/PID is revoked (
dclcli query compliance revoked-model
) - Get all revoked models (
dclcli query compliance all-revoked-models
) - Get compliance info for the model associated with the VID/PID (
dclcli query compliance compliance-info
) - Get all compliance infos (
dclcli query compliance all-compliance-info-records
)
- Add a new model info (
- PKI
- Propose a new self-signed root certificate (
dclcli tx pki propose-add-x509-root-cert
) - Approve the proposed root certificate (
dclcli tx pki approve-add-x509-root-cert
) - Publish an intermediate or leaf X509 certificate (
dclcli tx pki add-x509-cert
) - Revoke the given intermediate or leaf X509 certificate (
dclcli tx pki revoke-x509-cert
) - Propose revocation of a X509 root certificate (
dclcli tx pki propose-revoke-x509-root-cert
) - Approve revocation of a X509 root certificate (
dclcli tx pki approve-revoke-x509-root-cert
) - Get all proposed but not approved root certificates (
dclcli query pki all-proposed-x509-root-certs
) - Get a proposed but not approved root certificate (
dclcli query pki proposed-x509-root-cert
) - Get all approved root certificates (
dclcli query pki all-x509-root-certs
) - Get a certificate (
dclcli query pki x509-cert
) - Get all certificates (
dclcli query pki all-x509-certs
) - Get all certificates associated with subject (
dclcli query pki all-subject-x509-certs
) - Get a complete chain for a certificate (
dclcli query pki x509-cert-chain
) - Get all proposed but not approved root certificates to be revoked (
dclcli query pki all-proposed-x509-root-certs-to-revoke
) - Get a proposed but not approved root certificate to be revoked (
dclcli query pki proposed-x509-root-cert-to-revoke
) - Get all revoked certificates (
dclcli query pki all-revoked-x509-certs
) - Get all revoked root certificates (
dclcli query pki all-revoked-x509-root-certs
)
- Propose a new self-signed root certificate (
- Authorization
- Propose a new account (
dclcli tx auth propose-add-account
) - Approve a proposed account (
dclcli tx auth approve-add-account
) - Propose revocation of an account (
dclcli tx auth propose-revoke-account
) - Approve revocation of an account (
dclcli tx auth approve-revoke-account
) - Get a single account (
dclcli query auth account
) - Get all accounts (
dclcli query auth all-accounts
) - Get all proposed accounts (
dclcli query auth all-proposed-accounts
) - Get all proposed accounts to revoke (
dclcli query auth all-proposed-accounts-to-revoke
)
- Propose a new account (
- Validator Nodes
- Add a new validator node (
dclcli tx validator add-node
) - Get a validator node by the given validator address (
dclcli query validator node
)
- Add a new validator node (