diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 703962e8..3fff1e67 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,12 +3,12 @@ ci: autoupdate_schedule: monthly repos: - repo: https://github.com/asottile/pyupgrade - rev: v2.34.0 + rev: v2.37.1 hooks: - id: pyupgrade args: ["--py36-plus"] - repo: https://github.com/asottile/reorder_python_imports - rev: v3.3.0 + rev: v3.8.1 hooks: - id: reorder-python-imports name: Reorder Python imports (src, tests) diff --git a/CHANGES.rst b/CHANGES.rst index 1c0ce74f..995e4334 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -96,13 +96,16 @@ Unreleased Version 2.1.3 ------------- -Unreleased +Released 2022-07-13 - Inline some optional imports that are only used for certain CLI commands. :pr:`4606` - Relax type annotation for ``after_request`` functions. :issue:`4600` - ``instance_path`` for namespace packages uses the path closest to the imported submodule. :issue:`4600` +- Clearer error message when ``render_template`` and + ``render_template_string`` are used outside an application context. + :pr:`4693` Version 2.1.2 diff --git a/docs/async-await.rst b/docs/async-await.rst index cea84602..06a29fcc 100644 --- a/docs/async-await.rst +++ b/docs/async-await.rst @@ -91,7 +91,7 @@ patch low-level Python functions to accomplish this, whereas ``async``/ whether you should use Flask, Quart, or something else is ultimately up to understanding the specific needs of your project. -.. _Quart: https://gitlab.com/pgjones/quart +.. _Quart: https://github.com/pallets/quart .. _ASGI: https://asgi.readthedocs.io/en/latest/ diff --git a/requirements/dev.txt b/requirements/dev.txt index 3667056d..50e233ec 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -8,6 +8,8 @@ -r docs.txt -r tests.txt -r typing.txt +build==0.8.0 + # via pip-tools cfgv==3.3.1 # via pre-commit click==8.1.3 @@ -24,17 +26,17 @@ greenlet==1.1.2 ; python_version < "3.11" # via -r requirements/tests.in identify==2.5.1 # via pre-commit -nodeenv==1.6.0 +nodeenv==1.7.0 # via pre-commit pep517==0.12.0 - # via pip-tools + # via build pip-compile-multi==2.4.5 # via -r requirements/dev.in -pip-tools==6.6.2 +pip-tools==6.8.0 # via pip-compile-multi platformdirs==2.5.2 # via virtualenv -pre-commit==2.19.0 +pre-commit==2.20.0 # via -r requirements/dev.in pyyaml==6.0 # via pre-commit @@ -48,9 +50,9 @@ toml==0.10.2 # tox toposort==1.7 # via pip-compile-multi -tox==3.25.0 +tox==3.25.1 # via -r requirements/dev.in -virtualenv==20.14.1 +virtualenv==20.15.1 # via # pre-commit # tox diff --git a/requirements/docs.in b/requirements/docs.in index 3ee050af..3a389e2b 100644 --- a/requirements/docs.in +++ b/requirements/docs.in @@ -1,5 +1,7 @@ Pallets-Sphinx-Themes -Sphinx +# sphinx 5 introduced error in references from werkzeug in docstrings +Sphinx < 5 sphinx-issues sphinxcontrib-log-cabinet -sphinx-tabs +# sphinx-tabs 3.4 requires docutils 0.18, sphinx < 5 requires < 0.18 +sphinx-tabs < 3.4 diff --git a/requirements/docs.txt b/requirements/docs.txt index f94d30b8..54b8b492 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -1,4 +1,4 @@ -# SHA1:34fd4ca6516e97c7348e6facdd9c4ebb68209d1c +# SHA1:323f1c1134d78952ea63131c187303def63b56bd # # This file is autogenerated by pip-compile-multi # To update, run: @@ -7,11 +7,11 @@ # alabaster==0.7.12 # via sphinx -babel==2.10.1 +babel==2.10.3 # via sphinx -certifi==2022.5.18.1 +certifi==2022.6.15 # via requests -charset-normalizer==2.0.12 +charset-normalizer==2.1.0 # via requests docutils==0.17.1 # via @@ -19,7 +19,7 @@ docutils==0.17.1 # sphinx-tabs idna==3.3 # via requests -imagesize==1.3.0 +imagesize==1.4.1 # via sphinx jinja2==3.1.2 # via sphinx @@ -39,7 +39,7 @@ pyparsing==3.0.9 # via packaging pytz==2022.1 # via babel -requests==2.27.1 +requests==2.28.1 # via sphinx snowballstemmer==2.2.0 # via sphinx @@ -68,5 +68,5 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -urllib3==1.26.9 +urllib3==1.26.10 # via requests diff --git a/requirements/tests-pallets-dev.txt b/requirements/tests-pallets-dev.txt index 35d6cadc..a74f556b 100644 --- a/requirements/tests-pallets-dev.txt +++ b/requirements/tests-pallets-dev.txt @@ -15,5 +15,6 @@ markupsafe @ https://github.com/pallets/markupsafe/archive/refs/heads/main.tar.g # via # -r requirements/tests-pallets-dev.in # jinja2 + # werkzeug werkzeug @ https://github.com/pallets/werkzeug/archive/refs/heads/main.tar.gz # via -r requirements/tests-pallets-dev.in diff --git a/requirements/typing.txt b/requirements/typing.txt index 2e17dfb6..38ac50c2 100644 --- a/requirements/typing.txt +++ b/requirements/typing.txt @@ -5,11 +5,11 @@ # # pip-compile-multi # -cffi==1.15.0 +cffi==1.15.1 # via cryptography -cryptography==37.0.2 +cryptography==37.0.4 # via -r requirements/typing.in -mypy==0.960 +mypy==0.961 # via -r requirements/typing.in mypy-extensions==0.4.3 # via mypy @@ -17,11 +17,11 @@ pycparser==2.21 # via cffi tomli==2.0.1 # via mypy -types-contextvars==2.4.6 +types-contextvars==2.4.7 # via -r requirements/typing.in -types-dataclasses==0.6.5 +types-dataclasses==0.6.6 # via -r requirements/typing.in -types-setuptools==57.4.17 +types-setuptools==62.6.1 # via -r requirements/typing.in -typing-extensions==4.2.0 +typing-extensions==4.3.0 # via mypy diff --git a/src/flask/json/__init__.py b/src/flask/json/__init__.py index 97a1e7b4..65d8829a 100644 --- a/src/flask/json/__init__.py +++ b/src/flask/json/__init__.py @@ -20,6 +20,7 @@ class JSONEncoder(_json.JSONEncoder): - :class:`datetime.datetime` and :class:`datetime.date` are serialized to :rfc:`822` strings. This is the same as the HTTP date format. + - :class:`decimal.Decimal` is serialized to a string. - :class:`uuid.UUID` is serialized to a string. - :class:`dataclasses.dataclass` is passed to :func:`dataclasses.asdict`.