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

Broken backward compatibility in 0.6.2 #2112

Closed
DDtKey opened this issue Sep 22, 2022 · 2 comments
Closed

Broken backward compatibility in 0.6.2 #2112

DDtKey opened this issue Sep 22, 2022 · 2 comments
Labels

Comments

@DDtKey
Copy link

DDtKey commented Sep 22, 2022

Bug Description

That's not really bug, but backward capability was broken by this PR: #2063

Migrator struct is public accessible, and we used it in our own goals (but this is of course not a common use-case).
While changing signature for public-accessible struct/fn/etc is definitely not backward capable and version should reflect such changes in terms of semver

Minimal Reproduction

# working code before 0.6.2
let migrator = Migrator {
            migrations: Cow::Owned(migrations),
            ignore_missing: false,
};

Since 0.6.2 such code raise compilation error: missing 'locking'

Info

  • SQLx version: 0.6.2
  • SQLx features enabled: doesn't matter
  • Database server and version: doesn't matter
  • Operating system: doesn't matter
  • rustc --version: doesn't matter
@DDtKey DDtKey added the bug label Sep 22, 2022
@DarkKirb
Copy link

Can reproduce this issue as well. It requires the feature migrate.

Adding public fields to structs with no private fields is a breaking change Please yank 0.6.2 and publish a new version with #2063 reverted. Also consider marking the struct as #[non_exhaustive] in 0.7.0

@abonander
Copy link
Collaborator

The fields of Migrator are hidden and sever-exempt as of 0.7.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants