DevOps-The-Hard-Way-Azure
DevOps-The-Hard-Way-Azure copied to clipboard
Update dependency Flask to v2.3.3
This PR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
Flask (changelog) | ==2.0.1 -> ==2.3.3 |
Release Notes
pallets/flask (Flask)
v2.3.3
Released 2023-08-21
- Python 3.12 compatibility.
- Require Werkzeug >= 2.3.7.
- Use
flit_core
instead ofsetuptools
as build backend. - Refactor how an app's root and instance paths are determined. :issue:
5160
v2.3.2
Released 2023-05-01
- Set
Vary: Cookie
header when the session is accessed, modified, or refreshed. - Update Werkzeug requirement to >=2.3.3 to apply recent bug fixes.
v2.3.1
Released 2023-04-25
- Restore deprecated
from flask import Markup
. :issue:5084
v2.3.0
Released 2023-04-25
-
Drop support for Python 3.7. :pr:
5072
-
Update minimum requirements to the latest versions: Werkzeug>=2.3.0, Jinja2>3.1.2, itsdangerous>=2.1.2, click>=8.1.3.
-
Remove previously deprecated code. :pr:
4995
- The
push
andpop
methods of the deprecated_app_ctx_stack
and_request_ctx_stack
objects are removed.top
still exists to give extensions more time to update, but it will be removed. - The
FLASK_ENV
environment variable,ENV
config key, andapp.env
property are removed. - The
session_cookie_name
,send_file_max_age_default
,use_x_sendfile
,propagate_exceptions
, andtemplates_auto_reload
properties onapp
are removed. - The
JSON_AS_ASCII
,JSON_SORT_KEYS
,JSONIFY_MIMETYPE
, andJSONIFY_PRETTYPRINT_REGULAR
config keys are removed. - The
app.before_first_request
andbp.before_app_first_request
decorators are removed. -
json_encoder
andjson_decoder
attributes on app and blueprint, and the correspondingjson.JSONEncoder
andJSONDecoder
classes, are removed. - The
json.htmlsafe_dumps
andhtmlsafe_dump
functions are removed. - Calling setup methods on blueprints after registration is an error instead of a
warning. :pr:
4997
- The
-
Importing
escape
andMarkup
fromflask
is deprecated. Import them directly frommarkupsafe
instead. :pr:4996
-
The
app.got_first_request
property is deprecated. :pr:4997
-
The
locked_cached_property
decorator is deprecated. Use a lock inside the decorated function if locking is needed. :issue:4993
-
Signals are always available.
blinker>=1.6.2
is a required dependency. Thesignals_available
attribute is deprecated. :issue:5056
-
Signals support
async
subscriber functions. :pr:5049
-
Remove uses of locks that could cause requests to block each other very briefly. :issue:
4993
-
Use modern packaging metadata with
pyproject.toml
instead ofsetup.cfg
. :pr:4947
-
Ensure subdomains are applied with nested blueprints. :issue:
4834
-
config.from_file
can usetext=False
to indicate that the parser wants a binary file instead. :issue:4989
-
If a blueprint is created with an empty name it raises a
ValueError
. :issue:5010
-
SESSION_COOKIE_DOMAIN
does not fall back toSERVER_NAME
. The default is not to set the domain, which modern browsers interpret as an exact match rather than a subdomain match. Warnings aboutlocalhost
and IP addresses are also removed. :issue:5051
-
The
routes
command shows each rule'ssubdomain
orhost
when domain matching is in use. :issue:5004
-
Use postponed evaluation of annotations. :pr:
5071
v2.2.5
Released 2023-05-02
- Update for compatibility with Werkzeug 2.3.3.
- Set
Vary: Cookie
header when the session is accessed, modified, or refreshed.
v2.2.4
Released 2023-04-25
- Update for compatibility with Werkzeug 2.3.
v2.2.3
Released 2023-02-15
- Autoescape is enabled by default for
.svg
template files. :issue:4831
- Fix the type of
template_folder
to acceptpathlib.Path
. :issue:4892
- Add
--debug
option to theflask run
command. :issue:4777
v2.2.2
Released 2022-08-08
- Update Werkzeug dependency to >= 2.2.2. This includes fixes related
to the new faster router, header parsing, and the development
server. :pr:
4754
- Fix the default value for
app.env
to be"production"
. This attribute remains deprecated. :issue:4740
v2.2.1
Released 2022-08-03
- Setting or accessing
json_encoder
orjson_decoder
raises a deprecation warning. :issue:4732
v2.2.0
Released 2022-08-01
-
Remove previously deprecated code. :pr:
4667
- Old names for some
send_file
parameters have been removed.download_name
replacesattachment_filename
,max_age
replacescache_timeout
, andetag
replacesadd_etags
. Additionally,path
replacesfilename
insend_from_directory
. - The
RequestContext.g
property returningAppContext.g
is removed.
- Old names for some
-
Update Werkzeug dependency to >= 2.2.
-
The app and request contexts are managed using Python context vars directly rather than Werkzeug's
LocalStack
. This should result in better performance and memory use. :pr:4682
- Extension maintainers, be aware that
_app_ctx_stack.top
and_request_ctx_stack.top
are deprecated. Store data ong
instead using a unique prefix, likeg._extension_name_attr
.
- Extension maintainers, be aware that
-
The
FLASK_ENV
environment variable andapp.env
attribute are deprecated, removing the distinction between development and debug mode. Debug mode should be controlled directly using the--debug
option orapp.run(debug=True)
. :issue:4714
-
Some attributes that proxied config keys on
app
are deprecated:session_cookie_name
,send_file_max_age_default
,use_x_sendfile
,propagate_exceptions
, andtemplates_auto_reload
. Use the relevant config keys instead. :issue:4716
-
Add new customization points to the
Flask
app object for many previously global behaviors.-
flask.url_for
will callapp.url_for
. :issue:4568
-
flask.abort
will callapp.aborter
.Flask.aborter_class
andFlask.make_aborter
can be used to customize this aborter. :issue:4567
-
flask.redirect
will callapp.redirect
. :issue:4569
-
flask.json
is an instance ofJSONProvider
. A different provider can be set to use a different JSON library.flask.jsonify
will callapp.json.response
, other functions inflask.json
will call corresponding functions inapp.json
. :pr:4692
-
-
JSON configuration is moved to attributes on the default
app.json
provider.JSON_AS_ASCII
,JSON_SORT_KEYS
,JSONIFY_MIMETYPE
, andJSONIFY_PRETTYPRINT_REGULAR
are deprecated. :pr:4692
-
Setting custom
json_encoder
andjson_decoder
classes on the app or a blueprint, and the correspondingjson.JSONEncoder
andJSONDecoder
classes, are deprecated. JSON behavior can now be overridden using theapp.json
provider interface. :pr:4692
-
json.htmlsafe_dumps
andjson.htmlsafe_dump
are deprecated, the function is built-in to Jinja now. :pr:4692
-
Refactor
register_error_handler
to consolidate error checking. Rewrite some error messages to be more consistent. :issue:4559
-
Use Blueprint decorators and functions intended for setup after registering the blueprint will show a warning. In the next version, this will become an error just like the application setup methods. :issue:
4571
-
before_first_request
is deprecated. Run setup code when creating the application instead. :issue:4605
-
Added the
View.init_every_request
class attribute. If a view subclass sets this toFalse
, the view will not create a new instance on every request. :issue:2520
. -
A
flask.cli.FlaskGroup
Click group can be nested as a sub-command in a custom CLI. :issue:3263
-
Add
--app
and--debug
options to theflask
CLI, instead of requiring that they are set through environment variables. :issue:2836
-
Add
--env-file
option to theflask
CLI. This allows specifying a dotenv file to load in addition to.env
and.flaskenv
. :issue:3108
-
It is no longer required to decorate custom CLI commands on
app.cli
orblueprint.cli
with@with_appcontext
, an app context will already be active at that point. :issue:2410
-
SessionInterface.get_expiration_time
uses a timezone-aware value. :pr:4645
-
View functions can return generators directly instead of wrapping them in a
Response
. :pr:4629
-
Add
stream_template
andstream_template_string
functions to render a template as a stream of pieces. :pr:4629
-
A new implementation of context preservation during debugging and testing. :pr:
4666
-
request
,g
, and other context-locals point to the correct data when running code in the interactive debugger console. :issue:2836
- Teardown functions are always run at the end of the request, even if the context is preserved. They are also run after the preserved context is popped.
-
stream_with_context
preserves context separately from awith client
block. It will be cleaned up whenresponse.get_data()
orresponse.close()
is called.
-
-
Allow returning a list from a view function, to convert it to a JSON response like a dict is. :issue:
4672
-
When type checking, allow
TypedDict
to be returned from view functions. :pr:4695
-
Remove the
--eager-loading/--lazy-loading
options from theflask run
command. The app is always eager loaded the first time, then lazily loaded in the reloader. The reloader always prints errors immediately but continues serving. Remove the internalDispatchingApp
middleware used by the previous implementation. :issue:4715
v2.1.3
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:4610
- Clearer error message when
render_template
andrender_template_string
are used outside an application context. :pr:4693
v2.1.2
Released 2022-04-28
- Fix type annotation for
json.loads
, it accepts str or bytes. :issue:4519
- The
--cert
and--key
options onflask run
can be given in either order. :issue:4459
v2.1.1
Released on 2022-03-30
- Set the minimum required version of importlib_metadata to 3.6.0,
which is required on Python < 3.10. :issue:
4502
v2.1.0
Released 2022-03-28
-
Drop support for Python 3.6. :pr:
4335
-
Update Click dependency to >= 8.0. :pr:
4008
-
Remove previously deprecated code. :pr:
4337
- The CLI does not pass
script_info
to app factory functions. -
config.from_json
is replaced byconfig.from_file(name, load=json.load)
. -
json
functions no longer take anencoding
parameter. -
safe_join
is removed, usewerkzeug.utils.safe_join
instead. -
total_seconds
is removed, usetimedelta.total_seconds
instead. - The same blueprint cannot be registered with the same name. Use
name=
when registering to specify a unique name. - The test client's
as_tuple
parameter is removed. Useresponse.request.environ
instead. :pr:4417
- The CLI does not pass
-
Some parameters in
send_file
andsend_from_directory
were renamed in 2.0. The deprecation period for the old names is extended to 2.2. Be sure to test with deprecation warnings visible.-
attachment_filename
is renamed todownload_name
. -
cache_timeout
is renamed tomax_age
. -
add_etags
is renamed toetag
. -
filename
is renamed topath
.
-
-
The
RequestContext.g
property is deprecated. Useg
directly orAppContext.g
instead. :issue:3898
-
copy_current_request_context
can decorate async functions. :pr:4303
-
The CLI uses
importlib.metadata
instead ofpkg_resources
to load command entry points. :issue:4419
-
Overriding
FlaskClient.open
will not cause an error on redirect. :issue:3396
-
Add an
--exclude-patterns
option to theflask run
CLI command to specify patterns that will be ignored by the reloader. :issue:4188
-
When using lazy loading (the default with the debugger), the Click context from the
flask run
command remains available in the loader thread. :issue:4460
-
Deleting the session cookie uses the
httponly
flag. :issue:4485
-
Relax typing for
errorhandler
to allow the user to use more precise types and decorate the same function multiple times. :issue:4095, 4295, 4297
-
Fix typing for
__exit__
methods for better compatibility withExitStack
. :issue:4474
-
From Werkzeug, for redirect responses the
Location
header URL will remain relative, and exclude the scheme and domain, by default. :pr:4496
-
Add
Config.from_prefixed_env()
to load config values from environment variables that start withFLASK_
or another prefix. This parses values as JSON by default, and allows setting keys in nested dicts. :pr:4479
v2.0.3
Released 2022-02-14
- The test client's
as_tuple
parameter is deprecated and will be removed in Werkzeug 2.1. It is now also deprecated in Flask, to be removed in Flask 2.1, while remaining compatible with both in 2.0.x. Useresponse.request.environ
instead. :pr:4341
- Fix type annotation for
errorhandler
decorator. :issue:4295
- Revert a change to the CLI that caused it to hide
ImportError
tracebacks when importing the application. :issue:4307
-
app.json_encoder
andjson_decoder
are only passed todumps
andloads
if they have custom behavior. This improves performance, mainly on PyPy. :issue:4349
- Clearer error message when
after_this_request
is used outside a request context. :issue:4333
v2.0.2
Released 2021-10-04
- Fix type annotation for
teardown_*
methods. :issue:4093
- Fix type annotation for
before_request
andbefore_app_request
decorators. :issue:4104
- Fixed the issue where typing requires template global
decorators to accept functions with no arguments. :issue:
4098
- Support View and MethodView instances with async handlers. :issue:
4112
- Enhance typing of
app.errorhandler
decorator. :issue:4095
- Fix registering a blueprint twice with differing names. :issue:
4124
- Fix the type of
static_folder
to acceptpathlib.Path
. :issue:4150
-
jsonify
handlesdecimal.Decimal
by encoding tostr
. :issue:4157
- Correctly handle raising deferred errors in CLI lazy loading.
:issue:
4096
- The CLI loader handles
**kwargs
in acreate_app
function. :issue:4170
- Fix the order of
before_request
and other callbacks that trigger before the view returns. They are called from the app down to the closest nested blueprint. :issue:4229
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.