- **Breaking changes:**
- When using the CLI, you now have to use subcommands:
- `typst compile file.typ` or `typst c file.typ` to create a PDF
- `typst watch file.typ` or `typst w file.typ` to compile and watch
- `typst fonts` to list all fonts
- Manual counters now start at zero. Read the "How to step" section in the counter documentation for more details
- The bibliography styles `"author-date"` and `"author-title"` were renamed to `"chicago-author-date"` and `"chicago-author-title"`
- Figure improvements
- Figures now automatically detect their content and adapt their behaviour. Figures containing tables, for instance, are automatically prefixed with "Table X" and have a separate counter
- The figure's supplement (e.g. "Figure" or "Table") can now be customized
- In addition, figures can now be completely customized because the show rule gives access to the automatically resolved kind, supplement, and counter
- Bibliography improvements
- The `bibliography` function now also accepts multiple bibliography paths (as an array)
- Parsing of BibLaTeX files is now more permissive (accepts non-numeric edition, pages, volumes, dates, and Jabref-style comments; fixed abbreviation parsing)
- Labels and references can now include `:` and `.` except at the end
- Fixed APA bibliography ordering
- Drawing additions
- Added `polygon` function for drawing polygons
- Added support for clipping in boxes and blocks
- Command line interface
- Now returns with non-zero status code if there is an error
- Now watches the root directory instead of the current one
- Now puts the PDF file next to input file by default
- Now accepts more kinds of input files (e.g. `/dev/stdin`)
- Added `--open` flag to directly open the PDF
- Miscellaneous improvements
- Added `yaml` function to load data from YAML files
- Added basic i18n for a few more languages (IT, RU, ZH, FR, PT)
- Added numbering support for Hebrew
- Added support for integers with base 2, 8, and 16
- Added symbols for double bracket and laplace operator
- The `link` function now accepts labels
- The link syntax now allows more characters
- Improved justification of Japanese and Chinese text
- Calculation functions behave more consistently w.r.t to non-real results
- Replaced deprecated angle brackets
- Reduced maximum function call depth from 256 to 64
- Fixed `first-line-indent` not being applied when a paragraph starts with styled text
- Fixed extraneous spacing in unary operators in equations
- Fixed block spacing, e.g. in `{block(above: 1cm, below: 1cm, ..)}`
- Fixed styling of text operators in math
- Fixed invalid parsing of language tag in raw block with a single backtick
- Fixed bugs with displaying counters and state
- Fixed crash related to page counter
- Fixed crash when `symbol` function was called without arguments
- Fixed crash in bibliography generation
- Fixed access to label of certain content elements
- Fixed line number in error message for CSV parsing
- Fixed invalid autocompletion after certain markup elements
- Versioning changes: Starting with this release, Typst follows semver. The language and compiler will be version together for now. As a result, all crates and the language share the same version and a breaking change to either the language or any library requires a version bump. Once the language stabilizes (unclear when), the compiler and language version might start to diverge as the compiler APIs will probably remain unstable.
Thanks to everyone who contributed to this release: Dherse, barvirm, HarmoGlace, figsoda, frozolotl, johannes-wolf, naim94a, 1bitbool, CGMossa, FilipAndersson245, GabrielDertoni, P-Andersson, SekoiaTree, asayers, birktj, frungl, loewenheim, lvignoli, lxndio, marcoradocchia, mateusfccp, ollelogdahl, samlich, user202729, utilForever, wrenger, yichenchong, zrr1999.
v23-03-28
- **Breaking:** Enumerations now require a space after their marker, that is, `1.ok` must now be written as `1. ok`
- **Breaking:** Changed default style for term lists: Does not include a colon anymore and has a bit more indent
- Fixed bibliography ordering in IEEE style
- Fixed parsing of decimals in math: `$1.2/3.4$`
- Fixed parsing of unbalanced delimiters in fractions: `$1/(2 (x)`
- Fixed unexpected parsing of numbers as enumerations, e.g. in `1.2`
- Fixed combination of page fill and header
- Fixed compiler crash if `repeat` is used in page with automatic width
- Fixed matrices with explicit delimiter
- Fixed build of CLI if `git` is not installed
- Links in bibliographies are now affected by link styling
- Added support for disabling matrix and vector delimiters. Generally with `set math.mat(delim: none)` or one-off with `$mat(delim: none, 1, 2; 3, 4)$`.
- Added `separator` argument to term lists
- Fixed `indent` property of term lists
- Added `round` function for equations
- Numberings now allow zeros. To reset a counter, you can write `counter(..).update(0)`
- Added `--font-path` argument for CLI
- Added Nix flake
- Numerous documentation fixes
- Added documentation for `page()` and `position()` methods on `location` type
- Added symbols for double, triple, and quadruple dot accent
- Added smart quotes for Norwegian Bokmål
- Fixed hovering over comments in web app
Thanks to everyone who contributed to this release: Marmare314, dccsillag, Dherse, EpicEricEE, Leedehai, G1gg1L3s, PgBiel, RLangendam, Raphael-CV, SekoiaTree, SteamedFish, adamijak, asayers, asibahi, astrale-sharp, classabbyamp, cmoog, felipeacsi, figsoda, ichxorya, jakobrs, michidk, radimsuckr, rqy2002, s-zymon, tbethe, teenjuna, viddrobnic.
v23-03-21-2
With this release, Typst's default fonts for text, math, and code are included in the binary. This should resolve errors like `current font does not support math`.
v23-03-21
Typst compiler version on the day of the public beta launch.