This repository is the home for the design and evolution of the Dart programming language. While the nature of language evolution is somewhat unstructured, we follow a defined process to design and ship language changes.
The language funnel shows the features that are being actively worked on.
As of February 2026, the Dart language team consists of:
- Leaf Petersen (@leafpetersen)
- Lasse R.H. Nielsen (@lrhn)
- Bob Nystrom (@munificent)
- Erik Ernst (@eernstg)
- Nate Bosch (@natebosch)
- Jake MacDonald (@jakemac53)
- Paul Berry (@stereotype441)
- Kallen Tu (@kallentu)
- David Morgan (@davidmorgan)
Michael Thomsen (@mit-mit) is the product manager for Dart. Erik Ernst also maintains the official language specification.
We discuss language problems and potential features using the issue tracker on this repo. We welcome your participation! Please keep in mind:
-
If you want to show support for a proposed change, a 👍 reaction is more helpful than a comment because it's easier for us to aggregate demand that way. Comments that provide additional context are still useful, though.
-
Before filing a new issue describing a problem or language change, see if there is already an existing issue that's close to yours. Duplicate or near-duplicates tend to divide attention and make both of them less visible.
-
When discussing a language change, motivating examples from real world code are very helpful for the team and others following along to see how the change would be helpful in a concrete context.
-
While other languages often have excellent beloved features, those features don't always translate well to Dart (and vice versa). When proposing that we borrow some feature from another language, try to articulate why you think that feature would be right for Dart in particular. We want Dart to be the best Dart, not the second-best Rust/Haskell/TypeScript/etc.