Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Jan 1, 2026

Note: This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
black (changelog) ==25.9.0==25.12.0 age confidence pre-commit-python minor
coverage ==7.9.1==7.13.1 age confidence dependency-groups minor
markdown (changelog) ==3.8.2==3.10 age confidence dependency-groups minor
mkdocs-macros-plugin ==1.3.7==1.5.0 age confidence dependency-groups minor
mkdocs-material (changelog) ==9.6.15==9.7.1 age confidence dependency-groups minor
mkdocstrings (changelog) ==0.29.1==1.0.0 age confidence dependency-groups major
mkdocstrings-python (changelog) ==1.16.12==2.0.1 age confidence dependency-groups major
mypy (changelog) ==1.16.1==1.19.1 age confidence dependency-groups minor
pathspec >=0.10.3, <1>=1.0.1, <2 age confidence project.dependencies major
pyright ==1.1.402==1.1.407 age confidence dependency-groups patch
pytest (changelog) ==8.4.1==9.0.2 age confidence dependency-groups major
pytest-asyncio (changelog) ==1.0.0==1.3.0 age confidence dependency-groups minor
pytest-mock (changelog) ==3.14.1==3.15.1 age confidence dependency-groups minor
pytest-subtests ==0.14.2==0.15.0 age confidence dependency-groups minor
types-markdown (changelog) ==3.8.0.20250415==3.10.0.20251106 age confidence dependency-groups minor
woodruffw/zizmor-pre-commit v1.19.0v1.20.0 age confidence repository minor

Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.


Release Notes

psf/black (black)

v25.12.0

Compare Source

Highlights
  • Black no longer supports running with Python 3.9 (#​4842)
Stable style
  • Fix bug where comments preceding # fmt: off/# fmt: on blocks were incorrectly
    removed, particularly affecting Jupytext's # %% [markdown] comments (#​4845)
  • Fix crash when multiple # fmt: skip comments are used in a multi-part if-clause, on
    string literals, or on dictionary entries with long lines (#​4872)
  • Fix possible crash when fmt: directives aren't on the top level (#​4856)
Preview style
  • Fix fmt: skip skipping the line after instead of the line it's on (#​4855)
  • Remove unnecessary parentheses from the left-hand side of assignments while preserving
    magic trailing commas and intentional multiline formatting (#​4865)
  • Fix fix_fmt_skip_in_one_liners crashing on with statements (#​4853)
  • Fix fix_fmt_skip_in_one_liners crashing on annotated parameters (#​4854)
  • Fix new lines being added after imports with # fmt: skip on them (#​4894)
Packaging
  • Releases now include arm64 Windows binaries and wheels (#​4814)
Integrations
  • Add output-file input to GitHub Action psf/black to write formatter output to a
    file for artifact capture and log cleanliness (#​4824)

v25.11.0

Compare Source

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: off and # fmt: on were reformatted (#​4811)
  • Comments containing fmt directives now preserve their exact formatting instead of
    being normalized (#​4811)
Preview style
  • Move multiline_string_handling from --unstable to --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_liners preview feature to respect # fmt: skip for compound
    statements with semicolon-separated bodies (#​4800)
Configuration
  • Add no_cache option 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/black to support the required-version major-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)
coveragepy/coveragepy (coverage)

v7.13.1

Compare Source

  • Added: the JSON report now includes a "start_line" key for function and
    class regions, indicating the first line of the region in the source. Closes
    issue 2110_.

  • Added: The debug data command now takes file names as arguments on the
    command line, so you can inspect specific data files without needing to set
    the COVERAGE_FILE environment variable.

  • Fix: the JSON report used to report module docstrings as executed lines,
    which no other report did, as described in issue 2105_. This is now fixed,
    thanks to Jianrong Zhao.

  • Fix: coverage.py uses a more disciplined approach to detecting where
    third-party code is installed, and avoids measuring it. This shouldn't change
    any behavior. If you find that it does, please get in touch.

  • Performance: data files that will be combined now record their hash as part
    of the file name. This lets us skip duplicate data more quickly, speeding the
    combining step.

  • Docs: added a section explaining more about what is considered a missing
    branch and how it is reported: :ref:branch_explain, as requested in issue 1597. Thanks to Ayisha Mohammed <pull 2092_>.

  • Tests: the test suite misunderstood what core was being tested if
    COVERAGE_CORE wasn't set on 3.14+. This is now fixed, closing issue 2109_.

.. _issue 1597: #​1597
.. _pull 2092: #​2092
.. _issue 2105: #​2105
.. _issue 2109: #​2109
.. _issue 2110: #​2110

.. _changes_7-13-0:

v7.13.0

Compare Source

  • Feature: coverage.py now supports :file:.coveragerc.toml configuration
    files. These files use TOML syntax and take priority over
    :file:pyproject.toml but lower priority than :file:.coveragerc files.
    Closes issue 1643_ thanks to Olena Yefymenko <pull 1952_>_.

  • Fix: we now include a permanent .pth file which is installed with the code,
    fixing issue 2084. In 7.12.1b1 this was done incorrectly: it didn't work
    when using the source wheel (py3-none-any). This is now fixed. Thanks,
    Henry Schreiner <pull 2100_>
    .

  • Deprecated: when coverage.py is installed, it creates three command entry
    points: coverage, coverage3, and coverage-3.10 (if installed for
    Python 3.10). The second and third of these are not needed and will
    eventually be removed. They still work for now, but print a message about
    their deprecation.

.. _issue 1643: #​1643
.. _pull 1952: #​1952
.. _pull 2100: #​2100

.. _changes_7-12-1b1:

v7.12.0

Compare Source

  • The HTML report now shows separate coverage totals for statements and
    branches, as well as the usual combined coverage percentage. Thanks to Ryuta
    Otsuka for the discussion <issue 2081_>_ and the implementation <pull 2085_>_.

  • The JSON report now includes separate coverage totals for statements and
    branches, thanks to Ryuta Otsuka <pull 2090_>_.

  • Fix: except* clauses were not handled properly under the "sysmon"
    measurement core, causing KeyError exceptions as described in issue 2086_.
    This is now fixed.

  • Fix: we now defend against aggressive mocking of open() that could cause
    errors inside coverage.py. An example of a failure is in issue 2083_.

  • Fix: in unusual cases where a test suite intentionally exhausts the system's
    file descriptors to test handling errors in open(), coverage.py would
    fail when trying to open source files, as described in issue 2091_. This
    is now fixed.

  • A small tweak to the HTML report: file paths now use thin spaces around
    slashes to make them easier to read.

.. _issue 2081: #​2081
.. _issue 2083: #​2083
.. _pull 2085: #​2085
.. _issue 2086: #​2086
.. _pull 2090: #​2090
.. _issue 2091: #​2091

.. _changes_7-11-3:

v7.11.3

Compare Source

  • Fix: the 7.11.1 changes meant that conflicts between a requested measurement
    core and other settings would raise an error. This was a breaking change from
    previous behavior, as reported in issue 2076_ and issue 2078_.

    The previous behavior has been restored: when the requested core conflicts
    with other settings, another core is used instead, and a warning is issued.

  • For contributors: the repo has moved from Ned's nedbat GitHub account_ to
    the coveragepy GitHub organization_. The default branch has changed from
    master to main.

.. _issue 2076: #​2076
.. _issue 2078: #​2078
.. _nedbat GitHub account: https://github.com/nedbat
.. _coveragepy GitHub organization: https://github.com/coveragepy

.. _changes_7-11-2:

v7.11.2

Compare Source

  • Fix: using the "sysmon" measurement core in 7.11.1, if Python code was
    claimed to come from a non-Python file, a NotPython exception could be
    raised. This could happen for example with Jinja templates compiled to
    Python, as reported in issue 2077_. This is now fixed.

  • Doc: corrected the first entry in the 7.11.1 changelog.

.. _issue 2077: #​2077

.. _changes_7-11-1:

v7.11.1

Compare Source

  • Fix: some chanages to details of how the measurement core is chosen, and how
    conflicting settings are handled. The "sysmon" core cannot be used with some
    conurrency settings, with dynamic context, and in Python 3.12/3.13, with
    branch measurement.

    • If the core is not specified and defaults to "sysmon" (Python 3.14+), but
      other settings conflict with sysmon, then the "ctrace" core will be used
      instead with no warning. For concurrency conflicts, this used to produce an
      error, as described in issue 2064_.

    • If the "sysmon" core is explicitly requested in your configuration, but
      other settings conflict, an error is now raised. This used to produce a
      warning.

  • Fix: some multi-line case clauses or for loops (and probably other
    constructs) could cause incorrect claims of missing branches with the
    sys.monitoring core, as described in issue 2070_. This is now fixed.

  • Fix: when running in pytest under coverage, a breakpoint() would stop in
    the wrong frame, one level down from where it should, as described in issue 1420_. This was due to a coverage change in v6.4.1 that seemed to give a
    slight performance improvement, but I couldn't reproduce the performance
    gain, so it's been reverted, fixing the debugger problem.

  • A new debug option --debug=core shows which core is in use and why.

  • Split sqlite debugging information out of the sys :ref:coverage debug <cmd_debug> and :ref:cmd_run_debug options since it's bulky and not
    very useful.

  • Updated the :ref:howitworks page to better describe the three different
    measurement cores.

.. _issue 1420: #​1420
.. _issue 2064: #​2064
.. _issue 2070: #​2070

.. _changes_7-11-0:

v7.11.0

Compare Source

  • Dropped support for Python 3.9, declared support for Python 3.15 alpha.

.. _changes_7-10-7:

v7.10.7

Compare Source

  • Performance: with branch coverage in large files, generating HTML, JSON, or
    LCOV reports could take far too long due to some quadratic behavior when
    creating the function and class index pages. This is now fixed, closing
    issue 2048_. Thanks to Daniel Diniz for help diagnosing the problem.

  • Most warnings and a few errors now have links to a page in the docs
    explaining the specific message. Closes issue 1921_.

.. _issue 1921: #​1921
.. _issue 2048: #​2048

.. _changes_7-10-6:

v7.10.6

Compare Source

  • Fix: source directories were not properly communicated to subprocesses
    that ran in different directories, as reported in issue 1499_. This is now
    fixed.

  • Performance: Alex Gaynor continues fine-tuning <pull 2038_>_ the speed of
    combination, especially with many contexts.

.. _issue 1499: #​1499
.. _pull 2038: #​2038

.. _changes_7-10-5:

v7.10.5

Compare Source

  • Big speed improvements for coverage combine: it's now about twice as
    fast! Huge thanks to Alex Gaynor for pull requests 2032 <pull 2032_>,
    2033 <pull 2033_>
    , and 2034 <pull 2034_>_.

.. _pull 2032: #​2032
.. _pull 2033: #​2033
.. _pull 2034: #​2034

.. _changes_7-10-4:

v7.10.4

Compare Source

  • Added patch = fork for times when the built-in forking support is
    insufficient.

  • Fix: patch = execv also inherits the entire coverage configuration now.

.. _changes_7-10-3:

v7.10.3

Compare Source

  • Fixes for patch = subprocess:

    • If subprocesses spawned yet more subprocesses simultaneously, some coverage
      could be missed. This is now fixed, closing issue 2024_.

    • If subprocesses were created in other directories, their data files were
      stranded there and not combined into the totals, as described in issue 2025_. This is now fixed.

    • On Windows (or maybe only some Windows?) the patch would fail with a
      ModuleNotFound error trying to import coverage. This is now fixed,
      closing issue 2022_.

    • Originally only options set in the coverage configuration file would apply
      to subprocesses. Options set on the coverage run command line (such as
      --branch) wouldn't be communicated to the subprocesses. This could
      lead to combining failures, as described in issue 2021_. Now the entire
      configuration is used in subprocesses, regardless of its origin.

    • Added debug=patch to help diagnose problems.

  • Fix: really close all SQLite databases, even in-memory ones. Closes issue 2017_.

.. _issue 2017: #​2017
.. _issue 2021: #​2021
.. _issue 2022: #​2022
.. _issue 2024: #​2024
.. _issue 2025: #​2025

.. _changes_7-10-2:

v7.10.2

Compare Source

  • Fix: some code with NOP bytecodes could report missing branches that are
    actually executed. This is now fixed, closing issue 1999_. Python 3.9
    still shows the problem.

.. _issue 1999: #​1999

.. _changes_7-10-1:

v7.10.1

Compare Source

  • Fix: the exclusion for if TYPE_CHECKING: was wrong: it marked the branch
    as partial, but it should have been a line exclusion so the entire clause
    would be excluded. Improves issue 831_.

  • Fix: changed where .pth files are written for patch = subprocess, closing
    issue 2006_.

.. _issue 2006: #​2006

.. _changes_7-10-0:

v7.10.0

Compare Source

  • A new configuration option: ":ref:config_run_patch" specifies named patches
    to work around some limitations in coverage measurement. These patches are
    available:

    • patch = _exit lets coverage save its data even when :func:os._exit() <python:os._exit> is used to abruptly end the process. This closes
      long-standing issue 310_ as well as its duplicates: issue 312, issue 1673, issue 1845, and issue 1941.

    • patch = subprocess measures coverage in Python subprocesses created
      with :mod:subprocess, :func:os.system, or one of the :func:execv <python:os.execl> or :func:spawnv <python:os.spawnl> family of
      functions. Closes old issue 367, its duplicate issue 378 and old
      issue 689_.

    • patch = execv adjusts the :func:execv <python:os.execl> family of
      functions to save coverage data before ending the current program and
      starting the next. Not available on Windows. Closes issue 43_ after 15
      years!

  • The HTML report now dimly colors subsequent lines in multi-line statements.
    They used to have no color. This gives a better indication of the amount of
    code missing in the report. Closes issue 1308_.

  • Two new exclusion patterns are part of the defaults: ... is automatically
    excluded as a line and if TYPE_CHECKING: is excluded as a branch. Closes
    issue 831_.

  • A new command-line option: --save-signal=USR1 specifies a signal that
    coverage.py will listen for. When the signal is sent, the coverage data will
    be saved. This makes it possible to save data from within long-running
    processes. Thanks, Arkady Gilinsky <pull 1998_>_.

  • A new configuration option: ":ref:config_report_partial_also" is a list of
    regexes to add as pragmas for partial branches. This parallels the
    ":ref:config_report_exclude_also" setting for adding line exclusion
    patterns.

  • A few file path configuration settings didn't allow for tilde expansion:
    :ref:config_json_output, :ref:config_lcov_output and
    :ref:config_run_debug_file. This is now fixed.

  • Wheels are included for 3.14 now that 3.14 rc1 is available.

  • We no longer ship a PyPy-specific wheel. PyPy will install the pure-Python
    wheel. Closes issue 2001_.

  • In the very unusual situation of not having a current frame, coverage no
    longer crashes when using the sysmon core, fixing issue 2005_.

.. _issue 43: #​43
.. _issue 310: #​310
.. _issue 312: #​312
.. _issue 367: #​367
.. _issue 378: #​378
.. _issue 689: #​689
.. _issue 831: #​831
.. _issue 1308: #​1308
.. _issue 1673: #​1673
.. _issue 1845: #​1845
.. _issue 1941: #​1941
.. _pull 1998: #​1998
.. _issue 2001: #​2001
.. _issue 2005: #​2005

.. _changes_7-9-2:

v7.9.2

Compare Source

  • Fix: complex conditionals within a line might cause a KeyError when using
    sys.monitoring, as reported in issue 1991_. This is now fixed.

  • Fix: we can now measure coverage for code in Python archive (.par) files.
    Thanks, Itamer Oren <pull 1984_>_.

.. _pull 1984: #​1984
.. _issue 1991: #​1991

.. _changes_7-9-1:

Python-Markdown/markdown (markdown)

v3.10

Compare Source

v3.9

Compare Source

fralau/mkdocs_macros_plugin (mkdocs-macros-plugin)

v1.5.0

Compare Source

  • Added: For each push, testing on github for versions Python 3.8 to 3.12
  • Fixed: bug in import of packages when not in source dir (#​278)

v1.4.1

Compare Source

  • Added: support for j2_extensions paramater in config file (#​272)
  • Fixed: missing dependency declaration on requests (#​269)

v1.4.0

Compare Source

  • Removed: auto-install of missing pluglet (meaningful error message #​262)
  • Fixed: error with yaml dumps (#​258)
  • Fixed: detection of Jinja2, to allow title rendering (#​266)
  • Small improvements to documentation

v1.3.9

Compare Source

squidfunk/mkdocs-material (mkdocs-material)

v9.7.1: mkdocs-material-9.7.1

Compare Source

  • Updated requests to 2.30+ to mitigate CVE in urllib
  • Fixed privacy plugin not picking up protocol-relative URLs
  • Fixed #​8542: false positives and negatives captured in privacy plugin

v9.7.0: mkdocs-material-9.7.0

Compare Source

[!WARNING]

Material for MkDocs is now in maintenance mode

This is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on Zensical, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.

Read the full announcement on our blog

This release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.

Note on deprecated plugins: The projects and typeset plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.

Changes:

  • Added support for projects plugin (for compat, now deprecated)
  • Added support for typeset plugin (for compat, now deprecated)
  • Added support for pinned blog posts and author profiles
  • Added support for customizing pagination for blog index pages
  • Added support for customizing blog category sort order
  • Added support for staying on page when switching languages
  • Added support for disabling tags in table of contents
  • Added support for nested tags and shadow tags
  • Added support for footnote tooltips
  • Added support for instant previews
  • Added support for instant prefetching
  • Added support for custom social card layouts
  • Added support for custom social card background images
  • Added support for selectable rangs in code blocks
  • Added support for custom selectors for code annotations
  • Added support for configurable log level in privacy plugin
  • Added support for processing of external links in privacy plugin
  • Added support for automatic image optimization via optimize plugin
  • Added support for navigation paths (breadcrumbs)
  • Fixed #​8519: Vector accents do not render when using KaTeX

v9.6.23: mkdocs-material-9.6.23

Compare Source

  • Updated Burmese translation

v9.6.22: mkdocs-material-9.6.22

Compare Source

  • Updated Georgian translation

v9.6.21: mkdocs-material-9.6.21

Compare Source

  • Updated Serbian translations
  • Fixed #​8458: Temporary pin of click dependency

v9.6.20: mkdocs-material-9.6.20

Compare Source

  • Fixed #​8446: Deprecation warning as of Python 3.14 in Emoji extension
  • Fixed #​8440: & character not escaped in search highlighting
  • Fixed #​8439: FontAwesome icons color not set in social cards (regression)

v9.6.19: mkdocs-material-9.6.19

Compare Source

  • Added support for Python 3.14
  • Updated Bahasa Malaysia translations

v9.6.18: mkdocs-material-9.6.18

Compare Source

  • Updated Azerbaijani translations
  • Fixed last compat issues with minijinja, now 100% compatible

v9.6.17: mkdocs-material-9.6.17

Compare Source

  • Fixed #​8396: Videos do not autoplay when inside a content tab
  • Fixed #​8394: Stroke width not effective in Mermaid.js diagrams
  • Fixed disappearing version selector when hiding page title

v9.6.16: mkdocs-material-9.6.16

Compare Source

  • Fixed #​8349: Info plugin doesn't correctly detect virtualenv in some cases
  • Fixed #​8334: Find-in-page detects matches in hidden search result list
mkdocstrings/mkdocstrings (mkdocstrings)

v1.0.0

Compare Source

Compare with 0.30.1

Breaking Changes
  • BaseHandler.name: Attribute value was changed: '' -> unset
  • BaseHandler.domain: Attribute value was changed: '' -> unset
  • BaseHandler.fallback_config: Public object was removed
  • BaseHandler.__init__(args): Parameter was removed
  • BaseHandler.__init__(kwargs): Parameter was removed
  • BaseHandler.__init__(theme): Parameter was added as required
  • BaseHandler.__init__(custom_templates): Parameter was added as required
  • BaseHandler.__init__(mdx): Parameter was added as required
  • BaseHandler.__init__(mdx_config): Parameter was added as required
  • BaseHandler.update_env(args): Parameter was removed
  • BaseHandler.update_env(kwargs): Parameter was removed
  • BaseHandler.update_env(config): Parameter was added as required
  • Handlers.get_anchors: Public object was removed (import from mkdocstrings directly)
  • mkdocstrings.plugin: Public module was removed (import from mkdocstrings directly)
  • mkdocstrings.loggers: Public module was removed (import from mkdocstrings directly)
  • mkdocstrings.inventory: Public module was removed (import from mkdocstrings directly)
  • mkdocstrings.extension: Public module was removed (import from mkdocstrings directly)
  • mkdocstrings.handlers: Public module was removed (import from mkdocstrings directly)
Code Refactoring
  • Remove deprecated code before v1 (de34044 by Timothée Mazzucotelli).
  • Expect Zensical to pass extension configuration instead of loading it again from YAML (6b73d5a by Timothée Mazzucotelli).
  • Expose the Markdown extension, to make mkdocstrings compatible with Zensical (6de2667 by Timothée Mazzucotelli).

v0.30.1

Compare Source

Compare with 0.30.0

Bug Fixes
  • Create default SSL context in main thread before downloading inventories (eec7fb4 by Çağlar Kutlu). Issue-796, PR-797

v0.30.0

Compare Source

Compare with 0.30.0

Bug Fixes
  • Create default SSL context in main thread before downloading inventories (eec7fb4 by Çağlar Kutlu). Issue-796, PR-797
mkdocstrings/python (mkdocstrings-python)

v2.0.1

Compare Source

Compare with 2.0.0

Bug Fixes
  • Don't ignore filters when category grouping is disabled (63aa1b0 by Timothée Mazzucotelli). Issue-324
Code Refactoring
  • Localize more contents in templates (854b6a6 by Zhikang Yan). PR-321
  • Improve ja/zh translations (b83107c by Zhikang Yan). PR-322

v2.0.0

Compare Source

Compare with 1.19.0

Code Refactoring
  • Remove deprecated code for v2 (c10afdb by Timothée Mazzucotelli).

v1.19.0

Compare Source

Compare with 1.18.2

Features
  • Release scoped and relative cross-references (872afc5 by Timothée Mazzucotelli).
  • Release __all__ ordering feature (84aaebc by Timothée Mazzucotelli).
  • Release public filter feature (3be14cc by Timothée Mazzucotelli).
  • Release backlinks feature (ae7cc2d by Timothée Mazzucotelli).
  • Release expression modernization feature (dbadd1e by Timothée Mazzucotelli).
  • Release visually-lighter admonitions for source code blocks (fdaeb48 by Timothée Mazzucotelli).
  • Release inheritance diagram features (669b42e by Timothée Mazzucotelli).
Code Refactoring
  • Update code base for Python 3.10 (b696ed2 by Timothée Mazzucotelli).

v1.18.2

Compare Source

Compare with 1.18.1

Bug Fixes
  • Normalize spaces to underscores when passing object to rendering context using its kind as key (6f79be0 by Timothée Mazzucotelli). Issue-mkdocstrings-791

v1.18.1

Compare Source

Compare with 1.18.0

Bug Fixes
  • Don't show implementation signature of __init__ method when overloads_only is true and it is merged into the class (9ef620f by Timothée Mazzucotelli). Issue-308

v1.18.0

Compare Source

Compare with 1.17.0

Features
Bug Fixes
  • Increase maximum recursion limit in case of deeply nested ASTs (rare occurrence) (6004ccf by Timothée Mazzucotelli). Issue-griffe-402

v1.17.0

Compare Source

Compare with 1.16.12

Features
Code Refactoring
  • Deprecate locale option in favor of mkdocstrings' (17f71ba by Timothée Mazzucotelli). PR-288
python/mypy (mypy)

v1.19.1

Compare Source

  • Fix noncommutative joins with bounded TypeVars (Shantanu, PR 20345)
  • Respect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, PR 20372)
  • Allow types.NoneType in match cases (A5rocks, PR 20383)
  • Fix mypyc generator regression with empty tuple (BobTheBuidler, PR 20371)
  • Fix crash involving Unpack-ed TypeVarTuple (Shantanu, PR 20323)
  • Fix crash on star import of redefinition (Ivan Levkivskyi, PR 20333)
  • Fix crash on typevar with forward ref used in other module (Ivan Levkivskyi, PR 20334)
  • Fail with an explicit error on PyPy (Ivan Levkivskyi, PR 20389)

v1.19.0

Compare Source

v1.18.2

Compare Source

  • Fix crash on recursive alias (Ivan Levkivskyi, PR 19845)
  • Add additional guidance for stubtest errors when runtime is object.__init__ (Stephen Morton, PR 19733)
  • Fix handling of None values in f-string expressions in mypyc (BobTheBuidler, PR 19846)

v1.18.1

Compare Source

We’ve just uploaded mypy 1.18.1 to the Python Package Index (PyPI).
Mypy is a static type checker for Python. This release includes new features, performance
improvements and bug fixes. You can install it as follows:

python3 -m pip install -U mypy

You can read the full documentation for this release on Read the Docs.

Mypy Performance Improvements

Mypy 1.18.1 includes numerous performance improvements, resulting in about 40% speedup
compared to 1.17 when type checking mypy itself. In extreme cases, the improvement
can be 10x or higher. The list below is an overview of the various mypy optimizations.
Many mypyc improvements (discussed in a separate section below) also improve performance.

Type caching optimizations have a small risk of causing regressions. When
reporting issues with unexpected inferred types, please also check if
--disable-expression-cache will work around the issue, as it turns off some of
these optimizations.

  • Improve self check performance by 1.8% (Jukka Lehtosalo, PR 19768, 19769, 19770)
  • Optimize fixed-format deserialization (Ivan Levkivskyi, PR 19765)
  • Use macros to optimize fixed-format deserialization (Ivan Levkivskyi, PR 19757)
  • Two additional micro‑optimizations (Ivan Levkivskyi, PR 19627)
  • Another set of micro‑optimizations (Ivan Levkivskyi, PR 19633)
  • Cache common types (Ivan Levkivskyi, PR 19621)
  • Skip more method bodies in third‑party libraries for speed (Ivan Levkivskyi, PR 19586)
  • Simplify the representation of callable types (Ivan Levkivskyi, PR 19580)
  • Add cache for types of some expressions (Ivan Levkivskyi, PR 19505)
  • Use cache for dictionary expressions (Ivan Levkivskyi, PR 19536)
  • Use cache for binary operations (Ivan Levkivskyi, PR 19523)
  • Cache types of type objects (Ivan Levkivskyi, PR 19514)
  • Avoid duplicate work when checking boolean operations (Ivan Levkivskyi, PR 19515)
  • Optimize generic inference passes (Ivan Levkivskyi, PR 19501)
  • Speed up the default plugin (Jukka Lehtosalo, PRs 19385 and 19462)
  • Remove nested imports from the default plugin (Ivan Levkivskyi, PR 19388)
  • Micro‑optimize type expansion (Jukka Lehtosalo, PR 19461)
  • Micro‑optimize type indirection (Jukka

Configuration

📅 Schedule: Branch creation - "every 3 months on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, 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.

@renovate renovate bot force-pushed the renovate/most-testlint-dependencies branch 3 times, most recently from 5a1475d to 80a0e3d Compare January 6, 2026 09:30
@renovate renovate bot force-pushed the renovate/most-testlint-dependencies branch from 80a0e3d to f485d9e Compare January 6, 2026 14:19
@AlexWaygood AlexWaygood merged commit bfe312a into main Jan 7, 2026
20 checks passed
@AlexWaygood AlexWaygood deleted the renovate/most-testlint-dependencies branch January 7, 2026 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants