Update changelog

This is preliminary since a few more changes will come before 0.9.
This commit is contained in:
Laurenz 2023-10-25 16:21:09 +02:00
parent 38f59c2a27
commit 7c92ec103e

View File

@ -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