Skip to content

Bump mypy from 2.2.0 to 2.3.0 - #139

Merged
docktermj merged 1 commit into
mainfrom
dependabot/pip/mypy-2.3.0
Aug 6, 2026
Merged

Bump mypy from 2.2.0 to 2.3.0#139
docktermj merged 1 commit into
mainfrom
dependabot/pip/mypy-2.3.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 4, 2026

Copy link
Copy Markdown
Contributor

Bumps mypy from 2.2.0 to 2.3.0.

Changelog

Sourced from mypy's changelog.

Mypy Release Notes

Next Release

Packaging changes

Mypy 2.3

We've just uploaded mypy 2.3.0 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.

The Upcoming Switch to the New Native Parser

We are planning to enable the new native parser (--native-parser) by default soon. We recommend that you test the native parser in your projects and report any issues in the mypy issue tracker.

Mypyc Free-threading Memory Safety

Free-threaded Python builds that don't have the GIL require additional synchronization primitives or lock-free algorithms to ensure memory safety when there are race conditions (for example, when a thread reads a list item while another thread writes the same list item concurrently). This release greatly improves memory safety of free threading.

List operations are now memory-safe on free threaded Python builds, even in the presence of race conditions. This has some performance cost. For list-heavy workloads, using librt.vecs.vec instead of list is often significantly faster, but note that vec is not (and likely won't be) fully memory safe, and the user is expected to avoid race conditions. The newly introduced librt.threading.Lock helps with this. Using variable-length tuples can also be more efficient than lists, since tuples are immutable and don't require expensive synchronization to ensure memory safety.

Instance attribute access is also (mostly) memory safe now on free-threaded builds in the presence of race conditions. We are planning to fix the remaining unsafe cases in a future release.

Full list of changes:

  • Make attribute access memory safe on free-threaded builds (Jukka Lehtosalo, PR 21705)
  • Fix unsafe borrowing of instance attributes with free-threading (Jukka Lehtosalo, PR 21688)
  • Make list get/set item more memory safe on free-threaded builds (Jukka Lehtosalo, PR 21683)
  • Don't borrow list items on free-threaded builds (Jukka Lehtosalo, PR 21679)
  • Make multiple assignment from list memory-safe on free-threaded builds (Jukka Lehtosalo, PR 21684)

... (truncated)

Commits
  • 8aabf84 Drop +dev from version
  • 4d8ad2a Update changelog for 2.3 release (#21728)
  • 2c21546 [mypyc] Update documentation of race conditions under free threading (#21726)
  • a9f62a3 [mypyc] Make attribute access memory safe on free-threaded builds (#21705)
  • 0faa413 Use PYODIDE environment variable for Emscripten cross-compilation detection...
  • 3d75cdb [mypyc] Borrow final attributes more aggressively (#21702)
  • 24c237d [mypyc] Improve documentation of Final (#21713)
  • b5be217 [mypyc] Update free threading Python compatibility docs (#21711)
  • cbcb51a Narrow for frozendict membership check (#21709)
  • af2bc0f Sync typeshed (#21707)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Aug 4, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner August 4, 2026 08:53
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

🤖 Claude Code Review

This is a minimal dependency-bump PR (mypy 2.2.0 → 2.3.0 in pyproject.toml). Here's the review:

Code Quality

  • Style conventions: Single-line version pin change, consistent with surrounding pyproject.toml formatting (pyproject.toml:77).
  • No commented-out code
  • Meaningful variable names: N/A, no code changes.
  • DRY principle: N/A
  • Defects: No logic changes; this is a pure version bump. mypy 2.3.0 is a routine dev-tooling release — low risk. One thing worth a quick manual check outside this diff: since mypy is a lint/type-check dependency, a minor version bump can introduce new default checks or stricter inference that cause previously-passing mypy src/ runs to start failing. Worth confirming CI's mypy job (.github/workflows/) actually passed on this PR before merging, but nothing in the diff itself is defective.
  • CLAUDE.md considerations: No changes to .claude/CLAUDE.md in this diff; existing guidance remains generic/local-dev-agnostic.

Testing

  • N/A — dependency version bump only, no functional code touched. No new unit/integration tests expected or required.

Documentation

  • ⚠️ CHANGELOG.md not updated — consistent with prior dependency-bump commits in this repo's history (e.g., 26414c9, e3404b1, e6b74fa), none of which updated CHANGELOG.md either. Treating this as an accepted convention for automated dependency bumps rather than a defect, but flagging for awareness.
  • ✅ Markdown/CommonMark: no markdown files touched.
  • ✅ README/API docs: N/A, no user-facing change.

Security

  • ✅ No hardcoded credentials
  • ✅ No input validation concerns (build config only)
  • ✅ No error handling concerns
  • ✅ No sensitive data in logs
  • No .lic files found in the repo (checked via find . -iname "*.lic"); no AQAAAD-prefixed license strings present.

Summary

Trivial, low-risk dependency bump. No blocking issues. Only note is that CHANGELOG.md isn't touched, but that matches this repo's established pattern for dependency-bump PRs.

Automated code review analyzing defects and coding standards

Bumps [mypy](https://github.com/python/mypy) from 2.2.0 to 2.3.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 2.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/mypy-2.3.0 branch from 7a1846d to f44c89f Compare August 6, 2026 08:56
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

🤖 Claude Code Review

Confirmed this is a routine, single-line dependency version bump (mypy 2.2.02.3.0 in pyproject.toml), consistent with prior bumps in the commit history (e.g. e6b74fa, 26414c9). Past bumps of this kind did not touch CHANGELOG.md, so that's consistent with precedent.

Review

Code Quality

  • ✅ Style/formatting — single version-pin change, correctly quoted/formatted, matches surrounding lines (pyproject.toml:77).
  • ✅ No commented-out code.
  • ✅ N/A — no new variables/identifiers introduced.
  • ✅ N/A — no logic duplicated.
  • ✅ No defects — a pinned version bump carries no logic risk. mypy is a dev/lint dependency only (lint extra group), so it has zero runtime/security blast radius on src/.
  • .claude/CLAUDE.md unaffected by this diff; already generic/portable, no local-machine-specific content to flag.

Testing

  • ✅ N/A — no functional code changed; nothing to unit/integration test.
  • ✅ N/A — no new edge cases introduced.
  • ✅ N/A — coverage unaffected.

Documentation

  • ✅ README/API docs — not applicable, no user-facing change.
  • CHANGELOG.md — not updated, but consistent with prior dependency-bump commits (26414c9, e3404b1, e6b74fa) which also skipped it. Not a blocker.
  • ✅ No inline comments needed.

Security

  • ✅ No hardcoded credentials.
  • ✅ N/A — no input handling changed.
  • ✅ N/A — no error handling changed.
  • ✅ No sensitive data touched.
  • ✅ No .lic files or AQAAAD-prefixed strings present in this diff.

Verdict

No issues found. This is a low-risk, mechanical lint-dependency bump that matches the pattern of prior accepted PRs in this repo. Safe to merge, contingent on CI (pylint across 3.10–3.13) passing with the new mypy version.

Automated code review analyzing defects and coding standards

@docktermj
docktermj merged commit cfc92c1 into main Aug 6, 2026
12 checks passed
@docktermj
docktermj deleted the dependabot/pip/mypy-2.3.0 branch August 6, 2026 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants