Skip to content

Upgrading Flask 0.4 to 0.5

Breaking0.4 → 0.5.2Breaking2New3Changed1Fixed3Other1

BreakingUpgrade verdict

2 breaking changes.

  • Removes support for create_jinja_loader, which is no longer used in 0.5 due to improved module support.
  • You can no longer run your app from a zip file for now.
2 items need code or config changes
Breaking2
Removes support for create_jinja_loader, which is no longer used in 0.5 due to improved module support.
create_jinja_loader
Temporarily drops support for zipped applications, a rarely used feature that caused confusing behavior.

Generated by DepDelta from published Python source. Not mixed with prose notes.

  • removed: class Config(dict)
  • removed: class ConfigAttribute(object)
  • removed: class Flask(_PackageBoundObject)
  • removed: class Module(_PackageBoundObject)
  • removed: class Request(RequestBase)
  • removed: class Response(ResponseBase)
  • removed: class Session(SecureCookie)
  • removed: constructor Config(root_path, defaults=…)
  • removed: constructor ConfigAttribute(name)
  • removed: constructor Flask(import_name)
  • removed: constructor Module(import_name, name=…, url_prefix=…)
  • removed: field Flask.debug
  • removed: field Flask.debug_log_format
  • removed: field Flask.default_config
  • removed: field Flask.jinja_options
  • removed: field Flask.logger_name
  • removed: field Flask.permanent_session_lifetime
  • removed: field Flask.request_class
  • removed: field Flask.response_class
  • removed: field Flask.secret_key
  • removed: field Flask.session_cookie_name
  • removed: field Flask.static_path
  • removed: field Flask.testing
  • removed: field Flask.use_x_sendfile
  • removed: field Request.endpoint
  • removed: field Request.routing_exception
  • removed: field Request.view_args
  • removed: field Response.default_mimetype
  • removed: field Session.permanent
  • removed: function flash(message, category=…)
  • removed: function get_flashed_messages(with_categories=…)
  • removed: function get_template_attribute(template_name, attribute)
  • removed: function jsonify(*args, **kwargs)
  • removed: function render_template(template_name, **context)
  • removed: function render_template_string(source, **context)
  • removed: function send_file(filename_or_fp, mimetype=…, as_attachment=…, attachment_filename=…)
  • removed: function url_for(endpoint, **values)
  • removed: method Config.from_envvar(variable_name, silent=…)
  • removed: method Config.from_object(obj)
  • removed: method Config.from_pyfile(filename)
  • removed: method Flask.add_url_rule(rule, endpoint=…, view_func=…, **options)
  • removed: method Flask.after_request(f)
  • removed: method Flask.before_request(f)
  • removed: method Flask.context_processor(f)
  • removed: method Flask.create_jinja_loader()
  • removed: method Flask.dispatch_request()
  • removed: method Flask.errorhandler(code)
  • removed: method Flask.handle_exception(e)
  • removed: method Flask.handle_http_exception(e)
  • removed: method Flask.make_response(rv)
  • removed: method Flask.open_session(request)
  • removed: method Flask.preprocess_request()
  • removed: method Flask.process_response(response)
  • removed: method Flask.register_module(module, **options)
  • removed: method Flask.request_context(environ)
  • removed: method Flask.route(rule, **options)
  • removed: method Flask.run(host=…, port=…, **options)
  • removed: method Flask.save_session(session, response)
  • removed: method Flask.template_filter(name=…)
  • removed: method Flask.test_client()
  • removed: method Flask.test_request_context(*args, **kwargs)
  • removed: method Flask.update_template_context(context)
  • removed: method Flask.wsgi_app(environ, start_response)
  • removed: method Module.add_url_rule(rule, endpoint, view_func=…, **options)
  • removed: method Module.after_app_request(f)
  • removed: method Module.after_request(f)
  • removed: method Module.app_context_processor(f)
  • removed: method Module.app_errorhandler(code)
  • removed: method Module.before_app_request(f)
  • removed: method Module.before_request(f)
  • removed: method Module.context_processor(f)
  • removed: method Module.route(rule, **options)
  • removed: property Flask.logger
  • removed: property Request.json
  • removed: property Request.module
  • removed: variable current_app
  • removed: variable g
  • removed: variable json_available
  • removed: variable pkg_resources
  • removed: variable request
  • removed: variable session
  • added: export Config
  • added: export Flask
  • added: export Module
  • added: export Request
  • added: export Response
  • added: export current_app
  • added: export flash
  • added: export g
  • added: export get_flashed_messages
  • added: export get_template_attribute
  • added: export json
  • added: export json_available
  • added: export jsonify
  • added: export render_template
  • added: export render_template_string
  • added: export request
  • added: export send_file
  • added: export send_from_directory
  • added: export session
  • added: export url_for
  • added: class Flask(_PackageBoundObject)
  • added: constructor Flask(import_name, static_path=…)
  • added: field Flask.debug
  • added: field Flask.debug_log_format
  • added: field Flask.default_config
  • added: field Flask.jinja_options
  • added: field Flask.logger_name
  • added: field Flask.permanent_session_lifetime
  • added: field Flask.request_class
  • added: field Flask.response_class
  • added: field Flask.secret_key
  • added: field Flask.session_cookie_name
  • added: field Flask.static_path
  • added: field Flask.testing
  • added: field Flask.use_x_sendfile
  • added: method Flask.add_url_rule(rule, endpoint=…, view_func=…, **options)
  • added: method Flask.after_request(f)
  • added: method Flask.before_request(f)
  • added: method Flask.context_processor(f)
  • added: method Flask.create_jinja_environment()
  • added: method Flask.dispatch_request()
  • added: method Flask.errorhandler(code)
  • added: method Flask.handle_exception(e)
  • added: method Flask.handle_http_exception(e)
  • added: method Flask.init_jinja_globals()
  • added: method Flask.make_response(rv)
  • added: method Flask.open_session(request)
  • added: method Flask.preprocess_request()
  • added: method Flask.process_response(response)
  • added: method Flask.register_module(module, **options)
  • added: method Flask.request_context(environ)
  • added: method Flask.route(rule, **options)
  • added: method Flask.run(host=…, port=…, **options)
  • added: method Flask.save_session(session, response)
  • added: method Flask.select_jinja_autoescape(filename)
  • added: method Flask.template_filter(name=…)
  • added: method Flask.test_client()
  • added: method Flask.test_request_context(*args, **kwargs)
  • added: method Flask.update_template_context(context)
  • added: method Flask.wsgi_app(environ, start_response)
  • added: property Flask.logger
  • added: class Config(dict)
  • added: class ConfigAttribute(object)
  • added: constructor Config(root_path, defaults=…)
  • added: constructor ConfigAttribute(name)
  • added: method Config.from_envvar(variable_name, silent=…)
  • added: method Config.from_object(obj)
  • added: method Config.from_pyfile(filename)
  • added: variable current_app
  • added: variable g
  • added: variable request
  • added: variable session
  • added: function flash(message, category=…)
  • added: function get_flashed_messages(with_categories=…)
  • added: function get_template_attribute(template_name, attribute)
  • added: function jsonify(*args, **kwargs)
  • added: function send_file(filename_or_fp, mimetype=…, as_attachment=…, attachment_filename=…, add_etags=…, cache_timeout=…, conditional=…)
  • added: function send_from_directory(directory, filename, **options)
  • added: function url_for(endpoint, **values)
  • added: variable json
  • added: variable json_available
  • added: function create_logger(app)
  • added: class Module(_PackageBoundObject)
  • added: constructor Module(import_name, name=…, url_prefix=…, static_path=…)
  • added: method Module.add_url_rule(rule, endpoint, view_func=…, **options)
  • added: method Module.after_app_request(f)
  • added: method Module.after_request(f)
  • added: method Module.app_context_processor(f)
  • added: method Module.app_errorhandler(code)
  • added: method Module.before_app_request(f)
  • added: method Module.before_request(f)
  • added: method Module.context_processor(f)
  • added: method Module.route(rule, **options)
  • added: class Session(SecureCookie)
  • added: field Session.permanent
  • added: function render_template(template_name, **context)
  • added: function render_template_string(source, **context)
  • added: class Request(RequestBase)
  • added: class Response(ResponseBase)
  • added: field Request.endpoint
  • added: field Request.routing_exception
  • added: field Request.view_args
  • added: field Response.default_mimetype
  • added: property Request.json
  • added: property Request.module
  • added: export admin
  • added: export frontend
  • added: variable app
  • added: function index()
  • added: variable admin
  • added: function index()
  • added: variable frontend