Skip to content
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

Upgrade wagtail to 5x #3627

Merged
merged 8 commits into from
Nov 6, 2023
Merged

Upgrade wagtail to 5x #3627

merged 8 commits into from
Nov 6, 2023

Conversation

theskumar
Copy link
Member

@theskumar theskumar commented Oct 23, 2023

Notes:

Wagtail 5x has migrations:

You have 11 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): wagtailcore, wagtailsearchpromotions, wagtailusers.

Updated removed icons + some more QoL improvements for icons:
Screenshot 2023-10-24 at 7  55 28@2x

@theskumar theskumar self-assigned this Oct 23, 2023
@theskumar theskumar requested a review from frjo October 23, 2023 07:01
@theskumar theskumar marked this pull request as draft October 23, 2023 07:02
@theskumar
Copy link
Member Author

Creating a draft PR to track changes and while I fully test the upgrade.

@theskumar theskumar force-pushed the maintainance/wagtail-5x branch from b1b98db to b660de8 Compare October 23, 2023 07:31
@theskumar theskumar changed the base branch from main to maintainance/django-4x October 23, 2023 07:31
@theskumar theskumar marked this pull request as ready for review October 24, 2023 08:01
@frjo
Copy link
Member

frjo commented Oct 24, 2023

@theskumar We have "Pillow" in the requirements.txt now. I believe we can remove it since it is a dependency of Wagtail.

Some time pack we locked the version due to some issues but that should not be needed anymore. We at least want to make sure we have Pillow 10.0.1 or later.

Copy link
Member

@frjo frjo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se comment about Pillow version.

@theskumar
Copy link
Member Author

theskumar commented Oct 24, 2023

Sounds good to me. Instead of removing pillow from requirements, I've updated it to install >=10.0.1. Just to make sure any pre-installed pillow is updated as well. If we just remove it, running pip install don't update pillow version.

Here is full list of production dependency in a tree format. Pillow is required by bunch of libraries, not just wagtail. Infact, wagtail uses Willow and not pillow. (correction: wagtail uses willow that has pillow as dependency).

❯ pipdeptree -fl
Babel==2.11.0
  pytz==2023.3.post1
boto3==1.28.68
  botocore==1.31.69
    jmespath==1.0.1
    python-dateutil==2.8.2
      six==1.16.0
    urllib3==1.26.18
  jmespath==1.0.1
  s3transfer==0.7.0
    botocore==1.31.69
      jmespath==1.0.1
      python-dateutil==2.8.2
        six==1.16.0
      urllib3==1.26.18
celery==5.2.7
  billiard==3.6.4.0
  click==8.1.7
  click-didyoumean==0.3.0
    click==8.1.7
  click-plugins==1.1.1
    click==8.1.7
  click-repl==0.3.0
    click==8.1.7
    prompt-toolkit==3.0.39
      wcwidth==0.2.8
  kombu==5.3.2
    amqp==5.1.1
      vine==5.0.0
    vine==5.0.0
  pytz==2023.3.post1
  vine==5.0.0
django-anymail==9.0
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
  requests==2.31.0
    certifi==2023.7.22
    charset-normalizer==3.3.1
    idna==3.4
    urllib3==1.26.18
django-basic-auth-ip-whitelist==0.5
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
django-bleach==3.0.1
  bleach==5.0.0
    six==1.16.0
    webencodings==0.5.1
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
django-countries==7.5.1
  asgiref==3.7.2
  typing_extensions==4.8.0
django-elevate==2.0.3
django-extensions==3.2.3
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
django-file-form==3.4.3
django-fsm==2.8.1
django-heroku==0.3.1
  dj-database-url==2.1.0
    Django==4.1.12
      asgiref==3.7.2
      sqlparse==0.4.4
    typing_extensions==4.8.0
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
  psycopg2==2.9.9
  whitenoise==5.3.0
django-hijack==3.2.6
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
django-htmx==1.17.0
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
django-pagedown==2.2.1
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
  Pillow==10.1.0
django-pwned-passwords==5.1.0
  requests==2.31.0
    certifi==2023.7.22
    charset-normalizer==3.3.1
    idna==3.4
    urllib3==1.26.18
django-ratelimit==4.1.0
django-referrer-policy==1.0
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
django-select2==8.0.0
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
  django-appconf==1.0.5
    Django==4.1.12
      asgiref==3.7.2
      sqlparse==0.4.4
django-slack==5.18.0
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
  requests==2.31.0
    certifi==2023.7.22
    charset-normalizer==3.3.1
    idna==3.4
    urllib3==1.26.18
django-storages==1.13.2
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
django-tables2==2.5.1
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
django-tinymce==3.5.0
django-two-factor-auth==1.15.5
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
  django-formtools==2.4.1
    Django==4.1.12
      asgiref==3.7.2
      sqlparse==0.4.4
  django-otp==1.2.4
    Django==4.1.12
      asgiref==3.7.2
      sqlparse==0.4.4
  django-phonenumber-field==7.2.0
    Django==4.1.12
      asgiref==3.7.2
      sqlparse==0.4.4
  qrcode==7.4.2
    pypng==0.20220715.0
    typing_extensions==4.8.0
django-web-components==0.1.1
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
djangorestframework-api-key==2.3.0
drf-nested-routers==0.93.4
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
  djangorestframework==3.14.0
    Django==4.1.12
      asgiref==3.7.2
      sqlparse==0.4.4
    pytz==2023.3.post1
drf-yasg==1.21.4
  coreapi==2.3.3
    coreschema==0.0.4
      Jinja2==3.1.2
        MarkupSafe==2.1.3
    itypes==1.2.0
    requests==2.31.0
      certifi==2023.7.22
      charset-normalizer==3.3.1
      idna==3.4
      urllib3==1.26.18
    uritemplate==4.1.1
  coreschema==0.0.4
    Jinja2==3.1.2
      MarkupSafe==2.1.3
  Django==4.1.12
    asgiref==3.7.2
    sqlparse==0.4.4
  djangorestframework==3.14.0
    Django==4.1.12
      asgiref==3.7.2
      sqlparse==0.4.4
    pytz==2023.3.post1
  inflection==0.5.1
  packaging==23.2
  pytz==2023.3.post1
  ruamel.yaml==0.18.1
    ruamel.yaml.clib==0.2.8
  uritemplate==4.1.1
environs==9.5.0
  marshmallow==3.20.1
    packaging==23.2
  python-dotenv==1.0.0
gunicorn==20.1.0
  setuptools==65.5.0
heroicons==2.5.0
htmldocx==0.0.6
  beautifulsoup4==4.11.2
    soupsieve==2.5
  python-docx==0.8.11
    lxml==4.9.3
lark==1.1.7
mailchimp3==3.0.17
  requests==2.31.0
    certifi==2023.7.22
    charset-normalizer==3.3.1
    idna==3.4
    urllib3==1.26.18
mistune==2.0.4
more-itertools==9.0.0
phonenumberslite==8.13.23
pillow-heif==0.13.1
  Pillow==10.1.0
pip==22.3.1
pipdeptree==2.13.0
psycopg2-binary==2.9.9
pyOpenSSL==23.2.0
  cryptography==41.0.4
    cffi==1.16.0
      pycparser==2.21
scout-apm==2.26.1
  asgiref==3.7.2
  psutil==5.9.6
  urllib3==1.26.18
  wrapt==1.15.0
sentry-sdk==1.16.0
  certifi==2023.7.22
  urllib3==1.26.18
social-auth-app-django==5.0.0
  social-auth-core==4.4.2
    cryptography==41.0.4
      cffi==1.16.0
        pycparser==2.21
    defusedxml==0.8.0rc2
    oauthlib==3.2.2
    PyJWT==2.8.0
    python3-openid==3.2.0
      defusedxml==0.8.0rc2
    requests==2.31.0
      certifi==2023.7.22
      charset-normalizer==3.3.1
      idna==3.4
      urllib3==1.26.18
    requests-oauthlib==1.3.1
      oauthlib==3.2.2
      requests==2.31.0
        certifi==2023.7.22
        charset-normalizer==3.3.1
        idna==3.4
        urllib3==1.26.18
tablib==3.5.0
tomd==0.1.3
urllib3-secure-extra==0.1.0
wagtail-cache==2.3.0
  wagtail==5.1.3
    anyascii==0.3.2
    beautifulsoup4==4.11.2
      soupsieve==2.5
    Django==4.1.12
      asgiref==3.7.2
      sqlparse==0.4.4
    django-filter==2.4.0
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
    django-modelcluster==6.1
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
      pytz==2023.3.post1
    django-permissionedforms==0.1
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
    django-taggit==4.0.0
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
    django-treebeard==4.7
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
    djangorestframework==3.14.0
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
      pytz==2023.3.post1
    draftjs-exporter==2.1.7
    html5lib==1.1
      six==1.16.0
      webencodings==0.5.1
    l18n==2021.3
      pytz==2023.3.post1
      six==1.16.0
    openpyxl==3.1.2
      et-xmlfile==1.1.0
    Pillow==10.1.0
    requests==2.31.0
      certifi==2023.7.22
      charset-normalizer==3.3.1
      idna==3.4
      urllib3==1.26.18
    telepath==0.3.1
    Willow==1.6.2
      defusedxml==0.8.0rc2
      filetype==1.2.0
wagtail-purge==0.3.0
  wagtail==5.1.3
    anyascii==0.3.2
    beautifulsoup4==4.11.2
      soupsieve==2.5
    Django==4.1.12
      asgiref==3.7.2
      sqlparse==0.4.4
    django-filter==2.4.0
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
    django-modelcluster==6.1
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
      pytz==2023.3.post1
    django-permissionedforms==0.1
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
    django-taggit==4.0.0
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
    django-treebeard==4.7
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
    djangorestframework==3.14.0
      Django==4.1.12
        asgiref==3.7.2
        sqlparse==0.4.4
      pytz==2023.3.post1
    draftjs-exporter==2.1.7
    html5lib==1.1
      six==1.16.0
      webencodings==0.5.1
    l18n==2021.3
      pytz==2023.3.post1
      six==1.16.0
    openpyxl==3.1.2
      et-xmlfile==1.1.0
    Pillow==10.1.0
    requests==2.31.0
      certifi==2023.7.22
      charset-normalizer==3.3.1
      idna==3.4
      urllib3==1.26.18
    telepath==0.3.1
    Willow==1.6.2
      defusedxml==0.8.0rc2
      filetype==1.2.0
xhtml2pdf==0.2.11
  arabic-reshaper==3.0.0
  html5lib==1.1
    six==1.16.0
    webencodings==0.5.1
  Pillow==10.1.0
  pyHanko==0.20.1
    asn1crypto==1.5.1
    click==8.1.7
    cryptography==41.0.4
      cffi==1.16.0
        pycparser==2.21
    pyhanko-certvalidator==0.24.1
      asn1crypto==1.5.1
      cryptography==41.0.4
        cffi==1.16.0
          pycparser==2.21
      oscrypto==1.3.0
        asn1crypto==1.5.1
      requests==2.31.0
        certifi==2023.7.22
        charset-normalizer==3.3.1
        idna==3.4
        urllib3==1.26.18
      uritools==4.0.2
    PyYAML==6.0.1
    qrcode==7.4.2
      pypng==0.20220715.0
      typing_extensions==4.8.0
    requests==2.31.0
      certifi==2023.7.22
      charset-normalizer==3.3.1
      idna==3.4
      urllib3==1.26.18
    tzlocal==5.2
  pyhanko-certvalidator==0.24.1
    asn1crypto==1.5.1
    cryptography==41.0.4
      cffi==1.16.0
        pycparser==2.21
    oscrypto==1.3.0
      asn1crypto==1.5.1
    requests==2.31.0
      certifi==2023.7.22
      charset-normalizer==3.3.1
      idna==3.4
      urllib3==1.26.18
    uritools==4.0.2
  pypdf==3.16.4
  python-bidi==0.4.2
    six==1.16.0
  reportlab==3.6.13
    Pillow==10.1.0
  svglib==1.5.1
    cssselect2==0.7.0
      tinycss2==1.2.1
        webencodings==0.5.1
      webencodings==0.5.1
    lxml==4.9.3
    reportlab==3.6.13
      Pillow==10.1.0
    tinycss2==1.2.1
      webencodings==0.5.1
xmltodict==0.13.0

@theskumar theskumar requested a review from frjo October 24, 2023 16:45
@frjo
Copy link
Member

frjo commented Oct 25, 2023

I see this when I do a migration:

/Users/frjo/Sites/hypha/venv/hypha/lib/python3.11/site-packages/wagtail/search/index.py:301: RemovedInWagtail60Warning: The partial_match option on SearchField has no effect and will be removed. Use AutocompleteField instead
  warn(
/Users/frjo/Sites/hypha/venv/hypha/lib/python3.11/site-packages/wagtail/contrib/modeladmin/apps.py:15: RemovedInWagtail60Warning: wagtail.contrib.modeladmin is deprecated. Use wagtail.snippets or the separate wagtail-modeladmin package instead.
  warn(

Just something to keep in mind I think, https://docs.wagtail.org/en/latest/reference/contrib/modeladmin/index.html

@frjo frjo added Status: Needs testing Tickets that need testing/qa Type: Maintenance Type: Minor Minor change, used in release drafter labels Oct 25, 2023
@theskumar
Copy link
Member Author

I didn't remove/update them, as they both are part of the public codebase and functionality, I'm hoping they'll be gone before new wagtail upgrade.

@frjo frjo changed the base branch from maintainance/django-4x to main November 6, 2023 14:27
@frjo frjo changed the base branch from main to maintainance/django-4x November 6, 2023 14:28
@frjo frjo added Status: Tested - approved for live ✅ Type: Major Major change, used in release drafter and removed Status: Needs testing Tickets that need testing/qa Type: Minor Minor change, used in release drafter labels Nov 6, 2023
@frjo frjo force-pushed the maintainance/wagtail-5x branch from 827ef6a to f1fd1a9 Compare November 6, 2023 16:39
@frjo frjo changed the base branch from maintainance/django-4x to main November 6, 2023 16:41
@frjo frjo merged commit 5db2fe6 into main Nov 6, 2023
theskumar added a commit that referenced this pull request Nov 7, 2023
* main:
  Custom applicant dashboard header (#3587)
  Upgrade wagtail to 5x (#3627)
  Upgrade to Django 4.1.x (#3398)
  docs: update the links to images and some references to pages (#3641)
  Update the query text on all.html (#3638)
  Update to  django-3.2.23. (#3637)
@theskumar theskumar deleted the maintainance/wagtail-5x branch November 21, 2023 08:26
wes-otf pushed a commit that referenced this pull request May 7, 2024
Notes: 

Wagtail 5x has migrations:
```
You have 11 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): wagtailcore, wagtailsearchpromotions, wagtailusers.
```
wes-otf pushed a commit that referenced this pull request May 8, 2024
Notes: 

Wagtail 5x has migrations:
```
You have 11 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): wagtailcore, wagtailsearchpromotions, wagtailusers.
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants