<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/the-mypy-blog-mypy-1-12-released-iytiwd3c2" -->

---
title: The Mypy Blog: Mypy 1.12 Released | daily.dev
description: Mypy 1.12 adds default support for Python 3.12's PEP 695 generic syntax, partial support for Python 3.13 (including mypyc compiled binaries), and improved...
canonical: https://daily.dev/posts/the-mypy-blog-mypy-1-12-released-iytiwd3c2
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: The Mypy Blog: Mypy 1.12 Released | daily.dev
og:description: Mypy 1.12 adds default support for Python 3.12's PEP 695 generic syntax, partial support for Python 3.13 (including mypyc compiled binaries), and improved...
og:url: https://daily.dev/posts/the-mypy-blog-mypy-1-12-released-iytiwd3c2
og:image: https://api.daily.dev/og/posts/IYtIWD3C2.png
og:image:alt: The Mypy Blog: Mypy 1.12 Released
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# The Mypy Blog: Mypy 1.12 Released

**[mypy - Optional Static Typing for Python](https://daily.dev/sources/mypy-lang)** · 10 min read · 0 upvotes · 0 comments

## Summary

Mypy 1.12 adds default support for Python 3.12's PEP 695 generic syntax, partial support for Python 3.13 (including mypyc compiled binaries), and improved union type inference for conditional expressions. It also introduces ReadOnly support for TypedDict items (PEP 705) and an experimental inline anonymous TypedDict syntax. The release announces that Python 3.8 support will be dropped in an upcoming feature release, and that --local-partial-types will become the default in mypy 2.0, which may require code changes. Numerous stubgen, stubtest, and typeshed fixes round out the release.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://mypy-lang.blogspot.com/2024/10/mypy-112-released.html>

## Questions this post answers

### Does mypy 1.12 support the new Python 3.12 generic syntax from PEP 695 by default?

Yes, mypy 1.12 enables PEP 695 type parameter syntax by default, documented and no longer experimental. It was previously available only behind a feature flag in mypy 1.11. This includes generic functions like def f[T](x: T) -> T, generic classes like class C[T], and new-style type aliases like type A[T] = C[list[T]].

_Developers adopting new Python generics syntax can track mypy compatibility changes on daily.dev._

### When will mypy drop support for Python 3.8?

Mypy plans to drop support for Python 3.8 in its next feature release or the one after that, since Python 3.8 reaches end of life in October 2024. Developers still targeting Python 3.8 should plan their mypy version pinning accordingly before upgrading further.

_Teams planning Python version upgrades can follow tooling deprecation timelines like this on daily.dev._

### What will change in mypy 2.0 regarding local partial types?

Mypy plans to enable --local-partial-types by default in mypy 2.0, a change that will often require at least minor code changes. This setting is already implicitly enabled by the mypy daemon, so the change makes daemon and non-daemon behavior consistent; users are advised to enable it now, via local_partial_types = True in config, or explicitly disable it to prepare.

_Developers preparing for breaking config changes can track upcoming tooling defaults on daily.dev._

## Similar posts on daily.dev

- [The Mypy Blog: Mypy 2.4 Released](https://daily.dev/posts/the-mypy-blog-mypy-2-4-released-frfrx4bzr) · mypy - Optional Static Typing for Python · 1 upvotes · 0 comments
- [Python 3.12 Preview: Static Typing Improvements Quiz – Real Python](https://daily.dev/posts/python-3-12-preview-static-typing-improvements-quiz-real-python-g7yzuutck) · Real Python · 0 upvotes · 0 comments
- [PyCoder’s Weekly](https://daily.dev/posts/pycoder-s-weekly-oekitkw2s) · Planet Python · 0 upvotes · 0 comments
- [From Scripts to Scale](https://daily.dev/posts/from-scripts-to-scale-z15peccf4) · Simple Thread · 0 upvotes · 0 comments

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#python](https://daily.dev/tags/python)

[View this post on daily.dev](https://daily.dev/posts/the-mypy-blog-mypy-1-12-released-iytiwd3c2)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"The Mypy Blog: Mypy 1.12 Released","url":"https://daily.dev/posts/the-mypy-blog-mypy-1-12-released-iytiwd3c2","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/the-mypy-blog-mypy-1-12-released-iytiwd3c2"},"datePublished":"2026-08-23T12:18:07.443Z","dateModified":"2026-08-23T12:27:29.569Z","description":"Mypy 1.12 adds default support for Python 3.12's PEP 695 generic syntax, partial support for Python 3.13 (including mypyc compiled binaries), and improved...","image":"https://media.daily.dev/image/upload/s--0_ODbtD2--/f_auto/v1722860399/public/Placeholder%2008","thumbnailUrl":"https://media.daily.dev/image/upload/s--0_ODbtD2--/f_auto/v1722860399/public/Placeholder%2008","isAccessibleForFree":true,"articleSection":"mypy - Optional Static Typing for Python","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"mypy - Optional Static Typing for Python","logo":"https://media.daily.dev/image/upload/logos/placeholder.jpg","url":"https://daily.dev/sources/mypy-lang"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/the-mypy-blog-mypy-1-12-released-iytiwd3c2","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"general-programming,python","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"mypy - Optional Static Typing for Python","item":"https://daily.dev/sources/mypy-lang"},{"@type":"ListItem","position":3,"name":"The Mypy Blog: Mypy 1.12 Released"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/the-mypy-blog-mypy-1-12-released-iytiwd3c2#faq","mainEntity":[{"@type":"Question","name":"Does mypy 1.12 support the new Python 3.12 generic syntax from PEP 695 by default?","acceptedAnswer":{"@type":"Answer","text":"Yes, mypy 1.12 enables PEP 695 type parameter syntax by default, documented and no longer experimental. It was previously available only behind a feature flag in mypy 1.11. This includes generic functions like def f[T](x: T) -> T, generic classes like class C[T], and new-style type aliases like type A[T] = C[list[T]]. Developers adopting new Python generics syntax can track mypy compatibility changes on daily.dev."}},{"@type":"Question","name":"When will mypy drop support for Python 3.8?","acceptedAnswer":{"@type":"Answer","text":"Mypy plans to drop support for Python 3.8 in its next feature release or the one after that, since Python 3.8 reaches end of life in October 2024. Developers still targeting Python 3.8 should plan their mypy version pinning accordingly before upgrading further. Teams planning Python version upgrades can follow tooling deprecation timelines like this on daily.dev."}},{"@type":"Question","name":"What will change in mypy 2.0 regarding local partial types?","acceptedAnswer":{"@type":"Answer","text":"Mypy plans to enable --local-partial-types by default in mypy 2.0, a change that will often require at least minor code changes. This setting is already implicitly enabled by the mypy daemon, so the change makes daemon and non-daemon behavior consistent; users are advised to enable it now, via local_partial_types = True in config, or explicitly disable it to prepare. Developers preparing for breaking config changes can track upcoming tooling defaults on daily.dev."}}]}
```

