stac-utils/pgstac

Changelog inaccurately indicates pypgstac loader compatibility within major version

bmcandr opened this issue · 2 comments

- Allow pypgstac loader to load data on pgstac databases that have the same major version even if minor version differs. [162] (https://github.com/stac-utils/pgstac/issues/162) Cherry picked from https://github.com/stac-utils/pgstac/pull/164.

I believe that this should read Allow pypgstac loader to load data on pgstac databases that have the same MINOR version even if PATCH version differs.

Looks like the incorrect changelog text originates from the title of this issue while the description correctly describes the current behavior.


For context, I stumbled upon this while attempting to upgrade our monorepo to Pydantic v2. Support for pydantic>=2 begins with pypgstac>=0.8, but stac-fastapi doesn't yet support Pydantic v2 so stac-fastapi-pgstac is pinned to pypgstac==0.7.* until it does. The changelog suggests that pypgstac>=0.8 would be compatible with a DB on version 0.7.10 because the major versions are the same, but that's not actually the case.

@bmcandr Right now, prior to releasing a 1.X version, we consider (rightly or wrongly) the second number in the version to be the major version in which we don't make any structural (ie table layout) changes and make sure to keep things compatible (ie the loader). While not entirely true to semantic versioning, this is a common practice that we have tried to hold to. I'm open to PRs with any updates to the docs to either explain what I just wrote better, or to shift the documentation to be more strict to semantic versioning.

Gotcha, thanks for the explanation @bitner!