Sourced from dnspython's releases.
dnspython 2.9.0
This release fixes a potential excessive CPU consumption issue. Thanks to Evgenios Gkritsis, Constantinos Patsakis, and George Stergiopoulos, for discovering and reporting this issue.
See What's New for details.
The minimum supported version of Python is 3.11.
My thanks to the many people who have contributed to this release. Also thanks to my co-maintainers: Nicki Křížek, Petr Špaček, and Brian Wellington.
This release was published to PyPI using Trusted Publishing.
Sourced from dnspython's changelog.
2.9.0
Decompression chain length is limited to 16. Prior to this change, a maliciously crafted DNS message could cause dns.name.from_wire_parser() to use excessive CPU for DNS name decompression. Applications which processed untrusted DNS wire form messages with dnspython could be degraded or DoS'd by the extra CPU use required.
Thanks to Evgenios Gkritsis, Constantinos Patsakis, and George Stergiopoulos for finding and reporting this issue.
See https://github.com/rthalley/dnspython/security/advisories/GHSA-45c3-73f7-pv4m
Httpx2 has replaced httpx for HTTPS TCP connections.
The minimum supported Python version is now 3.11.
DNSSEC now supports ML-DSA-44, a post-quantum signature algorithm.
The NSEC3 Next Hashed Owner Name in presentation format is now decoded as base32hex (RFC 5155 Section 1.3, RFC 4648 Extended Hex Alphabet). The letters W, X, Y, and Z are not in that alphabet; they used to be accepted and silently decoded to a different owner name, so
to_textof the result did not match the input. They are now rejected.The NID and L64 node/locator ids in presentation format are now rejected when a group contains anything other than hex digits. A sign or underscore, which
int()silently accepts, produced a record whose text form did not parse back the same way (RFC 6742).Rdata of a known type in the generic
\#syntax, such as an NS record in a zone file, no longer fails to parse when it contains a name under the origin. Its names are relativized as in the type's own text form.The SVCB and HTTPS
echparameter value must now be an ECHConfigList with a correct length prefix and at least 4 octets of content (RFC 9848, RFC 9849). The individual ECHConfig structures are not checked.SVCB and HTTPS SvcParamKeys in presentation format, including those listed in
mandatory, must now be spelled as RFC 9460 requires: 1-63 lowercase letters, digits, or hyphens. Uppercase keys such asALPNand keys with underscores such asno_default_alpnare rejected.SVCB and HTTPS presentation format parsing now follows the escaping rules of RFC 9460. SvcParamKeys may not contain escapes (e.g.
\097lpn=h2), and in comma-separated values (alpn,docpath) only\,and\\are valid escapes after character-string decoding (e.g.alpn="h2\\x"is rejected).
... (truncated)
e790c8f
add missing test fileb72af67
CI release branch updatebdd62fe
release prepbafc963
Merge branch 'decompression-limit'c5fecf5
release tidyingc7686f3
update dependencies3c855c8
more type lint52815c9
type lintf563427
lintb485e46
Limit decompression to a chain length of at most 16 pointers.Sourced from qbittorrent-api's releases.
release-2026.10.0
What's Changed
Features
- feat: add Web API v2.16.0 endpoints (qBittorrent v5.3.0) by
@rmartin16in rmartin16/qbittorrent-api#659- feat: add Web API v2.16.2 endpoints (qBittorrent v5.3.0beta1) by
@rmartin16in rmartin16/qbittorrent-api#678- feat: support qBittorrent v5.2.4 and v5.3.0rc1 by
@rmartin16in rmartin16/qbittorrent-api#686Chores
- Bump pre-commit hook for mirrors-mypy from v2.3.0 to v2.3.1 by
@rmartin16in rmartin16/qbittorrent-api#677- Bump the github-actions group with 2 updates by
@dependabot[bot] in rmartin16/qbittorrent-api#674- Bump the uv group with 6 updates by
@dependabot[bot] in rmartin16/qbittorrent-api#675- Bump pre-commit hook for ruff-pre-commit from v0.16.1 to v0.16.5 by
@rmartin16in rmartin16/qbittorrent-api#676- Bump soupsieve from 2.8.4 to 2.9 by
@dependabot[bot] in rmartin16/qbittorrent-api#679- Bump anyio from 4.13.0 to 4.14.2 by
@dependabot[bot] in rmartin16/qbittorrent-api#680- Bump pre-commit hook for ruff-pre-commit from v0.16.5 to v0.16.9 by
@rmartin16in rmartin16/qbittorrent-api#683- Bump the github-actions group with 3 updates by
@dependabot[bot] in rmartin16/qbittorrent-api#681- Bump the uv group with 5 updates by
@dependabot[bot] in rmartin16/qbittorrent-api#682- build(deps): bump virtualenv from 21.4.2 to 21.7.13 by
@dependabot[bot] in rmartin16/qbittorrent-api#685CI
- refactor(tests): parametrize test_add_delete and fix dead assertions by
@rmartin16in rmartin16/qbittorrent-api#662- refactor(tests): derive an endpoint catalog and test the API surface from it by
@rmartin16in rmartin16/qbittorrent-api#663- docs(tests): explain how the test suite works by
@rmartin16in rmartin16/qbittorrent-api#664- refactor(tests): stop testing each camelCase alias over the network by
@rmartin16in rmartin16/qbittorrent-api#665- fix(tests): make webseed checks survive a busy qBittorrent by
@rmartin16in rmartin16/qbittorrent-api#667- refactor(tests): extend the catalog to interface spellings by
@rmartin16in rmartin16/qbittorrent-api#666- refactor(tests): remove the gate twins the catalog now covers by
@rmartin16in rmartin16/qbittorrent-api#669- refactor(tests): catalog torrent objects and drop the last gate twins by
@rmartin16in rmartin16/qbittorrent-api#670- refactor(tests): add eventually() and migrate test_search to it by
@rmartin16in rmartin16/qbittorrent-api#671- refactor(tests): finish the eventually() migration and delete check() by
@rmartin16in rmartin16/qbittorrent-api#672- test(tests): fail any test that leaves state behind in qBittorrent by
@rmartin16in rmartin16/qbittorrent-api#673Full Changelog: https://github.com/rmartin16/qbittorrent-api/compare/v2026.8.1...v2026.10.0
Sourced from qbittorrent-api's changelog.
v2026.10.0 (03 oct 2026)
- Advertise support for qBittorrent v5.2.4 (#686)
6580e6c
bump to v2026.10.059b64b0
feat: support qBittorrent v5.2.4 and v5.3.0rc1 (#686)9016912
build(deps): bump virtualenv from 21.4.2 to 21.7.13 (#685)e375481
Bump the uv group with 5 updates (#682)6a9f89e
Bump the github-actions group with 3 updates (#681)b08a1c8
Bumped pre-commit hook for ruff-pre-commit from v0.16.5 to v0.16.9 (#683)13fcfb9
Bump anyio from 4.13.0 to 4.14.2 (#680)ea53fb2
Bump soupsieve from 2.8.4 to 2.9 (#679)9972fbb
feat: add Web API v2.16.2 endpoints (qBittorrent v5.3.0beta1) (#678)9457fc5
Bumped pre-commit hook for ruff-pre-commit from v0.16.1 to v0.16.5 (#676)Sourced from authlib's releases.
v1.9.1
Changelog: https://docs.authlib.org/en/stable/upgrades/changelog.html#changelog-1-9-1
What's Changed
- Use scriv to handle the changelog by
@azmeukin authlib/authlib#954Full Changelog: https://github.com/authlib/authlib/compare/v1.9.0...v1.9.1
v1.9.0
What's Changed
- feat: add Identity Assertion JWT Authorization Grant (ID-JAG) by
@BinoyOza-oktain authlib/authlib#898- Fix empty signatures validation in JWS JSON deserialization by
@loportoin authlib/authlib#938- fix(jose): reject boolean values for NumericDate claims by
@cpruijsenin authlib/authlib#942- fix(client): avoid duplicated OAuth 1.0 parameters in signed requests by
@cpruijsenin authlib/authlib#943- OAuth2 token fetch crashes with JSONDecodeError instead of a catchable error on rate-limit responses by
@juneja-varunin authlib/authlib#929- docs: add i18n wrappers in conf.py and templates by
@hwhsu1231in authlib/authlib#901- fix(oauth): enforce JOSE key, scope, and audience validation by
@lepturein authlib/authlib#945- AsyncOpenIDMixin.parse_id_token: return None when id_token is absent, matching the sync client by
@ckarnellin authlib/authlib#924- fix(oauth): enforce nonce and JAR request validation by
@lepturein authlib/authlib#949- fix(oauth): require client authentication for ID-JAG grants by
@lepturein authlib/authlib#955New Contributors
@BinoyOza-oktamade their first contribution in authlib/authlib#898@loportomade their first contribution in authlib/authlib#938@cpruijsenmade their first contribution in authlib/authlib#942@juneja-varunmade their first contribution in authlib/authlib#929@hwhsu1231made their first contribution in authlib/authlib#901@ckarnellmade their first contribution in authlib/authlib#924Full Changelog: https://github.com/authlib/authlib/compare/v1.8.0...v1.9.0
46b9487
chore: release 1.9.1abb3f49
docs: use the issuer identifier as ID-JAG audience and fix broken
links1bd2a31
Merge commit from fork311da11
docs: more detailed PKCE instructions873f72c
docs: rpinitiated instructions4ff30db
Merge commit from fork9a86ff3
docs: rpinitiated sequence chart1c35757
docs: RFC 9101 sequence charta755e28
docs: add a sequence diagram to the token introspection page1996c56
docs: PKCE flow chart illustrationSourced from apprise's releases.
Apprise v2.0.1
What's Changed
Since the release of v2.0.0 there were some issues raised that I feel were major enough to to warrant a small update release. The big one is the handlng of markdown text.
I had merged a few enhancements too; so they're thrown in this mini release as well.
:lady_beetle: Bugfixes
- Escape unmatched markup characters for Telegram Markdown v1 by
@SulimanAbdulrazzaqin caronc/apprise#1751- fix(matrix): accept HTTP 202 Accepted status code for Matrix responses by
@szhu25in caronc/apprise#1754- fix(matrix): preserve title/body separation in rich notifications by
@coder6955in caronc/apprise#1756- fixed html issue with flock in caronc/apprise#1757
- v2 Format Conversion Regression in caronc/apprise#1761
:bulb: Features
- Rewrite spush:// for the new Simplepush API with tasks, attachments, ... by
@tymmin caronc/apprise#1759- feat: support Nextcloud Talk bot authentication by
@beeminesin caronc/apprise#1758- Telegram photo and video album support in caronc/apprise#1762
:heart: Life-Cycle Support
- BulkSMS reference updates user -> token, pass -> secret in caronc/apprise#1766
- Update LoC badge by
@github-actions[bot] in caronc/apprise#1752- Run the test suite in parallel with pytest-xdist in caronc/apprise#1763
- Only load PyYAML when YAML configuration is used in caronc/apprise#1765
Installation
Apprise is available on PyPI through pip:
# Install Apprise v2.0.1 from PyPI pip install apprise==2.0.1If you use uv:
# Install the apprise command uv tool install apprise==2.0.1New Contributors
@szhu25made their first contribution in caronc/apprise#1754@coder6955made their first contribution in caronc/apprise#1756@tymmmade their first contribution in caronc/apprise#1759@beeminesmade their first contribution in caronc/apprise#1758Full Changelog: https://github.com/caronc/apprise/compare/v2.0.0...v2.0.1
81739e9
bumped version to v2.0.16f58026
Only load PyYAML when YAML configuration is used (#1765)b7d5d31
BulkSMS reference updates user -> token, pass -> secret (#1766)c6817af
Run the test suite in parallel with pytest-xdist (#1763)5203e93
v2 Format Conversion Regression (#1761)fb47256
Telegram photo and video album support (#1762)57f05ee
Support Nextcloud Talk bot authentication (#1758)fe93b0d
Updates to spush:// for the new Simplepush API with tasks + attachments
(#1759)bfbf659
fixed html issue with flock (#1757)ab9e23f
fix(matrix): preserve title/body separation in rich notifications (#1756)Sourced from publicsuffixlist's changelog.
1.1.0 (2026-10-10)
This version drops support for Python 3.5, 3.6 and 3.7, and now requires Python 3.8 or later.
Packaging has been migrated to PEP 621 metadata in
pyproject.tomlusing hatchling, replacingsetup.py,setup.cfgandMANIFEST.in. The version is now read frompublicsuffixlist.__version__, and development dependencies are locked with uv.
- Add PEP 561
py.typedmarker and complete type annotations for the public API, includingcompatand the update script.- Add an
accept_unknownkeyword argument tois_private()andis_public().- Fix
subdomain()to honor the per-callaccept_unknownargument, and to returnNonefor invalid domains instead of raisingTypeError.- Correct the
subdomain()andprivateparts()overload signatures.- Handle a malformed
Last-Modifiedresponse header in the update script.- Run tests with uv on Python 3.8 and 3.14, and update CI actions.
1.0.2 (2024-07-13)
- Use
@typing.overload to indicate str-to-str domain input/output. #32.- Address deprecation of ByteString in python 3.14.
1.0.1 (2024-06-22)
Fix internal logic where domain name passed as a tuple of bytes, that contains UTF-8 encoded non-ascii chars, unintentionally matched PSL. Fixes #31.
1.0.0 (2024-06-20)
This version drops support for Python 2.x and 3.4.
The internal logic has been slightly changed to address conflicting evaluation rules between the PSL wiki and the test data. As with versions before 1.0.0, this module assumes that wildcards have implicit public declarations on the wildcard root.
With the minimum Python version changed to 3.5, type annotations have been added to exposed API methods to clarify expected input types. For example, psl.publicsuffix() now accepts
strorTuple[bytes, ...].
- Add tuple of bytes style input
- Add keep_case keyword argument
- Accept trailing dot
- Migrate CI to GitHub Actions
0.10.0 (2023-04-29)
The last version works on Python 2.7
Sourced from seleniumbase's releases.
4.56.2 - Update decorators and dependencies
Update decorators and dependencies
- Update the print_runtime() decorator --> This resolves seleniumbase/SeleniumBase#4527
- Refresh Python dependencies
- Update CDP Mode examples
What's Changed
- Update decorators and dependencies by
@mdmintzin seleniumbase/SeleniumBase#4528Full Changelog: https://github.com/seleniumbase/SeleniumBase/compare/v4.56.1...v4.56.2
4.56.1 - Fix dependency issue caused by a yank
Fix dependency issue caused by a yank
- Refresh Python dependencies --> This resolves seleniumbase/SeleniumBase#4525
- Refresh a Python dependency --> Update a dependency that dropped a version of Python.
4.56.0 - Full Python 3.15 Support
Full Python 3.15 Support
- Refresh Python dependencies --> This resolves seleniumbase/SeleniumBase#4523
- Update driver methods
- Update versioning for the MCP server
What's Changed
- Full Python 3.15 Support by
@mdmintzin seleniumbase/SeleniumBase#4524Full Changelog: https://github.com/seleniumbase/SeleniumBase/compare/v4.55.2...v4.56.0
4.55.2 - Refresh Dependencies and Examples
Refresh Dependencies and Examples
- Refresh Python dependencies
- Update CDP Mode examples
- Update Stealthy Playwright Mode examples
- Update the ReadMe
What's Changed
- Refresh Dependencies and Examples by
@mdmintzin seleniumbase/SeleniumBase#4522Full Changelog: https://github.com/seleniumbase/SeleniumBase/compare/v4.55.1...v4.55.2
4.55.1 - Fast Mode for CDP Mode
Fast Mode for CDP Mode
- Add Fast Mode to CDP Mode --> This resolves seleniumbase/SeleniumBase#4519
... (truncated)
c452494
Merge pull request #4528
from seleniumbase/decorators-and-dependencies8738b09
Version 4.56.2ed62dcb
Update MCP server versioning59a9ef3
Update CDP Mode examples68bb983
Refresh Python dependenciesd3ab07e
Update the print_runtime() decorator6c09b0b
Update ReadMe filesce0493b
Update the ReadMeac18d10
Update the UC Mode ReadMe86de26f
Refresh mkdocs dependenciesSourced from basedpyright's releases.
v1.40.2 (pyright 1.1.414)
What's Changed
- Fix typeshed packaging for the
browser-basedpyrightnpm package by@BertalanDin DetachHead/basedpyright#1890- generate builtin docstrings for python 3.15 by
@DetachHeadin DetachHead/basedpyright#1895Full Changelog: https://github.com/DetachHead/basedpyright/compare/v1.40.1...v1.40.2
3447596
asdf9c403f1
retry vscode publish because vs marketplace was downfa4b52d
1.40.23ca944f
pin python version to 3.151f4822c
add python 3.15 builtin docstrings77cfb2d
bump python dependencies & pnpm (#1877)a8a92cd
formattingd55e86a
Fix typeshed packaging for browser-basedpyrightc63390c
delete dependabot config. too much of a pain in the ass to configure it
to no...278e99c
delete weekly typechecker benchmark workflowSourced from prek's releases.
0.5.5
Release Notes
Released on 2026-10-05.
Enhancements
Performance
- Avoid JSON imports when querying Python interpreters (#2790)
- Avoid duplicate diffs after hooks rewrite files (#2815)
- Batch file reads in shebang checks (#2793)
- Check cached hook environments concurrently (#2797)
- Overlap Git discovery with worktree status checks (#2821)
- Query staged additions only for case conflicts (#2802)
- Reduce worker overhead in XML and pygrep checks (#2789)
- Reuse Git worktree state during hook startup (#2787)
- Reuse intent-to-add paths when saving unstaged changes (#2788)
- Run Git queries concurrently for case-conflict checks (#2792)
- Share Bun and Deno version queries across environments (#2795)
- Share Lua runtime probes across hook environments (#2796)
- Share Ruby version queries across hook environments (#2794)
- Share mise version queries across hook environments (#2798)
- Skip site initialization in Python interpreter probes (#2822)
- Skip untracked files in destroyed symlink checks (#2799)
- Skip unused file input for always-run hooks (#2813)
Bug fixes
- Preserve staged and unstaged changes on conflicted stash restore (#2803)
- Default missing
core.fileModein shebang checks (#2832)- Match protected branch patterns from the start (#2829)
- Normalize explicit paths in shebang index checks (#2831)
- Preserve empty
trailing-whitespacecharacter sets (#2830)- Reject empty files in
check-json(#2826)- Reject trailing data in
check-json(#2828)- Round up file sizes in
check-added-large-files(#2827)Documentation
- Redesign the prek badge and refresh logo details (#2818)
Contributors
... (truncated)
Sourced from prek's changelog.
0.5.5
Released on 2026-10-05.
Enhancements
Performance
- Avoid JSON imports when querying Python interpreters (#2790)
- Avoid duplicate diffs after hooks rewrite files (#2815)
- Batch file reads in shebang checks (#2793)
- Check cached hook environments concurrently (#2797)
- Overlap Git discovery with worktree status checks (#2821)
- Query staged additions only for case conflicts (#2802)
- Reduce worker overhead in XML and pygrep checks (#2789)
- Reuse Git worktree state during hook startup (#2787)
- Reuse intent-to-add paths when saving unstaged changes (#2788)
- Run Git queries concurrently for case-conflict checks (#2792)
- Share Bun and Deno version queries across environments (#2795)
- Share Lua runtime probes across hook environments (#2796)
- Share Ruby version queries across hook environments (#2794)
- Share mise version queries across hook environments (#2798)
- Skip site initialization in Python interpreter probes (#2822)
- Skip untracked files in destroyed symlink checks (#2799)
- Skip unused file input for always-run hooks (#2813)
Bug fixes
- Preserve staged and unstaged changes on conflicted stash restore (#2803)
- Default missing
core.fileModein shebang checks (#2832)- Match protected branch patterns from the start (#2829)
- Normalize explicit paths in shebang index checks (#2831)
- Preserve empty
trailing-whitespacecharacter sets (#2830)- Reject empty files in
check-json(#2826)- Reject trailing data in
check-json(#2828)- Round up file sizes in
check-added-large-files(#2827)Documentation
- Redesign the prek badge and refresh logo details (#2818)
Contributors
77cca67
Bump version to 0.5.5 (#2839)f4e2695
Update Rust crate jsonc-parser to 0.34.0 (#2838)399e9d1
Update GitHub Actions (#2837)19e77d1
Update prek hooks (#2771)e261e0c
Update dependency uv to v0.12.19 (#2835)bc53e2c
Update Rust crate thiserror to v2.0.21 (#2836)4a981d2
Default missing core.fileMode in shebang checks (#2832)e031022
Preserve empty trailing-whitespace character sets (#2830)0b1871a
Normalize explicit paths in shebang index checks (#2831)9d4aede
Match protected branch patterns from the start (#2829)Sourced from ruff's releases.
0.17.1
Release Notes
Released on 2026-10-15.
Preview features
- [
pycodestyle] Don't treatNone,True, orFalseas keywords (E271-E274) (#29322)Bug fixes
- Fix dedent with multiple leading comments (#29382)
- [
flake8-pyi] Detect legacy positional-only parameters in__new__methods (PYI063) (#28502)- [
flake8-pyi] Fix false positives on quoted annotations (PYI036) (#29274)- [
perflint] Avoid invalid comprehension suggestions (PERF401,PERF403) (#29366)Rule changes
- Treat more
collectionsandweakrefcontainers as mutable (#29213)Documentation
- [
flake8-import-conventions] Update default and examplealiases(#29333)Contributors
Install ruff 0.17.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.17.1/ruff-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.17.1/ruff-installer.ps1 | iex"Download ruff 0.17.1
| File | Platform | Checksum |
... (truncated)
Sourced from ruff's changelog.
0.17.1
Released on 2026-10-15.
Preview features
- [
pycodestyle] Don't treatNone,True, orFalseas keywords (E271-E274) (#29322)Bug fixes
- Fix dedent with multiple leading comments (#29382)
- [
flake8-pyi] Detect legacy positional-only parameters in__new__methods (PYI063) (#28502)- [
flake8-pyi] Fix false positives on quoted annotations (PYI036) (#29274)- [
perflint] Avoid invalid comprehension suggestions (PERF401,PERF403) (#29366)Rule changes
- Treat more
collectionsandweakrefcontainers as mutable (#29213)Documentation
- [
flake8-import-conventions] Update default and examplealiases(#29333)Contributors
0.17.0
Released on 2026-10-09.
The executables in our macOS and Windows release archives and
ruffwheels are now code-signed. macOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows executables have timestamped Authenticode signatures from Azure Artifact Signing. This enables verification of the release publisher and binary integrity, supports publisher-based allowlisting, and should reduce security warnings and antivirus false positives.Breaking changes
Update the default and latest Python versions for 3.15 (#28792)
Ruff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through
target-versionorrequires-python. When checking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15
... (truncated)
4683270
Bump version to 0.17.1 (#29420)3514027
[ty] Update typing conformance suite pin (#29417)8294556
Update referenced PR security-review workflow (#29237)d1e1b1f
[ty] Preserve recursive aliases when rebuilding intersections (#29057)9352615
[perflint] Avoid invalid comprehension suggestions
(PERF401, PERF403) (...83a3afc
Fix dedent with multiple leading comments (#29382)b42a873
[ty] Clarify object attribute write-contract rationale (#29384)d01678e
[ty] Clarify object attribute write-contract rationale (#29384)355b42a
[ty] Avoid writable override contracts from object (#29373)e26e6d2
[ty] Collect intersection inference through constraint relations (#28677)