fossasia / open-event-server

The Open Event Organizer Server to Manage Events https://test-api.eventyay.com
https://api.eventyay.com
GNU General Public License v3.0
2.96k stars 1.89k forks source link

Upgrade to latest Flask version #8409

Open mariobehling opened 2 years ago

mariobehling commented 2 years ago

Flask has been released in version 2 for some time now. Please upgrade the system to use flask 2.

shivam5522 commented 2 years ago

Should I upgrade it to the latest version? And should I upgrade the dependencies around flask(eg: Flask-login, Flask-script) or only the flask version itself? Thank you

hongquan commented 2 years ago

I think it is not easy to upgrade, related to issue found in https://github.com/fossasia/open-event-server/pull/8077.

codedsun commented 2 years ago

According to the upgrade, there might be many dependencies which have to be updated. Poetry shows below when the flask version is set to 2.0.2

Removing appdirs (1.4.4)
  • Removing chardet (4.0.0)
  • Removing decorator (4.4.2)
  • Removing python-editor (1.0.4)
  • Updating six (1.15.0 -> 1.16.0)
  • Updating markupsafe (1.1.1 -> 2.0.1)
  • Updating pycparser (2.20 -> 2.21)
  • Installing backports.zoneinfo (0.2.1)
  • Updating cffi (1.14.5 -> 1.15.0)
  • Updating click (7.1.2 -> 8.0.3)
  • Installing frozenlist (1.2.0)
  • Updating idna (2.10 -> 3.3)
  • Updating jinja2 (2.11.3 -> 3.0.3)
  • Updating multidict (5.1.0 -> 5.2.0)
  • Updating prompt-toolkit (3.0.18 -> 3.0.23)
  • Updating pyparsing (2.4.7 -> 3.0.6)
  • Updating tinycss2 (1.1.0 -> 1.1.1)
  • Updating typing-extensions (3.10.0.2 -> 4.0.1)
  • Installing tzdata (2021.5)
  • Updating wrapt (1.12.1 -> 1.13.3)
  • Installing zipp (3.6.0)
  • Installing aiosignal (1.2.0)
  • Updating anyio (3.3.2 -> 3.4.0)
  • Updating async-timeout (3.0.1 -> 4.0.1)
  • Installing backports.entry-points-selectable (1.1.1)
  • Updating cairocffi (1.2.0 -> 1.3.0)
  • Updating certifi (2020.12.5 -> 2021.10.8)
  • Updating charset-normalizer (2.0.1 -> 2.0.9)
  • Updating click-didyoumean (0.0.3 -> 0.3.0)
  • Updating click-repl (0.1.6 -> 0.2.0)
  • Updating cryptography (3.3.2 -> 36.0.0)
  • Installing deprecated (1.2.13)
  • Updating distlib (0.3.1 -> 0.3.3)
  • Updating dnspython (1.16.0 -> 2.1.0)
  • Updating filelock (3.0.12 -> 3.4.0)
  • Updating flask (1.1.2 -> 2.0.2)
  • Updating graphene (2.1.8 -> 2.1.9)
  • Installing importlib-metadata (4.8.2)
  • Installing importlib-resources (5.4.0)
  • Updating kombu (5.1.0 -> 5.2.2)
  • Updating mako (1.1.4 -> 1.1.6)
  • Updating networkx (2.5.1 -> 2.6.3)
  • Updating packaging (20.9 -> 21.3)
  • Updating platformdirs (2.3.0 -> 2.4.0)
  • Updating pluggy (0.13.1 -> 1.0.0)
  • Updating py (1.10.0 -> 1.11.0)
  • Updating python-dateutil (2.8.1 -> 2.8.2)
  • Installing pytz-deprecation-shim (0.1.0.post0)
  • Updating singledispatch (3.6.1 -> 3.7.0)
  • Updating tomli (1.0.4 -> 1.2.2)
  • Updating typing-inspect (0.6.0 -> 0.7.1)
  • Updating urllib3 (1.26.5 -> 1.26.7)
  • Updating yarl (1.6.3 -> 1.7.2)
  • Updating aiohttp (3.7.4.post0 -> 3.8.1)
  • Updating alembic (1.6.5 -> 1.7.5)
  • Updating astroid (2.8.0 -> 2.9.0)
  • Updating celery (5.1.2 -> 5.2.1)
  • Updating cfgv (3.2.0 -> 3.3.1)
  • Updating coverage (6.1.1 -> 6.2)
  • Updating distro (1.5.0 -> 1.6.0)
  • Updating elasticsearch (7.12.0 -> 7.16.0)
  • Updating email-validator (1.1.2 -> 1.1.3)
  • Updating faker (8.1.0 -> 10.0.0)
  • Updating httplib2 (0.19.1 -> 0.20.2)
  • Updating identify (2.2.3 -> 2.4.0)
  • Updating isort (5.10.0 -> 5.10.1)
  • Updating libcst (0.3.18 -> 0.3.23)
  • Updating limits (1.5.1 -> 2.0.3)
  • Updating ninja (1.10.0.post2 -> 1.10.2.3)
  • Updating oauthlib (3.1.0 -> 3.1.1)
  • Updating pathspec (0.8.1 -> 0.9.0)
  • Updating pyjwt (1.7.1 -> 2.3.0)
  • Updating pyopenssl (20.0.1 -> 21.0.0)
  • Updating pyphen (0.10.0 -> 0.11.0)
  • Updating python-dotenv (0.19.1 -> 0.19.2)
  • Updating python-http-client (3.3.2 -> 3.3.4)
  • Updating redis (3.5.3 -> 4.0.2)
  • Updating reportlab (3.5.67 -> 3.6.3)
  • Updating scrypt (0.8.17 -> 0.8.19)
  • Updating simplejson (3.17.2 -> 3.17.6)
  • Updating starkbank-ecdsa (1.1.0 -> 2.0.3)
  • Updating tokenize-rt (4.1.0 -> 4.2.1)
  • Updating typer (0.3.2 -> 0.4.0)
  • Updating tzlocal (2.1 -> 4.1)
  • Updating uvloop (0.15.2 -> 0.16.0)
  • Updating virtualenv (20.4.3 -> 20.10.0)
  • Updating websockets (9.1 -> 10.1)
  • Updating zope.interface (5.3.0 -> 5.4.0)
  • Updating black (21.7b0 -> 21.12b0)
  • Updating eventlet (0.32.0 -> 0.33.0)
  • Updating flask-jwt-extended (3.25.0 -> 4.3.1)
  • Updating forex-python (1.6 -> 1.8)
  • Updating geoip2 (4.4.0 -> 4.5.0)
  • Updating humanize (3.12.0 -> 3.13.1)
  • Updating pre-commit (2.15.0 -> 2.16.0)
  • Updating psycopg2-binary (2.9.1 -> 2.9.2)
  • Updating pycln (1.0.3 -> 1.1.0)
  • Updating pycryptodome (3.11.0 -> 3.12.0)
  • Updating pylint (2.11.1 -> 2.12.2)
  • Updating pytype (2021.11.2 -> 2021.11.29)
  • Updating pyupgrade (2.29.0 -> 2.29.1)
  • Updating sendgrid (6.9.0 -> 6.9.2)
  • Updating sentry-sdk (1.4.3 -> 1.5.0)
  • Updating stripe (2.61.0 -> 2.63.0)

Like some of the dependencies changelog might be breaking (Ex: flask-jwt-extended) also we have to migrate from flask scripts to flask-inbuilt-cli before that.