What to do to reduce unecessary plugin "compatibility" releases

Note that we may have to take into consideration Django LTS lifecycles. If we can only upgrade Django in the breaking changes releases, then that needs to be aligned with product versions and release cycles.

For example Django 3.2 LTS support ends in April 2024. If pulpcore 3.25 doesn’t line up with a migration to Django 4.2 then downstream releases will be stuck on unsupported Django for a long time.

I see that Django 4.1 is scheduled to release on Aug 2022 and 4.2 LTS is scheduled to release on April 2023. If pulpcore 3.25 comes out after April 2023 then I’m +1 on upgrading to Django 4.2 LTS then, but if it comes out before we should upgrade to Django 4.1 and the upgrade to Django 4.2 after that (3.30 or have a shorter plugin API break declaration). Anyways, basically we should be upgrading Django during breaking change pulpcore releases, and we likely should upgrade to 4.1+ in pulpcore 3.25.

@dralley and others how does ^ match up with what you were thinking?

Sounds fine, just be aware that 4.1 is only supported for 6 months, so we really can’t stay on that release.