All Versions
26
Latest Version
Avg Release Cycle
173 days
Latest Release
75 days ago

Changelog History
Page 1

  • v2.2.0 Changes

    May 07, 2026

    πŸ†• New Features:

    • SQLAlchemy filter classes (FilterEqual, FilterLike, etc.) now accept a dotted-path string for the column argument (e.g. FilterEqual(column="author.email", name="Author Email")); the path is resolved against the view's model and the necessary joins are added automatically.

    πŸ›  Bugfixes:

    • πŸ›  Fix a bug in v2.1.0 that caused UnboundLocalError in flask_admin.contrib.sqla.ModelView when an exception was raised during a create or update operation
  • v2.1.0 Changes

    April 28, 2026

    2.1.0

    πŸ—„ Deprecations:

    • πŸ—„ Deprecate ModelView(Model, db.session) in favor of ModelView(Model, db): #2717

    πŸ†• New Features:

    • πŸ‘ Flask-SQLAlchemy-Lite support: #2789
    • βž• Add page title header with icon above every view via new {% block page_title %}: #2706
    • ⬆️ Upgrade bundled Bootstrap from 4.2.1 to 4.6.2 and remove unminified files: #2787
    • Flash error message on form validation failure (β€œFailed to create/save record”): #2738

    πŸ›  Bugfixes:

    • πŸ›  Fix CSS class on column headers (dots replaced with dashes e.g.: col-user.email β†’ col-user-email): #2730
    • Return HTTP 403 instead of 500 when inaccessible_callback returns None: #2793
    • FileAdmin: show empty date instead of 1970-01-01 when directory has no timestamp: #2721
    • πŸ›  Fix β€œSave & Add Another” using non-relative redirect URL (broke behind reverse proxies): #2716

    Others:

    • πŸ‘Œ Improved examples, tests, type hints
  • v2.0.2 Changes

    November 11, 2025
    • βž• Adds support for Python 3.14: #2685
    • βž• Adds a MenuDivider item for bootstrap themes: #2696
    • Field errors are now shown in red text for bootstrap themes: #2699
  • v2.0.1 Changes

    November 02, 2025
    • πŸ›  Fix documentation
    • ⚑️ Update arabic translations
  • v2.0.0 Changes

    October 25, 2025

    πŸ’₯ Breaking changes from v1.6.1:

    • βœ‚ Removed support for Python <3.10
    • Use of the boto library has been replaced by boto3. S3FileAdmin and S3Storage now accept an s3_client parameter taking a boto3.client('s3') instance rather than aws_access_key_id, aws_secret_access_key, and region parameters.
    • Azure Blob Storage SDK has been upgraded from the legacy version (v2) to the latest version (v12). AzureFileAdmin now accept blob_service_client rather than connection_string to give more flexibility with connection types.
    • πŸ“¦ Flask-BabelEx is no longer supported; the package is no longer maintained and Flask-Babel is recommended/active instead.
    • πŸ‘ Mongoengine support in Flask-Admin no longer uses Flask-Mongoengine, as that library is no longer actively maintained.
    • Bootstrap2 and Bootstrap3 themes are no longer available.
    • πŸ”§ Admin() now takes a theme parameter that encapsulates all of the configuration options for theming the admin instance. This replaces the template_mode parameter.
    • All remaining Flask-Admin config has been namespaced under FLASK_ADMIN_.
    Config variable name What's changed
    FLASK_ADMIN_SWATCH Removed; use Theme(swatch=...) instead
    FLASK_ADMIN_FLUID_LAYOUT Removed; use Theme(fluid=...) instead
    MAPBOX_MAP_ID Renamed to FLASK_ADMIN_MAPBOX_MAP_ID
    MAPBOX_SEARCH Renamed to FLASK_ADMIN_MAPBOX_SEARCH
    MAPBOX_ACCESS_TOKEN Renamed to FLASK_ADMIN_MAPBOX_ACCESS_TOKEN
    GOOGLE_MAPS_API_KEY Renamed to FLASK_ADMIN_GOOGLE_MAPS_API_KEY
    DEFAULT_CENTER_LAT Renamed to FLASK_ADMIN_DEFAULT_CENTER_LAT
    DEFAULT_CENTER_LONG Renamed to FLASK_ADMIN_DEFAULT_CENTER_LONG
    ADMIN_RAISE_ON_INTEGRITY_ERROR Renamed to FLASK_ADMIN_RAISE_ON_INTEGRITY_ERROR
    ADMIN_RAISE_ON_VIEW_EXCEPTION Renamed to FLASK_ADMIN_RAISE_ON_VIEW_EXCEPTION

    πŸ†• New functionality:

    • βž• Added support for Python <=3.13
    • 0️⃣ The default query for pymongo can be overridden
    • πŸ‘ Flask async routes are supported
    • πŸ“š Flask-Admin now supports the host_matching mode of Flask apps. See documentation for how to configure this where needed.
    • Flask-Admin is now compatible with SQLAlchemy v2+, Flask v3+, WTForms v3+, and Pillow v10+.
    • πŸ‘ Flask-Admin now declares its dependencies and supported dependency versions more cleanly, including using pip extras. If you use Flask-Admin with SQLAlchemy, for example, you should use pip install flask-admin[sqlalchemy] or list flask-admin[sqlalchemy] in your requirements.txt or pyproject.toml files.
    • Apps using content security policies to restrict the assets that can be loaded can now whitelist Flask-Admin's assets by passing a csp_nonce_generator function to the Admin instance. See examples or documentation for how to configure this where needed.
    • page_size_options can now be configured on Admin models, to restrict the page sizes that users can select. These are now enforced properly and cannot be bypassed by URL hacking.

    πŸ›  Fixes:

    • Bootstrap menu icons should show up properly and not duplicated
    • Redis CLI commands are now case insensitive
    • πŸ›  SQLAlchemy boolean filters now convert "1" and "0" to Python booleans, which fixes a type coercion issue with psycopg(3).
    • Jinja templates can now be loaded in StrictUndefined mode.
    • βœ‚ Remove an implicit dependency on packaging
    • πŸ›  Fixed an error caused by the fallback implementation of gettext() (when used in templates)
    • πŸ›  Fixes compatibility with WTForms 3.2+.
    • The Apply button for filters will show/hide correctly again
    • πŸ›  Fix translations_path attribute when Flask-Admin is used with Flask-Babel
    • ⚑️ Some translation updates.
    • Date fields no longer override widget if set in form_args
    • β€œSave and Continue Editing” button no longer discards the β€œreturn URL” (allowing to retain filters when switching back to the list)

    Misc:

    • ⚑️ Translations and docs have been updated
    • πŸ›  Various type hinting improvements and fixes
  • v2.0.0.rc2 Changes

    October 20, 2025
    • ⚑️ Serbian translation updates
  • v2.0.0.rc1 Changes

    October 17, 2025

    πŸ›  Fixes:

    • πŸ›  SQLAlchemy boolean filters now convert "1" and "0" to Python booleans, which fixes a type coercion issue with psycopg(3).
  • v2.0.0.a5 Changes

    October 09, 2025

    πŸ†• New functionality:

    • πŸ‘ Mongonengine support has been added back (no longer using flask-mongoengine): #2611
    • 0️⃣ The default query for pymongo can be overridden: #2661
    • πŸ‘ Flask async routes are supported: #2659

    πŸ›  Fixes:

    • Bootstrap menu icons should show up properly and not duplicated: #2666
    • Redis CLI commands are now case insensitive: #2411

    Misc:

    • ⚑️ Translations and docs have been updated
    • πŸ›  Various type hinting improvements and fixes
  • v2.0.0.a4 Changes

    February 22, 2025

    πŸ’₯ Breaking changes:

    • Azure Blob Storage SDK has been upgraded from the legacy version (v2) to the latest version (v12). AzureFileAdmin now accept blob_service_client rather than connection_string to give more flexibility with connection types.
  • v2.0.0.a3 Changes

    November 23, 2024

    πŸ›  Fixes:

    • Jinja templates can now be loaded in StrictUndefined mode.
    • βœ‚ Remove an implicit dependency on packaging