Semver breakage when updating qdrant-client from 1.3 to 1.7
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!
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.
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.
@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.