-
Notifications
You must be signed in to change notification settings - Fork 2
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
Python 3.11 #22
base: master
Are you sure you want to change the base?
Python 3.11 #22
Conversation
Nice PR - thanks for doing this. Obviously, such a change requires a production server upgrade (both an Ubuntu version upgrade and a Python version upgrade), and the best time for this would probably be early summer. So, holding off on merging this PR until then. |
Generally with CSL stuff, we've held off on upgrading Django versions until an LTS version comes out (i.e. 5.2, 6.2, etc.). Not sure if that's what you want to do |
Sure, I don't mind, there's no features I'm particularly excited about in django 5. I'll just remove the changes regarding django and make this PR about Python 3.11.
Yup, I would've recommended the very same thing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A minor suggestion before we get to testing/migration:
After #21 we would also have to update the ruff |
Django 5 (Removed from PR)
Took a look through the changelog of Django 5, didn't seem that bad so went ahead and updated it.
Only change was the removal of
USE_L10N
(the default value becameTrue
, and the setting was deprecated).Based off the changelog, the only breaking change that could happen is the following
But I find this unlikely, as we are already on 4.2 and don't have any warnings.
Python
I looked through the changelog for Python 3.9, 3.10, and 3.11. None of the changes should cause problems, at least based off the porting guides for the versions.
3.11
3.10
3.9
Why not Python 3.12?
To put it simply, python 3.12 is only recently getting "accepted" into the python and linux ecosystems (it's in bugfix stage), so I figured it would be better to wait on that one. Besides, Python 3.11 goes EOL in 2027, which is long enough that it shouldn't be a big deal (however, NEP 29 recommends that Python 3.11 support should end in April 2025).
Motivation
Django says that 4.2 is basically compatible with 5.0, after fixing deprecation warnings