summaryrefslogtreecommitdiff
path: root/docs/changelog/0.4.0.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/changelog/0.4.0.md')
-rw-r--r--docs/changelog/0.4.0.md106
1 files changed, 106 insertions, 0 deletions
diff --git a/docs/changelog/0.4.0.md b/docs/changelog/0.4.0.md
new file mode 100644
index 00000000..a5c30cdd
--- /dev/null
+++ b/docs/changelog/0.4.0.md
@@ -0,0 +1,106 @@
+---
+title: 0.4.0
+description: Changes in Typst 0.4.0
+---
+
+# Version 0.4.0 (May 20, 2023)
+
+## Footnotes
+- Implemented support for footnotes
+- The [`footnote`] function inserts a footnote
+- The [`footnote.entry`]($footnote.entry) function can be used to customize the
+ footnote listing
+- The `{"chicago-notes"}` [citation style]($cite.style) is now available
+
+## Documentation
+- Added a [Guide for LaTeX users]($guides/guide-for-latex-users)
+- Now shows default values for optional arguments
+- Added richer outlines in "On this Page"
+- Added initial support for search keywords: "Table of Contents" will now find
+ the [outline] function. Suggestions for more keywords are welcome!
+- Fixed issue with search result ranking
+- Fixed many more small issues
+
+## Math
+- **Breaking change**: Alignment points (`&`) in equations now alternate between
+ left and right alignment
+- Added support for writing roots with Unicode: For example, `[$root(x+y)$]` can
+ now also be written as `[$√(x+y)$]`
+- Fixed uneven vertical [`attachment`]($math.attach) alignment
+- Fixed spacing on decorated elements (e.g., spacing around a
+ [canceled]($math.cancel) operator)
+- Fixed styling for stretchable symbols
+- Added `tack.r.double`, `tack.l.double`, `dotless.i` and `dotless.j`
+ [symbols]($category/symbols/sym)
+- Fixed show rules on symbols (e.g. `{show sym.tack: set text(blue)}`)
+- Fixed missing rename from `ast.op` to `ast` that should have been in the
+ previous release
+
+## Scripting
+- Added function scopes: A function can now hold related definitions in its own
+ scope, similar to a module. The new [`assert.eq`]($assert.eq) function, for
+ instance, is part of the [`assert`] function's scope. Note that function
+ scopes are currently only available for built-in functions.
+- Added [`assert.eq`]($assert.eq) and [`assert.ne`]($assert.ne) functions for
+ simpler equality and inequality assertions with more helpful error messages
+- Exposed [list]($list.item), [enum]($enum.item), and [term list]($terms.item)
+ items in their respective functions' scope
+- The `at` methods on [strings]($str.at), [arrays]($array.at),
+ [dictionaries]($dictionary.at), and [content]($content.at) now support
+ specifying a default value
+- Added support for passing a function to [`replace`]($str.replace) that is
+ called with each match.
+- Fixed [replacement]($str.replace) strings: They are now inserted completely
+ verbatim instead of supporting the previous (unintended) magic dollar syntax
+ for capture groups
+- Fixed bug with trailing placeholders in destructuring patterns
+- Fixed bug with underscore in parameter destructuring
+- Fixed crash with nested patterns and when hovering over an invalid pattern
+- Better error messages when casting to an [integer]($int) or [float]($float)
+ fails
+
+## Text and Layout
+- Implemented sophisticated CJK punctuation adjustment
+- Disabled [overhang]($text.overhang) for CJK punctuation
+- Added basic translations for Traditional Chinese
+- Fixed [alignment]($raw.align) of text inside raw blocks (centering a raw
+ block, e.g. through a figure, will now keep the text itself left-aligned)
+- Added support for passing a array instead of a function to configure table
+ cell [alignment]($table.align) and [fill]($table.fill) per column
+- Fixed automatic figure [`kind`]($figure.kind) detection
+- Made alignment of [enum numbers]($enum.number-align) configurable, defaulting
+ to `end`
+- Figures can now be made breakable with a show-set rule for blocks in figure
+- Initial fix for smart quotes in RTL languages
+
+## Export
+- Fixed ligatures in PDF export: They are now copyable and searchable
+- Exported PDFs now embed ICC profiles for images that have them
+- Fixed export of strokes with zero thickness
+
+## Web app
+- Projects can now contain folders
+- Added upload by drag-and-drop into the file panel
+- Files from the file panel can now be dragged into the editor to insert them
+ into a Typst file
+- You can now copy-paste images and other files from your computer directly into
+ the editor
+- Added a button to resend confirmation email
+- Added an option to invert preview colors in dark mode
+- Added tips to the loading screen and the Help menu. Feel free to propose more!
+- Added syntax highlighting for YAML files
+- Allowed middle mouse button click on many buttons to navigate into a new tab
+- Allowed more project names
+- Fixed overridden Vim mode keybindings
+- Fixed many bugs regarding file upload and more
+
+## Miscellaneous Improvements
+- Improved performance of counters, state, and queries
+- Improved incremental parsing for more efficient recompilations
+- Added support for `.yaml` extension in addition to `.yml` for bibliographies
+- The CLI now emits escape codes only if the output is a TTY
+- For users of the `typst` crate: The `Document` is now `Sync` again and the
+ `World` doesn't have to be `'static` anymore
+
+## Contributors
+<contributors from="v0.3.0" to="v0.4.0" />