⬆️(dependencies) update python dependencies#1278
Open
renovate[bot] wants to merge 5 commits intomainfrom
Open
Conversation
108e049 to
a6a4275
Compare
5a1d54c to
d2a32cc
Compare
9d3f135 to
58b50ac
Compare
8619da3 to
950367e
Compare
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
5cdb8f1 to
643d522
Compare
Suppress false-positive no-member errors on super() calls in MultiSelectField (pylint cannot statically resolve CharField members). Fix missing format argument in dummy backend logger.error call. Rename unused model_instance argument to _model_instance. Remove deprecated suggestion-mode option from pylintrc.
Reverted WeasyPrint to version 66.0 due to compatibility or stability issues with 68.1.
We postponed the upgrade of `pytest` because we would encounter errors in executing our test suite. Instead we set the version 8.4.2.
Upgrading to version 0.15.0 would generate errors in our test suite. We need to postpone once more the upgrade of this library and set version 0.14.1 instead.
643d522 to
24e530c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==1.26.7→==1.27.1==66.0→==68.1==46.0.3→==46.0.5==1.3.0→==1.4.0==2.3→==2.3.1==3.5.4→==3.6.0==2024.4.2→==2026.1.26==23.0.0→==25.1.0==3.10→==3.10.2==0.12.0.post1→==0.12.1==3.3.2→==3.3.3==6.0.0→==6.1.2==3.3.8→==4.0.5==8.4.2→==9.0.2==4.11.1→==4.12.0==0.14.1→==0.15.0==0.25.8→==0.26.0==14.2.0→==14.3.3==0.14.13→==0.15.2==2.49.0→==2.53.0Release Notes
pymupdf/pymupdf (PyMuPDF)
v1.27.1: PyMuPDF-1.27.1 releasedCompare Source
Wheels for Windows, Linux and MacOS, and the sdist, are available on
https://pypi.org and can be installed in the usual way, for example:
[Linux-aarch64 wheels will be built and uploaded later.]
Changes in version 1.27.1 (2026-02-11)
Use MuPDF-1.27.1.
Fixed issues:
Other:
pymupdf.TEXT_CLIP.raise_on_repairinDocument.save().Document.repair().Kozea/WeasyPrint (WeasyPrint)
v68.1Compare Source
Bug fixes
Contributors
Backers and sponsors
v68.0Compare Source
This is a security update (CVE-2025-68616).
We strongly recommend to upgrade WeasyPrint to the latest version if you use the
default_url_fetcherfunction in your custom URL fetcher, or if you use theallowed_protocolsparameter of thedefault_url_fetcherfunction.Read about this release on our blog.
Security
Python API
default_url_fetcher()is deprecated, use the newURLFetcherclass instead, seeURL Fetchersfor more information about URL fetchersDocumentMetadata.generate_rdf_metadatais now a method that can be overridden instead of a parameter, seeFactur-X / ZUGFeRD (Electronic Invoices)for examples to create e-invoicesFeatures
Bug fixes
Documentation
Contributors
Backers and sponsors
v67.0Compare Source
Read about this release on our blog.
Dependencies
Features
Bug fixes
@font-facerules referencing local fonts@font-facefontsDocumentation
Contributors
Backers and sponsors
pyca/cryptography (cryptography)
v46.0.5Compare Source
v46.0.4Compare Source
scrapy/cssselect (cssselect)
v1.4.0Compare Source
Released on 2026-01-29.
Dropped support for Python 3.9 and PyPy 3.10.
Added support for Python 3.14 and PyPy 3.11.
Switched the build system to
hatchling.CI fixes and improvements.
jrief/django-admin-sortable2 (django-admin-sortable2)
v2.3.1Compare Source
django-compressanddjango-sass-processorraises errors during run of compress or compilescssmanagement command.
django-money/django-money (django-money)
v3.6.0Compare Source
Changelog: https://django-money.readthedocs.io/en/latest/changes.html
mozilla-services/python-dockerflow (dockerflow)
v2026.1.26Compare Source
benoitc/gunicorn (gunicorn)
v25.1.0: Gunicorn 25.1.0Compare Source
New Features
Control Interface (gunicornc): Add interactive control interface for managing
running Gunicorn instances, similar to birdc for BIRD routing daemon
(PR #3505)
show all/workers/dirty/config/stats/listenersworker add/remove/kill,dirty add/removereload,reopen,shutdown--control-socket,--control-socket-mode,--no-control-socketgunicorncfor connecting to control socketDirty Stash: Add global shared state between workers via
dirty.stash(PR #3503)
Dirty Binary Protocol: Implement efficient binary protocol for dirty arbiter IPC
using TLV (Type-Length-Value) encoding
(PR #3500)
Dirty TTIN/TTOU Signals: Add dynamic worker scaling for dirty arbiters
(PR #3504)
Changes
Documentation
v25.0.3Compare Source
What's Changed
Bug Fixes
Documentation
Full Changelog: benoitc/gunicorn@25.0.2...25.0.3
v25.0.2: Release 25.0.2Compare Source
Bug Fixes
Fix ASGI concurrent request failures through nginx proxy by normalizing
sockaddr tuples to handle both 2-tuple (IPv4) and 4-tuple (IPv6) formats
(PR #3485)
Fix graceful disconnect handling for ASGI worker to properly handle
client disconnects without raising exceptions
(PR #3485)
Fix lazy import of dirty module for gevent compatibility - prevents
import errors when concurrent.futures is imported before gevent monkey-patching
(PR #3483)
Changes
Refactor: Extract
_normalize_sockaddrutility function for consistentsocket address handling across workers
Add license headers to all Python source files
Update copyright year to 2026 in LICENSE and NOTICE files
v25.0.1Compare Source
Bug Fixes
HTTP/1.1 responses without Content-Length header. Without chunked encoding,
clients wait for connection close to determine end-of-response.
Changes
uvloop for async task execution
Testing
WebSocket, streaming, lifespan, framework integration (Starlette, FastAPI),
HTTP/2, and concurrency scenarios
v25.0.0: Gunicorn 25.0.0Compare Source
New Features
Dirty Arbiters: Separate process pool for executing long-running, blocking
operations (AI model loading, heavy computation) without blocking HTTP workers
(PR #3460)
--dirty-app,--dirty-workers,--dirty-timeout,--dirty-threads,--dirty-graceful-timeouton_dirty_starting,dirty_post_fork,dirty_worker_init,dirty_worker_exitPer-App Worker Allocation for Dirty Arbiters: Control how many dirty workers
load each app for memory optimization with heavy models
(PR #3473)
workersclass attribute on DirtyApp (e.g.,workers = 2)module:class:N(e.g.,myapp:HeavyModel:2)DirtyNoWorkersAvailableErrorfor graceful error handlingworkers=2: 20GB (75% savings)HTTP/2 Support (Beta): Native HTTP/2 (RFC 7540) support for improved performance
with modern clients (PR #3468)
--http-protocols,--http2-max-concurrent-streams,--http2-initial-window-size,--http2-max-frame-size,--http2-max-header-list-sizepip install gunicorn[http2]examples/http2_gevent/with Docker and testsHTTP 103 Early Hints: Support for RFC 8297 Early Hints to enable browsers to
preload resources before the final response
(PR #3468)
environ['wsgi.early_hints'](headers)callbackhttp.response.informationalmessage typeuWSGI Protocol for ASGI Worker: The ASGI worker now supports receiving requests
via the uWSGI binary protocol from nginx
(PR #3467)
Bug Fixes
Fix HTTP/2 ALPN negotiation for gevent and eventlet workers when
do_handshake_on_connectis False (the default). The TLS handshake is nowexplicitly performed before checking
selected_alpn_protocol().Fix setproctitle initialization with systemd socket activation
(#3465)
Fix
Expect: 100-continuehandling: ignore the header for HTTP/1.0 requestssince 100-continue is only valid for HTTP/1.1+
(PR #3463)
Fix missing
_expected_100_continueattribute in UWSGIRequestDisable setproctitle on macOS to prevent segfaults during process title updates
Publish full exception traceback when the application fails to load
(#3462)
Fix ASGI: quick shutdown on SIGINT/SIGQUIT, graceful on SIGTERM
Deprecations
eventletworker is deprecated and will be removed inGunicorn 26.0. Eventlet itself is no longer actively maintained.
Please migrate to
gevent,gthread, or another supported worker type.Changes
(PR #3471)
v24.1.1Compare Source
Bug Fixes
forwarded_allow_ipsandproxy_allow_ipsto remain as strings for backwardcompatibility with external tools like uvicorn. Network validation now uses strict
mode to detect invalid CIDR notation (e.g.,
192.168.1.1/24where host bits are set)(#3458,
PR #3459)
Full Changelog: benoitc/gunicorn@24.1.0...24.1.1
v24.1.0: Gunicorn 24.1.0Compare Source
New Features
Official Docker Image: Gunicorn now publishes official Docker images to GitHub Container Registry (PR #3454)
ghcr.io/benoitc/gunicornPROXY Protocol v2 Support: Extended PROXY protocol implementation to support the binary v2 format in addition to the existing text-based v1 format (PR #3451)
--proxy-protocolmodes:off,v1,v2,autoautomode (default when enabled) detects v1 or v2 automaticallyCIDR Network Support:
--forwarded-allow-ipsand--proxy-allow-fromnow accept CIDR notation (e.g.,192.168.0.0/16) for specifying trusted networks (PR #3449)Socket Backlog Metric: New
gunicorn.socket.backloggauge metric reports the current socket backlog size on Linux systems (PR #3450)InotifyReloader Enhancement: The inotify-based reloader now watches newly imported modules, not just those loaded at startup (PR #3447)
Bug Fixes
finish_body()for faster timeout detection on slow or abandoned connections (PR #3453)SSLWantReadErrorinfinish_body()to prevent worker hangs during SSL renegotiation (PR #3448)unreader.unread()to prepend data to buffer instead of appending (PR #3442)RecursionErrorwhen pickling Config objects (PR #3441)raise fromin glogging.py (PR #3440)Installation
Or use the official Docker image:
v24.0.0Compare Source
New Features
ASGI Worker (Beta): Native asyncio-based ASGI support for running async Python frameworks like FastAPI, Starlette, and Quart without external dependencies
uWSGI Binary Protocol: Support for receiving requests from nginx via
uwsgi_passdirectiveDocumentation Migration: Migrated to MkDocs with Material theme
Security
Install
Python-Markdown/markdown (markdown)
v3.10.2Compare Source
Fixed
</(#1593).v3.10.1Compare Source
Fixed
bretello/pdbpp (pdbpp)
v0.12.1Compare Source
What’s Changed
Fixes
Improvements
pdbhijacking now works correctly when using editable installs (add customeditable_wheelcommand to hijack pdb in editable installs (#82) @bretello)Other
psycopg/psycopg (psycopg)
v3.3.3Compare Source
pytest-dev/pyfakefs (pyfakefs)
v6.1.2: pyfakefs release version 6.1.2Compare Source
Fixes a regression caused by the introduced weak references.
v6.1.1Compare Source
Fixes a packaging issue in latest version.
Fixes
(see #1278)
v6.1.0Compare Source
Changes back-link references to weak references.
Changes
this may have unwanted consequences (crashes) for some untested workflows
Infrastructure
pyproject.tomlfor dependencies, movedtoxconfiguration intopyproject.tomlFixes
sizefrom aFakeFileWrapperobject(see #1276)
readableraising an error on a file object.(see #1265)
(see #1267)
pylint-dev/pylint (pylint)
v4.0.5Compare Source
What's new in Pylint 4.0.5?
Release date: 2026-02-20
False Positives Fixed
Fix possibly-used-before-assignment false positive when using self.fail() in tests.
Closes #10743
Fixed false positive for
logging-unsupported-formatwhen no arguments are provided to logging functions.According to Python's logging documentation, no formatting is performed when no arguments are supplied, so strings like
logging.error("%test")are valid.Closes #10752
Fix a false positive for
invalid-namewhere a dataclass field typed withFinalwas evaluated against the
class_constregex instead of theclass_attributeregex.Closes #10790
Avoid emitting
unspecified-encoding(W1514) whenpy-versionis 3.15+.Refs #10791
Other Bug Fixes
Fix
--known_third_partyconfig being ignored.Closes #10801
Fixed dynamic color mapping for "fail-on" messages when using multiple reporter/output formats.
Closes #10825
dependency on isort is now set to <9, permitting to use isort 8.
Closes #10857
v4.0.4Compare Source
What's new in Pylint 4.0.4?
Release date: 2025-11-30
False Positives Fixed
Fixed false positive for
invalid-namewhere module-level constants were incorrectly classified as variables when a class-level attribute with the same name exists.Closes #10719
Fix a false positive for
invalid-nameon an UPPER_CASED name inside anifbranch that assigns an object.Closes #10745
v4.0.3Compare Source
What's new in Pylint 4.0.3?
Release date: 2025-11-13
False Positives Fixed
Add Enum dunder methods
_generate_next_value_,_missing_,_numeric_repr_,_add_alias_, and_add_value_alias_to the list passed to--good-dunder-names.Closes #10435
Fixed false positive for
invalid-namewithtyping.Annotated.Closes #10696
Fix false positive for
f-string-without-interpolationwith template stringswhen using format spec.
Closes #10702
Fix a false positive when an UPPER_CASED class attribute was raising an
invalid-namewhen typed withFinal.Closes #10711
Fix a false positive for
unbalanced-tuple-unpackingwhen a tuple is assigned to a function call and the structure of the function's return value is ambiguous.Closes #10721
Other Bug Fixes
Make 'ignore' option work as expected again.
Closes #10669
Fix crash for
consider-using-assignment-exprwhen a variable annotation without assignmentis used as the
iftest expression.Closes #10707
Fix crash for
prefer-typing-namedtupleandconsider-math-not-floatwhena
sliceobject is called.Closes #10708
v4.0.2Compare Source
False Positives Fixed
Fix false positive for
invalid-nameon a partially uninferable module-level constant.Closes #10652
Fix a false positive for
invalid-nameon exclusive module-level assignmentscomposed of three or more branches. We won't raise
disallowed-nameon module-level names that can't be inferreduntil a further refactor to remove this false negative is done.
Closes #10664
Fix false positive for
invalid-nameforTypedDictinstances.Closes #10672
v4.0.1Compare Source
What's new in Pylint 4.0.1?
Release date: 2025-10-14
False Positives Fixed
Exclude
__all__and__future__.annotationsfromunused-variable.Closes #10019
Fix false-positive for
bare-name-capture-patternif a case guard is used.Closes #10647
Check enums created with the
Enum()functional syntax to pass against the--class-rgxfor theinvalid-namecheck, like other enums.Closes #10660
v4.0.0Compare Source
Pylint now supports Python 3.14.
Pylint's inference engine (
astroid) is now much more precise,understanding implicit booleanness and ternary expressions. (Thanks @zenlyj!)
Consider this example:
The required
astroidversion is now 4.0.0. See the astroid changelog for additional fixes, features, and performance improvements applicable to pylint.invalid-nameat the module level was patchy. Now,module-level constants that are reassigned are treated as variables and checked
against
--variable-rgxrather than--const-rgx. Module-level lists,sets, and objects can pass against either regex.
Here,
LIMITis reassigned, so pylint only uses--variable-rgx:If this is undesired, refactor using exclusive assignment so that it is
evident that this assignment happens only once:
Lists, sets, and objects still pass against either
const-rgxorvariable-rgxeven if reassigned, but are no longer completely skipped:
Remember to adjust the regexes and allow lists to your liking.
Breaking Changes
invalid-namenow distinguishes module-level constants that are assigned only oncefrom those that are reassigned and now applies
--variable-rgxto the latter. Valuesother than literals (lists, sets, objects) can pass against either the constant or
variable regexes (e.g. "LOGGER" or "logger" but not "LoGgEr").
Remember that
--good-namesor--good-names-rgxscan be provided to explicitlyallow good names.
Closes #3585
The unused
pylintrcargument toPyLinter.__init__()is deprecatedand will be removed.
Refs #6052
Commented out code blocks such as
# bar() # TODO: remove dead codewill no longer emitfixme.Refs #9255
pyreverseRunwas changed to no longer callsys.exit()in its__init__.You should now call
Run(args).run()which will return the exit code instead.Having a class that always raised a
SystemExitexception was considered a bug.Normal usage of pyreverse through the CLI will not be affected by this change.
Refs #9689
The
suggestion-modeoption was removed, as pylint now always emits user-friendly hints insteadof false-positive error messages. You should remove it from your conf if it's defined.
Refs #9962
The
async.pychecker module has been renamed toasync_checker.pysinceasyncis a Python keywordand cannot be imported directly. This allows for better testing and extensibility of the async checker functionality.
Refs #10071
The message-id of
continue-in-finallywas changed fromE0116toW0136. The warning isnow emitted for every Python version since it will raise a syntax warning in Python 3.14.
See PEP 765 - Disallow return/break/continue that exit a finally block.
Refs #10480
Removed support for
nmp.NaNalias fornumpy.NaNbeing recognized in ':ref:nan-comparison'. Usenpornumpyinstead.Refs #10583
Version requirement for
isorthas been bumped to >=5.0.0.The internal compatibility for older
isortversions exposed viapylint.utils.IsortDriverhasbeen removed.
Refs #10637
New Features
comparison-of-constantsnow uses the unicode from the ast instead of reformatting fromthe node's values preventing some bad formatting due to
utf-8limitation. The message now uses"instead of'to better work with what the python ast returns.Refs #8736
Enhanced pyreverse to properly distinguish between UML relationship types (association, aggregation, composition) based on object ownership semantics. Type annotations without assignment are now treated as associations, parameter assignments as aggregations, and object instantiation as compositions.
Closes #9045
Closes #9267
The
fixmecheck can now search through docstrings as well as comments, by usingcheck-fixme-in-docstring = truein the[tool.pylint.miscellaneous]section.Closes #9255
The
use-implicit-booleaness-not-xchecks now distinguish between comparisonsused in boolean contexts and those that are not, enabling them to provide more accurate refactoring suggestions.
Closes #9353
The verbose option now outputs the filenames of the files that have been checked.
Previously, it only included the number of checked and skipped files.
Closes #9357
colorized reporter now colorizes messages/categories that have been configured as
fail-onin red inverse.This makes it easier to quickly find the errors that are causing pylint CI job failures.
Closes #9898
Enhanced support for @property decorator in pyreverse to correctly display return types of annotated properties when generating class diagrams.
Closes #10057
Add --max-depth option to pyreverse to control diagram complexity. A depth of 0 shows only top-level packages, 1 shows one level of subpackages, etc.
This helps manage visualization of large codebases by limiting the depth of displayed packages and classes.
Refs #10077
Handle deferred evaluation of annotations in Python 3.14.
Closes #10149
Enhanced pyreverse to properly detect aggregations for comprehensions (list, dict, set, generator).
Closes #10236
pyreverse: add support for colorized output when using output formatmmd(MermaidJS) andhtml.Closes #10242
pypy 3.11 is now officially supported.
Refs #10287
Add support for Python 3.14.
Refs #10467
Add naming styles for
ParamSpecandTypeVarTuplethat align with theTypeVarstyle.Refs #10541
New Checks
Add
match-statementschecker and the following message:bare-name-capture-pattern.This will emit an error message when a name capture pattern is used in a match statement which would make the remaining patterns unreachable.
This code is a SyntaxError at runtime.
Closes #7128
Configuration
📅 Schedule: Branch creation - "before 7am on monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.