Hey folks!
We are excited to publish a Release Candidate for Typst 0.13 today.
Highlights
Typst 0.13 comes with multiple exciting new features. Here are just a few:
- Typst can now distinguish what is a paragraph and what is “just text.” For you, this means that you can opt-in to
first-line-indent
on all lines of a paragraph and write show rules for paragraphs. - Typing
$ "a" $
will now yield an upright “a”, fixing a long-standing math mode bug. - Drawing geometric shapes is now more ergonomic with the new
curve
function. - The
image
function now supports raw pixel bitmaps. You can generate them in Typst code or with WASM plugins to achieve exciting new visualizations. - Outlines look way better with tweaked indentation, spacing, and more.
- WebAssembly plugins now use all CPU cores in your system to run faster.
- You can now attach files to the PDFs Typst generates.
HTML Export
This release is also the first to contain HTML export. In this iteration, we focussed on translating Typst’s most common elements into semantic & accessible HTML markup. We also provide the html.elem
function to customize which HTML elements Typst outputs. Using it and the new target
function, you can create custom show rules or your own functions that will work across all of Typst’s compilation targets.
This iteration of HTML export is still very incomplete. Some features of Typst, like math, are not implemented at all. For other elements, some of the set rule properties, especially concerning styling, are not implemented. We consider HTML export unstable and may change it at any time. That is also why HTML export is not yet available in the web app on typst.app. To opt into using the new experimental features in the CLI, use the --features html
flag or set the TYPST_FEATURES
environment variables to html
.
We are happy that the NLNet Foundation has committed to support developing HTML export for Typst. In this release, a lot of the work has been accomplished by the contributor Michael Färber with the financial support of NLNet. We want to thank him for this! Unfortunately, we and Michael have parted ways over irreconcilable technical differences. That said, we plan to increase the time and resources we put into this feature with continued support by NLNet, so it’s an exciting space to stay tuned to. We also want to reiterate that we are very happy to accept contributions from the community for HTML export!
This is where you come in…
Now we need your help to ensure that Typst 0.13 is compatible with the widest possible range of documents, packages, and templates in use today. Please check if the update has an impact on your work: As a web app user, you can open the settings panel of a project and choose “Typst 0.13 Testing” as your compiler version. For local testing, pre-built binaries are available in the GitHub release. Rust users can install Typst 0.13.0-rc1
from Cargo. You can find the documentation for the Release Candidate on https://staging.typst.app/docs/.
If you are a regular user, you should check whether there are any unexpected bugs in your document that are not covered by the breaking changes in the changelog.
We have shipped changes in Typst 0.13 that make it likely that package authors are affected by this release. As a package author, you should check whether your package triggers any new warning, particularly deprecations, and submit updates. Especially the removal of string/type equality (which was introduced as a temporary measure in Typst 0.8) did break some of the major packages. It’s often possible to fix your package in a way that keeps compatibility with Typst 0.12, so doing it now already might be worthwhile.
Likewise, if you are a template developer, the changes to blocks and paragraphs may have changed how spacing is applied throughout your template. You can use sys.version
to check which Typst version you are running under in your show rules if you want to submit an update now. Typst Universe will start to accept packages that run exclusively on Typst 0.13 after its public release.
If you find any issues, you should report them to us as an issue on GitHub or in the feedback feature in the app, accessible everywhere from the Help menu.
We expect the final release of Typst 0.13 in the coming week or two, depending on the amount of feedback we get.
Thank you again for your contributions, packages, feedback, posts, and more which made this release possible! Together, let’s make Typst 0.13 the best version yet.