42
• The flask.Flask class will avoid importing the provided import name if it can
(the required first parameter), to benefit tools which build Flask instances pro-
grammatically. The Flask class will fall back to using import on systems with
custom module hooks, e.g. Google App Engine, or when the import name is
inside a zip archive (usually a .egg) prior to Python 2.7.
• Blueprints nowhave a decoratorto add customtemplate filters applicationwide,
flask.Blueprint.app_template_filter().
• The Flask and Blueprint classes now have a non-decorator method for adding
custom template filters application wide, flask.Flask.add_template_filter()
and flask.Blueprint.add_app_template_filter().
• The flask.get_flashed_messages() functionnow allows rendering flashed mes-
sage categories in separate blocks, through a category_filter argument.
• The flask.Flask.run() method now accepts None for host and port arguments,
using default values when None. This allows for calling run using configuration
values, e.g. app.run(app.config.get(’MYHOST’), app.config.get(’MYPORT’)),
with proper behavior whether or not a config file is provided.
• The flask.render_template() method now accepts a either an iterable of tem-
plate names or a single template name. Previously, it only accepted a single
template name. On an iterable, the first template found is rendered.
• Addedflask.Flask.app_context() whichworks very similartotherequestcon-
text but only provides access to the current application. This also adds support
for URL generation without an active request context.
• View functions can now return a tuple with the first instance being an instance
of flask.Response. This allows for returning jsonify(error="error msg"), 400
from a view function.
• Flask and Blueprint now provide a get_send_file_max_age() hook for sub-
classes to override behavior of serving static files from Flask when using
flask.Flask.send_static_file() (used for the default static file handler) and
send_file(). This hook is provided a filename, which forexample allows chang-
ing cache controls by file extension. The default max-age for send_file and static
files can be configured through a new SEND_FILE_MAX_AGE_DEFAULT configuration
variable, which is used in the default get_send_file_max_age implementation.
• Fixed an assumption in sessions implementation which could break message
flashing on sessions implementations which use external storage.
• Changed the behavior of tuple return values from functions. They are no longer
arguments to the response object, they now have a defined meaning.
• Added flask.Flask.request_globals_class to allow a specific class to be used
on creation of the g instance of each request.
• Added required_methodsattribute to view functions to force-add methods on reg-
istration.
• Added flask.after_this_request().
280