Subject: CVS commit: pkgsrc/www/py-flask
From: Adam Ciarcinski
Date: 2018-07-20 10:40:42
Message id:

Log Message:
py-flask: updated to 1.0.2

Version 1.0.2:
Fix more backwards compatibility issues with merging slashes between a blueprint \ 
prefix and route.
Fix error with flask routes command when there are no routes.

Version 1.0.1:
Fix registering partials (with no __name__) as view functions.
Don't treat lists returned from view functions the same as tuples. Only tuples \ 
are interpreted as response data.
Extra slashes between a blueprint's url_prefix and a route URL are merged. This \ 
fixes some backwards compatibility issues with the change in 1.0.
Only trap BadRequestKeyError errors in debug mode, not all BadRequest errors. \ 
This allows abort(400) to continue working as expected.
The FLASK_SKIP_DOTENV environment variable can be set to 1 to skip automatically \ 
loading dotenv files.

Version 1.0:
Python 2.6 and 3.3 are no longer supported.
Bump minimum dependency versions to the latest stable versions: Werkzeug >= \ 
0.14, Jinja >= 2.10, itsdangerous >= 0.24, Click >= 5.1.
Skip <> when a Flask application is run from the \ 
command line. This avoids some behavior that was confusing to debug.
Change the default for :data:JSONIFY_PRETTYPRINT_REGULAR to False. \ 
:func:~json.jsonify returns a compact format by default, and an indented format \ 
in debug mode.
:meth:Flask.__init__ <Flask> accepts the host_matching argument and sets \ 
it on :attr:~Flask.url_map.
:meth:Flask.__init__ <Flask> accepts the static_host argument and passes \ 
it as the host argument when defining the static route.
:func:send_file supports Unicode in attachment_filename.
Pass _scheme argument from :func:url_for to :meth:~Flask.handle_url_build_error.
:meth:~Flask.add_url_rule accepts the provide_automatic_options argument to \ 
disable adding the OPTIONS method.
:class:~views.MethodView subclasses inherit method handlers from base classes.
Errors caused while opening the session at the beginning of the request are \ 
handled by the app's error handlers.
Blueprints gained :attr:~Blueprint.json_encoder and \ 
:attr:~Blueprint.json_decoder attributes to override the app's encoder and \ 
:meth:Flask.make_response raises TypeError instead of ValueError for bad \ 
response types. The error messages have been improved to describe why the type \ 
is invalid.
Add routes CLI command to output routes registered on the application.
Show warning when session cookie domain is a bare hostname or an IP address, as \ 
these may not behave properly in some browsers, such as Chrome.
Allow IP address as exact session cookie domain.
SESSION_COOKIE_DOMAIN is set if it is detected through SERVER_NAME.
Auto-detect zero-argument app factory called create_app or make_app from FLASK_APP.
Factory functions are not required to take a script_info parameter to work with \ 
the flask command. If they take a single parameter or a parameter named \ 
script_info, the :class:~cli.ScriptInfo object will be passed.
FLASK_APP can be set to an app factory, with arguments if needed, for example \'dev').
FLASK_APP can point to local packages that are not installed in editable mode, \ 
although pip install -e is still preferred.
The :class:~views.View class attribute \ 
:attr:~views.View.provide_automatic_options is set in :meth:~views.View.as_view, \ 
to be detected by :meth:~Flask.add_url_rule.
Error handling will try handlers registered for blueprint, code, app, code, \ 
blueprint, exception, app, exception.
Cookie is added to the response's Vary header if the session is accessed at all \ 
during the request (and not deleted).
:meth:~Flask.test_request_context accepts subdomain and url_scheme arguments for \ 
use when building the base URL.
Set :data:APPLICATION_ROOT to '/' by default. This was already the implicit \ 
default when it was set to None.
:data:TRAP_BAD_REQUEST_ERRORS is enabled by default in debug mode. \ 
BadRequestKeyError has a message with the bad key in debug mode instead of the \ 
generic bad request message.
Allow registering new tags with :class:~json.tag.TaggedJSONSerializer to support \ 
storing other types in the session cookie.
Only open the session if the request has not been pushed onto the context stack \ 
yet. This allows :func:~stream_with_context generators to access the same \ 
session that the containing view uses.
Add json keyword argument for the test client request methods. This will dump \ 
the given object as JSON and set the appropriate content type.
Extract JSON handling to a mixin applied to both the :class:Request and \ 
:class:Response classes. This adds the :meth:~Response.is_json and \ 
:meth:~Response.get_json methods to the response to make testing JSON response \ 
much easier.
Removed error handler caching because it caused unexpected results for some \ 
exception inheritance hierarchies. Register handlers explicitly for each \ 
exception if you want to avoid traversing the MRO.
Fix incorrect JSON encoding of aware, non-UTC datetimes.
Template auto reloading will honor debug mode even even if \ 
:attr:~Flask.jinja_env was already accessed.
The following old deprecated code was removed.
flask.ext - import extensions directly by their name instead of through the \ 
flask.ext namespace. For example, import flask.ext.sqlalchemy becomes import \ 
Flask.init_jinja_globals - extend :meth:Flask.create_jinja_environment instead.
Flask.error_handlers - tracked by :attr:Flask.error_handler_spec, use \ 
:meth:Flask.errorhandler to register handlers.
Flask.request_globals_class - use :attr:Flask.app_ctx_globals_class instead.
Flask.static_path - use :attr:Flask.static_url_path instead.
Request.module - use :attr:Request.blueprint instead.
The :attr:Request.json property is no longer deprecated.
Support passing a :class:~werkzeug.test.EnvironBuilder or dict to \ <>.
The flask command and will load environment variables from .env \ 
and .flaskenv files if python-dotenv is installed.
When passing a full URL to the test client, the scheme in the URL is used \ 
instead of :data:PREFERRED_URL_SCHEME.
:attr:Flask.logger has been simplified. LOGGER_NAME and LOGGER_HANDLER_POLICY \ 
config was removed. The logger is always named The level is only set \ 
on first access, it doesn't check :attr:Flask.debug each time. Only one format \ 
is used, not different ones depending on :attr:Flask.debug. No handlers are \ 
removed, and a handler is only added if no handlers are already configured.
Blueprint view function names may not contain dots.
Fix a ValueError caused by invalid Range requests in some cases.
The development server uses threads by default.
Loading config files with silent=True will ignore :data:~errno.ENOTDIR errors.
Pass --cert and --key options to flask run to run the development server over HTTPS.
Added :data:SESSION_COOKIE_SAMESITE to control the SameSite attribute on the \ 
session cookie.
Added :meth:~flask.Flask.test_cli_runner to create a Click runner that can \ 
invoke Flask CLI commands for testing.
Subdomain matching is disabled by default and setting :data:SERVER_NAME does not \ 
implicitly enable it. It can be enabled by passing subdomain_matching=True to \ 
the Flask constructor.
A single trailing slash is stripped from the blueprint url_prefix when it is \ 
registered with the app.
:meth:Request.get_json doesn't cache the result if parsing fails when silent is true.
:func:Request.get_json no longer accepts arbitrary encodings. Incoming JSON \ 
should be encoded using UTF-8 per RFC 8259, but Flask will autodetect UTF-8, \ 
-16, or -32.
Added :data:MAX_COOKIE_SIZE and :attr:Response.max_cookie_size to control when \ 
Werkzeug warns about large cookies that browsers may ignore.
Updated documentation theme to make docs look better in small windows.
Rewrote the tutorial docs and example project to take a more structured approach \ 
to help new users avoid common pitfalls.