Skip to content
This repository has been archived by the owner on Oct 27, 2022. It is now read-only.

Commit

Permalink
[update to 1.0.2] a blueprint prefix and route. (#2748_)
Browse files Browse the repository at this point in the history
Version 1.0.2
-------------

Released on May 2nd 2018

-   Fix more backwards compatibility issues with merging slashes between
    a blueprint prefix and route. (`#2748`_)
-   Fix error with ``flask routes`` command when there are no routes.
    (`#2751`_)

.. _#2748: pallets/flask#2748
.. _#2751: pallets/flask#2751

Version 1.0.1

(NEWS truncated at 15 lines)

Key imported:
--list-packet:
# off=0 ctb=99 tag=6 hlen=3 plen=525
:public key packet:
	version 4, algo 1, created 1464966572, expires 0
	pkey[0]: [4096 bits]
	pkey[1]: [17 bits]
	keyid: 43368A7AA8CC5926
# off=528 ctb=b4 tag=13 hlen=2 plen=31
:user ID packet: "David Lord <davidism@gmail.com>"
# off=561 ctb=89 tag=2 hlen=3 plen=564
:signature packet: algo 1, keyid 43368A7AA8CC5926

--fingerprint:
pub   rsa4096 2016-06-03 [SC]
      9580 3D56 D871 8432 3051  20DD 4336 8A7A A8CC 5926
uid           [ unknown] David Lord <davidism@gmail.com>
sub   rsa2048 2016-06-03 [SA] [expires: 2024-06-01]
sub   rsa2048 2016-06-03 [E] [expires: 2024-06-01]
  • Loading branch information
fenrus75 authored and djklimes committed Jul 25, 2018
1 parent 3edeaf0 commit e9c8750
Show file tree
Hide file tree
Showing 8 changed files with 406 additions and 29 deletions.
74 changes: 74 additions & 0 deletions 7A1C87E3F5BC42A8.pkey
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=csu4
-----END PGP PUBLIC KEY BLOCK-----
293 changes: 282 additions & 11 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,19 +1,286 @@
.. currentmodule:: flask

Flask Changelog
===============

Here you can see the full list of changes between each Flask release.

Version 0.13
------------
Version 1.0.2
-------------

Released on May 2nd 2018

- Fix more backwards compatibility issues with merging slashes between
a blueprint prefix and route. (`#2748`_)
- Fix error with ``flask routes`` command when there are no routes.
(`#2751`_)

.. _#2748: https://github.com/pallets/flask/pull/2748
.. _#2751: https://github.com/pallets/flask/issues/2751


Version 1.0.1
-------------

Released on April 29th 2018

- Fix registering partials (with no ``__name__``) as view functions.
(`#2730`_)
- Don't treat lists returned from view functions the same as tuples.
Only tuples are interpreted as response data. (`#2736`_)
- 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. (`#2731`_, `#2742`_)
- Only trap ``BadRequestKeyError`` errors in debug mode, not all
``BadRequest`` errors. This allows ``abort(400)`` to continue
working as expected. (`#2735`_)
- The ``FLASK_SKIP_DOTENV`` environment variable can be set to ``1``
to skip automatically loading dotenv files. (`#2722`_)

.. _#2722: https://github.com/pallets/flask/issues/2722
.. _#2730: https://github.com/pallets/flask/pull/2730
.. _#2731: https://github.com/pallets/flask/issues/2731
.. _#2735: https://github.com/pallets/flask/issues/2735
.. _#2736: https://github.com/pallets/flask/issues/2736
.. _#2742: https://github.com/pallets/flask/issues/2742


Version 1.0
-----------

Major release, unreleased
Released on April 26th 2018

- **Python 2.6 and 3.3 are no longer supported.** (`pallets/meta#24`_)
- Bump minimum dependency versions to the latest stable versions:
Werkzeug >= 0.14, Jinja >= 2.10, itsdangerous >= 0.24, Click >= 5.1.
(`#2586`_)
- Skip :meth:`app.run <Flask.run>` 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. (`#2193`_)
- :meth:`Flask.__init__ <Flask>` accepts the ``host_matching``
argument and sets it on :attr:`~Flask.url_map`. (`#1559`_)
- :meth:`Flask.__init__ <Flask>` accepts the ``static_host`` argument
and passes it as the ``host`` argument when defining the static
route. (`#1559`_)
- :func:`send_file` supports Unicode in ``attachment_filename``.
(`#2223`_)
- Pass ``_scheme`` argument from :func:`url_for` to
:meth:`~Flask.handle_url_build_error`. (`#2017`_)
- :meth:`~Flask.add_url_rule` accepts the
``provide_automatic_options`` argument to disable adding the
``OPTIONS`` method. (`#1489`_)
- :class:`~views.MethodView` subclasses inherit method handlers from
base classes. (`#1936`_)
- Errors caused while opening the session at the beginning of the
request are handled by the app's error handlers. (`#2254`_)
- Blueprints gained :attr:`~Blueprint.json_encoder` and
:attr:`~Blueprint.json_decoder` attributes to override the app's
encoder and decoder. (`#1898`_)
- :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. (`#2256`_)
- Add ``routes`` CLI command to output routes registered on the
application. (`#2259`_)
- 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. (`#2282`_)
- Allow IP address as exact session cookie domain. (`#2282`_)
- ``SESSION_COOKIE_DOMAIN`` is set if it is detected through
``SERVER_NAME``. (`#2282`_)
- Auto-detect zero-argument app factory called ``create_app`` or
``make_app`` from ``FLASK_APP``. (`#2297`_)
- 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. (`#2319`_)
- ``FLASK_APP`` can be set to an app factory, with arguments if
needed, for example ``FLASK_APP=myproject.app:create_app('dev')``.
(`#2326`_)
- ``FLASK_APP`` can point to local packages that are not installed in
editable mode, although ``pip install -e`` is still preferred.
(`#2414`_)
- 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`. (`#2316`_)
- Error handling will try handlers registered for ``blueprint, code``,
``app, code``, ``blueprint, exception``, ``app, exception``.
(`#2314`_)
- ``Cookie`` is added to the response's ``Vary`` header if the session
is accessed at all during the request (and not deleted). (`#2288`_)
- :meth:`~Flask.test_request_context` accepts ``subdomain`` and
``url_scheme`` arguments for use when building the base URL.
(`#1621`_)
- 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. (`#2348`_)
- Allow registering new tags with
:class:`~json.tag.TaggedJSONSerializer` to support storing other
types in the session cookie. (`#2352`_)
- 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.
(`#2354`_)
- Add ``json`` keyword argument for the test client request methods.
This will dump the given object as JSON and set the appropriate
content type. (`#2358`_)
- 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. (`#2358`_)
- 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. (`#2362`_)
- Fix incorrect JSON encoding of aware, non-UTC datetimes. (`#2374`_)
- Template auto reloading will honor debug mode even even if
:attr:`~Flask.jinja_env` was already accessed. (`#2373`_)
- The following old deprecated code was removed. (`#2385`_)

- ``flask.ext`` - import extensions directly by their name instead
of through the ``flask.ext`` namespace. For example,
``import flask.ext.sqlalchemy`` becomes
``import flask_sqlalchemy``.
- ``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.
(`#1421`_)
- Support passing a :class:`~werkzeug.test.EnvironBuilder` or
``dict`` to :meth:`test_client.open <werkzeug.test.Client.open>`.
(`#2412`_)
- The ``flask`` command and :meth:`Flask.run` will load environment
variables from ``.env`` and ``.flaskenv`` files if python-dotenv is
installed. (`#2416`_)
- When passing a full URL to the test client, the scheme in the URL is
used instead of :data:`PREFERRED_URL_SCHEME`. (`#2430`_)
- :attr:`Flask.logger` has been simplified. ``LOGGER_NAME`` and
``LOGGER_HANDLER_POLICY`` config was removed. The logger is always
named ``flask.app``. 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. (`#2436`_)
- Blueprint view function names may not contain dots. (`#2450`_)
- Fix a ``ValueError`` caused by invalid ``Range`` requests in some
cases. (`#2526`_)
- The development server uses threads by default. (`#2529`_)
- Loading config files with ``silent=True`` will ignore
:data:`~errno.ENOTDIR` errors. (`#2581`_)
- Pass ``--cert`` and ``--key`` options to ``flask run`` to run the
development server over HTTPS. (`#2606`_)
- Added :data:`SESSION_COOKIE_SAMESITE` to control the ``SameSite``
attribute on the session cookie. (`#2607`_)
- Added :meth:`~flask.Flask.test_cli_runner` to create a Click runner
that can invoke Flask CLI commands for testing. (`#2636`_)
- Subdomain matching is disabled by default and setting
:data:`SERVER_NAME` does not implicily enable it. It can be enabled
by passing ``subdomain_matching=True`` to the ``Flask`` constructor.
(`#2635`_)
- A single trailing slash is stripped from the blueprint
``url_prefix`` when it is registered with the app. (`#2629`_)
- :meth:`Request.get_json` doesn't cache the
result if parsing fails when ``silent`` is true. (`#2651`_)
- :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. (`#2691`_)
- Added :data:`MAX_COOKIE_SIZE` and :attr:`Response.max_cookie_size`
to control when Werkzeug warns about large cookies that browsers may
ignore. (`#2693`_)
- Updated documentation theme to make docs look better in small
windows. (`#2709`_)
- Rewrote the tutorial docs and example project to take a more
structured approach to help new users avoid common pitfalls.
(`#2676`_)

.. _pallets/meta#24: https://github.com/pallets/meta/issues/24
.. _#1421: https://github.com/pallets/flask/issues/1421
.. _#1489: https://github.com/pallets/flask/pull/1489
.. _#1559: https://github.com/pallets/flask/issues/1559
.. _#1621: https://github.com/pallets/flask/pull/1621
.. _#1898: https://github.com/pallets/flask/pull/1898
.. _#1936: https://github.com/pallets/flask/pull/1936
.. _#2017: https://github.com/pallets/flask/pull/2017
.. _#2193: https://github.com/pallets/flask/pull/2193
.. _#2223: https://github.com/pallets/flask/pull/2223
.. _#2254: https://github.com/pallets/flask/pull/2254
.. _#2256: https://github.com/pallets/flask/pull/2256
.. _#2259: https://github.com/pallets/flask/pull/2259
.. _#2282: https://github.com/pallets/flask/pull/2282
.. _#2288: https://github.com/pallets/flask/pull/2288
.. _#2297: https://github.com/pallets/flask/pull/2297
.. _#2314: https://github.com/pallets/flask/pull/2314
.. _#2316: https://github.com/pallets/flask/pull/2316
.. _#2319: https://github.com/pallets/flask/pull/2319
.. _#2326: https://github.com/pallets/flask/pull/2326
.. _#2348: https://github.com/pallets/flask/pull/2348
.. _#2352: https://github.com/pallets/flask/pull/2352
.. _#2354: https://github.com/pallets/flask/pull/2354
.. _#2358: https://github.com/pallets/flask/pull/2358
.. _#2362: https://github.com/pallets/flask/pull/2362
.. _#2374: https://github.com/pallets/flask/pull/2374
.. _#2373: https://github.com/pallets/flask/pull/2373
.. _#2385: https://github.com/pallets/flask/issues/2385
.. _#2412: https://github.com/pallets/flask/pull/2412
.. _#2414: https://github.com/pallets/flask/pull/2414
.. _#2416: https://github.com/pallets/flask/pull/2416
.. _#2430: https://github.com/pallets/flask/pull/2430
.. _#2436: https://github.com/pallets/flask/pull/2436
.. _#2450: https://github.com/pallets/flask/pull/2450
.. _#2526: https://github.com/pallets/flask/issues/2526
.. _#2529: https://github.com/pallets/flask/pull/2529
.. _#2586: https://github.com/pallets/flask/issues/2586
.. _#2581: https://github.com/pallets/flask/pull/2581
.. _#2606: https://github.com/pallets/flask/pull/2606
.. _#2607: https://github.com/pallets/flask/pull/2607
.. _#2636: https://github.com/pallets/flask/pull/2636
.. _#2635: https://github.com/pallets/flask/pull/2635
.. _#2629: https://github.com/pallets/flask/pull/2629
.. _#2651: https://github.com/pallets/flask/issues/2651
.. _#2676: https://github.com/pallets/flask/pull/2676
.. _#2691: https://github.com/pallets/flask/pull/2691
.. _#2693: https://github.com/pallets/flask/pull/2693
.. _#2709: https://github.com/pallets/flask/pull/2709


Version 0.12.4
--------------

Released on April 29 2018

- Repackage 0.12.3 to fix package layout issue. (`#2728`_)

.. _#2728: https://github.com/pallets/flask/issues/2728


Version 0.12.3
--------------

Released on April 26th 2018

- :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. (`#2692`_)
- Fix a Python warning about imports when using ``python -m flask``.
(`#2666`_)
- Fix a ``ValueError`` caused by invalid ``Range`` requests in some
cases.

.. _#2666: https://github.com/pallets/flask/issues/2666
.. _#2692: https://github.com/pallets/flask/issues/2692

- Make `app.run()` into a noop if a Flask application is run from the
development server on the command line. This avoids some behavior that
was confusing to debug for newcomers.
- Change default configuration `JSONIFY_PRETTYPRINT_REGULAR=False`. jsonify()
method returns compressed response by default, and pretty response in
debug mode.

Version 0.12.2
--------------
Expand All @@ -31,6 +298,8 @@ Bugfix release, released on March 31st 2017
within the imported application module.
- Fix encoding behavior of ``app.config.from_pyfile`` for Python 3. Fix
``#2118``.
- Use the ``SERVER_NAME`` config if it is present as default values for
``app.run``. ``#2109``, ``#2152``
- Call `ctx.auto_pop` with the exception object instead of `None`, in the
event that a `BaseException` such as `KeyboardInterrupt` is raised in a
request handler.
Expand Down Expand Up @@ -138,6 +407,8 @@ Released on May 29th 2016, codename Absinthe.
- Don't leak exception info of already catched exceptions to context teardown
handlers (pull request ``#1393``).
- Allow custom Jinja environment subclasses (pull request ``#1422``).
- Updated extension dev guidelines.

- ``flask.g`` now has ``pop()`` and ``setdefault`` methods.
- Turn on autoescape for ``flask.templating.render_template_string`` by default
(pull request ``#1515``).
Expand Down Expand Up @@ -520,7 +791,7 @@ Released on July 27th 2010, codename Whisky
prefix. This makes it possible to bind a whole module to a
configurable subdomain.

.. _blinker: https://pypi.python.org/pypi/blinker
.. _blinker: https://pypi.org/project/blinker/

Version 0.5.2
-------------
Expand Down
Loading

0 comments on commit e9c8750

Please sign in to comment.