azavea / cac-tripplanner

Clean Air Council Circuit Trip Planner and Travelshed
https://gophillygo.org/
Other
15 stars 7 forks source link

Upgrade Django from 3.2.13 to 4.2 #1373

Closed rachelekm closed 7 months ago

rachelekm commented 9 months ago

We are currently using the last Django LTS version (3.2.13) which ends security support April 1,2024. We should upgrade to the next version, 4.2. This will be supported with security fixes through April 2026. This is blocked until we have Python support, to be completed in #1356.

Some depreciation warnings expected with an upgrade to Django +4.0 have already been addressed in previous work, #1320 , but we should still anticipate running into issues with our django-wpadmin dependency since this is an upstream package no longer maintained that we forked long ago.

UPDATE: In RRP we discussed that there could be significant admin changes between major Django versions, which has made custom admin styling implementations difficult to manage in other projects. There is a likelihood that the work to make django-wpadmin compatible with Django 4.2 might be extensive enough that we should just scrap the library (and a WP-styled admin) altogether. Knowing this we should implement this upgrade by:

  1. Resolving all issues unrelated to the admin
  2. Comment out remaining admin issues until no more deprecation warnings
  3. Assess the lift to continue using django-wpadmin, if manageable uncomment and continue to resolve warnings
  4. If extensive lift to keep a wordpress-styled admin with new Django version, keep commented code and we should open a new issue to confirm admin styling changes with client and remove django-wpadmin dependency altogether