Title: Bump the pip group across 1 directory with 2 updates by dependabot[bot] · Pull Request #1 · ccwu0918/python-tutorial · GitHub
Open Graph Title: Bump the pip group across 1 directory with 2 updates by dependabot[bot] · Pull Request #1 · ccwu0918/python-tutorial
X Title: Bump the pip group across 1 directory with 2 updates by dependabot[bot] · Pull Request #1 · ccwu0918/python-tutorial
Description: Bumps the pip group with 2 updates in the /04_flask directory: flask and werkzeug.
Updates flask from 1.1.2 to 3.1.3
Release notes
Sourced from flask's releases.
3.1.3
This is the Flask 3.1.3 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.
PyPI: https://pypi.org/project/Flask/3.1.3/
Changes: https://flask.palletsprojects.com/page/changes/#version-3-1-3
The session is marked as accessed for operations that only access the keys but not the values, such as in and len. GHSA-68rp-wp8r-4726
3.1.2
This is the Flask 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.
PyPI: https://pypi.org/project/Flask/3.1.2/
Changes: https://flask.palletsprojects.com/page/changes/#version-3-1-2
Milestone: https://github.com/pallets/flask/milestone/38?closed=1
stream_with_context does not fail inside async views. #5774
When using follow_redirects in the test client, the final state of session is correct. #5786
Relax type hint for passing bytes IO to send_file. #5776
3.1.1
This is the Flask 3.1.1 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.
PyPI: https://pypi.org/project/Flask/3.1.1/
Changes: https://flask.palletsprojects.com/en/stable/changes/#version-3-1-1
Milestone https://github.com/pallets/flask/milestone/36?closed=1
Fix signing key selection order when key rotation is enabled via SECRET_KEY_FALLBACKS. GHSA-4grg-w6v8-c28g
Fix type hint for cli_runner.invoke. #5645
flask --help loads the app and plugins first to make sure all commands are shown. #5673
Mark sans-io base class as being able to handle views that return AsyncIterable. This is not accurate for Flask, but makes typing easier for Quart. #5659
3.1.0
This is the Flask 3.1.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.
PyPI: https://pypi.org/project/Flask/3.1.0/
Changes: https://flask.palletsprojects.com/en/stable/changes/#version-3-1-0
Milestone: https://github.com/pallets/flask/milestone/33?closed=1
Drop support for Python 3.8. #5623
Update minimum dependency versions to latest feature releases. Werkzeug >= 3.1, ItsDangerous >= 2.2, Blinker >= 1.9. #5624, #5633
Provide a configuration option to control automatic option responses. #5496
Flask.open_resource/open_instance_resource and Blueprint.open_resource take an encoding parameter to use when opening in text mode. It defaults to utf-8. #5504
Request.max_content_length can be customized per-request instead of only through the MAX_CONTENT_LENGTH config. Added MAX_FORM_MEMORY_SIZE and MAX_FORM_PARTS config. Added documentation about resource limits to the security page. #5625
Add support for the Partitioned cookie attribute (CHIPS), with the SESSION_COOKIE_PARTITIONED config. #5472
-e path takes precedence over default .env and .flaskenv files. load_dotenv loads default files in addition to a path unless load_defaults=False is passed. #5628
Support key rotation with the SECRET_KEY_FALLBACKS config, a list of old secret keys that can still be used for unsigning. Extensions will need to add support. #5621
Fix how setting host_matching=True or subdomain_matching=False interacts with SERVER_NAME. Setting SERVER_NAME no longer restricts requests to only that domain. #5553
Request.trusted_hosts is checked during routing, and can be set through the TRUSTED_HOSTS config. #5636
3.0.3
... (truncated)
Changelog
Sourced from flask's changelog.
Version 3.1.3
Released 2026-02-18
The session is marked as accessed for operations that only access the keys
but not the values, such as in and len. :ghsa:68rp-wp8r-4726
Version 3.1.2
Released 2025-08-19
stream_with_context does not fail inside async views. :issue:5774
When using follow_redirects in the test client, the final state
of session is correct. :issue:5786
Relax type hint for passing bytes IO to send_file. :issue:5776
Version 3.1.1
Released 2025-05-13
Fix signing key selection order when key rotation is enabled via
SECRET_KEY_FALLBACKS. :ghsa:4grg-w6v8-c28g
Fix type hint for cli_runner.invoke. :issue:5645
flask --help loads the app and plugins first to make sure all commands
are shown. :issue:5673
Mark sans-io base class as being able to handle views that return
AsyncIterable. This is not accurate for Flask, but makes typing easier
for Quart. :pr:5659
Version 3.1.0
Released 2024-11-13
Drop support for Python 3.8. :pr:5623
Update minimum dependency versions to latest feature releases.
Werkzeug >= 3.1, ItsDangerous >= 2.2, Blinker >= 1.9. :pr:5624,5633
Provide a configuration option to control automatic option
responses. :pr:5496
Flask.open_resource/open_instance_resource and
Blueprint.open_resource take an encoding parameter to use when
opening in text mode. It defaults to utf-8. :issue:5504
Request.max_content_length can be customized per-request instead of only
through the MAX_CONTENT_LENGTH config. Added
... (truncated)
Commits
22d9247 release version 3.1.3
089cb86 Merge commit from fork
c17f379 request context tracks session access
27be933 start version 3.1.3
4e652d3 Abort if the instance folder cannot be created (#5903)
3d03098 Abort if the instance folder cannot be created
407eb76 document using gevent for async (#5900)
ac5664d document using gevent for async
4f79d5b Increase required flit_core version to 3.11 (#5865)
fe3b215 Increase required flit_core version to 3.11
Additional commits viewable in compare view
Updates werkzeug from 1.0.1 to 3.1.6
Release notes
Sourced from werkzeug's releases.
3.1.6
This is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.
PyPI: https://pypi.org/project/Werkzeug/3.1.6/
Changes: https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6
safe_join on Windows does not allow special devices names in multi-segment paths. GHSA-29vq-49wr-vm6x
3.1.5
This is the Werkzeug 3.1.5 security fix release, which fixes security issues and bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.
PyPI: https://pypi.org/project/Werkzeug/3.1.5/
Changes: https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5
Milestone: https://github.com/pallets/werkzeug/milestone/43?closed=1
safe_join on Windows does not allow more special device names, regardless of extension or surrounding spaces. GHSA-87hc-h4r5-73f7
The multipart form parser handles a \r\n sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. #3065 #3077
Fix AttributeError when initializing DebuggedApplication with pin_security=False. #3075
3.1.4
This is the Werkzeug 3.1.4 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.
PyPI: https://pypi.org/project/Werkzeug/3.1.4/
Changes: https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4
Milestone: https://github.com/pallets/werkzeug/milestone/42?closed=1
safe_join on Windows does not allow special device names. This prevents reading from these when using send_from_directory. secure_filename already prevented writing to these. ghsa-hgf8-39gv-g3f2
The debugger pin fails after 10 attempts instead of 11. #3020
The multipart form parser handles a \r\n sequence at a chunk boundary. #3065
Improve CPU usage during Watchdog reloader. #3054
Request.json annotation is more accurate. #3067
Traceback rendering handles when the line number is beyond the available source lines. #3044
HTTPException.get_response annotation and doc better conveys the distinction between WSGI and sans-IO responses. #3056
3.1.3
This is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.
PyPI: https://pypi.org/project/Werkzeug/3.1.3/
Changes: https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3
Milestone: https://github.com/pallets/werkzeug/milestone/41?closed=1
Initial data passed to MultiDict and similar interfaces only accepts list, tuple, or set when passing multiple values. It had been changed to accept any Collection, but this matched types that should be treated as single values, such as bytes. #2994
When the Host header is not set and Request.host falls back to the WSGI SERVER_NAME value, if that value is an IPv6 address it is wrapped in [] to match the Host header. #2993
3.1.2
This is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.
PyPI: https://pypi.org/project/Werkzeug/3.1.2/
Changes: https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2
... (truncated)
Changelog
Sourced from werkzeug's changelog.
Version 3.1.6
Released 2026-02-19
safe_join on Windows does not allow special devices names in
multi-segment paths. :ghsa:29vq-49wr-vm6x
Version 3.1.5
Released 2026-01-08
safe_join on Windows does not allow more special device names, regardless
of extension or surrounding spaces. :ghsa:87hc-h4r5-73f7
The multipart form parser handles a \r\n sequence at a chunk boundary.
This fixes the previous attempt, which caused incorrect content lengths.
:issue:3065 :issue:3077
Fix AttributeError when initializing DebuggedApplication with
pin_security=False. :issue:3075
Version 3.1.4
Released 2025-11-28
safe_join on Windows does not allow special device names. This prevents
reading from these when using send_from_directory. secure_filename
already prevented writing to these. :ghsa:hgf8-39gv-g3f2
The debugger pin fails after 10 attempts instead of 11. :pr:3020
The multipart form parser handles a \r\n sequence at a chunk boundary.
:issue:3065
Improve CPU usage during Watchdog reloader. :issue:3054
Request.json annotation is more accurate. :issue:3067
Traceback rendering handles when the line number is beyond the available
source lines. :issue:3044
HTTPException.get_response annotation and doc better conveys the
distinction between WSGI and sans-IO responses. :issue:3056
Version 3.1.3
Released 2024-11-08
Initial data passed to MultiDict and similar interfaces only accepts
list, tuple, or set when passing multiple values. It had been
changed to accept any Collection, but this matched types that should be
... (truncated)
Commits
04da1b5 release version 3.1.6
f407712 Merge commit from fork
f54fe98 safe_join prevents Windows special device names in multi-segment paths
d005985 start version 3.1.6
8565c2c document rule priority (#3102)
3febc7e document rule priority
2525b82 remove state machine docs
4abfbd5 rewrite build docstring (#3097)
161c18b rewrite build docstring
86e11c2 release version 3.1.5 (#3085)
Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot show
Open Graph Description: Bumps the pip group with 2 updates in the /04_flask directory: flask and werkzeug. Updates flask from 1.1.2 to 3.1.3 Release notes Sourced from flask's releases. 3.1.3 This is the Flask 3.1.3...
X Description: Bumps the pip group with 2 updates in the /04_flask directory: flask and werkzeug. Updates flask from 1.1.2 to 3.1.3 Release notes Sourced from flask's releases. 3.1.3 This is the Flask 3...
Opengraph URL: https://github.com/ccwu0918/python-tutorial/pull/1
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:47bc313b-9dff-f842-1ef4-6d66853803d4 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | CDE0:65EE2:3C87C87:53A6CB4:6A60ED48 |
| html-safe-nonce | 3896c82cde7c92aa2547f377c2d86d41936a6cfffa718ca2ad91311e57abcc33 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDREUwOjY1RUUyOjNDODdDODc6NTNBNkNCNDo2QTYwRUQ0OCIsInZpc2l0b3JfaWQiOiI2MjMzNjAzNzYyOTcwMjI1OTkyIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 310dd213c6db0ef0515a66e1df0facbdbae5e8fd99b93a3587bcd6da326bb9a6 |
| hovercard-subject-tag | pull_request:3309471837 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/ccwu0918/python-tutorial/pull/1/files |
| twitter:image | https://avatars.githubusercontent.com/in/29110?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/in/29110?s=400&v=4 |
| og:image:alt | Bumps the pip group with 2 updates in the /04_flask directory: flask and werkzeug. Updates flask from 1.1.2 to 3.1.3 Release notes Sourced from flask's releases. 3.1.3 This is the Flask 3.1.3... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3ba36a464b9464992131f4003292a219fc87f92404b0dbe3fd1ef07f11102d0f |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/ccwu0918/python-tutorial git https://github.com/ccwu0918/python-tutorial.git |
| octolytics-dimension-user_id | 3223617 |
| octolytics-dimension-user_login | ccwu0918 |
| octolytics-dimension-repository_id | 489681977 |
| octolytics-dimension-repository_nwo | ccwu0918/python-tutorial |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | true |
| octolytics-dimension-repository_parent_id | 84792081 |
| octolytics-dimension-repository_parent_nwo | shibing624/python-tutorial |
| octolytics-dimension-repository_network_root_id | 84792081 |
| octolytics-dimension-repository_network_root_nwo | shibing624/python-tutorial |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 2cc5e4f897a27632dd600edfec4c737bea2f8338 |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width