Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.0.0-rc.1 #1228

Merged
merged 12 commits into from
Sep 29, 2023
6 changes: 6 additions & 0 deletions .github/releases/v1.0.0-rc.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
This version introduces a new DID method targeting the IOTA UTXO ledger. This method works fundamentally differently from the previous method and introduces new capabilities to interact with Layer 1 assets like Native Tokens, NFTs and various Output types.
\n
This version changes the credential and presentation format to JWT, as specified by the [VC Data Model v1.1](https://www.w3.org/TR/vc-data-model/#json-web-token).
\n\n
Note: Identities and credentials created with the earlier versions cannot be resolved with this version of the library.
\n\n
134 changes: 134 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,139 @@
# Changelog

## [1.0.0-rc.1](https://github.com/iotaledger/identity.rs/tree/v1.0.0-rc.1) (2023-09-29)

[Full Changelog](https://github.com/iotaledger/identity.rs/compare/v0.6.3...v1.0.0-rc.1)

This version introduces a new DID method targeting the IOTA UTXO ledger. This method works fundamentally differently from the previous method and introduces new capabilities to interact with Layer 1 assets like Native Tokens, NFTs and various Output types.

This version changes the credential and presentation format to JWT, as specified by the [VC Data Model v1.1](https://www.w3.org/TR/vc-data-model/#json-web-token).

Note: Identities and credentials created with the earlier versions cannot be resolved with this version of the library.

### Changed

- Add dedicated stronghold crate [#1243](https://github.com/iotaledger/identity.rs/pull/1243)
- Add dedicated EdDSA verifier crate [#1238](https://github.com/iotaledger/identity.rs/pull/1238)
- Use `VC Data Model v1.1` JWT encoding instead of `VC-JWT` [#1234](https://github.com/iotaledger/identity.rs/pull/1234)
- Remove `vp` and `vc` from JWT claims in JOSE [#1233](https://github.com/iotaledger/identity.rs/pull/1233)
- Mark error enums as non-exhaustive [#1227](https://github.com/iotaledger/identity.rs/pull/1227)
- Change `verifiable_credential` to type `Vec<CRED>` in `Presentation` [#1231](https://github.com/iotaledger/identity.rs/pull/1231)
- Bring JwkDocumentExt names in line with Wasm [#1233](https://github.com/iotaledger/identity.rs/pull/1223)
- Add lints for all crates [#1222](https://github.com/iotaledger/identity.rs/pull/1222)
- Bump `iota-sdk` and other dependencies [#1208](https://github.com/iotaledger/identity.rs/pull/1208)
- Polish `identity_credential` [#1205](https://github.com/iotaledger/identity.rs/pull/1205)
- Polish `identity_resolver` and`identity_storage` [#1204](https://github.com/iotaledger/identity.rs/pull/1204)
- Polish `identity_iota_core` [#1203](https://github.com/iotaledger/identity.rs/pull/1203)
- Rename `JwtPresentation` to `Presentation` [#1200](https://github.com/iotaledger/identity.rs/pull/1200)
- Polish `identity_document` [#1198](https://github.com/iotaledger/identity.rs/pull/1198)
- Polish `identity_did` & `identity_verification` [#1197](https://github.com/iotaledger/identity.rs/pull/1197)
- Polish `identity_core` [#1196](https://github.com/iotaledger/identity.rs/pull/1196)
- Remove identity-diff remains [#1195](https://github.com/iotaledger/identity.rs/pull/1195)
- Remove legacy signing and verification APIs [#1194](https://github.com/iotaledger/identity.rs/pull/1194)
- Remove old `Presentation` type [#1190](https://github.com/iotaledger/identity.rs/pull/1190)
- Remove reexported `Resolver` validation APIs [#1183](https://github.com/iotaledger/identity.rs/pull/1183)
- Use JWT credentials for Domain Linkage [#1180](https://github.com/iotaledger/identity.rs/pull/1180)
- Remove `identity_agent` & `identity_comm` [#1168](https://github.com/iotaledger/identity.rs/pull/1168)
- Remove `identity-diff` crate [#1167](https://github.com/iotaledger/identity.rs/pull/1167)
- JwkStorageDocument & JwtCredential validation [#1152](https://github.com/iotaledger/identity.rs/pull/1152)
- Adapt StorageError to be more generic [#1144](https://github.com/iotaledger/identity.rs/pull/1144)
- Add initial PublicKeyJwk support [#1143](https://github.com/iotaledger/identity.rs/pull/1143)
- Split JWS `Decoder` functionality [#1133](https://github.com/iotaledger/identity.rs/pull/1133)
- `CoreDocument` & `Service` and `VerificationMethod` are now in the `document` and `verification` modules respectively [#1104](https://github.com/iotaledger/identity.rs/pull/1104)
- Remove generics in CoreDocument, VerificationMethod, Service, DIDUrl and LinkedDomainService [#1110](https://github.com/iotaledger/identity.rs/pull/1110)
- Updated `iota-types` dependency to `1.0.0-rc.6` [#1121](https://github.com/iotaledger/identity.rs/pull/1121)
- Refactor `MethodType` to make it extensible [#1112](https://github.com/iotaledger/identity.rs/pull/1112)
- More identifier checks in `CoreDocument` [#1067](https://github.com/iotaledger/identity.rs/pull/1067)
- Update to `iota-client` 2.0.1-rc.4 and `iota-client-wasm` 0.5.0-alpha.6 [#1088](https://github.com/iotaledger/identity.rs/pull/1088)
- Update iota client 2.0.1 rc.3 [\#1062](https://github.com/iotaledger/identity.rs/pull/1062)
- Use Bech32-encoded state controller and governor addresses [\#1044](https://github.com/iotaledger/identity.rs/pull/1044)
- Expose iteration over verification relationship fields [\#1024](https://github.com/iotaledger/identity.rs/pull/1024)
- Remove `identity_agent` reexport [\#1031](https://github.com/iotaledger/identity.rs/pull/1031)
- Rename `MixedResolver` to `Resolver` in Wasm [\#1026](https://github.com/iotaledger/identity.rs/pull/1026)
- Add length prefix to DID Document payloads [\#1010](https://github.com/iotaledger/identity.rs/pull/1010)
- Feature-gate `Resolver` [\#1007](https://github.com/iotaledger/identity.rs/pull/1007)
- Rename `Stardust` types to `Iota` [\#1000](https://github.com/iotaledger/identity.rs/pull/1000)
- Change Stardust DID method to IOTA [\#982](https://github.com/iotaledger/identity.rs/pull/982)
- Add Wasm Stardust Client [\#975](https://github.com/iotaledger/identity.rs/pull/975)
- Generalized Resolver [\#970](https://github.com/iotaledger/identity.rs/pull/970)
- Change `Storage` to handle `CoreDID` [\#968](https://github.com/iotaledger/identity.rs/pull/968)
- Feature-gate `iota-client` dependency, integrate `StardustDID` [\#958](https://github.com/iotaledger/identity.rs/pull/958)
- Change `Storage` to store arbitrary blobs [\#953](https://github.com/iotaledger/identity.rs/pull/953)
- Add `StardustDocumentMetadata`, implement `StardustDocument` methods [\#951](https://github.com/iotaledger/identity.rs/pull/951)
- Fix stack overflow in `CoreDID` `PartialEq` impl [\#946](https://github.com/iotaledger/identity.rs/pull/946)
- Change `Service` `type` field to allow sets [\#944](https://github.com/iotaledger/identity.rs/pull/944)
- Generalise `CredentialValidator`, `PresentationValidator` to support arbitrary DID Documents [\#935](https://github.com/iotaledger/identity.rs/pull/935)


### Added

- Allow arbitrary JWS header parameters [#1245](https://github.com/iotaledger/identity.rs/pull/1245)
- Allow custom JWT claims for presentations [#1244](https://github.com/iotaledger/identity.rs/pull/1244)
- Allow custom `kid` to be set in JWS [#1239](https://github.com/iotaledger/identity.rs/pull/1239)
- Allow custom JWT claims for credentials [#1237](https://github.com/iotaledger/identity.rs/pull/1237)
- Improve `Proof` [#1209](https://github.com/iotaledger/identity.rs/pull/1209)
- Polish `identity_jose` [#1201](https://github.com/iotaledger/identity.rs/pull/1201)
- Add `resolve_multiple` to Resolver [#1189](https://github.com/iotaledger/identity.rs/pull/1189)
- Make JWT presentations generic [#1186](https://github.com/iotaledger/identity.rs/pull/1186)
- Support JWT presentations [#1175](https://github.com/iotaledger/identity.rs/pull/1175)
- Polish JWK thumbprint and document extension API [#1173](https://github.com/iotaledger/identity.rs/pull/1173)
- Stronghold Storage Implementation [#1157](https://github.com/iotaledger/identity.rs/pull/1157)
- Implement `KeyIdStorage` in Rust [#1134](https://github.com/iotaledger/identity.rs/pull/1134)
- Implement `JwkStorage` [#1116](https://github.com/iotaledger/identity.rs/pull/1133)
- Add Wasm Bindings for Domain Linkage [#1115](https://github.com/iotaledger/identity.rs/pull/1115)
- Introduce `IToCoreDocument` and document locks in the bindings [#1120](https://github.com/iotaledger/identity.rs/pull/1120)
- Add Support for Domain Linkage in Rust [#1094](https://github.com/iotaledger/identity.rs/pull/1094)
- Add JSON Object Signing capabilities [#1105](https://github.com/iotaledger/identity.rs/pull/1105)
- Make `StateMetadataDocument` public [#1085](https://github.com/iotaledger/identity.rs/pull/1085)
- Add v. credentials and presentations examples [#1070](https://github.com/iotaledger/identity.rs/pull/1070)
- Add revocation examples [#1076](https://github.com/iotaledger/identity.rs/pull/1076)
- Expose Controller and Governor Addresses in metadata [\#1023](https://github.com/iotaledger/identity.rs/pull/1023)
- Add Stardust Client Extension Trait [\#963](https://github.com/iotaledger/identity.rs/pull/963)
- Add StardustDID [\#949](https://github.com/iotaledger/identity.rs/pull/949)
- State metadata serialization for the stardust DID method [\#947](https://github.com/iotaledger/identity.rs/pull/947)
- Stardust DID Method Proof-of-Concept [\#940](https://github.com/iotaledger/identity.rs/pull/940)
- Implement the Identity Agent [\#322](https://github.com/iotaledger/identity.rs/pull/322)


### Patch

- Fix holder claim check in VP [#1236](https://github.com/iotaledger/identity.rs/pull/1236)
- Fix issuer claim check in VC [#1235](https://github.com/iotaledger/identity.rs/pull/1235)
- Feature-gate Domain Linkage [#1184](https://github.com/iotaledger/identity.rs/pull/1184)
- Update method spec and JWK method type [#1176](https://github.com/iotaledger/identity.rs/pull/1176)
- Replace `iota-client` with `iota-sdk` [#1161](https://github.com/iotaledger/identity.rs/pull/1161)
- Pin `form_urlencoded` to `1.1.0` [#1136](https://github.com/iotaledger/identity.rs/pull/1136)
- Remove legacy crates [#1080](https://github.com/iotaledger/identity.rs/pull/1080)
- Recommend unique `credentialStatus.id` in `RevocationBitmap2022` [\#1039](https://github.com/iotaledger/identity.rs/pull/1039)
- Pin agent dev-dependencies to crates versions [\#1029](https://github.com/iotaledger/identity.rs/pull/1029)
- Support case insensitive serialization of `RentStructure` [\#1012](https://github.com/iotaledger/identity.rs/pull/1012)
- Update stronghold to 0.6.4 [\#928](https://github.com/iotaledger/identity.rs/pull/928)

## [0.7.0-alpha.8](https://github.com/iotaledger/identity.rs/tree/v0.7.0-alpha.8) (2023-09-28)
PhilippGackstatter marked this conversation as resolved.
Show resolved Hide resolved

[Full Changelog](https://github.com/iotaledger/identity.rs/compare/v0.7.0-alpha.7...v0.7.0-alpha.8)


### Changed
- Add dedicated stronghold crate [#1243](https://github.com/iotaledger/identity.rs/pull/1243)
- Add dedicated EdDSA verifier crate [#1238](https://github.com/iotaledger/identity.rs/pull/1238)
- Use `VC Data Model v1.1` JWT encoding instead of `VC-JWT` [#1234](https://github.com/iotaledger/identity.rs/pull/1234)
- Remove `vp` and `vc` from JWT claims in JOSE [#1233](https://github.com/iotaledger/identity.rs/pull/1233)
- Mark error enums as non-exhaustive [#1227](https://github.com/iotaledger/identity.rs/pull/1227)
- Change `verifiable_credential` to type `Vec<CRED>` in `Presentation` [#1231](https://github.com/iotaledger/identity.rs/pull/1231)
- Bring JwkDocumentExt names in line with Wasm [#1233](https://github.com/iotaledger/identity.rs/pull/1223)
- Add lints for all crates [#1222](https://github.com/iotaledger/identity.rs/pull/1222)

### Added
- Allow arbitrary JWS header parameters [#1245](https://github.com/iotaledger/identity.rs/pull/1245)
- Allow custom JWT claims for presentations [#1244](https://github.com/iotaledger/identity.rs/pull/1244)
- Allow custom `kid` to be set in JWS [#1239](https://github.com/iotaledger/identity.rs/pull/1239)
- Allow custom JWT claims for credentials [#1237](https://github.com/iotaledger/identity.rs/pull/1237)

### Patch
- Fix holder claim check in VP [#1236](https://github.com/iotaledger/identity.rs/pull/1236)
- Fix issuer claim check in VC [#1235](https://github.com/iotaledger/identity.rs/pull/1235)

## [v0.7.0-alpha.7](https://github.com/iotaledger/identity.rs/tree/v0.7.0-alpha.7) (2023-08-15)

[Full Changelog](https://github.com/iotaledger/identity.rs/compare/v0.7.0-alpha.6...v0.7.0-alpha.7)
Expand Down
4 changes: 2 additions & 2 deletions bindings/wasm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ crate-type = ["cdylib", "rlib"]
async-trait = { version = "0.1", default-features = false }
console_error_panic_hook = { version = "0.1" }
futures = { version = "0.3" }
identity_eddsa_verifier = { version = "0.7.0-alpha.7", path = "../../identity_eddsa_verifier", default-features = false, features = ["ed25519"] }
identity_eddsa_verifier = { version = "1.0.0-rc.1", path = "../../identity_eddsa_verifier", default-features = false, features = ["ed25519"] }
js-sys = { version = "0.3.61" }
proc_typescript = { version = "0.1.0", path = "./proc_typescript" }
serde = { version = "1.0", features = ["derive"] }
Expand All @@ -31,7 +31,7 @@ wasm-bindgen = { version = "0.2.85", features = ["serde-serialize"] }
wasm-bindgen-futures = { version = "0.4", default-features = false }

[dependencies.identity_iota]
version = "0.7.0-alpha.8"
version = "1.0.0-rc.1"
path = "../../identity_iota"
default-features = false
features = ["client", "revocation-bitmap", "resolver", "domain-linkage"]
Expand Down
2 changes: 1 addition & 1 deletion examples/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "examples"
version = "0.7.0-alpha.8"
version = "1.0.0-rc.1"
authors = ["IOTA Stiftung"]
edition = "2021"
publish = false
Expand Down
2 changes: 1 addition & 1 deletion identity_core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "identity_core"
version = "0.7.0-alpha.8"
version = "1.0.0-rc.1"
authors.workspace = true
edition.workspace = true
homepage.workspace = true
Expand Down
12 changes: 6 additions & 6 deletions identity_credential/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "identity_credential"
version = "0.7.0-alpha.8"
version = "1.0.0-rc.1"
authors = ["IOTA Stiftung"]
edition = "2021"
homepage.workspace = true
Expand All @@ -15,10 +15,10 @@ description = "An implementation of the Verifiable Credentials standard."
dataurl = { version = "0.1.2", default-features = false, optional = true }
flate2 = { version = "1.0.23", default-features = false, features = ["rust_backend"], optional = true }
futures = { version = "0.3", default-features = false, optional = true }
identity_core = { version = "=0.7.0-alpha.8", path = "../identity_core", default-features = false }
identity_did = { version = "=0.7.0-alpha.8", path = "../identity_did", default-features = false }
identity_document = { version = "=0.7.0-alpha.8", path = "../identity_document", default-features = false }
identity_verification = { version = "=0.7.0-alpha.8", path = "../identity_verification", default-features = false }
identity_core = { version = "=1.0.0-rc.1", path = "../identity_core", default-features = false }
identity_did = { version = "=1.0.0-rc.1", path = "../identity_did", default-features = false }
identity_document = { version = "=1.0.0-rc.1", path = "../identity_document", default-features = false }
identity_verification = { version = "=1.0.0-rc.1", 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 }
once_cell = { version = "1.18", default-features = false, features = ["std"] }
Expand All @@ -31,7 +31,7 @@ thiserror.workspace = true
url = { version = "2.4", default-features = false }

[dev-dependencies]
identity_eddsa_verifier = { version = "=0.7.0-alpha.8", path = "../identity_eddsa_verifier", default-features = false, features = ["ed25519"] }
identity_eddsa_verifier = { version = "=1.0.0-rc.1", path = "../identity_eddsa_verifier", default-features = false, features = ["ed25519"] }
iota-crypto = { version = "0.23", default-features = false, features = ["ed25519", "std", "random"] }
proptest = { version = "1.0.0", default-features = false, features = ["std"] }
serde_json.workspace = true
Expand Down
4 changes: 2 additions & 2 deletions identity_did/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "identity_did"
version = "0.7.0-alpha.8"
version = "1.0.0-rc.1"
authors.workspace = true
edition = "2021"
homepage.workspace = true
Expand All @@ -13,7 +13,7 @@ description = "Agnostic implementation of the Decentralized Identifiers (DID) st
[dependencies]
did_url = { version = "0.1", default-features = false, features = ["std", "serde"] }
form_urlencoded = { version = "1.2.0", default-features = false, features = ["alloc"] }
identity_core = { version = "=0.7.0-alpha.8", path = "../identity_core" }
identity_core = { version = "=1.0.0-rc.1", path = "../identity_core" }
serde.workspace = true
strum.workspace = true
thiserror.workspace = true
Expand Down
8 changes: 4 additions & 4 deletions identity_document/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "identity_document"
version = "0.7.0-alpha.8"
version = "1.0.0-rc.1"
authors.workspace = true
edition.workspace = true
homepage.workspace = true
Expand All @@ -13,9 +13,9 @@ description = "Method-agnostic implementation of the Decentralized Identifiers (

[dependencies]
did_url = { version = "0.1", default-features = false, features = ["std", "serde"] }
identity_core = { version = "=0.7.0-alpha.8", path = "../identity_core" }
identity_did = { version = "=0.7.0-alpha.8", path = "../identity_did" }
identity_verification = { version = "=0.7.0-alpha.8", path = "../identity_verification", default-features = false }
identity_core = { version = "=1.0.0-rc.1", path = "../identity_core" }
identity_did = { version = "=1.0.0-rc.1", path = "../identity_did" }
identity_verification = { version = "=1.0.0-rc.1", path = "../identity_verification", default-features = false }
indexmap = { version = "2.0", default-features = false, features = ["std", "serde"] }
serde.workspace = true
strum.workspace = true
Expand Down
4 changes: 2 additions & 2 deletions identity_eddsa_verifier/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "identity_eddsa_verifier"
version = "0.7.0-alpha.8"
version = "1.0.0-rc.1"
authors.workspace = true
edition.workspace = true
homepage.workspace = true
Expand All @@ -12,7 +12,7 @@ rust-version.workspace = true
description = "JWS EdDSA signature verification for IOTA Identity"

[dependencies]
identity_jose = { version = "=0.7.0-alpha.8", path = "../identity_jose", default-features = false }
identity_jose = { version = "=1.0.0-rc.1", path = "../identity_jose", default-features = false }
iota-crypto = { version = "0.23", default-features = false, features = ["std"] }

[features]
Expand Down
Loading
Loading