This is a feature release, which includes new features and removes previously deprecated features. The 2.1.x branch is now the supported bugfix branch, the 2.0.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades.
The development server does not set Transfer-Encoding: chunked
for 1xx, 204, 304, and HEAD responses. :issue:2375
Response HTML for exceptions and redirects starts with
<!doctype html> and <html lang=en>. :issue:2390
Fix ability to set some cache_control attributes to False.
:issue:2379
Disable keep-alive connections in the development server, which
are not supported sufficiently by Python's http.server.
:issue:2397
Version 2.1.1
Released 2022-04-01
ResponseCacheControl.s_maxage converts its value to an int, like
max_age. :issue:2364
Version 2.1.0
Released 2022-03-28
Drop support for Python 3.6. :pr:2277
Using gevent or eventlet requires greenlet>=1.0 or PyPy>=7.3.7.
werkzeug.locals and contextvars will not work correctly with
older versions. :pr:2278
Remove previously deprecated code. :pr:2276
Remove the non-standard shutdown function from the WSGI
environ when running the development server. See the docs for
alternatives.
Request and response mixins have all been merged into the
Request and Response classes.
The user agent parser and the useragents module is removed.
The user_agent module provides an interface that can be
subclassed to add a parser, such as ua-parser. By default it
only stores the whole string.
The test client returns TestResponse instances and can no
longer be treated as a tuple. All data is available as
properties on the response.
Remove locals.get_ident and related thread-local code from
locals, it no longer makes sense when moving to a
... (truncated)
Commits
810cd65 Merge pull request #2403 from pallets/release-2.1.2
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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps werkzeug from 2.0.3 to 2.1.2.
Release notes
Sourced from werkzeug's releases.
Changelog
Sourced from werkzeug's changelog.
... (truncated)
Commits
810cd65
Merge pull request #2403 from pallets/release-2.1.24356230
release version 2.1.20ff699a
Merge pull request #2402 from pallets/mark-dev_server-tests9d83ed4
mark test that use the dev_servere1bb24d
ignore new mypy finding973873c
update requirements7b38026
Merge pull request #2401 from iamgodot/doc0535fff
Fix application code in routing doc53ba5f8
Merge pull request #2399 from pallets/no-keep-alive600a2b9
disable keep-alive connectionsDependabot 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)