{"route":"/en-US-v0.14.1/changelog/earlier/","title":"Earlier","description":"Changes in early, unversioned Typst","part":null,"outline":[{"id":"march-28-2023","name":"March 28, 2023","children":[]},{"id":"march-21-2023","name":"March 21, 2023","children":[]},{"id":"february-25-2023","name":"February 25, 2023","children":[]},{"id":"february-15-2023","name":"February 15, 2023","children":[]},{"id":"february-12-2023","name":"February 12, 2023","children":[]},{"id":"february-2-2023","name":"February 2, 2023","children":[]},{"id":"january-30-2023","name":"January 30, 2023","children":[]}],"body":{"kind":"html","content":"<h1>Changes in early, unversioned Typst</h1>\n<h2 id=\"march-28-2023\">March 28, 2023</h2>\n<ul>\n<li>\n<p><strong>Breaking changes:</strong></p>\n<ul>\n<li>Enumerations now require a space after their marker, that is, <code>1.ok</code> must\nnow be written as <code><span class=\"typ-marker\">1.</span> ok</code></li>\n<li>Changed default style for <a href=\"/en-US-v0.14.1/reference/model/terms/\">term lists</a>: Does not include a colon\nanymore and has a bit more indent</li>\n</ul>\n</li>\n<li>\n<p>Command line interface</p>\n<ul>\n<li>Added <code>--font-path</code> argument for CLI</li>\n<li>Embedded default fonts in CLI binary</li>\n<li>Fixed build of CLI if <code>git</code> is not installed</li>\n</ul>\n</li>\n<li>\n<p>Miscellaneous improvements</p>\n<ul>\n<li>Added support for disabling <a href=\"/en-US-v0.14.1/reference/math/mat/\">matrix</a> and <a href=\"/en-US-v0.14.1/reference/math/vec/\">vector</a>\ndelimiters. Generally with <code><span class=\"typ-key\">#</span><span class=\"typ-key\">set</span> math<span class=\"typ-punct\">.</span><span class=\"typ-func\">mat</span><span class=\"typ-punct\">(</span>delim<span class=\"typ-punct\">:</span> <span class=\"typ-key\">none</span><span class=\"typ-punct\">)</span></code> or one-off with\n<code><span class=\"typ-math-delim\">$</span><span class=\"typ-func\">mat</span><span class=\"typ-punct\">(</span>delim<span class=\"typ-punct\">:</span> <span class=\"typ-key\">#</span><span class=\"typ-key\">none</span><span class=\"typ-punct\">,</span> 1<span class=\"typ-punct\">,</span> 2<span class=\"typ-punct\">;</span> 3<span class=\"typ-punct\">,</span> 4<span class=\"typ-punct\">)</span><span class=\"typ-math-delim\">$</span></code>.</li>\n<li>Added <a href=\"/en-US-v0.14.1/reference/model/terms/#parameters-separator\"><code>separator</code></a> argument to term lists</li>\n<li>Added <a href=\"/en-US-v0.14.1/reference/math/lr/#functions-round\"><code>round</code></a> function for equations</li>\n<li>Numberings now allow zeros. To reset a counter, you can write\n<code><span class=\"typ-func\">#</span><span class=\"typ-func\">counter</span><span class=\"typ-punct\">(</span><span class=\"typ-op\">..</span><span class=\"typ-punct\">)</span><span class=\"typ-punct\">.</span><span class=\"typ-func\">update</span><span class=\"typ-punct\">(</span><span class=\"typ-num\">0</span><span class=\"typ-punct\">)</span></code></li>\n<li>Added documentation for <code><span class=\"typ-func\">page</span><span class=\"typ-punct\">(</span><span class=\"typ-punct\">)</span></code> and <code><span class=\"typ-func\">position</span><span class=\"typ-punct\">(</span><span class=\"typ-punct\">)</span></code> methods on\n<a href=\"/en-US-v0.14.1/reference/introspection/location/\" title=\"`location`\"><code>location</code></a> type</li>\n<li>Added symbols for double, triple, and quadruple dot accent</li>\n<li>Added smart quotes for Norwegian Bokmål</li>\n<li>Added Nix flake</li>\n<li>Fixed bibliography ordering in IEEE style</li>\n<li>Fixed parsing of decimals in math: <code><span class=\"typ-math-delim\">$</span>1.2<span class=\"typ-math-op\">/</span>3.4<span class=\"typ-math-delim\">$</span></code></li>\n<li>Fixed parsing of unbalanced delimiters in fractions: <code><span class=\"typ-math-delim\">$</span>1<span class=\"typ-math-op\">/</span>(2 (x)<span class=\"typ-math-delim\">$</span></code></li>\n<li>Fixed unexpected parsing of numbers as enumerations, e.g. in <code>1.2</code></li>\n<li>Fixed combination of page fill and header</li>\n<li>Fixed compiler crash if <a href=\"/en-US-v0.14.1/reference/layout/repeat/\" title=\"`repeat`\"><code>repeat</code></a> is used in page with automatic width</li>\n<li>Fixed <a href=\"/en-US-v0.14.1/reference/math/mat/\">matrices</a> with explicit delimiter</li>\n<li>Fixed <a href=\"/en-US-v0.14.1/reference/model/terms/#parameters-indent\"><code>indent</code></a> property of term lists</li>\n<li>Numerous documentation fixes</li>\n<li>Links in bibliographies are now affected by link styling</li>\n<li>Fixed hovering over comments in web app</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"march-21-2023\">March 21, 2023</h2>\n<ul>\n<li>\n<p>Reference and bibliography management</p>\n<ul>\n<li><a href=\"/en-US-v0.14.1/reference/model/bibliography/\">Bibliographies</a> and <a href=\"/en-US-v0.14.1/reference/model/cite/\">citations</a> (currently supported\nstyles are APA, Chicago Author Date, IEEE, and MLA)</li>\n<li>You can now <a href=\"/en-US-v0.14.1/reference/model/ref/\">reference</a> sections, figures, formulas, and works from\nthe bibliography with <code><span class=\"typ-ref\">@label</span></code></li>\n<li>You can make an element referenceable with a label:\n<ul>\n<li><code><span class=\"typ-heading\">= Introduction</span> <span class=\"typ-label\">&lt;intro&gt;</span></code></li>\n<li><code><span class=\"typ-math-delim\">$</span> A = <span class=\"typ-pol\">pi</span> r<span class=\"typ-math-op\">^</span>2 <span class=\"typ-math-delim\">$</span> <span class=\"typ-label\">&lt;area&gt;</span></code></li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\n<p>Introspection system for interactions between different parts of the document</p>\n<ul>\n<li><a href=\"/en-US-v0.14.1/reference/introspection/counter/\" title=\"`counter`\"><code>counter</code></a> function\n<ul>\n<li>Access and modify counters for pages, headings, figures, and equations</li>\n<li>Define and use your own custom counters</li>\n<li>Time travel: Find out what the counter value was or will be at some other\npoint in the document (e.g. when you're building a list of figures, you\ncan determine the value of the figure counter at any given figure).</li>\n<li>Counters count in layout order and not in code order</li>\n</ul>\n</li>\n<li><a href=\"/en-US-v0.14.1/reference/introspection/state/\" title=\"`state`\"><code>state</code></a> function\n<ul>\n<li>Manage arbitrary state across your document</li>\n<li>Time travel: Find out the value of your state at any position in the\ndocument</li>\n<li>State is modified in layout order and not in code order</li>\n</ul>\n</li>\n<li><a href=\"/en-US-v0.14.1/reference/introspection/query/\" title=\"`query`\"><code>query</code></a> function\n<ul>\n<li>Find all occurrences of an element or a label, either in the whole\ndocument or before/after some location</li>\n<li>Link to elements, find out their position on the pages and access their\nfields</li>\n<li>Example use cases: Custom list of figures or page header with current\nchapter title</li>\n</ul>\n</li>\n<li><a href=\"/en-US-v0.14.1/reference/introspection/locate/\" title=\"`locate`\"><code>locate</code></a> function\n<ul>\n<li>Determines the location of itself in the final layout</li>\n<li>Can be accessed to get the <code>page</code> and <code>x</code>, <code>y</code> coordinates</li>\n<li>Can be used with counters and state to find out their values at that\nlocation</li>\n<li>Can be used with queries to find elements before or after its location</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\n<p>New <a href=\"/en-US-v0.14.1/reference/layout/measure/\" title=\"`measure`\"><code>measure</code></a> function</p>\n<ul>\n<li>Measure the layouted size of elements</li>\n<li>To be used in combination with the new <code>style</code> function that lets you\ngenerate different content based on the style context something is inserted\ninto (because that affects the measured size of content)</li>\n</ul>\n</li>\n<li>\n<p>Exposed content representation</p>\n<ul>\n<li>Content is not opaque anymore</li>\n<li>Content can be compared for equality</li>\n<li>The tree of content elements can be traversed with code</li>\n<li>Can be observed in hover tooltips or with <a href=\"/en-US-v0.14.1/reference/foundations/repr/\" title=\"`repr`\"><code>repr</code></a></li>\n<li>New <a href=\"/en-US-v0.14.1/reference/foundations/content/\">methods</a> on content: <code>func</code>, <code>has</code>, <code>at</code>, and <code>location</code></li>\n<li>All optional fields on elements are now settable</li>\n<li>More uniform field names (<code>heading.title</code> becomes <code>heading.body</code>,\n<code>list.items</code> becomes <code>list.children</code>, and a few more changes)</li>\n</ul>\n</li>\n<li>\n<p>Further improvements</p>\n<ul>\n<li>Added <a href=\"/en-US-v0.14.1/reference/model/figure/\" title=\"`figure`\"><code>figure</code></a> function</li>\n<li>Added <a href=\"/en-US-v0.14.1/reference/math/equation/#parameters-numbering\"><code>numbering</code></a> parameter on equation function</li>\n<li>Added <a href=\"/en-US-v0.14.1/reference/layout/page/#parameters-numbering\"><code>numbering</code></a> and\n<a href=\"/en-US-v0.14.1/reference/layout/page/#parameters-number-align\"><code>number-align</code></a> parameters on page function</li>\n<li>The page function's <a href=\"/en-US-v0.14.1/reference/layout/page/#parameters-header\"><code>header</code></a> and <a href=\"/en-US-v0.14.1/reference/layout/page/#parameters-footer\"><code>footer</code></a>\nparameters do not take functions anymore. If you want to customize them\nbased on the page number, use the new <a href=\"/en-US-v0.14.1/reference/layout/page/#parameters-numbering\"><code>numbering</code></a>\nparameter or <a href=\"/en-US-v0.14.1/reference/introspection/counter/\" title=\"`counter`\"><code>counter</code></a> function instead.</li>\n<li>Added <a href=\"/en-US-v0.14.1/reference/layout/page/#parameters-footer-descent\"><code>footer-descent</code></a> and\n<a href=\"/en-US-v0.14.1/reference/layout/page/#parameters-header-ascent\"><code>header-ascent</code></a> parameters</li>\n<li>Better default alignment in header and footer</li>\n<li>Fixed Arabic vowel placement</li>\n<li>Fixed PDF font embedding issues</li>\n<li>Renamed <code>math.formula</code> to <a href=\"/en-US-v0.14.1/reference/math/equation/\"><code>math.equation</code></a></li>\n<li>Font family must be a named argument now: <code><span class=\"typ-key\">#</span><span class=\"typ-key\">set</span> <span class=\"typ-func\">text</span><span class=\"typ-punct\">(</span>font<span class=\"typ-punct\">:</span> <span class=\"typ-str\">&quot;..&quot;</span><span class=\"typ-punct\">)</span></code></li>\n<li>Added support for <a href=\"/en-US-v0.14.1/reference/model/par/#parameters-hanging-indent\">hanging indent</a></li>\n<li>Renamed paragraph <code>indent</code> to <a href=\"/en-US-v0.14.1/reference/model/par/#parameters-first-line-indent\"><code>first-line-indent</code></a></li>\n<li>More accurate <a href=\"/en-US-v0.14.1/reference/foundations/calc/#functions-log\">logarithm</a> when base is <code>2</code> or <code>10</code></li>\n<li>Improved some error messages</li>\n<li>Fixed layout of <a href=\"/en-US-v0.14.1/reference/model/terms/\" title=\"`terms`\"><code>terms</code></a> list</li>\n</ul>\n</li>\n<li>\n<p>Web app improvements</p>\n<ul>\n<li>Added template gallery</li>\n<li>Added buttons to insert headings, equations, raw blocks, and references</li>\n<li>Jump to the source of something by clicking on it in the preview panel\n(works for text, equations, images, and more)</li>\n<li>You can now upload your own fonts and use them in your project</li>\n<li>Hover debugging and autocompletion now takes multiple files into account and\nworks in show rules</li>\n<li>Hover tooltips now automatically collapse multiple consecutive equal values</li>\n<li>The preview now automatically scrolls to the right place when you type</li>\n<li>Links are now clickable in the preview area</li>\n<li>Toolbar, preview, and editor can now all be hidden</li>\n<li>Added autocompletion for raw block language tags</li>\n<li>Added autocompletion in SVG files</li>\n<li>New back button instead of four-dots button</li>\n<li>Lots of bug fixes</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"february-25-2023\">February 25, 2023</h2>\n<ul>\n<li>Font changes\n<ul>\n<li>New default font: Linux Libertine</li>\n<li>New default font for raw blocks: DejaVu Sans Mono</li>\n<li>New default font for math: Book weight of New Computer Modern Math</li>\n<li>Lots of new math fonts available</li>\n<li>Removed Latin Modern fonts in favor of New Computer Modern family</li>\n<li>Removed unnecessary smallcaps fonts which are already accessible through the\ncorresponding main font and the <a href=\"/en-US-v0.14.1/reference/text/smallcaps/\" title=\"`smallcaps`\"><code>smallcaps</code></a> function</li>\n</ul>\n</li>\n<li>Improved default spacing for headings</li>\n<li>Added <a href=\"/en-US-v0.14.1/reference/foundations/panic/\" title=\"`panic`\"><code>panic</code></a> function</li>\n<li>Added <a href=\"/en-US-v0.14.1/reference/foundations/str/#definitions-clusters\"><code>clusters</code></a> and <a href=\"/en-US-v0.14.1/reference/foundations/str/#definitions-codepoints\"><code>codepoints</code></a> methods\nfor strings</li>\n<li>Support for multiple authors in <a href=\"/en-US-v0.14.1/reference/model/document/#parameters-author\"><code>set document</code></a></li>\n<li>Fixed crash when string is accessed at a position that is not a char boundary</li>\n<li>Fixed semicolon parsing in <code><span class=\"typ-pol\">#</span><span class=\"typ-pol\">var</span> ;</code></li>\n<li>Fixed incremental parsing when inserting backslash at end of <code><span class=\"typ-str\">#</span><span class=\"typ-str\">&quot;abc&quot;</span></code></li>\n<li>Fixed names of a few font families (including Noto Sans Symbols and New\nComputer Modern families)</li>\n<li>Fixed autocompletion for font families</li>\n<li>Improved incremental compilation for user-defined functions</li>\n</ul>\n<h2 id=\"february-15-2023\">February 15, 2023</h2>\n<ul>\n<li><a href=\"/en-US-v0.14.1/reference/layout/box/\">Box</a> and <a href=\"/en-US-v0.14.1/reference/layout/block/\" title=\"block\">block</a> have gained <code>fill</code>, <code>stroke</code>, <code>radius</code>, and <code>inset</code>\nproperties</li>\n<li>Blocks may now be explicitly sized, fixed-height blocks can still break across\npages</li>\n<li>Blocks can now be configured to be <a href=\"/en-US-v0.14.1/reference/layout/block/#parameters-breakable\"><code>breakable</code></a> or not</li>\n<li><a href=\"/en-US-v0.14.1/reference/model/enum/#parameters-numbering\">Numbering style</a> can now be configured for nested enums</li>\n<li><a href=\"/en-US-v0.14.1/reference/model/list/#parameters-marker\">Markers</a> can now be configured for nested lists</li>\n<li>The <a href=\"/en-US-v0.14.1/reference/foundations/eval/\" title=\"`eval`\"><code>eval</code></a> function now expects code instead of markup and returns an\narbitrary value. Markup can still be evaluated by surrounding the string with\nbrackets.</li>\n<li>PDFs generated by Typst now contain XMP metadata</li>\n<li>Link boxes are now disabled in PDF output</li>\n<li>Tables don't produce small empty cells before a pagebreak anymore</li>\n<li>Fixed raw block highlighting bug</li>\n</ul>\n<h2 id=\"february-12-2023\">February 12, 2023</h2>\n<ul>\n<li>Shapes, images, and transformations (move/rotate/scale/repeat) are now\nblock-level. To integrate them into a paragraph, use a <a href=\"/en-US-v0.14.1/reference/layout/box/\" title=\"`box`\"><code>box</code></a> as with other\nelements.</li>\n<li>A colon is now required in an &quot;everything&quot; show rule: Write <code><span class=\"typ-key\">show</span><span class=\"typ-punct\">:</span> it <span class=\"typ-op\">=&gt;</span> ..</code>\ninstead of <code><span class=\"typ-key\">show</span> it <span class=\"typ-op\">=&gt;</span> ..</code>. This prevents intermediate states that ruin your\nwhole document.</li>\n<li>Non-math content like a shape or table in a math formula is now centered\nvertically</li>\n<li>Support for widow and orphan prevention within containers</li>\n<li>Support for <a href=\"/en-US-v0.14.1/reference/text/text/#parameters-dir\">RTL</a> in lists, grids, and tables</li>\n<li>Support for explicit <code><span class=\"typ-key\">auto</span></code> sizing for boxes and shapes</li>\n<li>Support for fractional (i.e. <code><span class=\"typ-num\">1fr</span></code>) widths for boxes</li>\n<li>Fixed bug where columns jump to next page</li>\n<li>Fixed bug where list items have no leading</li>\n<li>Fixed relative sizing in lists, squares and grid auto columns</li>\n<li>Fixed relative displacement in <a href=\"/en-US-v0.14.1/reference/layout/place/\" title=\"`place`\"><code>place</code></a> function</li>\n<li>Fixed that lines don't have a size</li>\n<li>Fixed bug where <code><span class=\"typ-key\">set</span> <span class=\"typ-func\">document</span><span class=\"typ-punct\">(</span><span class=\"typ-op\">..</span><span class=\"typ-punct\">)</span></code> complains about being after content</li>\n<li>Fixed parsing of <code><span class=\"typ-key\">not</span> <span class=\"typ-key\">in</span></code> operation</li>\n<li>Fixed hover tooltips in math</li>\n<li>Fixed bug where a heading show rule may not contain a pagebreak when an\noutline is present</li>\n<li>Added <a href=\"/en-US-v0.14.1/reference/layout/box/#parameters-baseline\"><code>baseline</code></a> property on <a href=\"/en-US-v0.14.1/reference/layout/box/\" title=\"`box`\"><code>box</code></a></li>\n<li>Added <a href=\"/en-US-v0.14.1/reference/math/op/\"><code>tg</code></a> and <a href=\"/en-US-v0.14.1/reference/math/op/\"><code>ctg</code></a> operators in math</li>\n<li>Added delimiter setting for <a href=\"/en-US-v0.14.1/reference/math/cases/\"><code>cases</code></a> function</li>\n<li>Parentheses are now included when accepting a function autocompletion</li>\n</ul>\n<h2 id=\"february-2-2023\">February 2, 2023</h2>\n<ul>\n<li>Merged text and math symbols, renamed a few symbols (including <code>infty</code> to\n<code>infinity</code> with the alias <code>oo</code>)</li>\n<li>Fixed missing italic mappings</li>\n<li>Math italics correction is now applied properly</li>\n<li>Parentheses now scale in <code><span class=\"typ-math-delim\">$</span><span class=\"typ-func\">zeta</span><span class=\"typ-punct\">(</span>x<span class=\"typ-math-op\">/</span>2<span class=\"typ-punct\">)</span><span class=\"typ-math-delim\">$</span></code></li>\n<li>Fixed placement of large root index</li>\n<li>Fixed spacing in <code><span class=\"typ-math-delim\">$</span><span class=\"typ-func\">abs</span><span class=\"typ-punct\">(</span><span class=\"typ-escape\">-</span>x<span class=\"typ-punct\">)</span><span class=\"typ-math-delim\">$</span></code></li>\n<li>Fixed inconsistency between text and identifiers in math</li>\n<li>Accents are now ignored when positioning superscripts</li>\n<li>Fixed vertical alignment in matrices</li>\n<li>Fixed <code>text</code> set rule in <code>raw</code> show rule</li>\n<li>Heading and list markers now parse consistently</li>\n<li>Allow arbitrary math directly in content</li>\n</ul>\n<h2 id=\"january-30-2023\">January 30, 2023</h2>\n<p><a href=\"https://typst.app/blog/2023/january-update\">Go to the announcement blog post.</a></p>\n<ul>\n<li>New expression syntax in markup/math\n<ul>\n<li>Blocks cannot be directly embedded in markup anymore</li>\n<li>Like other expressions, they now require a leading hash</li>\n<li>More expressions available with hash, including literals (<code><span class=\"typ-str\">#</span><span class=\"typ-str\">&quot;string&quot;</span></code>) as\nwell as field access and method call without space: <code><span class=\"typ-pol\">#</span><span class=\"typ-pol\">emoji</span><span class=\"typ-punct\">.</span><span class=\"typ-pol\">face</span></code></li>\n</ul>\n</li>\n<li>New import syntax\n<ul>\n<li><code><span class=\"typ-key\">#</span><span class=\"typ-key\">import</span> <span class=\"typ-str\">&quot;module.typ&quot;</span></code> creates binding named <code>module</code></li>\n<li><code><span class=\"typ-key\">#</span><span class=\"typ-key\">import</span> <span class=\"typ-str\">&quot;module.typ&quot;</span><span class=\"typ-punct\">:</span> a<span class=\"typ-punct\">,</span> b</code> or <code><span class=\"typ-key\">#</span><span class=\"typ-key\">import</span> <span class=\"typ-str\">&quot;module.typ&quot;</span><span class=\"typ-punct\">:</span> <span class=\"typ-op\">*</span></code> to import\nitems</li>\n<li><code><span class=\"typ-key\">#</span><span class=\"typ-key\">import</span> emoji<span class=\"typ-punct\">:</span> face<span class=\"typ-punct\">,</span> turtle</code> to import from already bound module</li>\n</ul>\n</li>\n<li>New symbol handling\n<ul>\n<li>Removed symbol notation</li>\n<li>Symbols are now in modules: <code>sym</code>, <code>emoji</code>, and <code>math</code></li>\n<li>Math module also reexports all of <code>sym</code></li>\n<li>Modified through field access, still order-independent</li>\n<li>Unknown modifiers are not allowed anymore</li>\n<li>Support for custom symbol definitions with <code>symbol</code> function</li>\n<li>Symbols now listed in documentation</li>\n</ul>\n</li>\n<li>New <code>math</code> module\n<ul>\n<li>Contains all math-related functions</li>\n<li>Variables and function calls directly in math (without hash) access this\nmodule instead of the global scope, but can also access local variables</li>\n<li>Can be explicitly used in code, e.g. <code><span class=\"typ-key\">#</span><span class=\"typ-key\">set</span> math<span class=\"typ-punct\">.</span><span class=\"typ-func\">vec</span><span class=\"typ-punct\">(</span>delim<span class=\"typ-punct\">:</span> <span class=\"typ-str\">&quot;[&quot;</span><span class=\"typ-punct\">)</span></code></li>\n</ul>\n</li>\n<li>Delimiter matching in math\n<ul>\n<li>Any opening delimiters matches any closing one</li>\n<li>When matched, they automatically scale</li>\n<li>To prevent scaling, escape them</li>\n<li>To forcibly match two delimiters, use <code>lr</code> function</li>\n<li>Line breaks may occur between matched delimiters</li>\n<li>Delimiters may also be unbalanced</li>\n<li>You can also use the <code>lr</code> function to scale the brackets (or just one\nbracket) to a specific size manually</li>\n</ul>\n</li>\n<li>Multi-line math with alignment\n<ul>\n<li>The <code>\\</code> character inserts a line break</li>\n<li>The <code>&amp;</code> character defines an alignment point</li>\n<li>Alignment points also work for underbraces, vectors, cases, and matrices</li>\n<li>Multiple alignment points are supported</li>\n</ul>\n</li>\n<li>More capable math function calls\n<ul>\n<li>Function calls directly in math can now take code expressions with hash</li>\n<li>They can now also take named arguments</li>\n<li>Within math function calls, semicolons turn preceding arguments to arrays to\nsupport matrices: <code><span class=\"typ-math-delim\">$</span><span class=\"typ-func\">mat</span><span class=\"typ-punct\">(</span>1<span class=\"typ-punct\">,</span> 2<span class=\"typ-punct\">;</span> 3<span class=\"typ-punct\">,</span> 4<span class=\"typ-punct\">)</span><span class=\"typ-math-delim\">$</span></code></li>\n</ul>\n</li>\n<li>Arbitrary content in math\n<ul>\n<li>Text, images, and other arbitrary content can now be embedded in math</li>\n<li>Math now also supports font fallback to support e.g. CJK and emoji</li>\n</ul>\n</li>\n<li>More math features\n<ul>\n<li>New text operators: <code>op</code> function, <code>lim</code>, <code>max</code>, etc.</li>\n<li>New matrix function: <code>mat</code></li>\n<li>New n-ary roots with <code>root</code> function: <code><span class=\"typ-math-delim\">$</span><span class=\"typ-func\">root</span><span class=\"typ-punct\">(</span>3<span class=\"typ-punct\">,</span> x<span class=\"typ-punct\">)</span><span class=\"typ-math-delim\">$</span></code></li>\n<li>New under- and overbraces, -brackets, and -lines</li>\n<li>New <code>abs</code> and <code>norm</code> functions</li>\n<li>New shorthands: <code>[|</code>, <code>|]</code>, and <code>||</code></li>\n<li>New <code>attach</code> function, overridable attachments with <code>script</code> and <code>limit</code></li>\n<li>Manual spacing in math, with <code>h</code>, <code>thin</code>, <code>med</code>, <code>thick</code> and <code>quad</code></li>\n<li>Symbols and other content may now be used like a function, e.g.\n<code><span class=\"typ-math-delim\">$</span><span class=\"typ-func\">zeta</span><span class=\"typ-punct\">(</span>x<span class=\"typ-punct\">)</span><span class=\"typ-math-delim\">$</span></code></li>\n<li>Added Fira Math font, removed Noto Sans Math font</li>\n<li>Support for alternative math fonts through <code><span class=\"typ-key\">#</span><span class=\"typ-key\">show</span> math<span class=\"typ-punct\">.</span><span class=\"typ-func\">formula</span><span class=\"typ-punct\">:</span> <span class=\"typ-key\">set</span> <span class=\"typ-func\">text</span><span class=\"typ-punct\">(</span><span class=\"typ-str\">&quot;Fira Math&quot;</span><span class=\"typ-punct\">)</span></code></li>\n</ul>\n</li>\n<li>More library improvements\n<ul>\n<li>New <code>calc</code> module, <code>abs</code>, <code>min</code>, <code>max</code>, <code>even</code>, <code>odd</code> and <code>mod</code> moved there</li>\n<li>New <code>message</code> argument on <code>assert</code> function</li>\n<li>The <code>pairs</code> method on dictionaries now returns an array of length-2 arrays\ninstead of taking a closure</li>\n<li>The method call <code>dict<span class=\"typ-punct\">.</span><span class=\"typ-func\">at</span><span class=\"typ-punct\">(</span><span class=\"typ-str\">&quot;key&quot;</span><span class=\"typ-punct\">)</span></code> now always fails if <code>&quot;key&quot;</code> doesn't exist\nPreviously, it was allowed in assignments. Alternatives are <code>dict<span class=\"typ-punct\">.</span>key <span class=\"typ-op\">=</span> x</code>\nand <code>dict<span class=\"typ-punct\">.</span><span class=\"typ-func\">insert</span><span class=\"typ-punct\">(</span><span class=\"typ-str\">&quot;key&quot;</span><span class=\"typ-punct\">,</span> x<span class=\"typ-punct\">)</span></code>.</li>\n</ul>\n</li>\n<li>Smarter editor functionality\n<ul>\n<li>Autocompletion for local variables</li>\n<li>Autocompletion for methods available on a value</li>\n<li>Autocompletion for symbols and modules</li>\n<li>Autocompletion for imports</li>\n<li>Hover over an identifier to see its value(s)</li>\n</ul>\n</li>\n<li>Further editor improvements\n<ul>\n<li>New Font menu with previews</li>\n<li>Single projects may now be shared with share links</li>\n<li>New dashboard experience if projects are shared with you</li>\n<li>Keyboard Shortcuts are now listed in the menus and there are more of them</li>\n<li>New Offline indicator</li>\n<li>Tooltips for all buttons</li>\n<li>Improved account protection</li>\n<li>Moved Status indicator into the error list button</li>\n</ul>\n</li>\n<li>Further fixes\n<ul>\n<li>Multiple bug fixes for incremental parser</li>\n<li>Fixed closure parameter capturing</li>\n<li>Fixed tons of math bugs</li>\n<li>Bugfixes for performance, file management, editing reliability</li>\n<li>Added redirection to the page originally navigated to after signin</li>\n</ul>\n</li>\n</ul>"}}