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
Address compiler warnings that became errors in GCC 14. :issue:466
Fix compatibility with proxy objects. :issue:467
Version 3.0.0
Released 2024-10-07
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
Improve interoperability with importlib.metadata, fixing a regression
in setuptools compatibility in 1.1 (#199).
Clean up the _in_process directory inside the package from sys.path
before imporing the backend (#193).
v1.1
Add type annotations to the public API.
More careful handling of the backend-path key from pyproject.toml.
Previous versions would load the backend and then check that it was loaded
from the specified path; the new version only loads it from the specified path.
The BackendInvalid exception is now a synonym for :exc:BackendUnavailable,
and code should move to using the latter name.
v1.0
Rename package to pyproject_hooks (from pep517).
Remove deprecated modules (.build, .check and .envbuild).
Use the build <https://pypa-build.readthedocs.io/en/stable/>_ project
instead for this higher-level functionality of setting up a temporary build
environment.
Require Python 3.7 or above.
Use tomllib from the standard library on Python 3.11. pyproject_hooks
now has no external dependencies when installed in Python 3.11.
Avoid chaining exceptions when using the fallback implementation for
:meth:.prepare_metadata_for_build_wheel.
Fix propagating error message for :exc:.BackendInvalid errors.
v0.13
Remove support for end-of-life Pythons. Now requires Python3.6+.
Remove support for toml package. Now requires tomli.
Rely on preferred "files" API on Python 3.9 and later (#140).
v0.12
Add method for pip to check if build_editable hook is supported.
This is a private API for now.
v0.11.1
... (truncated)
Commits
4b7c6d1 Merge pull request #205 from pypa/prepare-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 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 prod-dependencies group in /misc/codegen with 6 updates:
1.2.1
1.2.2.post1
2.1.5
3.0.1
1.1.0
1.2.0
0.6.2
0.6.9
4.12.0.20240511
4.12.0.20240907
6.0.12.20240808
6.0.12.20240917
Updates
build
from 1.2.1 to 1.2.2.post1Release notes
Sourced from build's releases.
Changelog
Sourced from build's changelog.
Commits
2f66702
chore: 1.2.2.post1 (#820)0580c6d
ci: add PyPI attestations (#821)e0e911c
tests: fix under pyproject-hooks 1.2a73ecbd
pre-commit: bump repositories56b3504
pre-commit: bump repositories (#819)481ca54
pre-commit: bump repositories (#818)025836a
docs: add a missing ` in README (#817)ae37340
docs: mention conda-forge name in README (#816)f81aac0
ci: add Python 3.13 (#815)3b0b5d0
docs: changelog for 1.2.2 (#812)Updates
markupsafe
from 2.1.5 to 3.0.1Release notes
Sourced from markupsafe's releases.
Changelog
Sourced from markupsafe's changelog.
Commits
ef0b95e
release version 3.0.154bb00b
fix exact str check (#469)7add29c
fix exact str checkb529164
cast to PyUnicodeObject (#468)cf4fc43
cast to PyUnicodeObject2c60930
start version 3.0.185813f1
release version 3.0.0 (#465)7643710
release version 3.0.044a54cd
Build Python 3.13 wheels (#461)0a00cfe
style changesUpdates
pyproject-hooks
from 1.1.0 to 1.2.0Changelog
Sourced from pyproject-hooks's changelog.
... (truncated)
Commits
4b7c6d1
Merge pull request #205 from pypa/prepare-1.21027470
Bump version: 1.1.0 → 1.2.0dabe52e
Prepare release notes for 1.23df9175
Merge pull request #204 from pypa/fix/setuptools-719efaa97
Relax test for build requirements from setuptools6b57973
Merge pull request #199 from abravalheri/issue-192-take29988edd
Merge pull request #196 from pypa/sdist-includesdba1817
Always use importlib.metadatad68f4d9
Remove unused dev-dependency455b77f
Account for importlib_metadata in Python<3.7Updates
ruff
from 0.6.2 to 0.6.9Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
975be9c
Bump version to 0.6.9 (#13624)99e4566
MarkFURB118
fix as unsafe (#13613)7ad07c2
Addallow-unused-imports
setting forunused-import
rule (F401
) (#13601)4aefe52
Support ruff discovery in pip build environments (#13591)cc1f766
Preserve trivia (i.e. comments) in PLR5501 (#13573)fdd0a22
Move to maintained mirror of prettier (#13592)3728d5b
[pyupgrade
] Fix UP043 to apply tocollections.abc.Generator
and `collecti...7e3894f
Avoid short circuitingB017
for multiple context managers (#13609)c3b40da
Use backticks for code in red-knot messages (#13599)ef45185
Allow users to provide custom diagnostic messages when unwrapping calls (#13597)Updates
types-beautifulsoup4
from 4.12.0.20240511 to 4.12.0.20240907Commits
Updates
types-pyyaml
from 6.0.12.20240808 to 6.0.12.20240917Commits
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