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 breakage when updating qdrant-client from 1.3 to 1.7 #87

Closed
timsueberkrueb opened this issue Jan 3, 2024 · 3 comments
Closed

Comments

@timsueberkrueb
Copy link

timsueberkrueb commented Jan 3, 2024

E.g. in FieldCondition, a new field geo_polygon was added and a new parameter was added to upsert_points_blocking.
I realize that this library's code is generated from the protobuf files which may complicate things. Still, what is the version compatibility policy for this crate? If possible, adhering to semver would be nice as all the Rust tooling assumes semver compatibility is kept (e.g. cargo upgrade + cargo update will update from 1.3 to 1.7 in Cargo.lock and break the build). Hence, I assume the version always needs to be pinned as of now. Thanks!

@timvisee
Copy link
Member

You're right.

Our goal is to follow semver principes, but we currently fail to do this.

Our plan is to restructure this crate entirely with a builder pattern approach to prevent this in the future.

@xd009642
Copy link

if you want to prevent this in future you should consider using https://crates.io/crates/cargo-semver-checks the issues we've faced with semver breaking changes would have been caught by it's lints.

@timvisee
Copy link
Member

@xd009642 Thanks for the hint.

Please note that we've released v1.10.0 which should prevent breakages like this in the future if using the builder pattern for objects.

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

No branches or pull requests

3 participants