Skip to content

Commit

Permalink
Release 0.0.16
Browse files Browse the repository at this point in the history
  • Loading branch information
wigy-opensource-developer committed Jun 30, 2022
1 parent 719a207 commit dd647c5
Show file tree
Hide file tree
Showing 29 changed files with 219 additions and 127 deletions.
64 changes: 54 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
# Changelog

## 0.0.16 (2022-06-30)

### Added

- New WASM bindings:
- `allNetworkNames()` lists all network names that are accepted as a parameter in some methods.
- `Bip39.shortEntropy()`, `Bip39.shortPhrase()` improves compatibility with old wallets like Coinomi.
- `wrapWithNonce()` helps adding extra entropy to a JSON document, where selective masking will be used.
- `MorpheusPrivate.path` and `MorpheusPrivateKind.path` returns BIP32 derivation paths to allow compatibility with other wallets.
- `MorpheusOperationSigner.signWithId()` makes it easier to sign with a key if only its identifier is known to the caller.
- `JwtBuilder.timeToLive` property helps to override the default 5s expiration of tokens.
- `new MorpheusSignableOperation(json)` and `new MorpheusSignedOperation(json)` mirrors `MorpheusSignableOperation.toJSON()` and
`MorpheusSignedOperation.toJSON()`, so it is easier to build complex SSI transactions.
- Documented all WASM methods in the SDK, except those related to Coeus for now.

### Changed

- Vault freshly created from a random seed is dirty (unsaved).
- All crates are now using Rust edition 2021.

## 0.0.15 (2021-11-09)

### Fixed

- `JsSubtreePolicies` methods should not take ownership of self

### Added

- Exposed all 4 DID kinds (persona, device, group, resource) through WASM, FFI and vault file format.
- Exposed SignedJson serialization format through WASM and FFI.
- Made the native Rust SDK more usable by re-exporting symbols through it.
- Morpheus node stores transaction ID of PoE SSI operations, so it can be queried in IBeforeProofHistory.
- scripts/publish.sh helps publishing all crates in the correct order.

## 0.0.14 (2021-07-21)

### Fixed
Expand All @@ -14,9 +48,11 @@

### Added

- You can now set the vendor field (aka. smart bridge field) and set a manual fee on Hydra core transactions using the 2 new optional arguments TypeScript SDK HydraTxBuilder factory methods got.
- You can now set the vendor field (aka. smart bridge field) and set a manual fee on Hydra core transactions using the 2 new optional
arguments TypeScript SDK HydraTxBuilder factory methods got.
- Added some missing bindings to WASM and FFI, `SecpKeyId.toAddress` being the most important one.
- Multicipher objects (`MPrivateKey`, `MPublicKey` and `MKeyId`) can be safely downcasted in Rust to secp256p1 and ed25519 cipher objects. Not supported in WASM and FFI yet.
- Multicipher objects (`MPrivateKey`, `MPublicKey` and `MKeyId`) can be safely downcasted in Rust to secp256p1 and ed25519 cipher
objects. Not supported in WASM and FFI yet.

### Changed

Expand All @@ -27,19 +63,23 @@

### Added

- You can now set the vendor field (aka. smart bridge field) and set a manual fee on Hydra core transactions using the 2 new optional arguments TypeScript SDK HydraTxBuilder factory methods got.
- You can now set the vendor field (aka. smart bridge field) and set a manual fee on Hydra core transactions using the 2 new optional
arguments TypeScript SDK HydraTxBuilder factory methods got.

## 0.0.12 (2021-03-17)

### Added

- Crate `iop-sdk` now exports important types and is generally usable as an early draft in clients. Note that it currently does not follow any conventions of the Dart and Typescript SDKs but exposes some internal implementation details.
- Crate `iop-sdk` now exports important types and is generally usable as an early draft in clients. Note that it currently does not
follow any conventions of the Dart and Typescript SDKs but exposes some internal implementation details.
- Hydra and Morpheus vault plugins are now thread-safe and thus easily usable in async environments as well.

### Changed

- BREAKING: renamed Hydra and Morpheus `vault::Plugin` function `rewind()` to `init()` for clarity. Naming changes also affect FFI and WASM interfaces.
- BREAKING: suffixed functions that mutate Hydra and Morpheus vaults (by generating keys into them) with `_mut`. This does not affect FFI and WASM though.
- BREAKING: renamed Hydra and Morpheus `vault::Plugin` function `rewind()` to `init()` for clarity. Naming changes also affect FFI
and WASM interfaces.
- BREAKING: suffixed functions that mutate Hydra and Morpheus vaults (by generating keys into them) with `_mut`. This does not affect
FFI and WASM though.
- updated dependencies

### Fixed
Expand Down Expand Up @@ -81,17 +121,21 @@

## 0.0.6 (2020-11-06)

We're heavily refactoring our crate structure while implementing Coeus, our decentralized naming system as our second Layer-2 component. Our end goal is to make fine-grained crates for reducing dependency footprint for integrators by separating client/server sides and making Morpheus and Coeus optional plugins.
We're heavily refactoring our crate structure while implementing Coeus, our decentralized naming system as our second Layer-2
component. Our end goal is to make fine-grained crates for reducing dependency footprint for integrators by separating client/server
sides and making Morpheus and Coeus optional plugins.

### Added

- Coeus: generic decentralized naming system built on top of a distributed ledger. Allows binding arbitrary data to names, allowing naming schemas, wallets, DIDs, devices, etc. This helps public figures and services to be more accessible and transparent. For more details, see the [IOP Developer Portal](https://developer.iop.technology/dns).
- Coeus: generic decentralized naming system built on top of a distributed ledger. Allows binding arbitrary data to names, allowing
naming schemas, wallets, DIDs, devices, etc. This helps public figures and services to be more accessible and transparent. For more
details, see the [IOP Developer Portal](https://developer.iop.technology/dns).

### Changed

- BREAKING: changed crate hierarchy
- coeus-core: a temporary crate with proto, sdk and node parts are not separated yet
- coeus-core-wasm: WebAssembly bindings for Coeus, sdk and node parts are not separated yet
- coeus-core-wasm: WebAssembly bindings for Coeus, sdk and node parts are not separated yet
- hydra-proto: extracted hydra-dependent blockchain features (e.g. Morpheus and Coeus transactions) into their own crate
- hydra-sdk: Hydra BIP32 subtree plugin for the Vault
- morpheus-sdk-legacy: the old morpheus-sdk is now considered to be legacy code and was thus renamed
Expand Down Expand Up @@ -126,4 +170,4 @@ We're heavily refactoring our crate structure while implementing Coeus, our dece

## 0.0.2 (2020-07-28)

Initial release
Initial release
14 changes: 7 additions & 7 deletions coeus-node/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
[package]
name = "iop-coeus-node"
description = "Coeus layer-2 plugin implementation for Hydraledger"
version = "0.0.15"
version = "0.0.16"
authors = ["IOP Ventures LLC <[email protected]>", "Rache Bartmoss <[email protected]>", "wigy <[email protected]>"]
edition = "2018"
edition = "2021"
license = "LGPL-3.0-or-later"
repository = "https://github.com/Internet-of-People/iop-rs"


[dependencies]
anyhow = "1.0.57"
iop-coeus-proto = "0.0.15"
iop-journal-proto = "0.0.15"
iop-keyvault = "0.0.15"
iop-morpheus-proto = { version = "0.0.15", optional = true }
json-digest = "0.0.15"
iop-coeus-proto = "0.0.16"
iop-journal-proto = "0.0.16"
iop-keyvault = "0.0.16"
iop-morpheus-proto = { version = "0.0.16", optional = true }
json-digest = "0.0.16"
serde = { version = "1.0.137", features = ["derive"] }
serde_json = { version = "1.0.81", features = ["preserve_order"] }
serde_str = "0.1.0"
Expand Down
10 changes: 5 additions & 5 deletions coeus-proto/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
[package]
name = "iop-coeus-proto"
description = "Coeus protocol definitions used on both node and sdk side of the IOP Stack™"
version = "0.0.15"
version = "0.0.16"
authors = ["IOP Ventures LLC <[email protected]>", "Rache Bartmoss <[email protected]>", "wigy <[email protected]>"]
edition = "2018"
edition = "2021"
license = "LGPL-3.0-or-later"


[dependencies]
anyhow = "1.0.57"
iop-journal-proto = "0.0.15"
iop-keyvault = "0.0.15"
json-digest = "0.0.15"
iop-journal-proto = "0.0.16"
iop-keyvault = "0.0.16"
json-digest = "0.0.16"
serde = { version = "1.0.137", features = ["derive"] }
serde_json = { version = "1.0.81", features = ["preserve_order"] }
serde_bytes = "0.11.6"
Expand Down
14 changes: 7 additions & 7 deletions hydra-proto/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
[package]
name = "iop-hydra-proto"
description = "Hydra-core specific protocol definitions for the IOP Stack™"
version = "0.0.15"
version = "0.0.16"
authors = [
"IOP Ventures LLC <[email protected]>",
"Rache Bartmoss <[email protected]>",
"wigy <[email protected]>",
]
license = "LGPL-3.0-or-later"
edition = "2018"
edition = "2021"
repository = "https://github.com/Internet-of-People/iop-rs"
homepage = "https://developer.iop.technology/"

Expand All @@ -17,11 +17,11 @@ homepage = "https://developer.iop.technology/"
anyhow = "1.0.57"
byteorder = "1.4.3"
hex = "0.4.3"
iop-coeus-proto = "0.0.15"
iop-journal-proto = "0.0.15"
iop-keyvault = "0.0.15"
iop-morpheus-proto = "0.0.15"
json-digest = "0.0.15"
iop-coeus-proto = "0.0.16"
iop-journal-proto = "0.0.16"
iop-keyvault = "0.0.16"
iop-morpheus-proto = "0.0.16"
json-digest = "0.0.16"
num-derive = "0.3.3"
num-traits = "0.2.15"
rand = { version = "0.8.5", features = ["getrandom"] }
Expand Down
12 changes: 6 additions & 6 deletions hydra-sdk/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
[package]
name = "iop-hydra-sdk"
description = "Hydraledger specific modules for the IOP Stack™ SDK"
version = "0.0.15"
version = "0.0.16"
authors = ["IOP Ventures LLC <[email protected]>", "Rache Bartmoss <[email protected]>", "wigy <[email protected]>"]
license = "LGPL-3.0-or-later"
edition = "2018"
edition = "2021"


[dependencies]
anyhow = "1.0.57"
byteorder = "1.4.3"
hex = "0.4.3"
iop-hydra-proto = "0.0.15"
iop-keyvault = "0.0.15"
iop-morpheus-proto = "0.0.15"
iop-vault = "0.0.15"
iop-hydra-proto = "0.0.16"
iop-keyvault = "0.0.16"
iop-morpheus-proto = "0.0.16"
iop-vault = "0.0.16"
parking_lot = { version = "0.12.1", features = ["serde"] }
rand = { version = "0.8.5", features = ["getrandom"] }
serde = { version = "1.0.137", features = ["derive"] }
Expand Down
4 changes: 2 additions & 2 deletions journal-proto/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
[package]
name = "iop-journal-proto"
version = "0.0.15"
version = "0.0.16"
description = "Journal-independent abstract definitions for the IOP Stack™"
authors = ["IOP Ventures LLC <[email protected]>", "Rache Bartmoss <[email protected]>", "wigy <[email protected]>"]
license = "LGPL-3.0-or-later"
edition = "2018"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
6 changes: 3 additions & 3 deletions json-digest-wasm/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "json-digest-wasm"
version = "0.0.15"
edition = "2018"
version = "0.0.16"
edition = "2021"
description = "WebAssembly wrappers for the json-digest crate."
authors = [
"IOP Ventures LLC <[email protected]>",
Expand All @@ -20,7 +20,7 @@ categories = ["cryptography", "cryptography::cryptocurrencies", "wasm"]
crate-type = ["cdylib", "rlib"]

[dependencies]
json-digest = "0.0.15"
json-digest = "0.0.16"
serde = { version = "1.0.137", features = ["derive"] }
serde_json = { version = "1.0.81", features = ["preserve_order"] }
wasm-bindgen = { version = "0.2.81", features = ["serde-serialize"] }
6 changes: 4 additions & 2 deletions json-digest/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Changelog

## 0.0.13 (TODO)
This file is deprecated, see the CHANGELOG in the repository root of iop-rs.

## 0.0.13 (2021-07-09)

### Change

Expand Down Expand Up @@ -38,4 +40,4 @@

## 0.0.5 (2020-09-21)

Initial release, extracted from iop-morpheus-core 0.0.4
Initial release, extracted from iop-morpheus-core 0.0.4
4 changes: 2 additions & 2 deletions json-digest/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[package]
name = "json-digest"
version = "0.0.15"
version = "0.0.16"
authors = ["IOP Ventures LLC <[email protected]>", "Rache Bartmoss <[email protected]>", "wigy <[email protected]>"]
edition = "2018"
edition = "2021"
description = "Allow selective masking of JSON subdocuments for privacy, preserving the digest of the whole document."
license = "LGPL-3.0-or-later"
repository = "https://github.com/Internet-of-People/iop-rs"
Expand Down
6 changes: 3 additions & 3 deletions keyvault-wasm/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "iop-keyvault-wasm"
version = "0.0.15"
edition = "2018"
version = "0.0.16"
edition = "2021"
description = "WebAssembly wrappers for the iop-keyvault crate."
authors = ["IOP Ventures LLC <[email protected]>", "wigy <[email protected]>", "Rache Bartmoss <[email protected]>"]
license = "LGPL-3.0-or-later"
Expand All @@ -14,6 +14,6 @@ categories = ["cryptography", "cryptography::cryptocurrencies", "wasm"]
crate-type = ["cdylib", "rlib"]

[dependencies]
iop-keyvault = "0.0.15"
iop-keyvault = "0.0.16"
serde = { version = "1.0.137", features = ["derive"] }
wasm-bindgen = { version = "0.2.81", features = ["serde-serialize"] }
4 changes: 3 additions & 1 deletion keyvault/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Changelog

## 0.0.13 (TODO)
This file is deprecated, see the CHANGELOG in the repository root of iop-rs.

## 0.0.13 (2021-07-09)

### Change

Expand Down
4 changes: 2 additions & 2 deletions keyvault/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "iop-keyvault"
version = "0.0.15"
edition = "2018"
version = "0.0.16"
edition = "2021"
description = "A general-purpose hierarchical deterministic generator for asymmetric keys."
authors = ["IOP Ventures LLC <[email protected]>", "wigy <[email protected]>", "Rache Bartmoss <[email protected]>"]
license = "LGPL-3.0-or-later"
Expand Down
14 changes: 7 additions & 7 deletions morpheus-node/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
[package]
name = "iop-morpheus-node"
description = "Morpheus layer-2 plugin implementation for Hydraledger"
version = "0.0.15"
version = "0.0.16"
authors = ["IOP Ventures LLC <[email protected]>", "Rache Bartmoss <[email protected]>", "wigy <[email protected]>"]
edition = "2018"
edition = "2021"
license = "LGPL-3.0-or-later"
repository = "https://github.com/Internet-of-People/iop-rs"


[dependencies]
anyhow = "1.0.57"
chrono = { version = "0.4.19", features = ["wasmbind"] }
iop-hydra-proto = "0.0.15"
iop-journal-proto = "0.0.15"
iop-keyvault = "0.0.15"
iop-morpheus-proto = "0.0.15"
json-digest = "0.0.15"
iop-hydra-proto = "0.0.16"
iop-journal-proto = "0.0.16"
iop-keyvault = "0.0.16"
iop-morpheus-proto = "0.0.16"
json-digest = "0.0.16"
jwt-compact = { version = "0.5.0", default-features = false }
#multibase = "0.9.1"
rand = { version = "0.8.5", features = ["getrandom"] }
Expand Down
10 changes: 5 additions & 5 deletions morpheus-proto/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
[package]
name = "iop-morpheus-proto"
description = "Morpheus protocol definitions used on both node and sdk side of the IOP Stack™"
version = "0.0.15"
version = "0.0.16"
authors = ["IOP Ventures LLC <[email protected]>", "Rache Bartmoss <[email protected]>", "wigy <[email protected]>"]
edition = "2018"
edition = "2021"
license = "LGPL-3.0-or-later"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
anyhow = "1.0.57"
chrono = { version = "0.4.19", features = ["wasmbind"] }
iop-journal-proto = "0.0.15"
iop-keyvault = "0.0.15"
json-digest = "0.0.15"
iop-journal-proto = "0.0.16"
iop-keyvault = "0.0.16"
json-digest = "0.0.16"
jwt-compact = { version = "0.5.0", default-features = false, features = ["std"] }
serde = { version = "1.0.137", features = ["derive"] }
serde_json = { version = "1.0.81", features = ["preserve_order"] }
Expand Down
Loading

0 comments on commit dd647c5

Please sign in to comment.