Mojo 1.0

Язык программирования Mojo официально достиг версии 1.0 — рубежа, к которому разработчики шли с момента первого релиза в 2023 году. За это время Mojo превратился из экспериментального проекта в язык общего назначения с активным сообществом разработчиков, создающих на нём собственные библиотеки, инструменты и приложения. С выходом Mojo 1.0 разработчики получают стабильную, готовую к продакшену основу для долгосрочных проектов.

Mojo 1.0: стабильная основа для роста экосистемы

Команда Modular быстро развивала язык Mojo благодаря интенсивному внутреннему использованию. Однако у такого темпа развития была обратная сторона: частые изменения затрудняли сообществу поддержку долгосрочных проектов.

Как заявлялось ранее, когда был анонсирован путь к Mojo 1.0, главная цель этого релиза — дать разработчикам стабильную основу, на которой можно строить проекты. Это обязательство выполняется именно сейчас, потому что Mojo готов: это больше не язык, который только разрабатывается, а язык, на который полагаются каждый день в продакшене — он лежит в основе коммерческой инфраструктуры MAX и Modular Cloud.

Важно понимать: Mojo 1.0 не означает конец эволюции языка, это лишь важная веха на более длинном пути. В рамках линейки 1.x изменения будут преимущественно аддитивными — это даёт разработчикам уверенность в том, что язык не будет постоянно меняться у них под ногами. Обратно несовместимые изменения по-прежнему возможны, но к ним будут подходить осторожно, следуя стандартам, по которым развиваются зрелые языки вроде C++.

Этот рубеж принадлежит не только команде Modular, но и в равной мере — сообществу. С момента открытия исходного кода стандартной библиотеки почти 200 контрибьюторов внесли более 1 100 pull request'ов, изменив свыше 200 000 строк кода, а больше тысячи человек создали issue, повлиявшие на развитие языка.

Улучшения Mojo в версии 26.5

Значительная часть этого релиза посвящена завершению работы, необходимой для выхода Mojo 1.0 — эта тема прослеживалась в нескольких последних релизах, по мере того как язык становился более последовательным, предсказуемым и доступным.

Там, где раньше Mojo предлагал несколько способов выразить одну и ту же идею, теперь используется единый подход. Переменные теперь последовательно объявляются через var, замыкания унифицированы, существует единый тип Pointer, а ряд переименований сделал лексикон Mojo более точным и согласованным.

Этот релиз завершает финальный этап упрощения и очистки языка, давая Mojo 1.0 стабильную, целостную основу, на которой разработчики смогут строить проекты многие годы вперёд.

Помимо этой фундаментальной работы, Mojo 1.0 включает несколько новых функций и улучшений, появившихся с момента последнего бета-релиза:

  • Mojo теперь поддерживает синтаксис inline-замыканий в стиле Python — "lambda".
  • LSP-сервер Mojo стал значительно стабильнее и надёжнее, что заметно улучшает повседневную работу в VS Code и других редакторах.
  • AI Skills для Mojo теперь готовы к версии 1.0 — они охватывают создание новых проектов, программирование GPU, портирование с других языков и другое.
  • Mojo теперь диагностирует проблемы безопасности памяти, связанные с инвалидацией ссылок — например, замечает, когда List.append делает недействительной ссылку внутрь списка.
  • Конструкции where теперь используются более последовательно по всей стандартной библиотеке и позволяют указывать описательное сообщение, чтобы ошибки было проще исправлять.

Это лишь часть основных изменений. Полный changelog Mojo доступен на mojolang.org.

Куда движется Mojo дальше

Mojo 1.0 — крупная веха, но у команды есть куда более масштабные планы на будущее языка. Mojo уже зарекомендовал себя как мощный язык для написания высокопроизводительного кода на современных CPU, GPU и ускорителях. Следующий этап развития — расширить эту основу и сделать Mojo по-настоящему хорошим языком системного программирования общего назначения.

Это означает продолжение инвестиций в ядро языка и опыт разработчиков: среди ключевых возможностей впереди — надёжная модель асинхронного программирования, сопоставление с образцом (pattern matching) и объединения (unions), и многое другое. Подробнее — в дорожной карте Mojo.

Наконец, команда продолжит постепенно открывать исходный код всё большей части языка Mojo, а также компонентов MAX, построенных на его основе. Обязательство остаётся неизменным — компилятор и инструментарий Mojo будут открыты в 2026 году.

Улучшения MAX в 26.5

Хотя главным событием релиза стал выход Mojo 1.0, версия 26.5 приносит улучшения и в MAX.

Установка MAX теперь стала проще: можно использовать max["serve"] и max["benchmark"] (max-serve и max-benchmark при работе через conda), чтобы установить только нужные зависимости, либо max["all"] для установки всего сразу. Пакет modular будет упразднён в версии 26.6.

MAX также добавляет поддержку двух новых семейств моделей: GLM-5.2 и Nemotron-H — обе представляют собой гибридные модели Mamba-2. Кроме того, Kimi 2.5 теперь работает с Module V3 — упрощённым способом описания моделей.

Также стоит обратить внимание на набор открытых agent skills — хороший способ начать работу с этим релизом. Эти skills использовались внутри команды для ускорения полного цикла запуска моделей и уже набрали более 7,2 тысяч загрузок через skills.sh.

Полный список изменений — в changelog MAX.

Начало работы с 26.5 и Mojo 1.0

Установить или обновиться можно за несколько минут:

uv pip install --upgrade mojo

uv pip install max[all]

Версия 1.0 — только начало. Более подробные планы по Mojo, MAX и открытому исходному коду команда Modular представит на конференции ModCon 18 августа в Сан-Франциско.