diff --git a/docs/changelog.md b/docs/changelog.md index c5f880494..63047c3d7 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,6 +5,136 @@ description: | --- # Changelog +## Unreleased +- Visualization + - Gradients and colors (thanks to [@Dherse](https://github.com/Dherse)) + - Added support for [gradients]($gradient) on shapes and text + - Supports linear, radial, and conic gradients + - Added support for defining colors in more color spaces, including + [Oklab]($color.oklab), [Linear RGB(A)]($color.linear-rgb), + [HSL]($color.hsl), and [HSV]($color.hsv) + - Added [`saturate`]($color.saturate), [`desaturate`]($color.desaturate), + and [`rotate`]($color.rotate) functions on colors + - Added [`color.map`]($color/#predefined-color-maps) module with predefined + color maps that can be used with gradients + - Rename `kind` function on colors to [`space`]($color.space) + - Removed `to-rgba`, `to-cmyk`, and `to-luma` functions in favor of a new + [`components`]($color.components) function + - Improved rendering of [rectangles]($rect) with corner radius and varying + stroke widths + - Added support for properly clipping [boxes]($box.clip) and + [blocks]($block.clip) with a border radius + - Added `background` parameter to [`overline`]($overline), + [`underline`]($underline), and [`strike`]($strike) functions + - Fixed inaccurate color embedding in PDFs + - Fixed ICC profile handling for images embedded in PDFs + +- Text and Layout + - Added support for automatically adding proper + [spacing]($text.cjk-latin-spacing) between CJK and Latin text (enabled by + default) + - Added support for automatic adjustment of more CJK punctuation + - Added [`quote`]($quote) element for inserting inline and block quotes with + optional attributions + - Added [`raw.line`]($raw.line) element for customizing the display of + individual lines of raw text, e.g. to add line numbers while keeping proper + syntax highlighting + - Added support for per-side [inset]($table.inset) customization to table + function + - Added Hungarian and Romanian translations + - Added support for Czech hyphenation + - Added support for setting custom [smart quotes]($smartquote) + - The default [figure separator]($figure.caption.separator) now reacts to the + currently set language and region + - Improved handling of consecutive hyphens in justification algorithm + - Fixed font fallback for hyphen generated by hyphenation + - Fixed handling of word joiner and other no-break characters during + hyphenation + - Fixed crash when hyphenating after an empty line + - Fixed line breaking of composite emoji like 🏳️‍🌈 + - Fixed missing text in some SVGs + - Fixed font fallback in SVGs + - Fixed `{set align(..)}` for equations + - Fixed spacing around [placed]($place) elements + - Fixed coalescing of [`above`]($block.above) and [`below`]($block.below) + spacing if given in em units and the font sizes differ + - Fixed handling of `extent` parameter of [`underline`]($underline), + [`overline`]($overline), and [`strike`]($strike) functions + - Fixed crash for [floating placed elements]($place.float) with no specified + vertical alignment + - Partially fixed a bug with citations in footnotes + +- Math + - Added `gap` argument for [`vec`]($math.vec.gap), [`mat`]($math.mat.gap), and + [`cases`]($math.cases.gap) function + - Added `size` argument for [`abs`]($math.abs), [`norm`]($math.norm), + [`floor`]($math.floor), [`ceil`]($math.ceil), and [`round`]($math.round) + functions + - Added [`reverse`]($math.cases.reverse) parameter to cases function + - Added support for multinomial coefficients to [`binom`]($math.binom) + function + - Removed `rotation` argument on [`cancel`]($math.cancel) function in favor of + a new and more flexible `angle` argument (**Breaking change**) + - Added `wide` constant, which insert twice the spacing of `quad` + - `↼`, `⇀`, `↔`, and `⟷` can now be used as [accents]($math.accent) + - Added `integral.dash`, `integral.dash.double`, and `integral.slash` + [symbols]($category/symbols/sym) + - Added support for specifying negative indices for + [augmentation]($math.mat.augment) lines to position the line from the back + - Fixed default color of matrix [augmentation]($math.mat.augment) lines + - Fixed attachment of primes to inline expressions + - Math content now respects the [baseline]($text.baseline) configuration + +- Performance + - Fixed a bug related to show rules in templates which would effectively + disable incremental compilation in affected documents + - Micro-optimized code in several hot paths, which brings substantial + performance gains, in particular in incremental compilations + - Improved incremental parsing, which affects the whole incremental + compilation pipeline + - Added support for incremental parsing in the CLI + - Added support for incremental SVG encoding during PDF export, which greatly + improves export performance for documents with many SVG + +- Tooling and Diagnostics + - Improved autocompletion for variables that are in-scope + - Added autocompletion for package imports + - Added tooltips that show which variables a function captures + - Diagnostics are now deduplicated + +- Command line interface + - Now clears the screen instead of resetting the terminal + - Now automatically picks correct file extension for selected output format + - Now only regenerates images for changed pages when using `typst watch` with + PNG or SVG export + +- Miscellaneous Improvements + - Added `sys.version` specifying the current compiler version. Can be used to + gracefully support multiple versions. + - The U+2212 MINUS SIGN is now used when displaying a numeric value, in the + [`repr`]($repr) of any numeric value and to replace a normal hyphen in text + mode when before a digit. This improves, in particular, how negative integer + values are displayed in math mode. + - Added support for configuring document [`keywords`]($document.keywords) and + the document's creation [`date`]($document.date) + - PDF creator tool metadata now includes the Typst version + - Added support for specifying a default value instead of failing for + [`remove`] function in [array]($array.remove) and + [dictionary]($dictionary.remove) + - Simplified page setup guide examples + - Switched the documentation from using the word "hashtag" to the word "hash" + where appropriate + - Fixed crash when a plugin tried to read out of bounds memory + - Fixed crashes when handling infinite [lengths]($length) + - Fixed introspection (mostly bibliography) bugs due to weak page break close + to the end of the document + +- Development + - Extracted `typst::ide` into separate `typst_ide` crate + - Removed a few remaining `'static` bounds on `&dyn World` + - Removed unnecessary dependency, which reduces the binary size + - Fixed compilation of `typst` by itself (without `typst-library`) + ## Version 0.8.0 (September 13, 2023) { #v0.8.0 } - Scripting - Plugins (thanks to [@astrale-sharp](https://github.com/astrale-sharp) and