Typst 0.15.0 вышел 15 июня 2026 года. Главное — язык разметки и компилятор теперь поддерживают variable fonts. Тексту можно задавать произвольные оси вариативности через параметр variations, а стандартные (ital, slnt, wght, wdth, opsz) подтягиваются автоматически. Шрифты с суффиксами «Variable», «Var» или «VF» объединяются с обычными — суффикс указывать больше не надо.
HTML-экспорт научился выводить уравнения через MathML прямо из коробки. Появился новый экспериментальный целевой формат bundle — один проект может генерировать сразу несколько файлов (например, целый многостраничный сайт).
В одном документе можно использовать несколько библиотек. PDF теперь поддерживает несколько стандартов одновременно. Добавлен селектор within — он упрощает многие сценарии интроспекции. Элемент divider означает тематический разрыв, который можно оформить шаблоном. Spot colors позволяют использовать нестандартные пигменты в офсетной печати. Новый тип path передаёт относительные пути в пакеты. Коснулись и CLI: появилась команда typst eval (более общая, чем typst query).
Ломающие изменения: пути к файлам (в импортах и в image) теперь пишутся только с прямыми слешами — обратные слэши запрещены. Удалены устаревшие функции: path (используйте curve), pattern (вместо него tiling), pdf.embed (заменён на pdf.attach), а также все scoped-декодеры (cbor.decode, json.decode и т.д.) — данные надо передавать в bytes напрямую.
Вёрстка стала умнее: baseline теперь сохраняется для box, block, элементов списков и формул — это улучшает выравнивание, но может сдвинуть старые проекты, если там были хардкод-правки. Исправлены два давних бага с маркерами списков и центрированием. В HTML-экспорте изменилась логика сборки параграфов — лишние <p> больше не появляются; элементы делятся на inline-level, block-level и neutral.
В математике переработано растяжение глифов: проценты в lr.size и stretch.size считаются от базового размера, а не от уже изменённого display-стилем. Теперь дополнительные разделители (например chevron.l) ведут себя как функции-скобки. У class убрана рекурсия — класс применяется только к прямому содержимому. Обновлён шрифт New Computer Modern до 8.1.0 — изменился вид calligraphic букв; старый стиль можно вернуть через show math.equation: set text(stylistic-set: 6).
В SVG-экспорте больше не генерируются class-атрибуты typst-frame, typst-doc и т.п. — если вы на них опирались, адаптируйте стили. HTML-функции script и style теперь принимают только строки (можно использовать raw с .text). Ужесточена валидация array.slice, конструктора str и параметра text.features. Нумерация, неспособная выразить ноль (например, римские цифры), теперь не падает молча на арабские — в будущем это станет ошибкой.
Разработчики: минимальная версия Rust поднята до 1.92. Nix-флейк переехал из typst/typst в typst/typst-flake и теперь поддерживается сообществом.