Skip to content

Commit

Permalink
Merge pull request #37 from eike-hass/release/v0.7.0-alpha.2
Browse files Browse the repository at this point in the history
Release v0.7.0-alpha.2
  • Loading branch information
eike-hass authored Sep 13, 2022
2 parents 9276742 + 4af2c2a commit 9724d5f
Show file tree
Hide file tree
Showing 17 changed files with 62 additions and 161 deletions.
137 changes: 19 additions & 118 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# Changelog

## [v0.6.0](https://github.com/iotaledger/identity.rs/tree/v0.6.0) (2022-06-15)
## [v0.7.0-alpha.1](https://github.com/eike-hass/identity.rs/tree/v0.7.0-alpha.1) (2022-09-12)

[Full Changelog](https://github.com/iotaledger/identity.rs/compare/v0.5.0...v0.6.0)
[Full Changelog](https://github.com/eike-hass/identity.rs/compare/v0.6.0...v0.7.0-alpha.1)

## [v0.6.0](https://github.com/eike-hass/identity.rs/tree/v0.6.0) (2022-06-15)

[Full Changelog](https://github.com/eike-hass/identity.rs/compare/v0.5.0...v0.6.0)

The main feature of this release is the addition of the `RevocationBitmap2022` specification, offering efficient credential revocation on-Tangle. This is the replacement for the `MerkleKeyCollection` removed in v0.5.0, which offered similar functionality but fundamentally failed to scale beyond a few thousand revocations.

Expand All @@ -12,33 +16,9 @@ The main feature of this release is the addition of the `RevocationBitmap2022` s



### Changed

- Rename crates to use underscores [\#895](https://github.com/iotaledger/identity.rs/pull/895)
- Change `remove_service` to return boolean [\#877](https://github.com/iotaledger/identity.rs/pull/877)
- Change `DIDUrl::join` to borrow self [\#871](https://github.com/iotaledger/identity.rs/pull/871)
- Add `BaseEncoding` to replace `encode_b58`, `decode_b58`, `encode_multibase`, `decode_multibase` [\#870](https://github.com/iotaledger/identity.rs/pull/870)
- Add `RevocationBitmap2022`, bump MSRV to 1.60 [\#861](https://github.com/iotaledger/identity.rs/pull/861)
- Add Wasm `Credential` and `Presentation` field getters and constructors [\#815](https://github.com/iotaledger/identity.rs/pull/815)
- Add Diffie-Hellman key exchange for encryption to `Account` [\#809](https://github.com/iotaledger/identity.rs/pull/809)

### Added

- Implement `ECDH-ES+A256KW` for `Storage` encryption [\#867](https://github.com/iotaledger/identity.rs/pull/867)
- Add Client option for retry publishing behaviour [\#820](https://github.com/iotaledger/identity.rs/pull/820)
- Implement `Storage` test suite [\#791](https://github.com/iotaledger/identity.rs/pull/791)

### Patch

- Unpin iota-crypto version [\#834](https://github.com/iotaledger/identity.rs/pull/834)
## [v0.5.0](https://github.com/eike-hass/identity.rs/tree/v0.5.0) (2022-03-31)

### Removed

- Remove unused resolution code [\#862](https://github.com/iotaledger/identity.rs/pull/862)

## [v0.5.0](https://github.com/iotaledger/identity.rs/tree/v0.5.0) (2022-03-31)

[Full Changelog](https://github.com/iotaledger/identity.rs/compare/v0.4.0...v0.5.0)
[Full Changelog](https://github.com/eike-hass/identity.rs/compare/v0.4.0...v0.5.0)

This release introduces multiple breaking changes to the structure of IOTA DID Documents and their Tangle messages, rendering any identity created with a prior version incompatible and unresolvable. A versioning system has been introduced so any new identities should hopefully be forward compatible with any future breaking changes to the message structure.

Expand All @@ -48,102 +28,23 @@ This release introduces multiple breaking changes to the structure of IOTA DID D

Another major change is the removal of the `MerkleKeyCollection` verification method type, which provided a compact representation for issuing and revoking Verifiable Credentials with multiple cryptographic keys. The `MerkleKeyCollection` suffered from disadvantages which limited scalability when managing more than a few thousand keys. While these disadvantages could be mitigated somewhat, the decision was made to replace it with one or more alternatives not affected by its fundamental limitations, upcoming in the next major release.

### Changed

- Add Wasm `Proof`, rename `Signature` structs to `Proof` [\#776](https://github.com/iotaledger/identity.rs/pull/776)
- Replace `MethodSecret` with `MethodContent` enum [\#764](https://github.com/iotaledger/identity.rs/pull/764)
- Change document metadata `created`, `updated` to be optional [\#753](https://github.com/iotaledger/identity.rs/pull/753)
- Refactor Storage Signature [\#738](https://github.com/iotaledger/identity.rs/pull/738)
- Add X25519 key and verification method support [\#735](https://github.com/iotaledger/identity.rs/pull/735)
- Refactor `KeyLocation` [\#729](https://github.com/iotaledger/identity.rs/pull/729)
- Move DID Document proof outside metadata [\#728](https://github.com/iotaledger/identity.rs/pull/728)
- Combine resolve\_method functions [\#709](https://github.com/iotaledger/identity.rs/pull/709)
- Add separate `identity-iota-core`, `identity-account-storage` crates [\#693](https://github.com/iotaledger/identity.rs/pull/693)
- Change `IotaDocument::verify_document` from a static function to a method [\#675](https://github.com/iotaledger/identity.rs/pull/675)
- Make Wasm support dependent on `target_arch` rather than feature [\#666](https://github.com/iotaledger/identity.rs/pull/666)
- Refactor `CoreDocument`, `VerificationMethod`, `Service` to use generic DID [\#655](https://github.com/iotaledger/identity.rs/pull/655)
- Remove unused `Account` milestone option [\#645](https://github.com/iotaledger/identity.rs/pull/645)
- Change document controller type to `OneOrSet` [\#638](https://github.com/iotaledger/identity.rs/pull/638)
- Rename `MethodQuery` to `DIDUrlQuery`, move `OrderedSet`, `KeyComparable` [\#634](https://github.com/iotaledger/identity.rs/pull/634)
- Change `also_known_as` type to `OrderedSet` [\#632](https://github.com/iotaledger/identity.rs/pull/632)
- Move verification functionality from `DocumentVerifier` to `CoreDocument` [\#606](https://github.com/iotaledger/identity.rs/pull/606)
- Fix dependent diff updates being rejected [\#605](https://github.com/iotaledger/identity.rs/pull/605)
- Change `Account::state` visibility to `pub(crate)` [\#604](https://github.com/iotaledger/identity.rs/pull/604)
- Overhaul `CredentialValidator`, add `PresentationValidator` [\#599](https://github.com/iotaledger/identity.rs/pull/599)
- Remove JSON string escaping in diff messages [\#598](https://github.com/iotaledger/identity.rs/pull/598)
- Replace `ClientMap` with new `Resolver` [\#594](https://github.com/iotaledger/identity.rs/pull/594)
- Replace `ClientMap` with `Client` in `Account` [\#582](https://github.com/iotaledger/identity.rs/pull/582)
- Add signature `created`, `expires`, `challenge`, `domain`, `purpose` [\#548](https://github.com/iotaledger/identity.rs/pull/548)
- Refactor document metadata [\#540](https://github.com/iotaledger/identity.rs/pull/540)
- Replace `chrono` with `time` [\#529](https://github.com/iotaledger/identity.rs/pull/529)
- Enable access to the low-level API from the `Account` [\#522](https://github.com/iotaledger/identity.rs/pull/522)
- Update to `rsa` 0.5 in libjose [\#517](https://github.com/iotaledger/identity.rs/pull/517)
- Rename `DocumentDiff` to `DiffMessage` [\#511](https://github.com/iotaledger/identity.rs/pull/511)
- Deterministic ordering of competing messages [\#506](https://github.com/iotaledger/identity.rs/pull/506)
- Check for existence & duplication of methods in `CoreDocument` [\#504](https://github.com/iotaledger/identity.rs/pull/504)
- Move `dropsave` from `Account` to `Stronghold` [\#500](https://github.com/iotaledger/identity.rs/pull/500)
- Add `ExplorerUrl` to replace `Network` explorer methods [\#496](https://github.com/iotaledger/identity.rs/pull/496)
- Update `ServiceEndpoint` to support sets and maps [\#485](https://github.com/iotaledger/identity.rs/pull/485)
- Enable deep equality in `OrderedSet` [\#481](https://github.com/iotaledger/identity.rs/pull/481)
- Add message compression and versioning [\#466](https://github.com/iotaledger/identity.rs/pull/466)
- Update document signing key constraints and methods [\#458](https://github.com/iotaledger/identity.rs/pull/458)
- Refactor the `Account`: internal state, one identity [\#453](https://github.com/iotaledger/identity.rs/pull/453)

### Added

- Expose Ed25519, X25519 length constants [\#772](https://github.com/iotaledger/identity.rs/pull/772)
- Generify `Account::client` over `Rc`, `Arc` [\#707](https://github.com/iotaledger/identity.rs/pull/707)
- Update Stronghold [\#691](https://github.com/iotaledger/identity.rs/pull/691)
- Add `Duration` for `Timestamp` arithmetic [\#684](https://github.com/iotaledger/identity.rs/pull/684)
- Add `Client` fallback to local PoW option [\#682](https://github.com/iotaledger/identity.rs/pull/682)
- Set `controller`, `alsoKnownAs` fields from Account [\#658](https://github.com/iotaledger/identity.rs/pull/658)
- Implement `FromIterator` for `OneOrMany` [\#602](https://github.com/iotaledger/identity.rs/pull/602)
- Add account synchronization method [\#544](https://github.com/iotaledger/identity.rs/pull/544)
- Filter out DiffMessages updating signing methods [\#519](https://github.com/iotaledger/identity.rs/pull/519)
- Add publish with retry method [\#455](https://github.com/iotaledger/identity.rs/pull/455)

### Patch

- Fix panic when parsing an `IotaDID` with more than 2 method id segments [\#758](https://github.com/iotaledger/identity.rs/pull/758)
- Update iota.rs to include timeout bugfix [\#712](https://github.com/iotaledger/identity.rs/pull/712)
- Support verification methods with the same fragment [\#623](https://github.com/iotaledger/identity.rs/pull/623)
- Fix diff properties \(de\)serialization [\#611](https://github.com/iotaledger/identity.rs/pull/611)
- Enable local proof-of-work fallback [\#579](https://github.com/iotaledger/identity.rs/pull/579)
- Add `identity-diff` derive feature gate [\#516](https://github.com/iotaledger/identity.rs/pull/516)
- Improve client error messages [\#512](https://github.com/iotaledger/identity.rs/pull/512)
- Make `create_signature` and `sign` async for `RemoteEd25519` [\#491](https://github.com/iotaledger/identity.rs/pull/491)
- Fix credential validation failing for documents with diff updates [\#490](https://github.com/iotaledger/identity.rs/pull/490)
- Upgrade to the Rust 2021 edition [\#449](https://github.com/iotaledger/identity.rs/pull/449)

### Deprecated

- Deprecate diff chain features [\#759](https://github.com/iotaledger/identity.rs/pull/759)

### Removed

- Remove `AccountStorage` [\#774](https://github.com/iotaledger/identity.rs/pull/774)
- Remove `MerkleKeyCollection` [\#755](https://github.com/iotaledger/identity.rs/pull/755)
- Remove `Storage::set_password` [\#733](https://github.com/iotaledger/identity.rs/pull/733)
- Remove `publicKeyJwk` [\#732](https://github.com/iotaledger/identity.rs/pull/732)
- Remove `DIDLease` account feature [\#664](https://github.com/iotaledger/identity.rs/pull/664)

## [v0.4.0](https://github.com/iotaledger/identity.rs/tree/v0.4.0) (2021-11-01)

[Full Changelog](https://github.com/iotaledger/identity.rs/compare/v0.3.0...v0.4.0)

## [v0.3.0](https://github.com/iotaledger/identity.rs/tree/v0.3.0) (2021-05-10)

[Full Changelog](https://github.com/iotaledger/identity.rs/compare/v0.2.0...v0.3.0)
## [v0.4.0](https://github.com/eike-hass/identity.rs/tree/v0.4.0) (2021-11-01)

[Full Changelog](https://github.com/eike-hass/identity.rs/compare/v0.3.0...v0.4.0)

## [v0.3.0](https://github.com/eike-hass/identity.rs/tree/v0.3.0) (2021-05-10)

[Full Changelog](https://github.com/eike-hass/identity.rs/compare/v0.2.0...v0.3.0)

This release introduces the high-level `Account` API for creating and managing IOTA identities.

## [v0.2.0](https://github.com/iotaledger/identity.rs/tree/v0.2.0) (2021-02-18)
## [v0.2.0](https://github.com/eike-hass/identity.rs/tree/v0.2.0) (2021-02-18)

[Full Changelog](https://github.com/iotaledger/identity.rs/compare/v0.1.0...v0.2.0)
[Full Changelog](https://github.com/eike-hass/identity.rs/compare/v0.1.0...v0.2.0)

## [v0.1.0](https://github.com/iotaledger/identity.rs/tree/v0.1.0) (2020-11-12)
## [v0.1.0](https://github.com/eike-hass/identity.rs/tree/v0.1.0) (2020-11-12)

[Full Changelog](https://github.com/iotaledger/identity.rs/compare/360bf5ce64a7f418249cdeadccb22b9aea7daeb6...v0.1.0)
[Full Changelog](https://github.com/eike-hass/identity.rs/compare/360bf5ce64a7f418249cdeadccb22b9aea7daeb6...v0.1.0)



Expand Down
6 changes: 3 additions & 3 deletions bindings/stronghold-nodejs/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ publish = false
crate-type = ["cdylib"]

[dependencies]
identity_account_storage = { version = "=0.6.0", path = "../../identity_account_storage", default-features = false, features = ["stronghold", "send-sync-storage", "encryption"] }
identity_core = { version = "=0.6.0", path = "../../identity_core", default-features = false }
identity_account_storage = { version = "0.6.0", path = "../../identity_account_storage", default-features = false, features = ["stronghold", "send-sync-storage", "encryption"] }
identity_core = { version = "0.7.0-alpha.2", path = "../../identity_core", default-features = false }
identity_did = { version = "=0.6.0", path = "../../identity_did", default-features = false }
identity_iota_core_legacy = { version = "=0.6.0", path = "../../identity_iota_core_legacy", default-features = false }
identity_iota_core_legacy = { version = "0.6.0", path = "../../identity_iota_core_legacy", default-features = false }
napi = { version = "2.4.3", default-features = false, features = ["napi4", "tokio_rt", "serde-json"] }
napi-derive = { version = "2.4.1", default-features = false, features = ["compat-mode", "full"] }
serde = { version = "1.0", default-features = false, features = ["derive"] }
Expand Down
2 changes: 1 addition & 1 deletion bindings/wasm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ wasm-bindgen = { version = "0.2.82", features = ["serde-serialize"] }
wasm-bindgen-futures = { version = "0.4", default-features = false }

[dependencies.identity_iota]
version = "=0.6.0"
version = "0.7.0-alpha.2"
path = "../../identity_iota"
default-features = false
features = ["client", "revocation-bitmap", "resolver"]
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.6.0"
version = "0.7.0-alpha.2"
authors = ["IOTA Stiftung"]
edition = "2021"
publish = false
Expand Down
6 changes: 3 additions & 3 deletions identity_account/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ description = "High-level interface for managing IOTA DID Documents."

[dependencies]
identity_account_storage = { version = "=0.6.0", path = "../identity_account_storage", default-features = false }
identity_core = { version = "=0.6.0", path = "../identity_core", default-features = false }
identity_credential = { version = "=0.6.0", path = "../identity_credential", default-features = false }
identity_did = { version = "=0.6.0", path = "../identity_did", default-features = false }
identity_core = { version = "=0.7.0-alpha.2", path = "../identity_core", default-features = false }
identity_credential = { version = "=0.7.0-alpha.2", path = "../identity_credential", default-features = false }
identity_did = { version = "=0.7.0-alpha.2", path = "../identity_did", default-features = false }
identity_iota_client_legacy = { version = "=0.6.0", path = "../identity_iota_client_legacy", default-features = false }
identity_iota_core_legacy = { version = "=0.6.0", path = "../identity_iota_core_legacy", default-features = false }
log = { version = "0.4", default-features = false }
Expand Down
4 changes: 2 additions & 2 deletions identity_account_storage/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ async-trait = { version = "0.1", default-features = false }
function_name = { version = "0.2", default-features = false, optional = true }
futures = { version = "0.3", optional = true }
hashbrown = { version = "0.11", features = ["serde"] }
identity_core = { version = "=0.6.0", path = "../identity_core", default-features = false }
identity_did = { version = "=0.6.0", path = "../identity_did", default-features = false }
identity_core = { version = "=0.7.0-alpha.2", path = "../identity_core", default-features = false }
identity_did = { version = "=0.7.0-alpha.2", path = "../identity_did", default-features = false }
identity_iota_core_legacy = { version = "=0.6.0", path = "../identity_iota_core_legacy", default-features = false }
iota-crypto = { version = "0.12.1", default-features = false, features = ["hmac", "pbkdf", "sha", "std", "aes-gcm", "aes-kw"] }
iota_stronghold = { version = "0.6.4", default-features = false, features = ["std"], optional = true }
Expand Down
4 changes: 2 additions & 2 deletions identity_agent/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "identity_agent"
version = "0.6.0"
version = "0.7.0-alpha.2"
authors = ["IOTA Stiftung"]
edition = "2021"
homepage = "https://www.iota.org"
Expand All @@ -14,7 +14,7 @@ description = "A peer-to-peer communication framework for building SSI agents on
async-trait = { version = "0.1", default-features = false }
dashmap = { version = "5.3", default-features = false }
futures = { version = "0.3", default-features = false }
identity_core = { version = "=0.6.0", path = "../identity_core", default-features = false }
identity_core = { version = "=0.7.0-alpha.2", path = "../identity_core", default-features = false }
libp2p = { version = "0.45", default-features = false, features = ["tcp-tokio", "dns-tokio", "websocket", "request-response", "noise", "yamux"] }
log = { version = "0.4", default-features = false }
serde = { version = "1.0", default-features = false, features = ["derive"] }
Expand Down
4 changes: 2 additions & 2 deletions identity_core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "identity_core"
version = "0.6.0"
version = "0.7.0-alpha.2"
authors = ["IOTA Stiftung"]
edition = "2021"
homepage = "https://www.iota.org"
Expand All @@ -11,7 +11,7 @@ repository = "https://github.com/iotaledger/identity.rs"
description = "The core traits and types for the identity-rs library."

[dependencies]
identity-diff = { version = "=0.6.0", path = "../identity_diff", default-features = false }
identity-diff = { version = "=0.7.0-alpha.2", path = "../identity_diff", default-features = false }
multibase = { version = "0.9", default-features = false, features = ["std"] }
serde = { version = "1.0", default-features = false, features = ["std", "derive"] }
serde_jcs = { version = "0.1", default-features = false }
Expand Down
6 changes: 3 additions & 3 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.6.0"
version = "0.7.0-alpha.2"
authors = ["IOTA Stiftung"]
edition = "2021"
homepage = "https://www.iota.org"
Expand All @@ -13,8 +13,8 @@ description = "An implementation of the Verifiable Credentials standard."

[dependencies]
erased-serde = { version = "0.3.21", default-features = false, features = ["std"], optional = true }
identity_core = { version = "=0.6.0", path = "../identity_core", default-features = false }
identity_did = { version = "=0.6.0", path = "../identity_did", default-features = false }
identity_core = { version = "=0.7.0-alpha.2", path = "../identity_core", default-features = false }
identity_did = { version = "=0.7.0-alpha.2", path = "../identity_did", default-features = false }
itertools = { version = "0.10", default-features = false, features = ["use_std"], optional = true }
lazy_static = { version = "1.4", default-features = false }
serde = { version = "1.0", default-features = false, features = ["std", "derive"] }
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.6.0"
version = "0.7.0-alpha.2"
authors = ["IOTA Stiftung"]
edition = "2021"
homepage = "https://www.iota.org"
Expand All @@ -15,7 +15,7 @@ dataurl = { version = "0.1.2", default-features = false, optional = true }
did_url = { version = "0.1", default-features = false, features = ["std", "serde"] }
flate2 = { version = "1.0.23", default-features = false, features = ["rust_backend"], optional = true }
form_urlencoded = { version = "1.0.1", default-features = false }
identity_core = { version = "=0.6.0", path = "../identity_core" }
identity_core = { version = "=0.7.0-alpha.2", path = "../identity_core" }
indexmap = { version = "1.7", default-features = false, features = ["std", "serde-1"] }
roaring = { version = "0.9.0", default-features = false, optional = true }
serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] }
Expand Down
4 changes: 2 additions & 2 deletions identity_diff/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "identity-diff"
version = "0.6.0"
version = "0.7.0-alpha.2"
authors = ["IOTA Stiftung"]
edition = "2021"
homepage = "https://www.iota.org"
Expand All @@ -11,7 +11,7 @@ repository = "https://github.com/iotaledger/identity.rs"
description = "`Diff` trait to compute and merge data structure differences."

[dependencies]
identity-diff-derive = { version = "=0.6.0", path = "derive", optional = true }
identity-diff-derive = { version = "=0.7.0-alpha.2", path = "derive", optional = true }
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0" }
strum = { version = "0.24.0", default-features = false, features = ["std", "derive"] }
Expand Down
Loading

0 comments on commit 9724d5f

Please sign in to comment.