build(deps): update python dependencies (minor)
This PR contains the following updates:
| Package | Change | Age | Confidence | Type | Update |
|---|---|---|---|---|---|
| black (changelog) | 25.9.0 -> 25.11.0 |
dev | minor | ||
| matplotlib | 3.10.6 -> 3.10.7 |
dependencies | patch | ||
| mypy (changelog) | 1.18.2 -> 1.19.0 |
dev | minor | ||
| numpy (changelog) | 2.3.3 -> 2.3.5 |
dependencies | patch | ||
| plotly (changelog) | 6.3.1 -> 6.5.0 |
dependencies | minor | ||
| pytest (changelog) | 9.0.0 -> 9.0.1 |
dev | patch | ||
| python | >=3.12,<3.14 -> >=3.14,<3.15 |
dependencies | minor | ||
| ruff (source, changelog) | ^0.13.0 -> ^0.14.0 |
dev | minor |
Release Notes
psf/black (black)
v25.11.0
Highlights
- Enable base 3.14 support (#4804)
- Add support for the new Python 3.14 t-string syntax introduced by PEP 750 (#4805)
Stable style
- Fix bug where comments between
# fmt: offand# fmt: onwere reformatted (#4811) - Comments containing fmt directives now preserve their exact formatting instead of being normalized (#4811)
Preview style
- Move
multiline_string_handlingfrom--unstableto--preview(#4760) - Fix bug where module docstrings would be treated as normal strings if preceded by comments (#4764)
- Fix bug where python 3.12 generics syntax split line happens weirdly (#4777)
- Standardize type comments to form
# type: <value>(#4645) - Fix
fix_fmt_skip_in_one_linerspreview feature to respect# fmt: skipfor compound statements with semicolon-separated bodies (#4800)
Configuration
- Add
no_cacheoption to control caching behavior. (#4803)
Packaging
- Releases now include arm64 Linux binaries (#4773)
Output
- Write unchanged content to stdout when excluding formatting from stdin using pipes (#4610)
Blackd
- Implemented BlackDClient. This simple python client allows to easily send formatting requests to blackd (#4774)
Integrations
- Enable 3.14 base CI (#4804)
- Enhance GitHub Action
psf/blackto support therequired-versionmajor-version-only "stability" format when using pyproject.toml (#4770) - Improve error message for vim plugin users. It now handles independently vim version
- Vim: Warn on unsupported Vim and Python versions independently (#4772)
- Vim: Print the import paths when importing black fails (#4675)
- Vim: Fix handling of virtualenvs that have a different Python version (#4675)
matplotlib/matplotlib (matplotlib)
v3.10.7: REL: v3.10.7
This is the latest bugfix release in the 3.10.x series.
The most important update in this release is that the minimum version
of pyparsing has been updated to version 3.0.
numpy/numpy (numpy)
v2.3.5: 2.3.5 (Nov 16, 2025)
NumPy 2.3.5 Release Notes
The NumPy 2.3.5 release is a patch release split between a number of maintenance updates and bug fixes. This release supports Python versions 3.11-3.14.
Contributors
A total of 10 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Aaron Kollasch +
- Charles Harris
- Joren Hammudoglu
- Matti Picus
- Nathan Goldbaum
- Rafael Laboissière +
- Sayed Awad
- Sebastian Berg
- Warren Weckesser
- Yasir Ashfaq +
Pull requests merged
A total of 16 pull requests were merged for this release.
- #29979: MAINT: Prepare 2.3.x for further development
- #30026: SIMD, BLD: Backport FPMATH mode on x86-32 and filter successor...
- #30029: MAINT: Backport write_release.py
- #30041: TYP: Various typing updates
- #30059: BUG: Fix np.strings.slice if stop=None or start and stop >= len...
- #30063: BUG: Fix np.strings.slice if start > stop
- #30076: BUG: avoid negating INT_MIN in PyArray_Round implementation (#30071)
- #30090: BUG: Fix resize when it contains references (#29970)
- #30129: BLD: update scipy-openblas, use -Dpkg_config_path (#30049)
- #30130: BUG: Avoid compilation error of wrapper file generated with SWIG...
- #30157: BLD: use scipy-openblas 0.3.30.7 (#30132)
- #30158: DOC: Remove nonexistent
orderparameter docs ofma.asanyarray... - #30185: BUG: Fix check of PyMem_Calloc return value. (#30176)
- #30217: DOC: fix links for newly rebuilt numpy-tutorials site
- #30218: BUG: Fix build on s390x with clang (#30214)
- #30237: ENH: Make FPE blas check a runtime check for all apple arm systems
v2.3.4: (Oct 15, 2025)
NumPy 2.3.4 Release Notes
The NumPy 2.3.4 release is a patch release split between a number of maintenance updates and bug fixes. This release supports Python versions 3.11-3.14. This release is based on Python 3.14.0 final.
Changes
The npymath and npyrandom libraries now have a .lib rather than a
.a file extension on win-arm64, for compatibility for building with MSVC and
setuptools. Please note that using these static libraries is discouraged
and for existing projects using it, it's best to use it with a matching
compiler toolchain, which is clang-cl on Windows on Arm.
(gh-29750)
Contributors
A total of 17 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- !DWesl
- Charles Harris
- Christian Barbia +
- Evgeni Burovski
- Joren Hammudoglu
- Maaz +
- Mateusz Sokół
- Matti Picus
- Nathan Goldbaum
- Ralf Gommers
- Riku Sakamoto +
- Sandeep Gupta +
- Sayed Awad
- Sebastian Berg
- Sergey Fedorov +
- Warren Weckesser
- dependabot[bot]
Pull requests merged
A total of 30 pull requests were merged for this release.
- #29725: MAINT: Prepare 2.3.x for further development
- #29781: MAINT: Pin some upstream dependences
- #29782: BLD: enable x86-simd-sort to build on KNL with -mavx512f
- #29783: BUG: Include python-including headers first (#29281)
- #29784: TYP: fix np.number and np.*integer method declaration
- #29785: TYP: mypy 1.18.1
- #29788: TYP: replace scalar type __init__ with __new__
- #29790: BUG: Fix
dtyperefcount in__array__(#29715) - #29791: TYP: fix method declarations in floating, timedelta64, and datetime64Backport
- #29792: MAINT: delete unused variables in unary logical dispatch
- #29797: BUG: Fix pocketfft umath strides for AIX compatibility (#29768)
- #29798: BUG: np.setbufsize should raise ValueError for negative input
- #29799: BUG: Fix assert in nditer buffer setup
- #29800: BUG: Stable ScalarType ordering
- #29838: TST: Pin pyparsing to avoid matplotlib errors.
- #29839: BUG: linalg: emit a MemoryError on a malloc failure (#29811)
- #29840: BLD: change file extension for libnpymath on win-arm64 from .a...
- #29864: CI: Fix loongarch64 CI (#29856)
- #29865: TYP: Various typing fixes
- #29910: BUG: Fix float16-sort failures on 32-bit x86 MSVC (#29908)
- #29911: TYP: add missing
__slots__(#29901) - #29913: TYP: wrong argument defaults in
testing._private(#29902) - #29920: BUG: avoid segmentation fault in string_expandtabs_length_promoter
- #29921: BUG: Fix INT_MIN % -1 to return 0 for all signed integer types...
- #29922: TYP: minor fixes related to
errstate(#29914) - #29923: TST: use requirements/test_requirements across CI (#29919)
- #29926: BUG: fix negative samples generated by Wald distribution (#29609)
- #29940: MAINT: Bump pypa/cibuildwheel from 3.1.4 to 3.2.1
- #29949: STY: rename
@classmethodarg to cls - #29950: MAINT: Simplify string arena growth strategy (#29885)
plotly/plotly.py (plotly)
v6.5.0
Updated
- Update plotly.js from version 3.2.0 to version 3.3.0. See the plotly.js release notes for more information. [#5421]. Notable changes include:
- Add
hovertemplateforcandlestickandohlctraces [#7619]
- Add
Fixed
- Fix bug where numpy datetime contained in Python list was converted to integer [#5415]
v6.4.0
Updated
- Update plotly.js from version 3.1.1 to version 3.2.0. See the plotly.js release notes for more information. [#5357]. Notable changes include:
Deprecated
pytest-dev/pytest (pytest)
v9.0.1
pytest 9.0.1 (2025-11-12)
Bug fixes
- #13895: Restore support for skipping tests via
raise unittest.SkipTest. - #13896: The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality.
- #13904: Fixed the TOML type of the verbosity settings in the API reference from number to string.
- #13910: Fixed UserWarning: Do not expect file_or_dir on some earlier Python 3.12 and 3.13 point versions.
Packaging updates and notes for downstreams
- #13933: The tox configuration has been adjusted to make sure the desired
version string can be passed into its
package_envthrough theSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTESTenvironment variable as a part of the release process -- bywebknjaz.
Contributor-facing changes
- #13891, #13942: The CI/CD part of the release automation is now capable of
creating GitHub Releases without having a Git checkout on
disk -- by
bluetechandwebknjaz. - #13933: The tox configuration has been adjusted to make sure the desired
version string can be passed into its
package_envthrough theSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTESTenvironment variable as a part of the release process -- bywebknjaz.
astral-sh/ruff (ruff)
v0.14.7
Released on 2025-11-28.
Preview features
- [
flake8-bandit] Handle string literal bindings in suspicious-url-open-usage (S310) (#21469) - [
pylint] FixPLR1708false positives on nested functions (#21177) - [
pylint] Fix suppression for empty dict without tuple key annotation (PLE1141) (#21290) - [
ruff] Add ruleRUF066to detect unnecessary class properties (#21535) - [
ruff] Catch more dummy variable uses (RUF052) (#19799)
Bug fixes
- [server] Set severity for non-rule diagnostics (#21559)
- [
flake8-implicit-str-concat] Avoid invalid fix in (ISC003) (#21517) - [
parser] Fix panic when parsing IPython escape command expressions (#21480)
CLI
- Show partial fixability indicator in statistics output (#21513)
Contributors
- @mikeleppane
- @senekor
- @ShaharNaveh
- @JumboBear
- @prakhar1144
- @tsvikas
- @danparizher
- @chirizxc
- @AlexWaygood
- @MichaReiser
v0.14.6
Released on 2025-11-21.
Preview features
- [
flake8-bandit] Support new PySNMP API paths (S508,S509) (#21374)
Bug fixes
- Adjust own-line comment placement between branches (#21185)
- Avoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (#20418)
- Fix panic when formatting comments in unary expressions (#21501)
- Respect
fmt: skipfor compound statements on a single line (#20633) - [
refurb] FixFURB103autofix (#21454) - [
ruff] Fix false positive for complex conversion specifiers inlogging-eager-conversion(RUF065) (#21464)
Rule changes
- [
ruff] Avoid false positive onClassVarreassignment (RUF012) (#21478)
CLI
- Render hyperlinks for lint errors (#21514)
- Add a
ruff analyzeoption to skip over imports inTYPE_CHECKINGblocks (#21472)
Documentation
- Limit
eglot-formathook to eglot-managed Python buffers (#21459) - Mention
force-excludein "Configuration > Python file discovery" (#21500)
Contributors
- @ntBre
- @dylwil3
- @gauthsvenkat
- @MichaReiser
- @thamer
- @Ruchir28
- @thejcannon
- @danparizher
- @chirizxc
v0.14.5
Released on 2025-11-13.
Preview features
- [
flake8-simplify] ApplySIM113when index variable is of typeint(#21395) - [
pydoclint] Fix false positive when Sphinx directives follow a "Raises" section (DOC502) (#20535) - [
pydoclint] Support NumPy-style comma-separated parameters (DOC102) (#20972) - [
refurb] Auto-fix annotated assignments (FURB101) (#21278) - [
ruff] Ignorestr()when not used for simple conversion (RUF065) (#21330)
Bug fixes
- Fix syntax error false positive on alternative
matchpatterns (#21362) - [
flake8-simplify] Fix false positive for iterable initializers with generator arguments (SIM222) (#21187) - [
pyupgrade] Fix false positive on relative imports from local.builtinsmodule (UP029) (#21309) - [
pyupgrade] Consistently set the deprecated tag (UP035) (#21396)
Rule changes
- [
refurb] Detect empty f-strings (FURB105) (#21348)
CLI
- Add option to provide a reason to
--add-noqa(#21294) - Add upstream linter URL to
ruff linter --output-format=json(#21316) - Add color to
--help(#21337)
Documentation
- Add a new "Opening a PR" section to the contribution guide (#21298)
- Added the PyScripter IDE to the list of "Who is using Ruff?" (#21402)
- Update PyCharm setup instructions (#21409)
- [
flake8-annotations] Add link toallow-star-arg-anyoption (ANN401) (#21326)
Other changes
- [
configuration] Improve error message whenline-lengthexceedsu16::MAX(#21329)
Contributors
- @njhearp
- @11happy
- @hugovk
- @Gankra
- @ntBre
- @pyscripter
- @danparizher
- @MichaReiser
- @henryiii
- @charliecloudberry
v0.14.4
Released on 2025-11-06.
Preview features
- [formatter] Allow newlines after function headers without docstrings (#21110)
- [formatter] Avoid extra parentheses for long
matchpatterns withascaptures (#21176) - [
refurb] Expand fix safety for keyword arguments andDecimals (FURB164) (#21259) - [
refurb] Preserve argument ordering in autofix (FURB103) (#20790)
Bug fixes
- [server] Fix missing diagnostics for notebooks (#21156)
- [
flake8-bugbear] Ignore non-NFKC attribute names inB009andB010(#21131) - [
refurb] Fix false negative for underscores before sign inDecimalconstructor (FURB157) (#21190) - [
ruff] Fix false positives on starred arguments (RUF057) (#21256)
Rule changes
- [
airflow] extend deprecated argumentconcurrencyinairflow..DAG(AIR301) (#21220)
Documentation
- Improve
extenddocs (#21135) - [
flake8-comprehensions] Fix typo inC416documentation (#21184) - Revise Ruff setup instructions for Zed editor (#20935)
Other changes
- Make
ruff analyze graphwork with jupyter notebooks (#21161)
Contributors
- @chirizxc
- @Lee-W
- @musicinmybrain
- @MichaReiser
- @tjkuson
- @danparizher
- @renovate
- @ntBre
- @gauthsvenkat
- @LoicRiegel
v0.14.3
Released on 2025-10-30.
Preview features
- Respect
--output-formatwith--watch(#21097) - [
pydoclint] Fix false positive on explicit exception re-raising (DOC501,DOC502) (#21011) - [
pyflakes] Revert to stable behavior if imports for module lie in alternate branches forF401(#20878) - [
pylint] Implementstop-iteration-return(PLR1708) (#20733) - [
ruff] Add support for additional eager conversion patterns (RUF065) (#20657)
Bug fixes
- Fix finding keyword range for clause header after statement ending with semicolon (#21067)
- Fix syntax error false positive on nested alternative patterns (#21104)
- [
ISC001] Fix panic when string literals are unclosed (#21034) - [
flake8-django] ApplyDJ001to annotated fields (#20907) - [
flake8-pyi] FixPYI034to not trigger on metaclasses (PYI034) (#20881) - [
flake8-type-checking] FixTC003false positive withfuture-annotations(#21125) - [
pyflakes] Fix false positive for__class__in lambda expressions within class definitions (F821) (#20564) - [
pyupgrade] Fix false positive forTypeVarwith default on Python <3.13 (UP046,UP047) (#21045)
Rule changes
- Add missing docstring sections to the numpy list (#20931)
- [
airflow] Extendairflow.models..Paramcheck (AIR311) (#21043) - [
airflow] Warn thatairflow....DAG.create_dagrunhas been removed (AIR301) (#21093) - [
refurb] Preserve digit separators inDecimalconstructor (FURB157) (#20588)
Server
- Avoid sending an unnecessary "clear diagnostics" message for clients supporting pull diagnostics (#21105)
Documentation
- [
flake8-bandit] Fix correct example forS308(#21128)
Other changes
- Clearer error message when
line-lengthgoes beyond threshold (#21072)
Contributors
- @danparizher
- @jvacek
- @ntBre
- @augustelalande
- @prakhar1144
- @TaKO8Ki
- @dylwil3
- @fatelei
- @ShaharNaveh
- @Lee-W
v0.14.2
Released on 2025-10-23.
Preview features
- [
flake8-gettext] Resolve qualified names and built-in bindings (INT001,INT002,INT003) (#19045)
Bug fixes
- Avoid reusing nested, interpolated quotes before Python 3.12 (#20930)
- Catch syntax errors in nested interpolations before Python 3.12 (#20949)
- [
fastapi] Handle ellipsis defaults inFAST002autofix (#20810) - [
flake8-simplify] SkipSIM911when unknown arguments are present (#20697) - [
pyupgrade] Always parenthesize assignment expressions in fix forf-string(UP032) (#21003) - [
pyupgrade] FixUP032conversion for decimal ints with underscores (#21022) - [
fastapi] Skip autofix for keyword and__debug__path params (FAST003) (#20960)
Rule changes
- [
flake8-bugbear] SkipB905andB912for fewer than two iterables and no starred arguments (#20998) - [
ruff] UseDiagnosticTagfor morepyflakesandpandasrules (#20801)
CLI
- Improve JSON output from
ruff rule(#20168)
Documentation
Other changes
- [syntax-errors] Name is parameter and global (#20426)
- [syntax-errors] Alternative
matchpatterns bind different names (#20682)
Contributors
v0.14.1
Released on 2025-10-16.
Preview features
- [formatter] Remove parentheses around multiple exception types on Python 3.14+ (#20768)
- [
flake8-bugbear] Omit annotation in preview fix forB006(#20877) - [
flake8-logging-format] Avoid dropping implicitly concatenated pieces in theG004fix (#20793) - [
pydoclint] Implementdocstring-extraneous-parameter(DOC102) (#20376) - [
pyupgrade] ExtendUP019to detecttyping_extensions.Text(UP019) (#20825) - [
pyupgrade] Fix false negative forTypeVarwith default argument innon-pep695-generic-class(UP046) (#20660)
Bug fixes
- Fix false negatives in
Truthiness::from_exprfor lambdas, generators, and f-strings (#20704) - Fix syntax error false positives for escapes and quotes in f-strings (#20867)
- Fix syntax error false positives on parenthesized context managers (#20846)
- [
fastapi] Fix false positives for path parameters that FastAPI doesn't recognize (FAST003) (#20687) - [
flake8-pyi] Fix operator precedence by adding parentheses when needed (PYI061) (#20508) - [
ruff] Suppress diagnostic for f-string interpolations with debug text (RUF010) (#20525)
Rule changes
- [
airflow] Add warning toairflow.datasets.DatasetEventusage (AIR301) (#20551) - [
flake8-bugbear] MarkB905andB912fixes as unsafe (#20695) - Use
DiagnosticTagfor more rules - changes display in editors (#20758,#20734)
Documentation
- Update Python compatibility from 3.13 to 3.14 in README.md (#20852)
- Update
lint.flake8-type-checking.quoted-annotationsdocs (#20765) - Update setup instructions for Zed 0.208.0+ (#20902)
- [
flake8-datetimez] Clarify docs for several rules (#20778) - Fix typo in
RUF015description (#20873)
Other changes
- Reduce binary size (#20863)
- Improved error recovery for unclosed strings (including f- and t-strings) (#20848)
Contributors
- @ntBre
- @Paillat-dev
- @terror
- @pieterh-oai
- @MichaReiser
- @TaKO8Ki
- @ageorgou
- @danparizher
- @mgaitan
- @augustelalande
- @dylwil3
- @Lee-W
- @injust
- @CarrotManMatt
v0.14.0
Released on 2025-10-07.
Breaking changes
- Update default and latest Python versions for 3.14 (#20725)
Preview features
- [
flake8-bugbear] Include certain guaranteed-mutable expressions: tuples, generators, and assignment expressions (B006) (#20024) - [
refurb] Add fixes forFURB101andFURB103(#20520) - [
ruff] ExtendFA102with listed PEP 585-compatible APIs (#20659)
Bug fixes
- [
flake8-annotations] Fix return type annotations to handle shadowed builtin symbols (ANN201,ANN202,ANN204,ANN205,ANN206) (#20612) - [
flynt] Fix f-string quoting for mixed quote joiners (FLY002) (#20662) - [
isort] Fix inserting required imports before future imports (I002) (#20676) - [
ruff] Handle argfile expansion errors gracefully (#20691) - [
ruff] SkipRUF051ifelse/elifblock is present (#20705) - [
ruff] Improve handling of intermixed comments inside from-imports (#20561)
Documentation
- [
flake8-comprehensions] Clarify fix safety documentation (C413) (#20640)
Contributors
Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - "0 0 4 ? * MON *" (UTC).
🚦 Automerge: Enabled.
♻ 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.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.