summaryrefslogtreecommitdiff
path: root/docs/changelog.md
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-09-13 15:49:30 +0200
committerLaurenz <laurmaedje@gmail.com>2023-09-13 15:55:50 +0200
commitfb8d3dd6eb847e571d31b530cd98906198ce8811 (patch)
tree8d026408270b30e148e3a314a690b1beeb945599 /docs/changelog.md
parent6aa9dbfbe6630321fa2a98f7f5d38b7a7062f0c3 (diff)
Changelog
Diffstat (limited to 'docs/changelog.md')
-rw-r--r--docs/changelog.md116
1 files changed, 116 insertions, 0 deletions
diff --git a/docs/changelog.md b/docs/changelog.md
index fb3dd263..07604d78 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -5,6 +5,122 @@ description: |
---
# Changelog
+## Unreleased
+- Scripting
+ - Plugins (thanks to [@astrale-sharp](https://github.com/astrale-sharp))
+ - Typst can now load [plugins]($plugin) that are compiled to WebAssembly
+ - Anything that can be compiled to WebAssembly can thus be loaded as a
+ plugin
+ - These plugins are fully encapsulated (no access to file system or network)
+ - Plugins can be shipped as part of [packages]($scripting/#packages)
+ - Plugins work just the same in the web app
+ - Types as first-class values (**Breaking change**)
+ - A [type]($type) is now itself a value
+ - Some types can be called like functions (those that have a constructor),
+ e.g. [`int`]($int) and [`str`]($str)
+ - Type checks are now of the form `{type(10) == int}` instead of the old
+ `{type(10) == "integer"}`. [Compatibility]($type/#compatibility) with the
+ old way will remain for a while to give package authors time to upgrade,
+ but it will be removed at some point.
+ - Methods are now syntax sugar for calling a function scoped to a type,
+ meaning that `{"hello".len()}` is equivalent to `{str.len("hello")}`
+ - Added support for [`import`]($scripting/#modules) renaming with `as`
+ - Added a [`duration`]($duration) type
+ - Added support for [CBOR]($cbor) encoding and decoding
+ - Added encoding and decoding functions from and to bytes for data formats:
+ [`json.decode`]($json.decode), [`json.encode`]($json.encode), and similar
+ functions for other formats
+ - Added [`array.intersperse`]($array.intersperse) function
+ - Added [`str.rev`]($str.rev) function
+ - Added `calc.tau` constant
+ - Made [bytes]($bytes) joinable and addable
+ - Made [`array.zip`]($array.zip) function variadic
+ - Fixed bug with [`eval`]($eval) when the `mode` was set to `{"math"}`
+ - Fixed bug with [`ends-with`]($str.ends-with) function on strings
+ - Fixed bug with destructuring in combination with break, continue, and return
+ - Fixed argument types of [hyperbolic functions]($calc.cosh), they don't allow
+ angles anymore (**Breaking change**)
+
+- Export
+ - Added SVG export
+ (thanks to [@Enter-tainer](https://github.com/Enter-tainer))
+ - Fixed bugs with PDF font embedding
+ - Added support for page labels that reflect the
+ [page numbering]($page.numbering) style in the PDF
+
+- Text and Layout
+ - Added [`highlight`]($highlight) function for highlighting text with a
+ background color
+ - Added [`polygon.regular`]($polygon.regular) function for drawing a regular
+ polygon
+ - Added support for tabs in [`raw`]($raw) elements alongside
+ [`tab-width`]($raw.tab-size) parameter
+ - The layout engine now tries to prevent "runts" (final lines consisting of
+ just a single word)
+ - Added Finish translations
+ - Added hyphenation support for Polish
+ - Improved handling of consecutive smart quotes of different kinds
+ - Fixed vertical alignments for [`number-align`]($page.number-align) argument
+ on page function (**Breaking change**)
+ - Fixed weak pagebreaks after counter updates
+ - Fixed missing text in SVG when the text font is set to "New Computer Modern"
+ - Fixed translations for Chinese
+ - Fixed crash for empty text in show rule
+ - Fixed leading spaces when there's a linebreak after a number and a comma
+ - Fixed placement of floating elements in columns and other containers
+ - Fixed sizing of block containing just a single box
+
+- Math
+ - Added support for [augmented matrices]($math.mat.augment)
+ - Removed support for automatic matching of fences like `|` and `||` as
+ there were too many false positive. You can use functions like
+ [`abs`]($math.abs) or [`norm`]($math.norm) or an explicit [`lr`]($math.lr)
+ call instead. (**Breaking change**)
+ - Fixed spacing after number with decimal point in math
+ - Fixed bug with primes in subscript
+ - Fixed weak spacing
+ - Fixed crash when text within math contains a newline
+
+- Tooling and Diagnostics
+ - Added hints when trying to call a function stored in a dictionary without
+ extra parentheses
+ - Fixed hint when referencing an equation without numbering
+ - Added more details to some diagnostics (e.g. when SVG decoding fails)
+
+- Command line interface
+ - Added `typst update` command for self-updating the CLI
+ (thanks to [@jimvdl](https://github.com/jimvdl))
+ - Added download progress indicator for packages and updates
+ - Added `--format` argument to explicitly specify the output format
+ - The CLI now respects proxy configuration through environment variables and
+ has a new `--cert` option for setting a custom CA certificate
+ - Fixed crash when field wasn't present and `--one` is passed to `typst query`
+
+- Miscellaneous Improvements
+ - Added [page setup guide]($guides/page-setup)
+ - Added [`figure.caption`]($figure.caption) function that can be used for
+ simpler figure customization (**Breaking change** because `it.caption` now
+ renders the full caption with supplement in figure show rules and manual
+ outlines)
+ - Moved `caption-pos` argument to `figure.caption` function and renamed it to
+ `position` (**Breaking change**)
+ - Added [`separator`]($figure.caption.separator) argument to `figure.caption`
+ function
+ - Added support for combination of and/or and before/after
+ [selectors]($selector)
+ - Packages can now specify a
+ [minimum compiler version](https://github.com/typst/packages#package-format)
+ they require to work
+ - Fixed parser bug where method calls could be moved onto their own line
+ for `[#let]` expressions in markup (continues to work in code)
+ - Fixed bugs in sentence and title case conversion for bibliographies
+ - Fixed supplements for alphanumeric and author-title bibliography styles
+ - Fixed off-by-one error in APA bibliography style
+
+- Development
+ - Made `Span` and `FileId` more type-safe so that all error conditions must be
+ handled by `World` implementors
+
## Version 0.7.0 (August 7, 2023) { #v0.7.0 }
- Text and Layout
- Added support for floating figures through the