diff --git a/CHANGELOG.md b/CHANGELOG.md index 979805a0d4..2f42479f29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,31 @@ # Changelog +## [v1.3.0](https://github.com/iotaledger/identity.rs/tree/v1.3.0) (2024-05-28) + +[Full Changelog](https://github.com/iotaledger/identity.rs/compare/v1.2.0...v1.3.0) + +### Added +- Add ZK BBS+-based selectively disclosable credentials (JPT) [\#1355](https://github.com/iotaledger/identity.rs/pull/1355) +- Add EcDSA verifier [\#1353](https://github.com/iotaledger/identity.rs/pull/1353) + +### Patch +- Support for specification-compliant verification method type `JsonWebKey2020` [\#1367](https://github.com/iotaledger/identity.rs/pull/1367) + + ## [v1.2.0](https://github.com/iotaledger/identity.rs/tree/v1.2.0) (2024-03-27) [Full Changelog](https://github.com/iotaledger/identity.rs/compare/v1.1.1...v1.2.0) ### Added -- Add `get_public_key` for `StrongholdStorage` [\#1311](https://github.com/iotaledger/identity.rs/pull/1311) -- Support multiple IOTA networks in the Resolver [\#1304](https://github.com/iotaledger/identity.rs/pull/1304) -- Allow setting additional controllers for `IotaDocument` [\#1314](https://github.com/iotaledger/identity.rs/pull/1314) -- use latest release of sd-jwt-payload `IotaDocument` [\#1333](https://github.com/iotaledger/identity.rs/pull/1333) + - Allow arbitrary verification methods [\#1334](https://github.com/iotaledger/identity.rs/pull/1334) +- use latest release of sd-jwt-payload [\#1333](https://github.com/iotaledger/identity.rs/pull/1333) +- Allow setting additional controllers for `IotaDocument` [\#1314](https://github.com/iotaledger/identity.rs/pull/1314) +- Add `get_public_key` for `StrongholdStorage` [\#1311](https://github.com/iotaledger/identity.rs/pull/1311) +- Support multiple IOTA networks in the `Resolver` [\#1304](https://github.com/iotaledger/identity.rs/pull/1304) ### Patch + - Support %-encoded characters in DID method id [\#1303](https://github.com/iotaledger/identity.rs/pull/1303) ## [v1.1.1](https://github.com/iotaledger/identity.rs/tree/v1.1.1) (2024-02-19) diff --git a/examples/Cargo.toml b/examples/Cargo.toml index 4e107cb042..6830f2035e 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "examples" -version = "1.2.0" +version = "1.3.0" authors = ["IOTA Stiftung"] edition = "2021" publish = false diff --git a/identity_core/Cargo.toml b/identity_core/Cargo.toml index 02d46938f8..39c15fabd0 100644 --- a/identity_core/Cargo.toml +++ b/identity_core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_core" -version = "1.2.0" +version = "1.3.0" authors.workspace = true edition.workspace = true homepage.workspace = true diff --git a/identity_credential/Cargo.toml b/identity_credential/Cargo.toml index 91834c6aba..e93fdd0699 100644 --- a/identity_credential/Cargo.toml +++ b/identity_credential/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_credential" -version = "1.2.0" +version = "1.3.0" authors = ["IOTA Stiftung"] edition = "2021" homepage.workspace = true @@ -15,10 +15,10 @@ description = "An implementation of the Verifiable Credentials standard." async-trait = { version = "0.1.64", default-features = false } flate2 = { version = "1.0.28", default-features = false, features = ["rust_backend"], optional = true } futures = { version = "0.3", default-features = false, optional = true } -identity_core = { version = "=1.2.0", path = "../identity_core", default-features = false } -identity_did = { version = "=1.2.0", path = "../identity_did", default-features = false } -identity_document = { version = "=1.2.0", path = "../identity_document", default-features = false } -identity_verification = { version = "=1.2.0", path = "../identity_verification", default-features = false } +identity_core = { version = "=1.3.0", path = "../identity_core", default-features = false } +identity_did = { version = "=1.3.0", path = "../identity_did", default-features = false } +identity_document = { version = "=1.3.0", path = "../identity_document", default-features = false } +identity_verification = { version = "=1.3.0", path = "../identity_verification", default-features = false } indexmap = { version = "2.0", default-features = false, features = ["std", "serde"] } itertools = { version = "0.11", default-features = false, features = ["use_std"], optional = true } json-proof-token = { workspace = true, optional = true } diff --git a/identity_did/Cargo.toml b/identity_did/Cargo.toml index 92a5e7fa30..5fdca4b370 100644 --- a/identity_did/Cargo.toml +++ b/identity_did/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_did" -version = "1.2.0" +version = "1.3.0" authors.workspace = true edition = "2021" homepage.workspace = true @@ -13,7 +13,7 @@ description = "Agnostic implementation of the Decentralized Identifiers (DID) st [dependencies] did_url_parser = { version = "0.2.0", features = ["std", "serde"] } form_urlencoded = { version = "1.2.0", default-features = false, features = ["alloc"] } -identity_core = { version = "=1.2.0", path = "../identity_core" } +identity_core = { version = "=1.3.0", path = "../identity_core" } serde.workspace = true strum.workspace = true thiserror.workspace = true diff --git a/identity_document/Cargo.toml b/identity_document/Cargo.toml index 3c2779e04b..091e1a0ee4 100644 --- a/identity_document/Cargo.toml +++ b/identity_document/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_document" -version = "1.2.0" +version = "1.3.0" authors.workspace = true edition.workspace = true homepage.workspace = true @@ -13,9 +13,9 @@ description = "Method-agnostic implementation of the Decentralized Identifiers ( [dependencies] did_url_parser = { version = "0.2.0", features = ["std", "serde"] } -identity_core = { version = "=1.2.0", path = "../identity_core" } -identity_did = { version = "=1.2.0", path = "../identity_did" } -identity_verification = { version = "=1.2.0", path = "../identity_verification", default-features = false } +identity_core = { version = "=1.3.0", path = "../identity_core" } +identity_did = { version = "=1.3.0", path = "../identity_did" } +identity_verification = { version = "=1.3.0", path = "../identity_verification", default-features = false } indexmap = { version = "2.0", default-features = false, features = ["std", "serde"] } serde.workspace = true strum.workspace = true diff --git a/identity_ecdsa_verifier/Cargo.toml b/identity_ecdsa_verifier/Cargo.toml index c72ffa089c..13ec1edb2a 100644 --- a/identity_ecdsa_verifier/Cargo.toml +++ b/identity_ecdsa_verifier/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_ecdsa_verifier" -version = "0.1.0" +version = "1.3.0" authors = ["IOTA Stiftung", "Filancore GmbH"] edition.workspace = true homepage.workspace = true @@ -15,7 +15,7 @@ description = "JWS ECDSA signature verification for IOTA Identity" workspace = true [dependencies] -identity_verification = { version = "=1.2.0", path = "../identity_verification", default-features = false } +identity_verification = { version = "=1.3.0", path = "../identity_verification", default-features = false } k256 = { version = "0.13.3", default-features = false, features = ["std", "ecdsa", "ecdsa-core"], optional = true } p256 = { version = "0.13.2", default-features = false, features = ["std", "ecdsa", "ecdsa-core"], optional = true } signature = { version = "2", default-features = false } diff --git a/identity_eddsa_verifier/Cargo.toml b/identity_eddsa_verifier/Cargo.toml index b8a3cff943..0af8f31dd0 100644 --- a/identity_eddsa_verifier/Cargo.toml +++ b/identity_eddsa_verifier/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_eddsa_verifier" -version = "1.2.0" +version = "1.3.0" authors.workspace = true edition.workspace = true homepage.workspace = true @@ -12,7 +12,7 @@ rust-version.workspace = true description = "JWS EdDSA signature verification for IOTA Identity" [dependencies] -identity_jose = { version = "=1.2.0", path = "../identity_jose", default-features = false } +identity_jose = { version = "=1.3.0", path = "../identity_jose", default-features = false } iota-crypto = { version = "0.23", default-features = false, features = ["std"] } [features] diff --git a/identity_iota/Cargo.toml b/identity_iota/Cargo.toml index 0183994b24..0e0187801e 100644 --- a/identity_iota/Cargo.toml +++ b/identity_iota/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_iota" -version = "1.2.0" +version = "1.3.0" authors.workspace = true edition.workspace = true homepage.workspace = true @@ -12,14 +12,14 @@ rust-version.workspace = true description = "Framework for Self-Sovereign Identity with IOTA DID." [dependencies] -identity_core = { version = "=1.2.0", path = "../identity_core", default-features = false } -identity_credential = { version = "=1.2.0", path = "../identity_credential", features = ["validator"], default-features = false } -identity_did = { version = "=1.2.0", path = "../identity_did", default-features = false } -identity_document = { version = "=1.2.0", path = "../identity_document", default-features = false } -identity_iota_core = { version = "=1.2.0", path = "../identity_iota_core", default-features = false } -identity_resolver = { version = "=1.2.0", path = "../identity_resolver", default-features = false, optional = true } -identity_storage = { version = "=1.2.0", path = "../identity_storage", default-features = false, features = ["iota-document"] } -identity_verification = { version = "=1.2.0", path = "../identity_verification", default-features = false } +identity_core = { version = "=1.3.0", path = "../identity_core", default-features = false } +identity_credential = { version = "=1.3.0", path = "../identity_credential", features = ["validator"], default-features = false } +identity_did = { version = "=1.3.0", path = "../identity_did", default-features = false } +identity_document = { version = "=1.3.0", path = "../identity_document", default-features = false } +identity_iota_core = { version = "=1.3.0", path = "../identity_iota_core", default-features = false } +identity_resolver = { version = "=1.3.0", path = "../identity_resolver", default-features = false, optional = true } +identity_storage = { version = "=1.3.0", path = "../identity_storage", default-features = false, features = ["iota-document"] } +identity_verification = { version = "=1.3.0", path = "../identity_verification", default-features = false } [dev-dependencies] anyhow = "1.0.64" diff --git a/identity_iota_core/Cargo.toml b/identity_iota_core/Cargo.toml index 8e0e7070e2..e2539b28c0 100644 --- a/identity_iota_core/Cargo.toml +++ b/identity_iota_core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_iota_core" -version = "1.2.0" +version = "1.3.0" authors.workspace = true edition.workspace = true homepage.workspace = true @@ -14,11 +14,11 @@ description = "An IOTA Ledger integration for the IOTA DID Method." [dependencies] async-trait = { version = "0.1.56", default-features = false, optional = true } futures = { version = "0.3", default-features = false } -identity_core = { version = "=1.2.0", path = "../identity_core", default-features = false } -identity_credential = { version = "=1.2.0", path = "../identity_credential", default-features = false, features = ["validator"] } -identity_did = { version = "=1.2.0", path = "../identity_did", default-features = false } -identity_document = { version = "=1.2.0", path = "../identity_document", default-features = false } -identity_verification = { version = "=1.2.0", path = "../identity_verification", default-features = false } +identity_core = { version = "=1.3.0", path = "../identity_core", default-features = false } +identity_credential = { version = "=1.3.0", path = "../identity_credential", default-features = false, features = ["validator"] } +identity_did = { version = "=1.3.0", path = "../identity_did", default-features = false } +identity_document = { version = "=1.3.0", path = "../identity_document", default-features = false } +identity_verification = { version = "=1.3.0", path = "../identity_verification", default-features = false } iota-sdk = { version = "1.1.5", default-features = false, features = ["serde", "std"], optional = true } num-derive = { version = "0.4", default-features = false } num-traits = { version = "0.2", default-features = false, features = ["std"] } diff --git a/identity_jose/Cargo.toml b/identity_jose/Cargo.toml index 014ee4de7c..98a802ffbe 100644 --- a/identity_jose/Cargo.toml +++ b/identity_jose/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_jose" -version = "1.2.0" +version = "1.3.0" authors.workspace = true edition.workspace = true homepage.workspace = true @@ -12,7 +12,7 @@ rust-version.workspace = true description = "A library for JOSE (JSON Object Signing and Encryption)" [dependencies] -identity_core = { version = "=1.2.0", path = "../identity_core", default-features = false } +identity_core = { version = "=1.3.0", path = "../identity_core", default-features = false } iota-crypto = { version = "0.23", default-features = false, features = ["std", "sha"] } json-proof-token.workspace = true serde.workspace = true diff --git a/identity_resolver/Cargo.toml b/identity_resolver/Cargo.toml index d176fc5437..e6d93b03f0 100644 --- a/identity_resolver/Cargo.toml +++ b/identity_resolver/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_resolver" -version = "1.2.0" +version = "1.3.0" authors.workspace = true edition.workspace = true homepage.workspace = true @@ -15,16 +15,16 @@ description = "DID Resolution utilities for the identity.rs library." # This is currently necessary for the ResolutionHandler trait. This can be made an optional dependency if alternative ways of attaching handlers are introduced. async-trait = { version = "0.1", default-features = false } futures = { version = "0.3" } -identity_core = { version = "=1.2.0", path = "../identity_core", default-features = false } -identity_credential = { version = "=1.2.0", path = "../identity_credential", default-features = false, features = ["validator"] } -identity_did = { version = "=1.2.0", path = "../identity_did", default-features = false } -identity_document = { version = "=1.2.0", path = "../identity_document", default-features = false } +identity_core = { version = "=1.3.0", path = "../identity_core", default-features = false } +identity_credential = { version = "=1.3.0", path = "../identity_credential", default-features = false, features = ["validator"] } +identity_did = { version = "=1.3.0", path = "../identity_did", default-features = false } +identity_document = { version = "=1.3.0", path = "../identity_document", default-features = false } serde = { version = "1.0", default-features = false, features = ["std", "derive"] } strum.workspace = true thiserror = { version = "1.0", default-features = false } [dependencies.identity_iota_core] -version = "=1.2.0" +version = "=1.3.0" path = "../identity_iota_core" default-features = false features = ["send-sync-client-ext", "iota-client"] diff --git a/identity_storage/Cargo.toml b/identity_storage/Cargo.toml index 590d532485..0f1e423b7d 100644 --- a/identity_storage/Cargo.toml +++ b/identity_storage/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_storage" -version = "1.2.0" +version = "1.3.0" authors.workspace = true edition.workspace = true homepage.workspace = true @@ -15,12 +15,12 @@ description = "Abstractions over storage for cryptographic keys used in DID Docu anyhow = "1.0.82" async-trait = { version = "0.1.64", default-features = false } futures = { version = "0.3.27", default-features = false, features = ["async-await"] } -identity_core = { version = "=1.2.0", path = "../identity_core", default-features = false } -identity_credential = { version = "=1.2.0", path = "../identity_credential", default-features = false, features = ["credential", "presentation", "revocation-bitmap"] } -identity_did = { version = "=1.2.0", path = "../identity_did", default-features = false } -identity_document = { version = "=1.2.0", path = "../identity_document", default-features = false } -identity_iota_core = { version = "=1.2.0", path = "../identity_iota_core", default-features = false, optional = true } -identity_verification = { version = "=1.2.0", path = "../identity_verification", default_features = false } +identity_core = { version = "=1.3.0", path = "../identity_core", default-features = false } +identity_credential = { version = "=1.3.0", path = "../identity_credential", default-features = false, features = ["credential", "presentation", "revocation-bitmap"] } +identity_did = { version = "=1.3.0", path = "../identity_did", default-features = false } +identity_document = { version = "=1.3.0", path = "../identity_document", default-features = false } +identity_iota_core = { version = "=1.3.0", path = "../identity_iota_core", default-features = false, optional = true } +identity_verification = { version = "=1.3.0", path = "../identity_verification", default_features = false } iota-crypto = { version = "0.23", default-features = false, features = ["ed25519"], optional = true } json-proof-token = { workspace = true, optional = true } rand = { version = "0.8.5", default-features = false, features = ["std", "std_rng"], optional = true } @@ -32,8 +32,8 @@ tokio = { version = "1.29.0", default-features = false, features = ["macros", "s zkryptium = { workspace = true, optional = true } [dev-dependencies] -identity_credential = { version = "=1.2.0", path = "../identity_credential", features = ["revocation-bitmap"] } -identity_eddsa_verifier = { version = "=1.2.0", path = "../identity_eddsa_verifier", default-features = false, features = ["ed25519"] } +identity_credential = { version = "=1.3.0", path = "../identity_credential", features = ["revocation-bitmap"] } +identity_eddsa_verifier = { version = "=1.3.0", path = "../identity_eddsa_verifier", default-features = false, features = ["ed25519"] } once_cell = { version = "1.18", default-features = false } tokio = { version = "1.29.0", default-features = false, features = ["macros", "sync", "rt"] } diff --git a/identity_stronghold/Cargo.toml b/identity_stronghold/Cargo.toml index 40f549e5d2..6fb1b82b07 100644 --- a/identity_stronghold/Cargo.toml +++ b/identity_stronghold/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_stronghold" -version = "1.2.0" +version = "1.3.0" authors.workspace = true edition.workspace = true homepage.workspace = true @@ -13,8 +13,8 @@ description = "Secure JWK storage with Stronghold for IOTA Identity" [dependencies] async-trait = { version = "0.1.64", default-features = false } -identity_storage = { version = "=1.2.0", path = "../identity_storage", default_features = false } -identity_verification = { version = "=1.2.0", path = "../identity_verification", default_features = false } +identity_storage = { version = "=1.3.0", path = "../identity_storage", default_features = false } +identity_verification = { version = "=1.3.0", path = "../identity_verification", default_features = false } iota-crypto = { version = "0.23", default-features = false, features = ["ed25519"] } iota-sdk = { version = "1.1.5", default-features = false, features = ["client", "stronghold"] } iota_stronghold = { version = "2.1.0", default-features = false } @@ -26,8 +26,8 @@ zkryptium = { workspace = true, optional = true } [dev-dependencies] anyhow = "1.0.82" -identity_did = { version = "=1.2.0", path = "../identity_did", default_features = false } -identity_storage = { version = "=1.2.0", path = "../identity_storage", default_features = false, features = ["jpt-bbs-plus"] } +identity_did = { version = "=1.3.0", path = "../identity_did", default_features = false } +identity_storage = { version = "=1.3.0", path = "../identity_storage", default_features = false, features = ["jpt-bbs-plus"] } json-proof-token = { workspace = true } tokio = { version = "1.29.0", default-features = false, features = ["macros", "sync", "rt"] } zkryptium = { workspace = true } diff --git a/identity_verification/Cargo.toml b/identity_verification/Cargo.toml index 812cfe43ec..41ba1f2aa3 100644 --- a/identity_verification/Cargo.toml +++ b/identity_verification/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "identity_verification" -version = "1.2.0" +version = "1.3.0" authors.workspace = true edition.workspace = true homepage.workspace = true @@ -10,9 +10,9 @@ rust-version.workspace = true description = "Verification data types and functionality for identity.rs" [dependencies] -identity_core = { version = "=1.2.0", path = "./../identity_core", default-features = false } -identity_did = { version = "=1.2.0", path = "./../identity_did", default-features = false } -identity_jose = { version = "=1.2.0", path = "./../identity_jose", default-features = false } +identity_core = { version = "=1.3.0", path = "./../identity_core", default-features = false } +identity_did = { version = "=1.3.0", path = "./../identity_did", default-features = false } +identity_jose = { version = "=1.3.0", path = "./../identity_jose", default-features = false } serde.workspace = true serde_json.workspace = true strum.workspace = true