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

---
title: The Mypy Blog: Mypy 1.15 Released | daily.dev
description: Mypy 1.15 has been released to PyPI, bringing performance improvements of up to 40% in some cases from garbage collector tuning, new mypyc-accelerated wheels...
canonical: https://daily.dev/posts/the-mypy-blog-mypy-1-15-released-bmoateyom
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: The Mypy Blog: Mypy 1.15 Released | daily.dev
og:description: Mypy 1.15 has been released to PyPI, bringing performance improvements of up to 40% in some cases from garbage collector tuning, new mypyc-accelerated wheels...
og:url: https://daily.dev/posts/the-mypy-blog-mypy-1-15-released-bmoateyom
og:image: https://api.daily.dev/og/posts/bmOATEYOM.png
og:image:alt: The Mypy Blog: Mypy 1.15 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.15 Released

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

## Summary

Mypy 1.15 has been released to PyPI, bringing performance improvements of up to 40% in some cases from garbage collector tuning, new mypyc-accelerated wheels for ARM Linux, and better reachability analysis for loops. The release adds a --strict-bytes flag (which will become the default in mypy 2.0) to stop treating bytearray and memoryview as assignable to bytes, improves configuration file discovery by walking up the filesystem, fixes decorator and slice expression line numbers, and drops support for running mypy on Python 3.8 itself (though --python-version 3.8 can still be targeted, until support is dropped in the first half of 2025). Numerous mypyc, stubgen, stubtest fixes and crash 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/2025/02/mypy-115-released.html>

## Questions this post answers

### What does the --strict-bytes flag do in mypy 1.15 and when will it become default?

The --strict-bytes flag in mypy 1.15 disables the default behavior of treating bytearray and memoryview as assignable to the bytes type, aligning with PEP 688 which specified removal of that special case. It will become the default behavior starting in mypy 2.0, so projects relying on the old implicit assignability should adopt the flag now to prepare.

_Track mypy 2.0 changes like this on daily.dev before the strict-bytes default breaks your type checks._

### Does mypy 1.15 still support Python 3.8?

Mypy 1.15 no longer supports running under Python 3.8 itself, since that version reached end-of-life. Running mypy with Python 3.9 or newer, developers can still type check code targeting Python 3.8 using the --python-version 3.8 argument, though that support is planned to be dropped in the first half of 2025.

_Follow daily.dev for Python version support changes when planning a mypy or interpreter upgrade._

### How much faster is mypy 1.15 compared to previous versions?

Mypy 1.15 is up to 40% faster in some use cases, largely due to tuning the performance of the garbage collector along with several micro-optimizations that particularly benefit large projects. Additionally, mypyc-accelerated wheels are now built for manylinux_aarch64, giving ARM Linux users a 3-5x speedup over the pure Python interpreter via a simple pip install.

_Keep tabs on type-checker performance gains like this via daily.dev when evaluating your CI pipeline speed._

## 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.15 Preview: Upgraded JIT Compiler – Real Python](https://daily.dev/posts/python-3-15-preview-upgraded-jit-compiler-real-python-ih00g8tar) · Real Python · 0 upvotes · 0 comments
- [What’s new in Python 3.15 ¶](https://daily.dev/posts/what-s-new-in-python-3-15--0wvfayvfu) · Hacker News · 1 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-15-released-bmoateyom)

```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.15 Released","url":"https://daily.dev/posts/the-mypy-blog-mypy-1-15-released-bmoateyom","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/the-mypy-blog-mypy-1-15-released-bmoateyom"},"datePublished":"2026-08-23T12:17:26.593Z","dateModified":"2026-08-23T12:24:32.074Z","description":"Mypy 1.15 has been released to PyPI, bringing performance improvements of up to 40% in some cases from garbage collector tuning, new mypyc-accelerated wheels...","image":"https://media.daily.dev/image/upload/s--HRgLpUt6--/f_auto/v1722860399/public/Placeholder%2003","thumbnailUrl":"https://media.daily.dev/image/upload/s--HRgLpUt6--/f_auto/v1722860399/public/Placeholder%2003","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-15-released-bmoateyom","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"general-programming,python","timeRequired":"PT6M"}
{"@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.15 Released"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/the-mypy-blog-mypy-1-15-released-bmoateyom#faq","mainEntity":[{"@type":"Question","name":"What does the --strict-bytes flag do in mypy 1.15 and when will it become default?","acceptedAnswer":{"@type":"Answer","text":"The --strict-bytes flag in mypy 1.15 disables the default behavior of treating bytearray and memoryview as assignable to the bytes type, aligning with PEP 688 which specified removal of that special case. It will become the default behavior starting in mypy 2.0, so projects relying on the old implicit assignability should adopt the flag now to prepare. Track mypy 2.0 changes like this on daily.dev before the strict-bytes default breaks your type checks."}},{"@type":"Question","name":"Does mypy 1.15 still support Python 3.8?","acceptedAnswer":{"@type":"Answer","text":"Mypy 1.15 no longer supports running under Python 3.8 itself, since that version reached end-of-life. Running mypy with Python 3.9 or newer, developers can still type check code targeting Python 3.8 using the --python-version 3.8 argument, though that support is planned to be dropped in the first half of 2025. Follow daily.dev for Python version support changes when planning a mypy or interpreter upgrade."}},{"@type":"Question","name":"How much faster is mypy 1.15 compared to previous versions?","acceptedAnswer":{"@type":"Answer","text":"Mypy 1.15 is up to 40% faster in some use cases, largely due to tuning the performance of the garbage collector along with several micro-optimizations that particularly benefit large projects. Additionally, mypyc-accelerated wheels are now built for manylinux_aarch64, giving ARM Linux users a 3-5x speedup over the pure Python interpreter via a simple pip install. Keep tabs on type-checker performance gains like this via daily.dev when evaluating your CI pipeline speed."}}]}
```

