gke-migration-to-containers
gke-migration-to-containers copied to clipboard
Update dependency flask to v2.2.5 [SECURITY]
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| flask (changelog) | ==2.0.3 -> ==2.2.5 |
GitHub Vulnerability Alerts
CVE-2023-30861
When all of the following conditions are met, a response containing data intended for one client may be cached and subsequently sent by a proxy to other clients. If the proxy also caches Set-Cookie headers, it may send one client's session cookie to other clients. The severity depends on the application's use of the session, and the proxy's behavior regarding cookies. The risk depends on all these conditions being met.
- The application must be hosted behind a caching proxy that does not strip cookies or ignore responses with cookies.
- The application sets
session.permanent = True. - The application does not access or modify the session at any point during a request.
SESSION_REFRESH_EACH_REQUESTis enabled (the default).- The application does not set a
Cache-Controlheader to indicate that a page is private or should not be cached.
This happens because vulnerable versions of Flask only set the Vary: Cookie header when the session is accessed or modified, not when it is refreshed (re-sent to update the expiration) without being accessed or modified.
Release Notes
pallets/flask (flask)
v2.2.5
Released 2023-05-02
- Update for compatibility with Werkzeug 2.3.3.
- Set
Vary: Cookieheader 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
.svgtemplate files. :issue:4831 - Fix the type of
template_folderto acceptpathlib.Path. :issue:4892 - Add
--debugoption to theflask runcommand. :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.envto be"production". This attribute remains deprecated. :issue:4740
v2.2.1
Released 2022-08-03
- Setting or accessing
json_encoderorjson_decoderraises a deprecation warning. :issue:4732
v2.2.0
Released 2022-08-01
-
Remove previously deprecated code. :pr:
4667- Old names for some
send_fileparameters have been removed.download_namereplacesattachment_filename,max_agereplacescache_timeout, andetagreplacesadd_etags. Additionally,pathreplacesfilenameinsend_from_directory. - The
RequestContext.gproperty returningAppContext.gis 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.topand_request_ctx_stack.topare deprecated. Store data onginstead using a unique prefix, likeg._extension_name_attr.
- Extension maintainers, be aware that
-
The
FLASK_ENVenvironment variable andapp.envattribute are deprecated, removing the distinction between development and debug mode. Debug mode should be controlled directly using the--debugoption orapp.run(debug=True). :issue:4714 -
Some attributes that proxied config keys on
appare 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
Flaskapp object for many previously global behaviors.flask.url_forwill callapp.url_for. :issue:4568flask.abortwill callapp.aborter.Flask.aborter_classandFlask.make_abortercan be used to customize this aborter. :issue:4567flask.redirectwill callapp.redirect. :issue:4569flask.jsonis an instance ofJSONProvider. A different provider can be set to use a different JSON library.flask.jsonifywill callapp.json.response, other functions inflask.jsonwill call corresponding functions inapp.json. :pr:4692
-
JSON configuration is moved to attributes on the default
app.jsonprovider.JSON_AS_ASCII,JSON_SORT_KEYS,JSONIFY_MIMETYPE, andJSONIFY_PRETTYPRINT_REGULARare deprecated. :pr:4692 -
Setting custom
json_encoderandjson_decoderclasses on the app or a blueprint, and the correspondingjson.JSONEncoderandJSONDecoderclasses, are deprecated. JSON behavior can now be overridden using theapp.jsonprovider interface. :pr:4692 -
json.htmlsafe_dumpsandjson.htmlsafe_dumpare deprecated, the function is built-in to Jinja now. :pr:4692 -
Refactor
register_error_handlerto 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_requestis deprecated. Run setup code when creating the application instead. :issue:4605 -
Added the
View.init_every_requestclass attribute. If a view subclass sets this toFalse, the view will not create a new instance on every request. :issue:2520. -
A
flask.cli.FlaskGroupClick group can be nested as a sub-command in a custom CLI. :issue:3263 -
Add
--appand--debugoptions to theflaskCLI, instead of requiring that they are set through environment variables. :issue:2836 -
Add
--env-fileoption to theflaskCLI. This allows specifying a dotenv file to load in addition to.envand.flaskenv. :issue:3108 -
It is no longer required to decorate custom CLI commands on
app.cliorblueprint.cliwith@with_appcontext, an app context will already be active at that point. :issue:2410 -
SessionInterface.get_expiration_timeuses a timezone-aware value. :pr:4645 -
View functions can return generators directly instead of wrapping them in a
Response. :pr:4629 -
Add
stream_templateandstream_template_stringfunctions to render a template as a stream of pieces. :pr:4629 -
A new implementation of context preservation during debugging and testing. :pr:
4666request,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_contextpreserves context separately from awith clientblock. 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
TypedDictto be returned from view functions. :pr:4695 -
Remove the
--eager-loading/--lazy-loadingoptions from theflask runcommand. 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 internalDispatchingAppmiddleware 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_requestfunctions. :issue:4600 instance_pathfor namespace packages uses the path closest to the imported submodule. :issue:4610- Clearer error message when
render_templateandrender_template_stringare 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
--certand--keyoptions onflask runcan 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_infoto app factory functions. config.from_jsonis replaced byconfig.from_file(name, load=json.load).jsonfunctions no longer take anencodingparameter.safe_joinis removed, usewerkzeug.utils.safe_joininstead.total_secondsis removed, usetimedelta.total_secondsinstead.- The same blueprint cannot be registered with the same name. Use
name=when registering to specify a unique name. - The test client's
as_tupleparameter is removed. Useresponse.request.environinstead. :pr:4417
- The CLI does not pass
-
Some parameters in
send_fileandsend_from_directorywere 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_filenameis renamed todownload_name.cache_timeoutis renamed tomax_age.add_etagsis renamed toetag.filenameis renamed topath.
-
The
RequestContext.gproperty is deprecated. Usegdirectly orAppContext.ginstead. :issue:3898 -
copy_current_request_contextcan decorate async functions. :pr:4303 -
The CLI uses
importlib.metadatainstead ofpkg_resourcesto load command entry points. :issue:4419 -
Overriding
FlaskClient.openwill not cause an error on redirect. :issue:3396 -
Add an
--exclude-patternsoption to theflask runCLI 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 runcommand remains available in the loader thread. :issue:4460 -
Deleting the session cookie uses the
httponlyflag. :issue:4485 -
Relax typing for
errorhandlerto 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
Locationheader 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
Configuration
📅 Schedule: Branch creation - "" (UTC), 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.