Skip to content

Commit

Permalink
chore: release fvm v2.8.0 (#2017)
Browse files Browse the repository at this point in the history
* Update filecoin-proofs-api to v18

Update filecoin-proofs-api to v18

* Bump to 2.8.0

Bump to 2.8.0

* Update cargo.lock and changelog

Update cargo.lock and changelog

* fix: remove the pairing feature from fvm_shared (#2009)

The `pairing` feature from the `fvm_shared` crate isn't used. It causes
problems, as it forces the `subtle` dependency to v2.4.1, although the
rest is happy to have v2.5.0.

Here is a detailed dependency graph and issue outline:

`fvm_shared` depends on `bls-signatures`.
In `bls-signatures` we depend on an old version (v0.11) of `hkdf`.
That version depends on `hmac` v0.11, which depends on `crypto-mac` v0.11.
`crypto-mac` v0.11.0 depends on `subtle` v2. That is fine, it would
automatically select v2.5.0.
The problem is that `crypto-mac` v0.11.1 pins `subtle` to exactly v2.4,
therefore v2.5.0 won't be selected.

The obvious thing is to upgrade in`bls-signatures` the version of `hkdf`
to the latest v0.12.
That would make it possible to use `subtle` v2.5.0.
The problem is that such an upgrade is not easily possible.
`hkdf` v0.12 depends on a newer version v0.10 of the `sha2` crate.
Updating that breaks the `bls12_381` crate.
The reason is the current version v0.8.0 of `bls12_381` depends on an old
version v0.9 of the `digest` crate.

The obvious thing is to upgrade in `bls12_381` the version of `digest` to
v0.10.
That would make it possible to get `hkdf` v0.12 built.
But such an upgrade is and open issue at
zkcrypto/bls12_381#102, which mentions that it's
blocked on zkcrypto/bls12_381#90.
That pull request is about updating do the hash-to-curve draft v16, currently
it's using v12.
We use that code path in `bls-signatures`, else we wouldn't enable the
`experimental` feature of `bls12_381`.
So it's even not clear if we'd want such a change to v16.

* Update cargo.lock and Changelog.md

Update cargo.locl and Changelog.md

* Update fvm_shared, cargo.lock and changelog

Update fvm_shared, cargo.lock and changelog

---------

Co-authored-by: Volker Mische <[email protected]>
  • Loading branch information
rjan90 and vmx authored Jun 13, 2024
1 parent 7895bf9 commit cefb3d1
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 82 deletions.
99 changes: 25 additions & 74 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions fvm/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ Changes to the reference FVM implementation.

## [Unreleased]

## 2.8.0 (2024-06-12)

- Update `filecoin-proofs-api` to v18

## 2.7.0 (2023-09-06)

- Upgrade wasmtime to v12. Unlike prior wasmtime upgrades, this shouldn't be a breaking change as it now mangles its symbols.
Expand Down
6 changes: 3 additions & 3 deletions fvm/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "fvm"
description = "Filecoin Virtual Machine reference implementation"
version = "2.7.0"
version = "2.8.0"
license = "MIT OR Apache-2.0"
authors = ["Protocol Labs", "Filecoin Core Devs"]
edition = "2021"
Expand All @@ -19,7 +19,7 @@ derive_builder = "0.12.0"
num-derive = "0.4.0"
cid = { workspace = true, features = ["serde-codec"] }
multihash = { workspace = true }
fvm_shared = { version = "2.6.0", path = "../shared", features = ["crypto"] }
fvm_shared = { version = "2.7.0", path = "../shared", features = ["crypto"] }
fvm_ipld_hamt = { workspace = true }
fvm_ipld_amt = { workspace = true }
fvm_ipld_blockstore = { workspace = true }
Expand All @@ -31,7 +31,7 @@ lazy_static = "1.4.0"
derive-getters = "0.3.0"
derive_more = "0.99.17"
replace_with = "0.1.7"
filecoin-proofs-api = { version = "16", default-features = false }
filecoin-proofs-api = { version = "18", default-features = false }
rayon = "1"
num_cpus = "1.13.0"
log = "0.4.14"
Expand Down
4 changes: 4 additions & 0 deletions shared/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 2.7.0 (2024-06-12)

- Update `filecoin-proofs-api` to v18

## 2.6.0 (2023-09-06)

- BREAKING: Upgrade the proofs API to v16.
Expand Down
5 changes: 2 additions & 3 deletions shared/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "fvm_shared"
description = "Filecoin Virtual Machine shared types and functions"
version = "2.6.0"
version = "2.7.0"
edition = "2021"
license = "MIT OR Apache-2.0"
authors = ["ChainSafe Systems <[email protected]>", "Protocol Labs", "Filecoin Core Devs"]
Expand Down Expand Up @@ -33,7 +33,7 @@ arbitrary = { version = "1.1", optional = true, features = ["derive"]}
## non-wasm dependencies; these dependencies and the respective code is
## only activated through non-default features, which the Kernel enables, but
## not the actors.
filecoin-proofs-api = { version = "16", default-features = false, optional = true }
filecoin-proofs-api = { version = "18", default-features = false, optional = true }
libsecp256k1 = { version = "0.7", optional = true }
bls-signatures = { version = "0.15", default-features = false, optional = true }
byteorder = "1.4.3"
Expand All @@ -50,6 +50,5 @@ crypto = ["libsecp256k1", "blst", "proofs"]
proofs = ["filecoin-proofs-api"]
secp256k1 = ["libsecp256k1"]
blst = ["bls-signatures/blst"]
pairing = ["bls-signatures/pairing"]
testing = []
arb = ["arbitrary"]
4 changes: 2 additions & 2 deletions testing/conformance/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ publish = false
repository = "https://github.com/filecoin-project/ref-fvm"

[dependencies]
fvm_shared = { version = "2.6.0", path = "../../shared" }
fvm_shared = { version = "2.7.0", path = "../../shared" }
fvm_ipld_hamt = { workspace = true }
fvm_ipld_amt = { workspace = true }
fvm_ipld_car = { workspace = true }
Expand Down Expand Up @@ -51,7 +51,7 @@ tar = { version = "0.4.38", default-features = false }
zstd = { version = "0.12.3", default-features = false }

[dependencies.fvm]
version = "2.7.0"
version = "2.8.0"
path = "../../fvm"
default-features = false
features = ["testing"]
Expand Down

0 comments on commit cefb3d1

Please sign in to comment.