This is the MarkupSafe 3.0.0 feature release. A feature release may include new features, remove previously deprecated code, add new deprecations, or introduce potentially breaking changes. The 3.0.x branch is now the supported fix branch, the 2.1.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. Test with warnings treated as errors to be able to adapt to deprecation warnings early.
Update signatures for Markup methods to match str signatures. Use positional-only arguments. #400
Some str methods on Markup no longer escape their argument: strip, lstrip, rstrip, removeprefix, removesuffix, partition, and rpartition; replace only escapes its new argument. These methods are conceptually linked to search methods such as in, find, and index, which already do not escape their argument. #401
The __version__ attribute is deprecated. Use feature detection, or importlib.metadata.version("markupsafe"), instead. #402
Support Python 3.13 and its experimental free-threaded build. :pr:461
Drop support for Python 3.7 and 3.8.
Use modern packaging metadata with pyproject.toml instead of setup.cfg.
:pr:348
Change distutils imports to setuptools. :pr:399
Use deferred evaluation of annotations. :pr:400
Update signatures for Markup methods to match str signatures. Use
positional-only arguments. :pr:400
Some str methods on Markup no longer escape their argument:
strip, lstrip, rstrip, removeprefix, removesuffix,
partition, and rpartition; replace only escapes its new
argument. These methods are conceptually linked to search methods such as
in, find, and index, which already do not escape their argument.
:issue:401
The __version__ attribute is deprecated. Use feature detection, or
importlib.metadata.version("markupsafe"), instead. :pr:402
Trigger "Read the Docs Search addon" when focusing the "Search docs" input in the navbar.
.. _release-3.0.0rc3:
3.0.0rc3
Fixes
Show hidden version in selector if it's the current active version
.. _release-3.0.0rc2:
3.0.0rc2
Added
Render version and language selectors below the documentation's title (top left).
This can be controlled via the new theme options version_selector and language_selector.
.. _release-3.0.0rc1:
3.0.0rc1
Added
Added support for Sphinx 8.
Added support for Python 3.12.
Added support for docutils >0.18, <0.22.
Populate html_context with all the environment variables starting with READTHEDOCS_.
urllib3 is raising ~$40,000 USD to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support for 2023. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects please consider contributing financially to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.
Fixed the default encoding of chunked request bodies to be UTF-8 instead of ISO-8859-1. All other methods of supplying a request body already use UTF-8 starting in urllib3 v2.0. (#3053)
Added support for Python 3.13. ([#3473](https://github.com/urllib3/urllib3/issues/3473) <https://github.com/urllib3/urllib3/issues/3473>__)
Bugfixes
Fixed the default encoding of chunked request bodies to be UTF-8 instead of ISO-8859-1.
All other methods of supplying a request body already use UTF-8 starting in urllib3 v2.0. ([#3053](https://github.com/urllib3/urllib3/issues/3053) <https://github.com/urllib3/urllib3/issues/3053>__)
Fixed ResourceWarning on CONNECT with Python `__)
Adjust tolerance for floating-point comparison on Windows to avoid flakiness in CI ([#3413](https://github.com/urllib3/urllib3/issues/3413) <https://github.com/urllib3/urllib3/issues/3413>__)
Fixed a crash where certain standard library hash functions were absent in restricted environments. ([#3432](https://github.com/urllib3/urllib3/issues/3432) <https://github.com/urllib3/urllib3/issues/3432>__)
Fixed mypy error when adding to HTTPConnection.default_socket_options. ([#3448](https://github.com/urllib3/urllib3/issues/3448) <https://github.com/urllib3/urllib3/issues/3448>__)
HTTP/2 (experimental)
HTTP/2 support is still in early development.
Excluded Transfer-Encoding: chunked from HTTP/2 request body ([#3425](https://github.com/urllib3/urllib3/issues/3425) <https://github.com/urllib3/urllib3/issues/3425>__)
Now only accepting supported h2 major version 4.x.x. ([#3290](https://github.com/urllib3/urllib3/issues/3290) <https://github.com/urllib3/urllib3/issues/3290>__)
Added a probing mechanism for determining whether a given target origin
supports HTTP/2 via ALPN. ([#3301](https://github.com/urllib3/urllib3/issues/3301) <https://github.com/urllib3/urllib3/issues/3301>__)
Add support for sending a request body with HTTP/2 ([#3302](https://github.com/urllib3/urllib3/issues/3302) <https://github.com/urllib3/urllib3/issues/3302>__)
Deprecations and Removals
Note for downstream distributors: the _version.py file has been removed and is now created at build time by hatch-vcs. ([#3412](https://github.com/urllib3/urllib3/issues/3412) <https://github.com/urllib3/urllib3/issues/3412>__)
Drop support for end-of-life PyPy3.8 and PyPy3.9. ([#3475](https://github.com/urllib3/urllib3/issues/3475) <https://github.com/urllib3/urllib3/issues/3475>__)
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 show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the production-dependencies group with 5 updates in the /docs directory:
2.1.5
3.0.0
3.8
3.10
2024.1
2024.2
2.0.0
3.0.0
2.2.2
2.2.3
Updates
markupsafe
from 2.1.5 to 3.0.0Release notes
Sourced from markupsafe's releases.
Changelog
Sourced from markupsafe's changelog.
Commits
7643710
release version 3.0.044a54cd
Build Python 3.13 wheels (#461)0a00cfe
style changesb6ff4ad
update CHANGES.rst9f8bcee
Merge branch 'main' into cp313402311d
update dev dependenciesf56c105
drop support for python 3.8 (#464)9372f38
drop support for python 3.827a2e43
Usesys._is_gil_enabled()
cefaed9
Report Py_GIL_DISABLED config in pytest outputUpdates
idna
from 3.8 to 3.10Changelog
Sourced from idna's changelog.
Commits
729225d
Release v3.103eef168
Merge pull request #194 from kjd/revert-unicode-16ceca619
Revert Unicode 16.0.0 data updatesc43ac75
Merge pull request #191 from kjd/release-3.91b8800a
Release v3.9a1fd168
Merge pull request #190 from kjd/unicode-167732c61
Merge branch 'master' into unicode-164ed183d
Refactor membership test762216b
Format with ruff580ece9
Implement changes to UTS46 algorithmUpdates
pytz
from 2024.1 to 2024.2Commits
3944f75
Bump version numbers to 2024.2 / 2024b640c9bd
IANA 2024b382ca0c
Squashed 'tz/' changes from 380c07cef..923e54bae96a1e88
Stop testing unavailable and EOL Python 3.568186b6
Add support for Python 3.13e994058
Run other jobs if one fails2326f9f
Bump GitHub ActionsUpdates
sphinx-rtd-theme
from 2.0.0 to 3.0.0Changelog
Sourced from sphinx-rtd-theme's changelog.
... (truncated)
Commits
a1c2147
Release 3.0.0814686e
Release 3.0.0rc45b181b8
Trigger search modal on "Search docs" input focus (#1610)7deb68f
Release 3.0.0rc3036a3b2
Show hidden version in selector if it's the current active version (#1609)ccf3114
Release 3.0.0rc2 (#1607)4cab02f
Show version/language selectors below the title (#1601)9c75444
Docs: do not sign Git tag (#1596)3a3473d
Release 3.0.0rc1 (#1597)6b587d1
Prepare for 3.0 release (#1576)Updates
urllib3
from 2.2.2 to 2.2.3Release notes
Sourced from urllib3's releases.
Changelog
Sourced from urllib3's changelog.
Commits
2458bfc
Release 2.2.39b25db6
Only attempt to publish for upstreamb9adeef
Drop support for EOL PyPy3.8 and PyPy3.9b1d4649
Add explicit support for Python 3.13cc42860
Bump cryptography from 42.0.4 to 43.0.1 (#3470)3dae2e9
Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.1 (#3469)1e94feb
Revert "Add TLS settings for HTTP/2 (#3456)" (#3466)aa73abc
Bump actions/setup-python from 5.1.0 to 5.2.0 (#3468)abbfbcb
Add 1.26.20 to changelog and make the publish workflow the same (#3464)d480615
Add TLS settings for HTTP/2 (#3456)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 show