Skip to content

Plan for antsibull-core v3 #125

@gotmax23

Description

@gotmax23

I created a milestone and have started creating issues to track antsibull-core v3. My impetus for starting up this effort is wanting to add support for pydantic v2, but there's also a good amount deprecated code to remove. @felixfontein, what do you think about the following plan?

For antsibull-core v3, I'd like to completely drop support for pydantic v1 and stick to pydantic v2. antsibull-core v2 can stick to pydantic v3. Maintaining compatibility for both is a bit tricky, and parts of the pydantic API that are exposed/used by antsibull-core as part of the LibContext and AppContext objects are changing in a backwards compatible way, so we would probably want to add support in a new major release anyways.

We might consider dropping support for Python 3.9, as well, to allow us to adopt newer typing features and other improvements. ansible-core has already dropped support for Python 3.9 on the controller.

antsibull and antsibull-docs can keep concurrent support for both antsibull-core v2 and v3 for a little while, like we did for antsibull-core v1. I'm not sure about when we'd want to cut a antsibull-docs v3 release to drop support for antsibull-core v2. antsibull-docs is more your area than mine.

I think I'll be able to write some compat code for antsibull-docs to remain compatible with both pydantic versions (and thus both antsibull-core versions). I already submitted ansible-community/antsibull-build#564 for antsibull. It uses LibContext and AppContext but doesn't have its own pydantic models, so that was easier.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions