Skip to content

Upgrade to FlaskAppBuilder 4.0.* #22397

Closed

Description

@potiuk

Body

Flask App Builder 4.0 has been released - including allowing us to bump multiple depending packages that have been held back by it. Apart of bumping version of dependent packages, there does not seem to be breaking changes that impact us directly.

We should migrate to FAB 4.0.* in Airlfow 2.3 I think at earliest convenience, but it also requires some extensive testing (which 2.3.0 will probably be all about.

https://flask-appbuilder.readthedocs.io/en/latest/breaking.html#version-4-0-0

Drops python 3.6 support

  • Removed config key AUTH_STRICT_RESPONSE_CODES, it’s always strict now.
  • Removes Flask-OpenID dependency (you can install it has an extra dependency pip install flask-appbuilder[openid])

Major version bumps on following packages

Flask from 1.X to 2.X

Breaking changes: https://flask.palletsprojects.com/en/2.0.x/changes/#version-2-0-0

flask-jwt-extended 3.X to 4.X:

Breaking changes: https://flask-jwt-extended.readthedocs.io/en/stable/v4_upgrade_guide/

Jinja2 2.X to 3.X

Breaking changes: https://jinja.palletsprojects.com/en/3.0.x/changes/#version-3-0-0

Werkzeug 1.X to 2.X

https://werkzeug.palletsprojects.com/en/2.0.x/changes/#version-2-0-0

The following packages are probably not impactful to you:

pyJWT 1.X to 2.X:

Breaking changes: https://pyjwt.readthedocs.io/en/stable/changelog.html#v2-0-0

Click 7.X to 8.X:

Breaking changes: https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-0

itsdangerous 1.X to 2.X

Breaking changes: https://github.com/pallets/itsdangerous/blob/main/CHANGES.rst#version-200

Committer

  • I acknowledge that I am a maintainer/committer of the Apache Airflow project.

Activity

  1. added
    kind:metaHigh-level information important to the community
    area:dependenciesIssues related to dependencies problems
    on Mar 21, 2022
  2. added a commit that references this issue on Mar 21, 2022
    00b196a
  3. added 2 commits that reference this issue on Mar 29, 2022
    364eeaf
    da924b0
  4. johannesjung commented on May 9, 2022

    @johannesjung

    Hi @potiuk, thank you for pushing towards upgrading Flask-AppBuilder. I see that you had started to work on this issue in #22587, but then suddenly closed it again. What was the reason for closing the PR and what does it mean for this issue?

  5. potiuk commented on May 9, 2022

    @potiuk
    MemberAuthor

    This was just a draft to try it and see if it works, It had a number of problems in just "dependencies".
    It means that it's not "straightforward" and someone will need to make a substantial effort to migrate (and test).

    But if you want - you can pick it up and try to make a PR yourself. Woudl you want to take a stab on it ?

  6. johannesjung commented on May 9, 2022

    @johannesjung

    Thanks for the quick reply. It is not my field of expertise, so I would be happy if someone else gives it a try. It would be great to get rid of the older version of dependencies related to this.

  7. potiuk commented on May 9, 2022

    @potiuk
    MemberAuthor

    Thanks for the quick reply. It is not my field of expertise, so I would be happy if someone else gives it a try. It would be great to get rid of the older version of dependencies related to this.

    Quite agree. Maybe I will get to it at some point in time :). But if someone else would like to take it on - I am happy to help.

  8. potiuk commented on Jun 15, 2022

    @potiuk
    MemberAuthor

    I am gathering here the list who will help with testing it when we implement it. Those are the people who want to get rid of dependencies. FAB 4+ upgrade introduces a lot of breaking changes. Migrating it will be a bit painful. but the bulk of the effort will be testing it

    This is the list of people who are eager to get the update in their hands, they are not able to help with the upgrade but anyone can help with testing.

    Request - since you expect the upgrade, to happen - we will ask you to pick the areas that you will want to test (or ask somene in your team to test). We will provide instructions on how to install airflow from the PR and provide packages that you will be able to install.

  9. gmsantos commented on Jun 17, 2022

    @gmsantos
    Contributor

    @potiuk I can help by testing it. I have some scenarios that integrate Airflow with Azure AD for authentication and implement custom roles as well.

  10. 16 remaining items

  11. added 4 commits that reference this issue on Jun 19, 2022
    22652d1
    a58c742
  12. added 3 commits that reference this issue on Jun 22, 2022
    e2f1950
    5065711
    7e08c3a
  13. sainman commented on Apr 18, 2023

    @sainman

    Hi

    We are using Apache-airflow v2.5.1 which is using with Flask-AppBuilder version 4.1.4

    A few days back Flask-AppBuilder version 4.1.4 is marked as vulnerable with high severity by dependabot.

    Now the problem is Airflow v2.5.1 is not supporting Flask-AppBuilder version 4.3.0 ( any >4.1.4 )

    Could any one please suggest what could be the possible solution or timeline Airflow will support Flask-AppBuilder version 4.3.0?

    Thanks

  14. potiuk commented on Apr 18, 2023

    @potiuk
    MemberAuthor

    Hi

    We are using Apache-airflow v2.5.1 which is using with Flask-AppBuilder version 4.1.4

    A few days back Flask-AppBuilder version 4.1.4 is marked as vulnerable with high severity by dependabot.

    Now the problem is Airflow v2.5.1 is not supporting Flask-AppBuilder version 4.3.0 ( any >4.1.4 )

    Could any one please suggest what could be the possible solution or timeline Airflow will support Flask-AppBuilder version 4.3.0?

    Thanks

    yes. 2.6.0 beta 1 with FAB 4.3.0 has been already published last week, RC1 is expected this week. Please watch the issues/devlist and help us testing the RC1 as soon as it is released, the more people will test it, the faster we will release 2.6.0 final version.

  15. sainman commented on Apr 20, 2023

    @sainman

    thanks, Jarek,

    Could you please share the satisfactory link to download beta?

  16. potiuk commented on Apr 20, 2023

    @potiuk
    MemberAuthor

    You will find it in devlist. Subscribing to devlist is a good idea https://lists.apache.org/thread/yj1xgz2gfjl0ff329nmdyll9d0ctk7x9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:dependenciesIssues related to dependencies problemskind:metaHigh-level information important to the community

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions