Typst

Latest version: v0.12.1

Safety actively analyzes 688600 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 3

0.5.0

Not secure
- Text and Layout
- Added `raw` syntax highlighting for many more languages
- Added support for Korean numbering
- Added basic i18n for a few more languages (NL, SV, DA)
- Improved linebreaking for East Asian languages
- Expanded functionality of outline `indent` property
- Fixed footnotes in columns
- Fixed page breaking bugs with footnotes
- Fixed bug with handling of footnotes in lists, tables, and figures
- Fixed a bug with CJK punctuation adjustment
- Fixed a crash with rounded rectangles
- Fixed alignment of `line` elements

- Math
- **Breaking change:** The syntax rules for mathematical attachments were improved: `$f^abs(3)$` now parses as `$f^(abs(3))$` instead of `$(f^abs)(3)$`. To disambiguate, add a space: `$f^zeta (3)$`.
- Added forced size commands for math (e.g., `display`)
- Added `supplement` parameter to `equation`, used by references
- New symbols: `bullet`, `xor`, `slash.big`, `sigma.alt`, `tack.r.not`, `tack.r.short`, `tack.r.double.not`
- Fixed a bug with symbols in matrices
- Fixed a crash in the `attach` function

- Scripting
- Added new `datetime` type and `datetime.today()` to retrieve the current date
- Added `str.from-unicode` and `str.to-unicode` functions
- Added `fields` method on content
- Added `base` parameter to `str` function
- Added `calc.exp` and `calc.ln`
- Improved accuracy of `calc.pow` and `calc.log`) for specific bases
- Fixed removal order for dictionary
- Fixed `.at(default: ..)` for strings and content
- Fixed field access on styled elements
- Removed deprecated `calc.mod` function

- Command line interface
- Added PNG export via `typst compile source.typ output-{n}.png`. The output path must contain `[{n}]` if the document has multiple pages.
- Added `--diagnostic-format=short` for Unix-style short diagnostics
- Doesn't emit color codes anymore if stderr isn't a TTY
- Now sets the correct exit code when invoked with a non-existent file
- Now ignores UTF-8 BOM in Typst files

- Miscellaneous Improvements
- Improved errors for mismatched delimiters
- Improved error message for failed length comparisons
- Fixed a bug with images not showing up in Apple Preview
- Fixed multiple bugs with the PDF outline
- Fixed citations and other searchable elements in `hide`
- Fixed bugs with reference supplements
- Fixed Nix flake

Thanks to everyone who contributed to this release: EpicEricEE, LaurenzV, PgBiel, SUPERCILEX, figsoda, lynn, peng1999, sandalbanditten, BasixKOR, JettChenT, Leedehai, MDLC01, StrangeGirlMurph, alixmacdonald10, coughmedicine, epbuennig, erikwastaken, glocq, howjmay, jassler, lino-levan, lucifer1004, matthiasGmayer, naim94a, ollema, sbatial, sitandr, xiongmao86.

0.4.0

Not secure
- Footnotes
- Implemented support for footnotes
- The `footnote` function inserts a footnote
- The `footnote.entry` function can be used to customize the footnote listing
- The `"chicago-notes"` citation style is now available

- Documentation
- Added a [Guide for LaTeX users](https://typst.app/docs/guides/guide-for-latex-users)
- Now shows default values for optional arguments
- Added richer outlines in "On this Page"
- Added initial support for search keywords: "Table of Contents" will now find the outline function. Suggestions for more keywords are welcome!
- Fixed issue with search result ranking
- Fixed many more small issues

- Math
- **Breaking change**: Alignment points (`&`) in equations now alternate between left and right alignment
- Added support for writing roots with Unicode: For example, `$root(x+y)$` can now also be written as `$√(x+y)$`
- Fixed uneven vertical `attachment` alignment
- Fixed spacing on decorated elements (e.g., spacing around a canceled operator)
- Fixed styling for stretchable symbols
- Added `tack.r.double`, `tack.l.double`, `dotless.i` and `dotless.j` symbols
- Fixed show rules on symbols (e.g. `{show sym.tack: set text(blue)}`)
- Fixed missing rename from `ast.op` to `ast` that should have been in the previous release

- Scripting
- Added function scopes: A function can now hold related definitions in its own scope, similar to a module. The new `assert.eq` function, for instance, is part of the `assert` function's scope. Note that function scopes are currently only available for built-in functions.
- Added `assert.eq` and `assert.ne` functions for simpler equality and inequality assertions with more helpful error messages
- Exposed list, enum, and term list items in their respective functions' scope
- The `at` methods on strings, arrays, dictionaries, and content now support specifying a default value
- Added support for passing a function to `replace` that is called with each match.
- Fixed replacement strings: They are now inserted completely verbatim instead of supporting the previous (unintended) magic dollar syntax for capture groups
- Fixed bug with trailing placeholders in destructuring patterns
- Fixed bug with underscore in parameter destructuring
- Fixed crash with nested patterns and when hovering over an invalid pattern
- Better error messages when casting to an integer or float fails

- Text and Layout
- Implemented sophisticated CJK punctuation adjustment
- Disabled overhang for CJK punctuation
- Added basic translations for Traditional Chinese
- Fixed alignment of text inside raw blocks (centering a raw block, e.g. through a figure, will now keep the text itself left-aligned)
- Added support for passing a array instead of a function to configure table cell alignment and fill per column
- Fixed automatic figure `kind` detection
- Made alignment of enum numbers configurable, defaulting to `end`
- Figures can now be made breakable with a show-set rule for blocks in figure
- Initial fix for smart quotes in RTL languages

- Export
- Fixed ligatures in PDF export: They are now copyable and searchable
- Exported PDFs now embed ICC profiles for images that have them
- Fixed export of strokes with zero thickness

- Web app
- Projects can now contain folders
- Added upload by drag-and-drop into the file panel
- Files from the file panel can now be dragged into the editor to insert them into a Typst file
- You can now copy-paste images and other files from your computer directly into the editor
- Added a button to resend confirmation email
- Added an option to invert preview colors in dark mode
- Added tips to the loading screen and the Help menu. Feel free to propose more!
- Added syntax highlighting for YAML files
- Allowed middle mouse button click on many buttons to navigate into a new tab
- Allowed more project names
- Fixed overridden Vim mode keybindings
- Fixed many bugs regarding file upload and more

- Miscellaneous Improvements
- Improved performance of counters, state, and queries
- Improved incremental parsing for more efficient recompilations
- Added support for `.yaml` extension in addition to `.yml` for bibliographies
- The CLI now emits escape codes only if the output is a TTY
- For users of the `typst` crate: The `Document` is now `Sync` again and the `World` doesn't have to be `'static` anymore

Thanks to everyone who contributed to this release: Leedehai, PgBiel, Marmare314, SUPERCILEX, peng1999, sitandr, stevenskevin, AlistairKeiller, HarmoGlace, LaurenzV, MultisampledNight, albertothedev, chris-02, dvdvgt, emme1444, goggle, jannisko, jassler, johannes-wolf, liferooter, maciemesser, mattfbacon, maxwell-thum, michidk, naim94a, owiecc, pan93412, szdytom.

0.3.0

Not secure
- **Breaking changes:**
- Renamed a few symbols: What was previous `dot.op` is now just `dot` and the basic dot is `dot.basic`. The same applies to `ast` and `tilde`.
- Renamed `mod` to `rem` to more accurately reflect the behaviour. It will remain available as `mod` until the next update as a grace period.
- A lone underscore is not a valid identifier anymore, it can now only be used in patterns
- Removed `before` and `after` arguments from `query`. This is now handled through flexible selectors combinator methods
- Added support for attachments (sub-, superscripts) that precede the base symbol. The `top` and `bottom` arguments have been renamed to `t` and `b`.

- New features
- Added support for more complex strokes (configurable caps, joins, and dash patterns)
- Added `cancel` function for equations
- Added support for destructuring in argument lists and assignments
- Added `alt` text argument to image function
- Added `toml` function for loading data from a TOML file
- Added `zip`, `sum`, and `product` methods for arrays
- Added `fact`, `perm`, `binom`, `gcd`, `lcm`, `atan2`, `quo`, `trunc`, and `fract` calculation

- Improvements
- Text in SVGs now displays properly
- Typst now generates a PDF heading outline
- References now provides the referenced element as a field in show rules
- Refined linebreak algorithm for better Chinese justification
- Locations are now a valid kind of selector
- Added a few symbols for algebra
- Added Spanish smart quote support
- Added `selector` function to turn a selector-like value into a selector on which combinator methods can be called
- Improved some error messages
- The outline and bibliography headings can now be styled with show-set rules
- Operations on numbers now produce an error instead of overflowing

- Bug fixes
- Fixed wrong linebreak before punctuation that follows inline equations, citations, and other elements
- Fixed a bug with argument sinks
- Fixed strokes with thickness zero
- Fixed hiding and show rules in math
- Fixed alignment in matrices
- Fixed some alignment bugs in equations
- Fixed grid cell alignment
- Fixed alignment of list marker and enum markers in presence of global alignment settings
- Fixed path closing
- Fixed compiler crash with figure references
- A single trailing line breaks is now ignored in math, just like in text

- Command line interface
- Font path and compilation root can now be set with the environment variables `TYPST_FONT_PATHS` and `TYPST_ROOT`
- The output of `typst fonts` now includes the embedded fonts

- Development
- Added instrumentation for debugging and optimization
- Added `--update` flag and `UPDATE_EXPECT` environment variable to update reference images for tests
- You can now run a specific subset with `--subtest`
- Tests now run on multiple threads

Thanks to everyone who contributed to this release: SUPERCILEX, HarmoGlace, Marmare314, PgBiel, barvirm, Dherse, Leedehai, joeldierkes, peng1999, AlistairKeiller, LaurenzV, Luis-Licea, SekoiaTree, astrale-sharp, birktj, dccsillag, goggle, johannes-wolf, mattfbacon, michidk, neunenak, pan93412, rpitasky, thinety, tranzystorek-io, werifu

0.2.0

Not secure
- **Breaking changes:**
- Removed support for iterating over index and value in for loops. This is now handled via unpacking and enumerating. Same goes for the `map()` method.
- Dictionaries now iterate in insertion order instead of alphabetical order.

- New features
- Added unpacking syntax for let bindings, which allows things like `let (1, 2) = array`
- Added `enumerate()` method
- Added `path` function for drawing Bézier paths
- Added `layout` function to access the size of the surrounding page or container
- Added `key` parameter to `sorted()` method

- Command line interface
- Fixed `--open` flag blocking the program
- New Computer Modern font is now embedded into the binary
- Shell completions and man pages can now be generated by setting the `GEN_ARTIFACTS` environment variable to a target directory and then building Typst

- Miscellaneous improvements
- Fixed page numbering in outline
- Added basic i18n for a few more languages (AR, NB, CS, NN, PL, SL, ES, UA, VI)
- Added a few numbering patterns (Ihora, Chinese)
- Added `sinc` operator
- Fixed bug where math could not be hidden with `hide`
- Fixed sizing issues with box, block, and shapes
- Fixed some translations
- Fixed inversion of "R" in `cal` and `frak` styles
- Fixed some styling issues in math
- Fixed supplements of references to headings
- Fixed syntax highlighting of identifiers in certain scenarios
- Ratios can now be multiplied with more types and be converted to floats with the `float` function

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.

0.1.0

Not secure
- **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.

Page 3 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.