{"route":"/en-US-v0.13.1/changelog/0.9.0/","title":"0.9.0","description":"Changes in Typst 0.9.0","part":null,"outline":[{"id":"bibliography-management","name":"Bibliography management","children":[]},{"id":"visualization","name":"Visualization","children":[]},{"id":"text-and-layout","name":"Text and Layout","children":[]},{"id":"math","name":"Math","children":[]},{"id":"performance","name":"Performance","children":[]},{"id":"tooling-and-diagnostics","name":"Tooling and Diagnostics","children":[]},{"id":"export","name":"Export","children":[]},{"id":"web-app","name":"Web app","children":[]},{"id":"command-line-interface","name":"Command line interface","children":[]},{"id":"miscellaneous-improvements","name":"Miscellaneous Improvements","children":[]},{"id":"development","name":"Development","children":[]},{"id":"contributors","name":"Contributors","children":[]}],"body":{"kind":"html","content":"<h1>Version 0.9.0 (October 31, 2023)</h1>\n<h2 id=\"bibliography-management\">Bibliography management</h2>\n<ul>\n<li>New bibliography engine based on <a href=\"https://citationstyles.org/\">CSL</a> (Citation\nStyle Language). Ships with about 100 commonly used citation styles and can\nload custom <code>.csl</code> files.</li>\n<li>Added new <a href=\"/en-US-v0.13.1/reference/model/cite/#parameters-form\"><code>form</code></a> argument to the <code>cite</code> function to produce\ndifferent forms of citations (e.g. for producing a citation suitable for\ninclusion in prose)</li>\n<li>The <a href=\"/en-US-v0.13.1/reference/model/cite/\" title=\"`cite`\"><code>cite</code></a> function now takes only a single label/key instead of allowing\nmultiple. Adjacent citations are merged and formatted according to the\ncitation style's rules automatically. This works both with the reference\nsyntax and explicit calls to the <code>cite</code> function. <strong>(Breaking change)</strong></li>\n<li>The <code>cite</code> function now takes a <a href=\"/en-US-v0.13.1/reference/foundations/label/\" title=\"label\">label</a> instead of a string\n<strong>(Breaking change)</strong></li>\n<li>Added <a href=\"/en-US-v0.13.1/reference/model/bibliography/#parameters-full\"><code>full</code></a> argument to bibliography function to print\nthe full bibliography even if not all works were cited</li>\n<li>Bibliography entries can now contain Typst equations (wrapped in <code><span class=\"typ-math-delim\">$</span>..<span class=\"typ-math-delim\">$</span></code> just\nlike in markup), this works both for <code>.yml</code> and <code>.bib</code> bibliographies</li>\n<li>The hayagriva YAML format was improved. See its\n<a href=\"https://github.com/typst/hayagriva/blob/main/CHANGELOG.md\">changelog</a> for\nmore details. <strong>(Breaking change)</strong></li>\n<li>A few bugs with <code>.bib</code> file parsing were fixed</li>\n<li>Removed <code>brackets</code> argument of <code>cite</code> function in favor of <code>form</code></li>\n</ul>\n<h2 id=\"visualization\">Visualization</h2>\n<ul>\n<li>Gradients and colors (thanks to <a href=\"https://github.com/Dherse\">@Dherse</a>)\n<ul>\n<li>Added support for <a href=\"/en-US-v0.13.1/reference/visualize/gradient/\">gradients</a> on shapes and text</li>\n<li>Supports linear, radial, and conic gradients</li>\n<li>Added support for defining colors in more color spaces, including\n<a href=\"/en-US-v0.13.1/reference/visualize/color/#definitions-oklab\">Oklab</a>, <a href=\"/en-US-v0.13.1/reference/visualize/color/#definitions-linear-rgb\">Linear RGB(A)</a>,\n<a href=\"/en-US-v0.13.1/reference/visualize/color/#definitions-hsl\">HSL</a>, and <a href=\"/en-US-v0.13.1/reference/visualize/color/#definitions-hsv\">HSV</a></li>\n<li>Added <a href=\"/en-US-v0.13.1/reference/visualize/color/#definitions-saturate\"><code>saturate</code></a>, <a href=\"/en-US-v0.13.1/reference/visualize/color/#definitions-desaturate\"><code>desaturate</code></a>, and\n<a href=\"/en-US-v0.13.1/reference/visualize/color/#definitions-rotate\"><code>rotate</code></a> functions on colors</li>\n<li>Added <a href=\"/en-US-v0.13.1/reference/visualize/color/#predefined-color-maps\"><code>color.map</code></a> module with predefined\ncolor maps that can be used with gradients</li>\n<li>Rename <code>kind</code> function on colors to <a href=\"/en-US-v0.13.1/reference/visualize/color/#definitions-space\"><code>space</code></a></li>\n<li>Removed <code>to-rgba</code>, <code>to-cmyk</code>, and <code>to-luma</code> functions in favor of a new\n<a href=\"/en-US-v0.13.1/reference/visualize/color/#definitions-components\"><code>components</code></a> function</li>\n</ul>\n</li>\n<li>Improved rendering of <a href=\"/en-US-v0.13.1/reference/visualize/rect/\">rectangles</a> with corner radius and varying\nstroke widths</li>\n<li>Added support for properly clipping <a href=\"/en-US-v0.13.1/reference/layout/box/#parameters-clip\">boxes</a> and\n<a href=\"/en-US-v0.13.1/reference/layout/block/#parameters-clip\">blocks</a> with a border radius</li>\n<li>Added <code>background</code> parameter to <a href=\"/en-US-v0.13.1/reference/text/overline/\" title=\"`overline`\"><code>overline</code></a>, <a href=\"/en-US-v0.13.1/reference/text/underline/\" title=\"`underline`\"><code>underline</code></a>, and <a href=\"/en-US-v0.13.1/reference/text/strike/\" title=\"`strike`\"><code>strike</code></a>\nfunctions</li>\n<li>Fixed inaccurate color embedding in PDFs</li>\n<li>Fixed ICC profile handling for images embedded in PDFs</li>\n</ul>\n<h2 id=\"text-and-layout\">Text and Layout</h2>\n<ul>\n<li>Added support for automatically adding proper\n<a href=\"/en-US-v0.13.1/reference/text/text/#parameters-cjk-latin-spacing\">spacing</a> between CJK and Latin text (enabled by\ndefault)</li>\n<li>Added support for automatic adjustment of more CJK punctuation</li>\n<li>Added <a href=\"/en-US-v0.13.1/reference/model/quote/\" title=\"`quote`\"><code>quote</code></a> element for inserting inline and block quotes with optional\nattributions</li>\n<li>Added <a href=\"/en-US-v0.13.1/reference/text/raw/#definitions-line\"><code>raw.line</code></a> element for customizing the display of\nindividual lines of raw text, e.g. to add line numbers while keeping proper\nsyntax highlighting</li>\n<li>Added support for per-side <a href=\"/en-US-v0.13.1/reference/model/table/#parameters-inset\">inset</a> customization to table\nfunction</li>\n<li>Added Hungarian and Romanian translations</li>\n<li>Added support for Czech hyphenation</li>\n<li>Added support for setting custom <a href=\"/en-US-v0.13.1/reference/text/smartquote/\">smart quotes</a></li>\n<li>The default <a href=\"/en-US-v0.13.1/reference/model/figure/#definitions-caption-separator\">figure separator</a> now reacts to the\ncurrently set language and region</li>\n<li>Improved line breaking of links / URLs (especially helpful for bibliographies\nwith many URLs)</li>\n<li>Improved handling of consecutive hyphens in justification algorithm</li>\n<li>Fixed interaction of justification and hanging indent</li>\n<li>Fixed a bug with line breaking of short lines without spaces when\njustification is enabled</li>\n<li>Fixed font fallback for hyphen generated by hyphenation</li>\n<li>Fixed handling of word joiner and other no-break characters during hyphenation</li>\n<li>Fixed crash when hyphenating after an empty line</li>\n<li>Fixed line breaking of composite emoji like 🏳️‍🌈</li>\n<li>Fixed missing text in some SVGs</li>\n<li>Fixed font fallback in SVGs</li>\n<li>Fixed behavior of <a href=\"/en-US-v0.13.1/reference/layout/pagebreak/#parameters-to\"><code>to</code></a> argument on <code>pagebreak</code> function</li>\n<li>Fixed <code><span class=\"typ-key\">set</span> <span class=\"typ-func\">align</span><span class=\"typ-punct\">(</span><span class=\"typ-op\">..</span><span class=\"typ-punct\">)</span></code> for equations</li>\n<li>Fixed spacing around <a href=\"/en-US-v0.13.1/reference/layout/place/\">placed</a> elements</li>\n<li>Fixed coalescing of <a href=\"/en-US-v0.13.1/reference/layout/block/#parameters-above\"><code>above</code></a> and <a href=\"/en-US-v0.13.1/reference/layout/block/#parameters-below\"><code>below</code></a>\nspacing if given in em units and the font sizes differ</li>\n<li>Fixed handling of <code>extent</code> parameter of <a href=\"/en-US-v0.13.1/reference/text/underline/\" title=\"`underline`\"><code>underline</code></a>, <a href=\"/en-US-v0.13.1/reference/text/overline/\" title=\"`overline`\"><code>overline</code></a>, and\n<a href=\"/en-US-v0.13.1/reference/text/strike/\" title=\"`strike`\"><code>strike</code></a> functions</li>\n<li>Fixed crash for <a href=\"/en-US-v0.13.1/reference/layout/place/#parameters-float\">floating placed elements</a> with no specified\nvertical alignment</li>\n<li>Partially fixed a bug with citations in footnotes</li>\n</ul>\n<h2 id=\"math\">Math</h2>\n<ul>\n<li>Added <code>gap</code> argument for <a href=\"/en-US-v0.13.1/reference/math/vec/#parameters-gap\"><code>vec</code></a>, <a href=\"/en-US-v0.13.1/reference/math/mat/#parameters-gap\"><code>mat</code></a>, and\n<a href=\"/en-US-v0.13.1/reference/math/cases/#parameters-gap\"><code>cases</code></a> function</li>\n<li>Added <code>size</code> argument for <a href=\"/en-US-v0.13.1/reference/math/lr/#functions-abs\"><code>abs</code></a>, <a href=\"/en-US-v0.13.1/reference/math/lr/#functions-norm\"><code>norm</code></a>,\n<a href=\"/en-US-v0.13.1/reference/math/lr/#functions-floor\"><code>floor</code></a>, <a href=\"/en-US-v0.13.1/reference/math/lr/#functions-ceil\"><code>ceil</code></a>, and <a href=\"/en-US-v0.13.1/reference/math/lr/#functions-round\"><code>round</code></a>\nfunctions</li>\n<li>Added <a href=\"/en-US-v0.13.1/reference/math/cases/#parameters-reverse\"><code>reverse</code></a> parameter to cases function</li>\n<li>Added support for multinomial coefficients to <a href=\"/en-US-v0.13.1/reference/math/binom/\"><code>binom</code></a> function</li>\n<li>Removed <code>rotation</code> argument on <a href=\"/en-US-v0.13.1/reference/math/cancel/\"><code>cancel</code></a> function in favor of a\nnew and more flexible <code>angle</code> argument <strong>(Breaking change)</strong></li>\n<li>Added <code>wide</code> constant, which inserts twice the spacing of <code>quad</code></li>\n<li>Added <code>csch</code> and <code>sech</code> <a href=\"/en-US-v0.13.1/reference/math/op/\">operators</a></li>\n<li><code>↼</code>, <code>⇀</code>, <code>↔</code>, and <code>⟷</code> can now be used as <a href=\"/en-US-v0.13.1/reference/math/accent/\">accents</a></li>\n<li>Added <code>integral.dash</code>, <code>integral.dash.double</code>, and <code>integral.slash</code>\n<a href=\"/en-US-v0.13.1/reference/symbols/sym/\">symbols</a></li>\n<li>Added support for specifying negative indices for\n<a href=\"/en-US-v0.13.1/reference/math/mat/#parameters-augment\">augmentation</a> lines to position the line from the back</li>\n<li>Fixed default color of matrix <a href=\"/en-US-v0.13.1/reference/math/mat/#parameters-augment\">augmentation</a> lines</li>\n<li>Fixed attachment of primes to inline expressions</li>\n<li>Math content now respects the text <a href=\"/en-US-v0.13.1/reference/text/text/#parameters-baseline\">baseline</a> setting</li>\n</ul>\n<h2 id=\"performance\">Performance</h2>\n<ul>\n<li>Fixed a bug related to show rules in templates which would effectively disable\nincremental compilation in affected documents</li>\n<li>Micro-optimized code in several hot paths, which brings substantial\nperformance gains, in particular in incremental compilations</li>\n<li>Improved incremental parsing, which affects the whole incremental compilation\npipeline</li>\n<li>Added support for incremental parsing in the CLI</li>\n<li>Added support for incremental SVG encoding during PDF export, which greatly\nimproves export performance for documents with many SVG</li>\n</ul>\n<h2 id=\"tooling-and-diagnostics\">Tooling and Diagnostics</h2>\n<ul>\n<li>Improved autocompletion for variables that are in-scope</li>\n<li>Added autocompletion for package imports</li>\n<li>Added autocompletion for <a href=\"/en-US-v0.13.1/reference/foundations/label/\">labels</a></li>\n<li>Added tooltip that shows which variables a function captures (when hovering\nover the equals sign or arrow of the function)</li>\n<li>Diagnostics are now deduplicated</li>\n<li>Improved diagnostics when trying to apply unary <code>+</code> or <code>-</code> to types that only\nsupport binary <code>+</code> and <code>-</code></li>\n<li>Error messages now state which label or citation key isn't present in the\ndocument or its bibliography</li>\n<li>Fixed a bug where function argument parsing errors were shadowed by function\nexecution errors (e.g. when trying to call <a href=\"/en-US-v0.13.1/reference/foundations/array/#definitions-sorted\"><code>array.sorted</code></a> and\npassing the key function as a positional argument instead of a named one).</li>\n</ul>\n<h2 id=\"export\">Export</h2>\n<ul>\n<li>Added support for configuring the document's creation\n<a href=\"/en-US-v0.13.1/reference/model/document/#parameters-date\"><code>date</code></a>. If the <code>date</code> is set to <code><span class=\"typ-key\">auto</span></code> (the default), the\nPDF's creation date will be set to the current date and time.</li>\n<li>Added support for configuring document <a href=\"/en-US-v0.13.1/reference/model/document/#parameters-keywords\"><code>keywords</code></a></li>\n<li>Generated PDFs now contain PDF document IDs</li>\n<li>The PDF creator tool metadata now includes the Typst version</li>\n</ul>\n<h2 id=\"web-app\">Web app</h2>\n<ul>\n<li>Added version picker to pin a project to an older compiler version\n(with support for Typst 0.6.0+)</li>\n<li>Fixed desyncs between editor and compiler and improved overall stability</li>\n<li>The app now continues to highlight the document when typing while the document\nis being compiled</li>\n</ul>\n<h2 id=\"command-line-interface\">Command line interface</h2>\n<ul>\n<li>Added support for discovering fonts through fontconfig</li>\n<li>Now clears the screen instead of resetting the terminal</li>\n<li>Now automatically picks correct file extension for selected output format</li>\n<li>Now only regenerates images for changed pages when using <code>typst watch</code> with\nPNG or SVG export</li>\n</ul>\n<h2 id=\"miscellaneous-improvements\">Miscellaneous Improvements</h2>\n<ul>\n<li>Added <a href=\"/en-US-v0.13.1/reference/foundations/version/\" title=\"`version`\"><code>version</code></a> type and <code>sys.version</code> constant specifying the current\ncompiler version. Can be used to gracefully support multiple versions.</li>\n<li>The U+2212 MINUS SIGN is now used when displaying a numeric value, in the\n<a href=\"/en-US-v0.13.1/reference/foundations/repr/\" title=\"`repr`\"><code>repr</code></a> of any numeric value and to replace a normal hyphen in text mode when\nbefore a digit. This improves, in particular, how negative integer values are\ndisplayed in math mode.</li>\n<li>Added support for specifying a default value instead of failing for <code>remove</code>\nfunction in <a href=\"/en-US-v0.13.1/reference/foundations/array/#definitions-remove\">array</a> and <a href=\"/en-US-v0.13.1/reference/foundations/dictionary/#definitions-remove\">dictionary</a></li>\n<li>Simplified page setup guide examples</li>\n<li>Switched the documentation from using the word &quot;hashtag&quot; to the word &quot;hash&quot;\nwhere appropriate</li>\n<li>Added support for <a href=\"/en-US-v0.13.1/reference/foundations/array/#definitions-zip\"><code>array.zip</code></a> without any further arguments</li>\n<li>Fixed crash when a plugin tried to read out of bounds memory</li>\n<li>Fixed crashes when handling infinite <a href=\"/en-US-v0.13.1/reference/layout/length/\">lengths</a></li>\n<li>Fixed introspection (mostly bibliography) bugs due to weak page break close to\nthe end of the document</li>\n</ul>\n<h2 id=\"development\">Development</h2>\n<ul>\n<li>Extracted <code>typst::ide</code> into separate <code>typst_ide</code> crate</li>\n<li>Removed a few remaining <code>'static</code> bounds on <code>&amp;dyn World</code></li>\n<li>Removed unnecessary dependency, which reduces the binary size</li>\n<li>Fixed compilation of <code>typst</code> by itself (without <code>typst-library</code>)</li>\n<li>Fixed warnings with Nix flake when using <code>lib.getExe</code></li>\n</ul>\n<h2 id=\"contributors\">Contributors</h2>"}}