🚀 charset-normalizer is raising awareness around HTTP/2, and HTTP/3!
Did you know that Internet Explorer 11 shipped with an optional HTTP/2 support back in 2013? also libcurl did ship it in 2014[...]
All of this while our community is still struggling to make a firm advancement in HTTP clients. Now, many of you use Requests
as the defacto http client, now, and for many years now, Requests has been frozen. Being left in a vegetative state and not evolving,
this blocked millions of developers from using more advanced features.
We promptly invite Python developers to look at the drop-in replacement for Requests, namely Niquests.
It leverage charset-normalizer in a better way! Check it out, you will be positively surprised! Don't wait another decade.
We are thankful to @microsoft and involved parties for funding our work through the Microsoft FOSS Fund program.
Fix: nested context managers could incorrectly be analyzed to flag a missing
branch on the last context manager, as described in issue 1876_. This is
now fixed.
Fix: the missing branch message about not exiting a module had an extra
"didn't," as described in issue 1873_. This is now fixed.
Fix: a final wildcard match/case clause assigning to a name (case _ as value) was incorrectly marked as a missing branch. This is now fixed,
closing issue 1860_.
Fewer things are considered branches now. Lambdas, comprehensions, and
generator expressions are no longer marked as missing branches if they don't
complete execution. Closes issue 1852_.
Fix: the HTML report didn't properly show multi-line f-strings that end with
a backslash continuation. This is now fixed, closing issue 1836, thanks
to LiuYinCarl and Marco Ricci <pull 1838_>.
Fix: the LCOV report now has correct line numbers (fixing issue 1846) and
better branch descriptions for BRDA records (fixing issue 1850). There
are other changes to lcov also, including a new configuration option
:ref:line_checksums <config_lcov_line_checksums> to control whether line
checksums are included in the lcov report. The default is false. To keep
checksums set it to true. All this work is thanks to Zack Weinberg
(pull 1849_ and pull 1851_).
Fixed the docs for multi-line regex exclusions, closing issue 1863_.
Fixed a potential crash in the C tracer, closing issue 1835, thanks to
Jan Kühle <pull 1843_>.
dns.query.https() and dns.asyncquery.https() now support HTTP/3 and the http_version
parameter may be used to specify which version to use.
If the cryptography module is installed, then dnspython will now create deterministic
ECDSA signatures by default. Cryptography, if installed, must be at least version 43.
Thanks to Jakob Schlyter for adding the feature.
The RESINFO and WALLET RdataTypes are now supported.
The COOKIE and Report-Channel EDNS0 options are now supported.
All supported RdataTypes can now be imported at a single time rather than lazily on
first use by calling dns.rdata.load_all_types().
The SVCB and HTTPS records now support the ohttp parameter.
xfr() and inbound_xfr() now share a common implementation.
Tokens are now supported for QUIC and HTTP/3.
dns.message.from_wire() now saves the input wire format in the Message's "wire"
attribute. Likewise, dns.message.Message.to_wire() now records the generated
wire format in that attribute.
The dns.message.Message object now has a get_options() helper to retrieve EDNS0
options of a specified type, and an extended_errors() helper to retrieve the list
of EDE options in a message (if any).
dns.message.make_response() now has a copy mode which controls how sections are
copied. By default, a copy mode appropriate for the opcode is used. This is
currently dns.message.CopyMode.QUESTION for all opcodes.
If an IP address is used as the hostname in a URL, the https query code now passes
the sni_hostname to httpx as this is required to get httpx to validate the certificate
and check for an IP subject alternative name.
The minimum supported aioquic version is now 1.0.0.
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
Fix compatibility when __str__ returns a str subclass. :issue:472
Build requires setuptools >= 70.1. :issue:475
Version 3.0.1
Released 2024-10-08
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
Added: complete test framework, using pytest and Mkdocs-Test (#244)
A number of automated test cases are implemented.
Changed: move from setup.py to pyproject.toml (#250)
1.2.0, 2024-09-15
Added: three hooks register_variables/macros/filters to facilitate
cooperation with other MkDocs plugins.
Fixed: `define_env() was always required in module (#191)
Added: trace the case when no module is found (INFO)
Improved documentation, particularly about HTML pages
Added: parameters j2_comment_start_string and
j2_comment_end_string to plugin's parameters,
to specify alternate markers for comments.
Added the multiline parameter force_render_paths in the config file,
to specify directories or file patterns to be rendered for the case when render_by_default = false
(the render_macros parameter in the YAML header of the page
has the last word).
Bumps the dependencies group with 21 updates in the /.config directory:
0.26.1
0.26.2
2.23.3
2.23.4
2.0.1
2.0.2
3.3.2
3.4.0
7.6.1
7.6.3
2.6.1
2.7.0
1.2.0
1.5.1
3.8
3.10
2.1.5
3.0.2
1.2.1
1.3.0
1.0.5
1.3.6
9.5.34
9.5.42
1.11.1
1.12.2
10.4.0
11.0.0
4.3.2
4.3.6
10.9
10.11.2
8.3.2
8.3.3
2024.7.24
2024.9.11
2.4.0
2.5.0
2.2.2
2.2.3
5.0.2
5.0.3
Updates
mkdocstrings
from 0.26.1 to 0.26.2Release notes
Sourced from mkdocstrings's releases.
Changelog
Sourced from mkdocstrings's changelog.
Commits
bcdfc70
chore: Prepare release 0.26.2f26edeb
build: Drop support for Python 3.8b383527
chore: Template upgrade7f35f56
docs: Remove sponsors only mention for mkdocstrings-shellUpdates
pipdeptree
from 2.23.3 to 2.23.4Release notes
Sourced from pipdeptree's releases.
Commits
7b89e91
Fix CI shield (#412)b28a0ce
Improve the CI (#411)f7f9f38
[pre-commit.ci] pre-commit autoupdate (#410)99b0b12
[pre-commit.ci] pre-commit autoupdate (#407)Updates
tomli
from 2.0.1 to 2.0.2Changelog
Sourced from tomli's changelog.
Commits
3ec6775
Bump version: 2.0.1 → 2.0.21dcd317
Add v2.0.2 changelogc94ee69
Fix GitHub Actions badge4e245a4
tomli.loads
: Raise TypeError not AttributeError. Improve message (#229)facdab0
Update pre-commit. Remove docformattera613867
Use sys.version_info in compatibility layer (#220)39eff9b
Add support for Python 3.12, drop EOL 3.7 (#224)0054e60
[pre-commit.ci] pre-commit autoupdate (#208)1bd3345
Test against Python 3.12-dev5646e69
Type annotate asIO[bytes]
, notBinaryIO
Updates
charset-normalizer
from 3.3.2 to 3.4.0Release notes
Sourced from charset-normalizer's releases.
Changelog
Sourced from charset-normalizer's changelog.
Commits
f3118e3
:wrench: change download/upload artifact version to last working version33e67e8
:wrench: set compile-generator in generator_generic_slsa3 action73dd24c
:wrench: add explicit build deps to setuptools78f1e9b
:wrench: attempt to fix cd.yml *356ae702
:wrench: attempt to fix cd.yml *29720055
:wrench: attempt to fix cd.yml (macos part)1e10d06
Update CHANGELOG.md36c103a
:bookmark: Release 3.4.0 (#545)7658dfc
:arrow_up: Bump github/codeql-action from 3.26.11 to 3.26.12 (#544)ca2535d
:arrow_up: Bump github/codeql-action from 3.26.9 to 3.26.11 (#542)Updates
coverage
from 7.6.1 to 7.6.3Changelog
Sourced from coverage's changelog.
... (truncated)
Commits
342a4cb
docs: sample HTML for 7.6.3df03796
docs: prep for 7.6.3378c321
fix: nested context managers shouldn't cause a phantom missing branch #1876c8902ed
build: pypy 3.9 doesn't seem to be available nightlyc59a77b
docs(build): put a header on the GitHub releases65ac395
docs: fix a link in the changes2d3e72c
docs: add coverage-simple-excludes to the docs474a363
fix: didn't-ectomy. #18735229fc3
docs: mention 1852 is fixed6a4506f
build(docs): upgrade doc dependenciesUpdates
dnspython
from 2.6.1 to 2.7.0Release notes
Sourced from dnspython's releases.
Changelog
Sourced from dnspython's changelog.
Commits
889385e
2.7.0 release prepbb4bc91
fix(answer): add typing to range (#1138)4eaf0e2
Use the port from the URL if provided for H3 #1139a287921
fix doco typo142f7ba
fix typo (#1133)8ce60d2
CI 2.7 testing and also remove python 3.84e15806
2.7.0rc1 prep2d6e17c
fix typing after reorganizationab59c9a
lint2b763dc
lintingUpdates
griffe
from 1.2.0 to 1.5.1Release notes
Sourced from griffe's releases.
... (truncated)
Changelog
Sourced from griffe's changelog.
... (truncated)
Commits
4ef4649
chore: Prepare release 1.5.13bfa401
fix: Sort Git tags usingcreatordate
field, which works with both lightweig...65e3cdb
chore: Prepare release 1.5.019f354d
feat: Allow setting and deleting parameters within containere71e541
docs: Add how-to selectively inspect objectsbc454d0
docs: Add main extensions page7486612
docs: Add mkdocstrings-python to downstream projectsaf66c98
docs: Show extensions in tables4f0463e
docs: Fix breadcrumbs3636b7d
docs: Remove sponsors only mention for griffe-pydanticUpdates
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
markupsafe
from 2.1.5 to 3.0.2Release notes
Sourced from markupsafe's releases.
Changelog
Sourced from markupsafe's changelog.
Commits
28ace20
release version 3.0.26b51fd8
build requires at least setuptools 70.1 (#478)99dda9f
build requires at least setuptools 70.13d8fd8c
fix version1933c4b
fix versione85aff4
relax speedups str check (#477)8cb1691
relax speedups str check4dafb7c
start version 3.1.09c44ecf
update docs build275c769
Merge branch '2.1.x' into 3.0.xUpdates
mkdocs-htmlproofer-plugin
from 1.2.1 to 1.3.0Release notes
Sourced from mkdocs-htmlproofer-plugin's releases.
Commits
88e9070
Release 1.3.000f9e29
Add support for ignoring every URL on a page (#88)7b1285f
Increase chunk_size to 1MiB (#87)f37edbb
Document MkDocs native support for anchor validation (#85)b05c2ed
Bump up version to 1.3.0.devUpdates
mkdocs-macros-plugin
from 1.0.5 to 1.3.6Changelog
Sourced from mkdocs-macros-plugin's changelog.
Commits
3a73707
Migrate to pyproject.toml99733be
Demote info messages as debug (#248)6a9a0e4
Bump version number, for distribution (should solve #247)32cd528
Test the hooks for external registration (#237)16be58d
Migrate all tests toward the mkdocs-test framework (#244)59f82db
Replacing local implementation of SuperDict by super-collections version38b9681
Merge branch 'master' of github.com:fralau/mkdocs_macros_plugin into mastereebbbd1
Merge pull request #246 from dwreeves/add-pathspec-as-dependency6d99822
Addpathspec
as dependency69577e1
Separate standard DocProject and MarkdownPage classesUpdates
mkdocs-material
from 9.5.34 to 9.5.42Release notes
Sourced from mkdocs-material's releases.
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
f3a390e
Prepare 9.5.42 releaseade227c
Updated README.md (#7631)cc1508f
Fixed encoding of boolean attributes in privacy plugine2c621f
Fixed regression in privacy plugin5eef815
Prepare 9.5.41 release2d2e041
Updated dependencies790b0e8
JSON schema (#7622)649abd2
Fixed tooltip on logo lost on instant navigation0418a22
Updated README.md (#7618)e29e124
Fixed feedback visible on printUpdates
mkdocstrings-python
from 1.11.1 to 1.12.2Release notes
Sourced from mkdocstrings-python's releases.
Changelog
Sourced from mkdocstrings-python's changelog.