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

Semver incompatible change (?) landed in 1.0.153 #2627

Open
banool opened this issue Oct 11, 2023 · 0 comments
Open

Semver incompatible change (?) landed in 1.0.153 #2627

banool opened this issue Oct 11, 2023 · 0 comments

Comments

@banool
Copy link

banool commented Oct 11, 2023

Note: I know that semver only applies to the "public API" of a crate so I'm not 100% sure if this qualifies as a violation of semver since I'm not sure how the public API is defined here.

This PR was released as part of 1.0.153: #2387.

In that PR @dtolnay mentioned that we'd just go for it with the change and reassess later if this happened to cause issues for anyone:

I was hopeful that somebody would look into what possibility of breakage this has for existing formats, but in the absence of anyone having been willing to do that, I think it will be all right to reassess based on any reported consequences.

I'm well and truly late to the party hahah but unfortunately this does cause some issues.

At a high level you can see the issue like this:

git clone git@github.com:aptos-labs/aptos-core.git
# Change serde version in Cargo.toml to 1.0.153
cd testsuite/generate-format
cargo run -- --corpus aptos

I'm still trying to figure out how exactly this change actually breaks our code, I just wanted to report in with an instance of a breakage. Once I know precisely what it changes for us I'll chime in again, though this looks pretty complicated. I believe the tldr is we have code that produces a yaml representation of generated code. We diff that yaml to make sure no incompatibilities arise. This code generation no longer works with 1.0.153 I believe because some of the other tooling we use (serde-reflection) breaks with this change to aliases + nesting.

If it turns out that this is part of the public API then I can make a minimally reproducible example to help debug.

@banool banool changed the title Semver incompatible change landed in 1.0.153 Semver incompatible change (?) landed in 1.0.153 Oct 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant