Flask-Bootstrap Changelog

The following changes are not backwards compatible or major new features (bugfixes or new upstream releases are not explicitly listed):

  • IE-specific meta information and viewport meta tags have been added to the base template.
  • The flashed messages are no longer considered “safe”, which means HTML-markup will be escaped. See flashed_messages() for more information.
  • The title block now contains an empty-by-default title variable.

  • Support for Flask-Nav added: Flask-Nav support.
  • The sample application has been rewritten to finally resemble a somewhat educative piece of code.

  • action finally settled on "".

  • The action default value of quick_form() changed to ..
  • An enctype value of quick_form(), which is the default, will automatically add the correct type if a FileField is present.
  • The main bootstrap css file is no longer linked for just media="screen".

  • Google Analytics API updated; the legacy API is still available.
  • Flashed-message categories are now translated to bootstrap-y categories.

  • New macro for pagination added (see Flask-SQLAlchemy support).
  • New utils.html macro package added, includes message flashing, form-wrapped buttons and icons.
  • A class required is added to wrappers when using quick_form().

  • JQuery major version switched from 2 to 1. Detailed information on this change can be found in the FAQ.

  • JQuery version increased to 2.1.0, html5shiv to 3.7 and respond.js to 1.4.2.

  • Default action for forms changed from ”.” to nothing.

  • New major upstream release (backwards incompatible!).
  • Sphinx-based Documentation instead of README-file.
  • No more SAMPLE_PROJECT, a new sample app has been provided.
  • A lot of options are gone, their features being made obsolete, removed or integrated into other parts of the extension.
  • A new CDN system replaced the old loading system.
  • FontAwesome has been removed in favor of Glyphicons (which now comes as a real font as well).

  • html5-shim is loaded using a protocol-relative URL
  • Rendering of RadioField changed (see sample app).

  • Slight change in versioning (dot instead of hyphen for the Flask-Bootstrap release).


  • Switched the CDN to cdnjs because netdna keeps changing files around too much.
  • Introduced BOOTSTRAP_CUSTOM_CSS option.


  • FontAwesome now version 3.0 instead of 2.0.
  • The navbar()-macro is gone. It was accidentally committed and never did anything useful, so this hopefully won’t concern anyone.


  • FontAwesome is now supported as well, can also be loaded from bootstrapCDN. Set BOOTSTRAP_FONTAWESOME to True to enable it.
  • BOOTSTRAP_CDN_BASEURL is now a dictionary for multiple CDNs (i.e. Bootstrap, FontAwesome can use different base URLs). This will break any code that relied on setting BOOTSTRAP_CDN_BASEURL.


  • There is no longer a self.app on Flask-Bootstrap. The extension can be shared by any number of applications using init_app() (though the old __init__() signature is kept for backward compatibiliy).


  • WTForms generated HTML code is now considered safe. This allows Flask-WTF’s RecaptchaField to work with quick_form.


  • New upstream release: 2.1.0.
  • Changed the default version of jQuery from 1.7.2 to just 1. This means that the latest 1.x.x version of jQuery will be pulled.