Skip to content

Latest commit

 

History

History
333 lines (310 loc) · 18.7 KB

CHANGELOG.md

File metadata and controls

333 lines (310 loc) · 18.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.4.0 2022-03-02

Added

  • Use CAIP-10 in did:pkh (#279, #286, #303).
  • Use updated JsonWebSignature2020 context file (#322).
  • Add Presentation Submission context file (#254, #325).
  • Expose JSON-LD expansion function (#326).
  • Add new_public helper function for RSA JWK parameters (#327).
  • Allow using type property as verify options (#329).
  • Implement Ed25519Signature2020 (#341).
  • Allow JWT VC without subject id (#346).
  • Add Blockchain Vocabulary v1 2021 context (#347).
  • Construct API URLs for known Tezos test networks (#350).
  • Add Verifiable Driver's License Vocabulary context file (#361).
  • Add Universal Wallet 2020 context file (#383).
  • Update context files (#375).
  • Add script to update context files (#376).
  • Document did:tz resolution options (#357).
  • Add support for did:tz:KT1 (#363).
  • Support fractional timestamps in JWT (#315).
  • Allow JWS verification to return warnings (#367.
  • Verify EIP-55 mixed-case account address checksum (#370).
  • Allow non-normalized ES256K (#389)
  • Support Aleo did:pkh (#348)
  • Implement did:webkey:gpg resolution (#373).
  • Implement AleoSignature2021 suite (#360).
  • Add DID operations (create, update, recover, deactivate) (#379)
  • Add DID method transactions (#379)
  • Implement Sidetree client (#379)
  • Add did:ion DID method implementation (#379)
  • Added more rustdocs (#311).
  • Generate EIP-712 types for EthereumEIP712Signature2021 (#301).

Changed

  • Use Error types in bbs code (#338).
  • Don't add JsonWebSignature2020 context URI to proof if already existing in credential/presentation (#322).
  • Default to JsonWebSignature2020 for P-256
  • Update EthereumEip712Signature2021 for renamed properties (#336).
  • Allow DID document base context without www (#349).
  • Use http for did:web:localhost (#333).
  • Depend on specific versions of bbs and pairing-plus crates (#334).
  • Allow additional verification method types for use with EcdsaSecp256k1RecoverySignature2020 (#351).
  • Use SHA-256 instead of Keccak in EcdsaSecp256k1RecoverySignature2020/ES256K-R (#351). Signatures using Keccak can still be verified, for compatibility, but are deprecated (#367).
  • Allow issuer object with id property in JWT VC (#374).
  • Implement did:key for RSA (#309)
  • Detect JSON DID Resolution Result, for Sidetree REST API compatibility (#372).
  • DIDMethod trait no longer requires DIDResolver trait. (8fff89a).
  • JWT VC timestamp range constrained by microsection precision (#315).

Deprecated

  • EthereumEip712Signature2021 specification deprecated properties messageSchema and eip712Domain.
  • did:pkh deprecated non-CAIP-10 submethods (btc, celo, doge, eth, poly, sol, tz).
  • EcdsaSecp256k1RecoverySignature2020/ES256K-R using Keccak is deprecated.

Removed

  • did:pkh specification moved into its own repository (#356).

Fixed

  • Fixed panic in string prefix checking (#299).
  • Fixed panic in EIP-712 type string parsing (#302).
  • Allow JWT VC with single-element array subject (#313).
  • Address clippy errors and warnings (#305, #306).
  • Fix example RSA public key modulus representation (#308).
  • Doctest BBS generator parameters (#304).
  • Use BBS+ Signatures 2020 context file (#324).
  • Fixed url dependency (#365).
  • Fixed EcdsaSecp256k1RecoverySignature2020/ES256K-R hashing (#351, #367).
  • Don't use ES256K-R for EthereumEip712Signature2021 (#351).
  • Preserve VC/VP properties in JWT format (#353).

Security

  • Restrict revocation lists to HTTPS (#317).
  • Limit size of revocation list credentials (#339).
  • Disallow example non-DID VC issuer outside testing (#316).
  • Disallow out-of-bounds revocation list index (#314).
  • Zeroize JWKs on drop (#327).
  • Reduce exposure of private key material during signing (#328).
  • Avoid cloning secret keys during generation (#391).

0.3.0 2021-09-16

Added

  • Add PrimaryDIDURL type.
  • Add EthereumEip712Signature2021 v1 context.
  • Add VerificationMethodMap::get_id function.
  • Implement converting JWK to Tezos format.
  • Add did:pkh:poly:.
  • Use vc-test-suite example keys and DIDs.
  • Implement Revocation List 2020 credential status checking.
  • Implement PS256 JWS algorithm.
  • Work-in-progress ZCap invocation methods
  • Implement FromStr for URI.
  • Support publicKeyJwk in EthereumEip712Signature2021.
  • Add DID Test Suite implementation generator.
  • Implement JcsTezosSignature2021.
  • Implement EthereumPersonalSignature2021.
  • Implement EthereumEip712Signature2021.
  • Enable Eip712Signature2021 with did:pkh.
  • Allow using Eip712Signature2021 with normal VM types.
  • Implement did:webkey:
  • Implement SSH key parsing.
  • Implement JWK Thumbprint.
  • Add User-Agent header in requests.
  • Add ES256K to algorithm mistmatch handling.
  • Use custom internal JWK algorithms for Tezos signing.
  • Allow returning warnings from proof verification.
  • Use MissingFeatures error in proof type selection.
  • Add Proof::with_options for proof params.
  • Support publicKeyHex for EcdsaSecp256k1VerificationKey2019.
  • Resolve did:key:zUC7 DIDs (Bls12381G2)
  • Add BBS+ types and functions.
  • Add did_resolve::get_verification_methods function
  • Ensure or pick default verification method during VC/VP creation.

Changed

  • Use PrimaryDIDURL in dereference trait method.
  • Pass resolver option in issue/prepare functions.
  • Update blockchainAccountId for new CAIP-10.
  • Default to PS256 for RSA signing.
  • Use compressed P-256 in did:key.
  • Disallow untyped properties in EIP-712 messages.
  • Update picking proof suite for tz.
  • Update DID resolution error handling and content-type handling.
  • Add arbitrary property set in LDP options to be included in Proof.

Deprecated

  • Deprecate using key_ops to select proof type.

Removed

  • Remove timestamp from generative DID methods.
  • Removed bundled json-ld crate.

Fixed

  • Catch double fragment in service endpoint URL.
  • Improve JWK/VM comparison.
  • Use CAIP-26 for Tezos chain IDs.
  • Use CAIP-30 for Solana chain ids.
  • Fix converting RSA JWK to public.
  • Fix did:example:foo and did:example:bar.
  • Update W3C Software and Document Short Notice.
  • Handle eth signatures with recovery ID starting at 0.
  • Only match VM URI for specific DID methods.
  • Allow time zone offsets other than "Z" in VCs.
  • Improve did:pkh documentation and chain id handling.
  • Set contentType when returning URL in dereference.
  • Fix WASM tests.
  • Fix on-chain resolution in did-tezos.
  • Fix WASM async trait compilation.
  • Improve JWT support.
  • Canonicalize negative zero.
  • Support public key values in did:ethr.
  • Use updated json-ld crate, enabling better conformance with RDF deserialization tests.

Security

  • Validate linked data proof object RDF consistency.
  • Check key size for RSA JWS
  • Validate key and algorithm for JsonWebSignature2020.
  • Verification method and proof purpose are now checked during verifiable credential issuance and verifiable presentation generation.

0.2.2 - 2021-05-26

Added

  • Add ssi::tzkey::{sign_tezos, encode_tezos_signed_message, decode_tzsig}

Fixed

  • Improve testing of Tezos signing, encoding and decoding.
  • Allow using TezosSignature2021 with LinkedDataProofs::prepare.
  • Fix parsing of sppk and p2pk Tezos signature types.

Security

  • Verify signature in TezosSignature2021 when JWK is in proof object.

0.2.1 - 2021-04-28

Added

  • Add TezosSignature2021/TezosMethod2021.
  • Parse Tezos-base58 keys.

Changed

  • Use k256 instead of libsecp256k1.
  • Update ssi-contexts to v0.1.0

Fixed

  • Fix dependency conflict between simple_asn1 and num-bigint.
  • Fix broken links.

0.2.0 - 2021-04-01

Added

  • Add function HTTPDIDResolver::new.
  • Add SeriesResolver struct, for combining multiple DID resolvers in series.
  • Add DIDParameters struct.
  • Add DIDResolver::dereference function.
  • Support W3id DID v1 context URL.
  • Add jws::sign_bytes_b64 function.
  • Support secp256k1 in did:key.
  • Support P-256 (Secp256r1) in did:key.
  • Support tz2 and tz3 addresses in did:tz.
  • Implement EcdsaSecp256k1Signature2019 linked data signature suite.
  • Implement EcdsaSecp256k1RecoveryMethod2020 linked data signature suite.
  • Implement EcdsaSecp256r1Signature2019 linked data signature suite.
  • Support blockchainAccountId for certain proof types.
  • Support ES256K in vc-test-suite driver.
  • Support Rust stable.
  • Implement external signing for linked data proofs: add LinkedDataProofs::prepare function and ProofPreparation struct.
  • Add non-registry implementation of did:ethr.
  • Implement EIP-712-based linked data signature suite.
  • Add experimental did:sol DID method for Solana, with verification method.
  • Allow VP without VC, for DIDAuth (except for in vc-test-suite).
  • Implement Default for Presentation.
  • Complete did:tz resolution.
  • Add Citizenship context.
  • Add Vaccination context.
  • Add DID Resolution context.
  • Add JSON Web Signature 2020 context.
  • Support HTTP(S) requests in WASM and on Android.
  • Support relative DID URLs in DID documents.
  • Support publicKeyBase58 for Ed25519.
  • Added DIDMethods::generate function.
  • Add did:pkh Public Key Hash DID Method.
  • Add did:onion implementation.
  • Update vc-test-suite` test driver to remove workarounds.
  • Use ssi-contexts crate.

Changed

  • Make ResolutionResult struct public.
  • Remove ring from default features.
  • Use method-not-supported DID resolution error.
  • Allow objects in @context property of DID document, VPs, and proofs.
  • Make DIDResolver object-safe.
  • Implement DIDResolver::resolve_representation for DIDMethods.
  • Preserve key order in ResolutionResult property_set.
  • Completed DID URL Dereferencing implementation.
  • Update iref and async-std dependency versions.
  • Update DID metadata parameter names.
  • Support ResolutionResult or DID Document in HTTPDIDResolver response.
  • Implement DID URL dereferencing through HTTPDIDResolver.
  • Add Data variant to Content enum.
  • Change did:tz verification method type to Ed25519PublicKeyBLAKE2BDigestSize20Base58CheckEncoded2021.
  • Add context to Ed25519BLAKE2BDigestSize20Base58CheckEncodedSignature2021 linked data proofs.
  • Add name to Error::ResourceNotFound.
  • Make jws::sign_bytes return bytes instead of string.
  • Allow multiple proofs and multiple verification methods in a DID document
  • Bundle json-ld crate, for crates.io release.
  • Added Source::KeyAndPattern enum variant.
  • Made ProofSuite object-safe.

Fixed

  • Fix tz1 hashing.
  • Add missing number in RDF lang subtag parsing.
  • Fix name of JWK EC crv property.
  • Update crate author fields.

Security

0.1.0 - 2021-01-27

Initial release with DIDKit

Added