Skip to content

Version 0.2.0 introduces breaking change due to version upgrade #31

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

Closed
RobbeSneyders opened this issue Jan 16, 2022 · 7 comments · Fixed by #34
Closed

Version 0.2.0 introduces breaking change due to version upgrade #31

RobbeSneyders opened this issue Jan 16, 2022 · 7 comments · Fixed by #34

Comments

@RobbeSneyders
Copy link

Hi @p1c2u

Version 0.2.0 introduces a breaking change due to the upgrade of the lower bound for the jsonschema dependency.
You can see this downstream in these packages:

Restricting the version range of a dependency should be done as a major version update. The iter_errors change (#25) and accompanying version range restriction also should not have been needed yet for jsonschema 4.0.0, as it only provides a deprecation warning for future versions. The current approach leads to a very narrow range of compatibility with jsonschema and other dependent packages.

My proposal would be to release a patch version 0.2.1 reverting #25 and fixing the upper version of jsonschema to 5.0.0. When jsonschema 5.0.0 is released and the old behavior of iter_errors removed, #25 can be applied again, and the version range updated to support both 4.X.X and 5.X.X versions.

@p1c2u
Copy link
Collaborator

p1c2u commented Jan 17, 2022

Hi @RobbeSneyders

that was my intention to follow new interface of jsonschema 4.x-5.x with version 0.2.x and let 0.1.x support jsonschema 3.x.

I didn't change to version 1.x because the project is not mature enough for this, instead I changed the left-most non-zero digit to follow Caret versioning

@RobbeSneyders
Copy link
Author

Fair point on increasing the minor version while still on 0.X.X, dependents should probably define boundaries on the minor version at this stage. It might be good to note though that caret versioning seems poetry specific, and not completely aligned with semantic versioning which is what most people will expect.

I still think my proposal is valid though. At this point the iter_errors change is unnecessary and limits the compatibility of open-schema-validator with both jsonschema and other packages depending on it.

rafaellehmkuhl added a commit to rafaellehmkuhl/companion-docker that referenced this issue Jan 18, 2022
As stated [here](python-openapi/openapi-schema-validator#31) version 0.2.0 of openapi-schema-validator introduces a dependency conflict with jsonschema.

As our dependency is connexion, we should follow [this](spec-first/connexion#1430) issue to be on track with changes.
rafaellehmkuhl added a commit to rafaellehmkuhl/companion-docker that referenced this issue Jan 18, 2022
As stated [here](python-openapi/openapi-schema-validator#31) version 0.2.0 of openapi-schema-validator introduces a dependency conflict with jsonschema.

As our dependency is connexion, we should follow [this](spec-first/connexion#1430) issue to be on track with changes.
patrickelectric pushed a commit to bluerobotics/BlueOS that referenced this issue Jan 18, 2022
As stated [here](python-openapi/openapi-schema-validator#31) version 0.2.0 of openapi-schema-validator introduces a dependency conflict with jsonschema.

As our dependency is connexion, we should follow [this](spec-first/connexion#1430) issue to be on track with changes.
@gberaudo
Copy link
Contributor

Hi @p1c2u,

I didn't change to version 1.x because the project is not mature enough for this, instead I changed the left-most non-zero digit to follow Caret versioning

Do you consider versions 0.x to be ready for production? (and more generaly openapi-core ?

@p1c2u
Copy link
Collaborator

p1c2u commented Jan 24, 2022

@gberaudo 1.x is planned to be stable for production, 0.x is marked as beta and you can expect issues.

@RobbeSneyders I think you're right we dropped support for jsonschema3 too early. I made dependency matrix for various versions

OAS 3.0 3.0 3.1
python 2.7+ 3.7+ 3.7+
jsonschema 2.x-3.x 3.x-4.x 4.x+
openapi-schema-validator 0.1.x 0.2.x 0.3.x
openapi-spec-validator 0.3.x 0.4.x 0.5.x
openapi-core 0.14.x 0.15.x 0.16.x

@RobbeSneyders
Copy link
Author

Thanks @p1c2u, that matrix provides a great overview.

Does that mean you want to release a patch version 0.2.1 reverting #25, as proposed?

@p1c2u
Copy link
Collaborator

p1c2u commented Jan 25, 2022

@RobbeSneyders
Yes I will do that.

@p1c2u
Copy link
Collaborator

p1c2u commented Jan 25, 2022

Thank you for your help. Patch version 0.2.1 released hence closing.

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