djangosaml2 icon indicating copy to clipboard operation
djangosaml2 copied to clipboard

Unexpected minimum Python version change

Open djbeadle opened this issue 1 year ago • 3 comments

Hi all,

Pull request #410, merged a few hours ago, increased the minimum version of Python from 3.7 to 3.9 but only increased the version number from 1.9.3 to 1.9.4.

This got my team's attention when we noticed our builds failing because we specify djangosaml2~=1.9.0 relying on Python's "compatible version".

I would have expected a change like this to at least be at least a minor version bump but I am not in a position to demand anything of the contributors to this library. If this was intentional can it please be clearly stated that breaking changes will occur with only a patch version number update? Alternatively, if there is already a release format guide that I have missed please direct me towards it.

Thanks to all the contributors for their hard work, my team gets an incredible amount of value out of this library.

@g-as and @peppelinux tagging you for visibility.

djbeadle avatar Mar 17 '25 21:03 djbeadle

Hello,

sorry to hear that.

Maybe adding a python_requires=">=3.9", arg in the setup would ease this kind of transitions.

For ex, this is what the current version entry looks like in my lockfile:

[[package]]
name = "djangosaml2"
version = "1.9.4"
description = "pysaml2 integration for Django"
optional = false
python-versions = "*"
groups = ["main"]
files = [
    {file = "djangosaml2-1.9.4-py2.py3-none-any.whl", hash = "sha256:c31b2fcf2566d34e904e7edd8c2a2d6f73180405beff579dd1d774f4ebc3ca3e"},
    {file = "djangosaml2-1.9.4.tar.gz", hash = "sha256:b2caa16fe098519bddd5a742e59cdd17be2ccf32fba94c4736e0e0d646c6592b"},
]

and it clearly lacks a lower bound on the python-version.

In any case, we won't be able to change the past. What do you think @peppelinux?

g-as avatar Mar 18 '25 09:03 g-as

I am ok in having a PR and a new release fixing this, it would be for 1.9.5

peppelinux avatar Mar 18 '25 12:03 peppelinux

I have realized that removing support for py38 produced a breaking change. Therefore I have deleted the lreease 1.9.4 and I have released instead 1.10.0

with python requires I am releasing 1.10.1

thank you

peppelinux avatar Mar 20 '25 08:03 peppelinux