macintosh.world | Log In | Register
Today | News | Books | Recipes | Notes | YouTube | QuickTake
Translate | Wiki | Browse | Maps | Reference | Reddit | About

0.15.0 - Typst Documentation

Open Original Page

0.15.0 - Typst Documentation

Documentation

TutorialWriting in Typst

FoundationsArguments

SymbolsGeneral Symbols

IntrospectionCounter

GuidesGuide for LaTeX Users

Typst 0.15.0 (June 15, 2026)

This section documents all changes to the Typst language and compiler between Typst 0.14.2 and 0.15.0. If you are migrating an existing document to Typst 0.15, make sure to check out the Migration guide. It walks you through changes you may need to make to your existing documents to ensure compatibility with Typst 0.15.

Typst now supports variable fonts

HTML export now supports equations out of the box via MathML

With the new, experimental bundle export target, a single Typst project can output multiple files (e.g. a multi-page website)

A single document can now contain multiple bibliographies

Typst can now target multiple PDF standards at once

The new within selector simplifies many introspection use cases

The new divider element represents a thematic break that templates can style

Spot colors enable use of custom pigments in offset printing

With the new file path type, project-relative paths can be passed to packages

The new, more general typst eval CLI subcommand supersedes typst query

Layout convergence issues now result in detailed diagnostics

Two long-standing list layout issues with marker alignment and centering were fixed

Paragraph handling in HTML export is improved, preventing unexpected paragraphs from appearing

This documentation now has a print version

File paths (e.g. in imports or image function calls) may not contain backslashes anymore; instead forward slashes must be used (Breaking change)

Added hints for invalid characters in code mode

Added hint when trying to use a unary operator directly in an embedded expression using a hash (e.g. #-30deg)

Fixed potential stack overflow crashes by enforcing a maximum parsing depth

Fixed incremental parsing of unclosed strings

Text show rules now have tracebacks that include the matched text

Fixed a crash with text show rules that match on multi-character symbols

Extended hint when built-in definitions are shadowed to set and show rules

Added hint when trying to spread one or multiple dictionaries into an array

Improved diagnostics for invalid method calls

Improved hint for unknown variables in math that are available in std

Fixed a misleading error message when trying to assign to a temporary return value

Added file path type that is now accepted in all places where paths were previously only represented as strings

A path constructed in one file can be used in another file, but will be resolved relative to its original file

Likewise, paths can be passed across package boundaries

The initial path type is very minimal, but additional features like file existence checks or directory walking are planned

Added map and filter functions on dictionaries and arguments

Named arguments on arguments values are now accessible with field access syntax

The slice functions on strings and arrays will now error if passing both an end and a count (Minor breaking change)

Added inclusive parameter to range function

Added asinh, acosh, atanh, and erf functions to calc module

Added int.min and int.max constants for the minimum and maximum representable integer, respectively

Fixed behavior of quo for negative integers

Fixed potential overflows in norm, abs, gcd, and lcm

Floating-point calculations are now consistently deterministic across platforms

Date & time handling

The offset parameter of datetime.today now accepts durations as an alternative to integers, allowing for sub-hour precision offsets

Addition and subtraction of datetimes and durations now retains precision instead of clamping to full days in some cases

The datetime constructor now emits more precise errors when components are missing

Added base parameter to int constructor to configure in which base to parse a string

Fixed that the base parameter of the str constructor was accepted for non-integer values if its value was 10 (Minor breaking change)

Added hint when trying to construct a string with base 1

The panic function now displays strings as-is instead of showing their repr, making it more suitable for friendly, user-facing messages

Changed repr of styles and locations to be more distinct

Added divider element representing a thematic break that templates can style

Bundle-related elements

The document element can now be constructed to produce individual documents in bundle export

Added path and format parameters to document element

Links

Open - Typst Documentation
Open - GitHub
Open - Discord
Open - Mastodon
Open - Bluesky
Open - LinkedIn
Open - Home
Open - Pricing
Open - Universe
Open - Forum

Browse another page:

URL