← Back to all posts
News

Mojo Hit 1.0 After Three Years. The Compiler Is Still Closed.

August 12, 2026 · 03:11 UTC · News
Mojo Hit 1.0 After Three Years. The Compiler Is Still Closed.

TL;DR

Mojo reached 1.0.0 on August 11, three years after Modular first pitched it as Python syntax with systems-language performance. The release marks a first batch of standard library types as source-stable, adds lambdas and a genuine reference-invalidation checker, and moves the GPU programming APIs out of the stdlib into MAX. What it does not do is open the compiler. That remains proprietary, behind a commitment that reads, in full, "we will open source the Mojo compiler and toolchain in 2026." You now have a 1.0 language whose implementation you cannot read.


What the version number actually buys

Modular is unusually direct about the scope of the promise. From the announcement: "During the 1.x timeframe, changes should primarily be additive, giving developers confidence that the language will not continually shift beneath them. Breaking changes may still be made, but will be managed with care, following the standards of how mature languages (e.g. C++) evolve over time."

That is a weaker guarantee than most people hear in the digits "1.0," and it is the honest one. The concrete deliverable is a named list of standard library types that will not break source compatibility going forward: Deinitable, Movable, Copyable, Array, List, String, Bool, and Optional. Eight types is not the whole library. It is enough to write a struct that survives the next release.

three years from first public release to a stable 1.0 2023public launch 2024stdlib open source jun 2026qualcomm deal aug 11, 2026mojo 1.0
Two betas shipped first: 26.3 carried Mojo 1.0.0b1, 26.4 carried 1.0.0b2.

The language changes worth knowing

The 1.0.0 changelog is long, and most of it is cleanup, but four items change how you write code.

Lambdas, finally

Anonymous single-expression closures that desugar to a nested def, with typed parenthesized arguments and an optional capture list. Three years of writing a named function every time you wanted to pass a comparator is over.

Pointer unification

Pointer and UnsafePointer collapse into one type. Unsafety is now marked per-operation with an unsafe_ prefix instead of being smeared across the entire type. That is the right call: the danger was never the pointer, it was the three specific things you did with it.

Interior origins

This is the one that will actually catch bugs. Collections like List now hand back element references bound to an interior origin, which lets the compiler reject code that holds a reference across a mutation of the container. Think of a librarian who will not let you keep a finger wedged in page 40 while someone else reshelves the book: the reference is only valid as long as nobody moves the thing it points into. Rust developers will recognize the shape immediately. Python developers will discover a class of bug they did not know they had been writing.

Required var

Implicit variable declarations are deprecated. Everything needs var. Modular claims nearly every breaking change in the release ships with a deprecated alias and a compiler fix-it, so migration is mechanical rather than archaeological. A compiler that tells you exactly what to type while it breaks your code is doing the minimum, and the minimum is more than most language transitions manage.

There is also a structural move: the GPU programming APIs left the standard library for a new max package, and the layout package went to MAX outright. If you were writing GPU kernels in Mojo, your imports moved.

The part nobody shipped

Here is the tension at the center of this release. Mojo's standard library has been open since 2024 under Apache 2.0 with LLVM Exceptions, and the community showed up: nearly 200 contributors landing more than 1,100 pull requests across 200,000-plus lines of code, with another thousand people filing issues. That is a real ecosystem, and it is entirely built on top of a compiler none of them can see.

what shipped open, and what did not OPEN SOURCE standard library apache 2.0, llvm exception nearly 200 contributors STILL CLOSED compiler and toolchain promised: sometime in 2026 no repo, no firm date
A 1.0 stability promise you cannot independently verify or fork.

Modular has been consistent that the compiler is coming, and The Register notes the possibility was reiterated in a streamed Q&A this week, with speculation pointing at ModCon on August 18 in San Francisco as the venue. That is a reasonable guess and a bad thing to plan around. Until the repo exists, "stable" means Modular has promised not to break you, which is a different asset class from being able to check.

the standard library since it opened in 2024 200,000+ lines of code changed 1,100+ pull requests landed ~200 contributors
Community scale on the open half, per Modular's own release post.

The Qualcomm question

Mojo's entire strategic pitch is that you write a kernel once and run it across CPUs, GPUs, NPUs and ASICs, which is a direct assault on the rewrite cost that keeps workloads pinned to CUDA. That pitch got complicated on June 24, when Qualcomm announced it would acquire Modular, a stock deal reported at $3.9 billion and expected to close in the second half of 2026.

A neutral compiler layer owned by a silicon vendor is a structurally awkward object. Asked whether Nvidia or AMD might now be less inclined to cooperate, Chris Lattner, who built LLVM and Swift before Mojo, told The Register: "They both contribute an incredible amount to open source code. So I don't expect there to be any problem here." Maybe. The analyst consensus in the same reporting is that CUDA's moat is a decade deep regardless.

Caveats before you port anything

  • Stability is partial. Eight named types are frozen. The rest of the standard library is not, and the announcement says breaking changes may still land during 1.x.
  • Your GPU imports moved. GPU APIs now live in the max package, and layout is in MAX. This release is not a drop-in upgrade for kernel code.
  • No independent benchmarks accompany 1.0. The release is about stability and language ergonomics, not a performance claim. Treat any speed number you see today as unverified.
  • The compiler date is a year, not a date. "In 2026" leaves four and a half months of range.

Mojo 1.0 and MAX 26.5 install from PyPI:

uv pip install --upgrade mojo
uv pip install max[all]

MAX 26.5 also picks up two new model families, GLM-5.2 and Nemotron-H, and splits its extras into max["serve"], max["benchmark"] and max["all"]. On the hardware side, Apple silicon GPU support extends down to M1, and M5 gets hardware-MMA flash-attention prefill to cut time-to-first-token.

Key Takeaways

  • Mojo 1.0.0 shipped August 11, 2026 as part of Modular 26.5, three years after the language's first public release.
  • Stability is scoped: eight standard library types are marked source-stable, and 1.x changes are meant to be "primarily additive," with C++ style care around breaks.
  • Real language wins land here: lambdas, Pointer/UnsafePointer unification, interior origins that reject references held across mutations, and mandatory var.
  • The compiler and toolchain remain closed. Only the standard library is open, under Apache 2.0 with LLVM Exceptions, and the open-sourcing commitment is dated only "in 2026."
  • Modular is being acquired by Qualcomm in a deal reported at $3.9 billion, which puts a vendor-neutral compiler story inside a silicon vendor.
  • ModCon is August 18 in San Francisco, and Modular says it will say more about open source there. Plan for the code, not the announcement.

Sources: Modular (26.5 / Mojo 1.0 announcement), Mojo 1.0.0 changelog, Modular forum announcement, modular/modular releases, The Register, Qualcomm press release, Network World

AIMojoModularOpen SourceGPUPythonCompilersQualcomm
CONSOLE
$