Open rlskoeser opened 2 years ago
Findings from initial upgrades/testing:
I successfully upgraded the following locally:
django-taggit>=2.0,<3.0
taggit-selectize>=2.11.0
django-modeltranslation>=0.18.4
wagtail>=2.16.2,<3.0
The Wagtail upgrade requires a Taggit upgrade. Why was Taggit pinned to <2.0? The only breaking change I could find looks like something we don’t use.
pucas raises:
RemovedInDjango40Warning: django.conf.urls.url() is deprecated in favor of django.urls.re_path().
url(r'^login/$', LoginView.as_view(), name='cas_ng_login'),
djiffy relies on an incompatible version of jsonfield:
File "/djiffy/models.py", line 20, in <module>
from jsonfield import JSONField
File "/jsonfield/__init__.py", line 1, in <module>
from .fields import JSONCharField, JSONField # noqa
File "/jsonfield/fields.py", line 8, in <module>
from django.utils.translation import ugettext_lazy as _
ImportError: cannot import name 'ugettext_lazy' from 'django.utils.translation' (/django/utils/translation/__init__.py)
django-tabular-export makes a deprecated call. It doesn’t look like this project is maintained, do we need to fork it?
/tabular_export/core.py:93: RemovedInDjango40Warning: force_text() is deprecated in favor of force_str().
djiffy, pucas, parasolr all raise this warning, but it won’t come into play until Django 4.1, and FWIW django-multiselectfield and django-csp-helpers also raise it. But maybe worth flagging as 4.1 is currently in preview and will be released next month.
RemovedInDjango41Warning: 'djiffy' defines default_app_config = 'djiffy.apps.DjiffyConfig'. Django now detects this configuration automatically. You can remove default_app_config.
app_config = AppConfig.create(entry)
Should I go ahead and make changes on djiffy, pucas, and parasolr? The JSONField one might be a little complicated but the rest look straightforward, so far.
@blms thanks so much for reviewing and documenting! Don't worry about making the changes yet, I just wanted to have them identified so I know what is needed. I'll turn this into a checklist on this issue.
I don't remember why I pinned django-taggit, and boo on me for not documenting it. I do remember wagtail localize causing problems, hopefully that has been resolved.
I can open a ticket on django-tabular-export — it's LoC folks, so I can ping them on twitter if need be. If it's not being maintained, maybe we need to switch to django-import-export (which I was thinking about looking at anyway for the import functionality).
Would it be worth creating an upgrade branch with the requirement changes you've made so far?
@rlskoeser That all sounds good!
Would it be worth creating an upgrade branch with the requirement changes you've made so far?
Probably not if we're not making the changes yet, my only change outside of the requirements I listed above was replacing django.conf.urls.url()
with django.urls.re_path()
in urls.py
. So I think we can just put those two things in the checklist and do them when we're ready, in order to avoid potential merge conflicts, etc.
I don't remember why I pinned django-taggit, and boo on me for not documenting it.
FWIW, this is probably because Wagtail < 2.16 requires django-taggit < 2.0, so the two have to be upgraded simultaneously.
@rlskoeser this is already done right? Confirm we can close?
@kseniaryzhova no, I postponed it. Still important for maintenance and should be done at some point
@rlskoeser or @blms -- Did this upgrade ever happen?
@richmanrachel Not yet, but I believe @rlskoeser is working on the CDH parts of it.
Sorry this has been stuck. We should be able to upgrade wagtail at least somewhat - I've done that on other projects, but we're limited on both until I get djiffy upgraded - on my list but a ways down. I'm making progress on some other maintenance so maybe I can fold this in too.
determine which dependencies are blocking upgrade (if any still are) so we can keep an eye on them and update when possible
django.conf.urls.url()
withdjango.urls.re_path()
inurls.py