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

chore: release fvm v3.10.0 #2016

Merged
merged 9 commits into from
Jun 13, 2024
Merged

chore: release fvm v3.10.0 #2016

merged 9 commits into from
Jun 13, 2024

Conversation

rjan90
Copy link
Contributor

@rjan90 rjan90 commented Jun 12, 2024

Update filecoin-proofs-api to v18

rjan90 added 3 commits June 12, 2024 21:09
Update `filecoin-proofs-api` to v18
Bump to 3.10.0
Update cargo.lock and changelog
@rjan90 rjan90 requested review from rvagg and Stebalien June 12, 2024 20:14
@Stebalien
Copy link
Member

Ah, great. It looks like we need to backport #2009 as well.

vmx and others added 2 commits June 12, 2024 21:25
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 Changelog.md with #2009 backport
@rjan90
Copy link
Contributor Author

rjan90 commented Jun 12, 2024

Ah, great. It looks like we need to backport #2009 as well.

Backported and updated in Changelog now.

@codecov-commenter
Copy link

codecov-commenter commented Jun 12, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.10%. Comparing base (0f9fbaf) to head (c6d33d8).

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           release/v3    #2016   +/-   ##
===========================================
  Coverage       68.10%   68.10%           
===========================================
  Files              99       99           
  Lines            8719     8719           
===========================================
  Hits             5938     5938           
  Misses           2781     2781           

@rjan90 rjan90 marked this pull request as ready for review June 12, 2024 20:33
@@ -8,7 +8,7 @@ authors = ["Protocol Labs", "Filecoin Core Devs", "Polyphene"]
repository = "https://github.com/filecoin-project/ref-fvm"

[dependencies]
fvm = { version = "3.9.0", path = "../../fvm", default-features = false, features = ["testing"] }
fvm = { version = "3.10.0", path = "../../fvm", default-features = false, features = ["testing"] }
fvm_shared = { version = "3.6.0", path = "../../shared", features = ["testing"] }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to update fvm_shared. Unlike in v4, in v3 we're not (yet) using the workspace itself to track versions (patches welcome).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also need to release shared.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated fvm_shared to 3.1.0.0 in 1024200, but it seems like that caused CI to fail. So I thought I had to run cargo check --all but that failed with:

error: failed to select a version for the requirement `fvm_shared = "^3.10.0"`
candidate versions found which didn't match: 3.6.0
location searched: /Users/phi/ref-fvm/shared
required by package `fvm_integration_tests v3.3.0 (/Users/phi/ref-fvm/testing/integration)`

Any ideas for how I can get this to pass after updating fvm_shared? Sorry for asking so many novice questions, not that familiar with ref-fvm.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to update the fvm_shared version. Unlike in master (v4), we haven't moved the versions to the root cargo.toml.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(so fvm and fvm_shared can actually have different versions)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(if you have some time and want to backport the workspace versioning changes from master, I'd appreciate it)

Update fvm_shared to 3.10.0 in `testing/integration/Cargo.toml`
rjan90 added 2 commits June 13, 2024 07:56
Update fvm_shared to v3.10.0
Update cargo.lock by running `cargo check --all`
@Stebalien
Copy link
Member

We also need an update to the fvm_shared changelog.

Update `shared/CHANGELOG.md`
@Stebalien Stebalien merged commit 3c5da7e into release/v3 Jun 13, 2024
11 checks passed
@Stebalien Stebalien deleted the phi/release-v3.10 branch June 13, 2024 17:58
@rjan90
Copy link
Contributor Author

rjan90 commented Jun 13, 2024

We also need an update to the fvm_shared changelog.

Added in c6d33d8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

4 participants