# Typst v0.13.0 — Version 0.13.0 (February 19, 2025) - Product: Typst (https://whatsnew.fyi/product/typst) - Vendor: Typst - Date: 2025-02-19 - Version: v0.13.0 - Original notes: https://github.com/typst/typst/releases/tag/v0.13.0 - Permalink: https://whatsnew.fyi/product/typst/releases/v0.13.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Distinction between proper paragraphs and inline-level content for accessibility and improved first-line indent support - **added** — New curve function providing a simpler and more flexible interface for creating Bézier curves - **added** — Raw pixel raster format support in image function for generating images from within Typst - **added** — Functions that accept file paths now also accept raw bytes - **added** — Configuration option to par.first-line-indent for indenting all paragraphs instead of just consecutive ones - **added** — Form parameter to ref function to produce page references - **added** — Document.description field for PDF and HTML metadata - **added** — Enum.reversed parameter - **added** — Support for Greek numbering - **added** — Image.scaling parameter for configuring how an image is scaled by PNG export and PDF viewers - **added** — Image.icc parameter for providing or overriding the ICC profile of an image - **added** — Gradient.center, gradient.radius, gradient.focal-center, and gradient.focal-radius methods - **added** — Pdf.embed function to embed arbitrary files in the exported PDF - **changed** — Outline function fully reworked to improve out-of-the-box behavior - **changed** — Link function now generates only one link for whole blocks instead of individual links for leaf elements - **changed** — Link function now only strips one prefix instead of multiple - **changed** — Renamed pattern to tiling with pattern remaining as deprecated alias - **fixed** — Single-letter strings in math mode are no longer displayed in italics - **fixed** — Interaction of clipping and outset on box and block - **fixed** — Non-solid text fills in clipped blocks - **deprecated** — Path function superseded by curve function [Read the announcement blog post](https://typst.app/blog/2025/typst-0.13/) [View changelog with links into the documentation on typst.app/docs](https://typst.app/docs/changelog/0.13.0/) ##### Highlights - There is now a distinction between proper paragraphs and just inline-level content. This is important for future work on accessibility and means that first line indent can now be enabled for all paragraphs instead of just consecutive ones. - The `outline` has a better out-of-the-box look and is more customizable - The new `curve` function (that supersedes the `path` function) provides a simpler and more flexible interface for creating Bézier curves - The `image` function now supports raw pixel raster formats for generating images from within Typst - Functions that accept file paths now also accept raw bytes, for full flexibility - WebAssembly plugins are more flexible and automatically run multi-threaded - Fixed a long-standing bug where single-letter strings in math (`$"a"$`) would be displayed in italics - You can now specify which charset should be covered by which font family - The `pdf.embed` function lets you embed arbitrary files in the exported PDF - HTML export is currently under active development. The feature is still _very_ incomplete, but already available for experimentation behind a feature flag. ##### Model - There is now a distinction between proper paragraphs and just inline-level content **(Breaking change)** - All text at the root of a document is wrapped in paragraphs. Meanwhile, text in a container (like a block) is only wrapped in a paragraph if the container holds any block-level content. If all of the content is inline-level, no paragraph is created. - In the laid-out document, it's not immediately visible whether text became part of a paragraph. However, it is still important for accessibility, HTML export, and for properties like `first-line-indent`. - Show rules on `par` now only affect proper paragraphs - The `first-line-indent` and `hanging-indent` properties also only affect proper paragraphs - Creating a `par[..]` with body content that is not fully inline-level will result in a warning - The default show rules of various built-in elements like lists, quotes, etc. were adjusted to ensure they produce/don't produce paragraphs as appropriate - Removed support for booleans and content in `outline.indent` - The `outline` function was fully reworked to improve its out-of-the-box behavior **(Breaking change)** - Outline entries are now blocks and are thus affected by block spacing - The `auto` indentation mode now aligns numberings and titles outline-wide for a grid-like look - Automatic indentation now also indents entries without a numbering - Titles wrapping over multiple lines now have hanging indent - The page number won't appear alone on its own line anymore - The link now spans the full entry instead of just the title and page number - The default spacing between outline leader dots was increased - The `fill` parameter was moved from `outline` to `outline.entry` and can thus be configured through show-set rules - Removed `body` and `page` fields from outline entry - Added `indented`, `prefix`, `inner`, `body`, and `page` methods on outline entries to simplify writing of show rules - Added configuration to `par.first-line-indent` for indenting all paragraphs instead of just consecutive ones - Added `form` parameter to `ref` function. Setting the form to `"page"` will produce a page reference instead of a textual one. - Added `document.description` field, which results in corresponding PDF and HTML metadata - Added `enum.reversed` parameter - Added support for Greek numbering - When the `link` function wraps around a container like a block, it will now generate only one link for the whole block instead of individual links for all the visible leaf elements. This significantly reduces PDF file sizes when combining `link` _[Truncated at 4000 characters — full notes: https://github.com/typst/typst/releases/tag/v0.13.0]_