tethysplatform / tethys

The Tethys Platform main Django website project repository.
http://tethysplatform.org/
BSD 2-Clause "Simplified" License
92 stars 49 forks source link

[FEATURE] Upgrade to Django 4.2 or 5.0 #1001

Closed swainn closed 4 months ago

swainn commented 8 months ago

Is your feature request related to a problem? Please describe. Django 3.2 will reach the end of life at the end of April 2024.

Describe the solution you'd like Upgrade to Django 4.2 or 5.0 - possibly with a flexible pin to allow either to be used.

If this can be done without making breaking changes to Tethys, release in 4.X series, otherwise release in 5.0

Describe alternatives you've considered N/A

Additional context N/A

swainn commented 8 months ago

One idea would be to modify Tethys to work with multiple versions of Django so users could fall to 3.2 if they are using a feature that breaks. We could possibly do this with a modified version of the optional_dependencies functionality that would allow for checking not only if a package is installed, but also what version is installed (has_version() or modify has_module() to accept a version expression).

sdc50 commented 5 months ago

I've been testing with Django 4.2. Here are my findings so far:

I haven't yet tried testing against Django 5.0 or against Django 3.2 with the modifications. I think with some conda feedstock work we could get django-simple-captcha and django-analytical working, but I'm afraid django-recaptcha2 might be a goner, which may mean we need to look at Tethys 5.0.

sdc50 commented 5 months ago

It looks like the original django-recaptcha might be supported again. I'll have to test.