diff options
Diffstat (limited to 'docs/changelog/0.7.0.md')
| -rw-r--r-- | docs/changelog/0.7.0.md | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/docs/changelog/0.7.0.md b/docs/changelog/0.7.0.md new file mode 100644 index 00000000..9ea2ec21 --- /dev/null +++ b/docs/changelog/0.7.0.md @@ -0,0 +1,142 @@ +--- +title: 0.7.0 +description: Changes in Typst 0.7.0 +--- + +# Version 0.7.0 (August 7, 2023) + +## Text and Layout +- Added support for floating figures through the + [`placement`]($figure.placement) argument on the figure function +- Added support for arbitrary floating content through the + [`float`]($place.float) argument on the place function +- Added support for loading `.sublime-syntax` files as highlighting + [syntaxes]($raw.syntaxes) for raw blocks +- Added support for loading `.tmTheme` files as highlighting + [themes]($raw.theme) for raw blocks +- Added _bounds_ option to [`top-edge`]($text.top-edge) and + [`bottom-edge`]($text.bottom-edge) arguments of text function for tight + bounding boxes +- Removed nonsensical top- and bottom-edge options, e.g. _ascender_ for the + bottom edge **(Breaking change)** +- Added [`script`]($text.script) argument to text function +- Added [`alternative`]($smartquote.alternative) argument to smart quote + function +- Added basic i18n for Japanese +- Added hyphenation support for `nb` and `nn` language codes in addition to `no` +- Fixed positioning of [placed elements]($place) in containers +- Fixed overflowing containers due to optimized line breaks + +## Export +- Greatly improved export of SVG images to PDF. Many thanks to + [@LaurenzV](https://github.com/LaurenzV) for their work on this. +- Added support for the alpha channel of RGBA colors in PDF export +- Fixed a bug with PPI (pixels per inch) for PNG export + +## Math +- Improved layout of primes (e.g. in `[$a'_1$]`) +- Improved display of multi-primes (e.g. in `[$a''$]`) +- Improved layout of [roots]($math.root) +- Changed relations to show attachments as [limits]($math.limits) by default + (e.g. in `[$a ->^x b$]`) +- Large operators and delimiters are now always vertically centered +- [Boxes]($box) in equations now sit on the baseline instead of being vertically + centered by default. Notably, this does not affect [blocks]($block) because + they are not inline elements. +- Added support for [weak spacing]($h.weak) +- Added support for OpenType character variants +- Added support for customizing the [math class]($math.class) of content +- Fixed spacing around `.`, `\/`, and `...` +- Fixed spacing between closing delimiters and large operators +- Fixed a bug with math font weight selection +- Symbols and Operators **(Breaking changes)** + - Added `id`, `im`, and `tr` text [operators]($math.op) + - Renamed `ident` to `equiv` with alias `eq.triple` and removed `ident.strict` + in favor of `eq.quad` + - Renamed `ast.sq` to `ast.square` and `integral.sq` to `integral.square` + - Renamed `.eqq` modifier to `.equiv` (and `.neqq` to `.nequiv`) for `tilde`, + `gt`, `lt`, `prec`, and `succ` + - Added `emptyset` as alias for `nothing` + - Added `lt.curly` and `gt.curly` as aliases for `prec` and `succ` + - Added `aleph`, `beth`, and `gimmel` as alias for `alef`, `bet`, and `gimel` + +## Scripting +- Fields + - Added `abs` and `em` field to [lengths]($length) + - Added `ratio` and `length` field to [relative lengths]($relative) + - Added `x` and `y` field to [2d alignments]($align.alignment) + - Added `paint`, `thickness`, `cap`, `join`, `dash`, and `miter-limit` field + to [strokes]($stroke) +- Accessor and utility methods + - Added [`dedup`]($array.dedup) method to arrays + - Added `pt`, `mm`, `cm`, and `inches` method to [lengths]($length) + - Added `deg` and `rad` method to [angles]($angle) + - Added `kind`, `hex`, `rgba`, `cmyk`, and `luma` method to [colors]($color) + - Added `axis`, `start`, `end`, and `inv` method to [directions]($stack.dir) + - Added `axis` and `inv` method to [alignments]($align.alignment) + - Added `inv` method to [2d alignments]($align.alignment) + - Added `start` argument to [`enumerate`]($array.enumerate) method on arrays +- Added [`color.mix`]($color.mix) function +- Added `mode` and `scope` arguments to [`eval`] function +- Added [`bytes`] type for holding large byte buffers + - Added [`encoding`]($read.encoding) argument to read function to read a file + as bytes instead of a string + - Added [`image.decode`]($image.decode) function for decoding an image + directly from a string or bytes + - Added [`bytes`] function for converting a string or an array of integers to + bytes + - Added [`array`] function for converting bytes to an array of integers + - Added support for converting bytes to a string with the [`str`] function + +## Tooling and Diagnostics +- Added support for compiler warnings +- Added warning when compilation does not converge within five attempts due to + intense use of introspection features +- Added warnings for empty emphasis (`__` and `**`) +- Improved error message for invalid field assignments +- Improved error message after single `#` +- Improved error message when a keyword is used where an identifier is expected +- Fixed parameter autocompletion for functions that are in modules +- Import autocompletion now only shows the latest package version until a colon + is typed +- Fixed autocompletion for dictionary key containing a space +- Fixed autocompletion for `for` loops + +## Command line interface +- Added `typst query` subcommand to execute a + [query]($reference/introspection/query/#command-line-queries) on the command + line +- The `--root` and `--font-paths` arguments cannot appear in front of the + command anymore **(Breaking change)** +- Local and cached packages are now stored in directories of the form + `[{namespace}/{name}/{version}]` instead of `[{namespace}/{name}-{version}]` + **(Breaking change)** +- Now prioritizes explicitly given fonts (via `--font-paths`) over system and + embedded fonts when both exist +- Fixed `typst watch` not working with some text editors +- Fixed displayed compilation time (now includes export) + +## Miscellaneous Improvements +- Added [`bookmarked`]($heading.bookmarked) argument to heading to control + whether a heading becomes part of the PDF outline +- Added [`caption-pos`]($figure.caption.position) argument to control the + position of a figure's caption +- Added [`metadata`] function for exposing an arbitrary value to the + introspection system +- Fixed that a [`state`] was identified by the pair `(key, init)` instead of + just its `key` +- Improved indent logic of [enumerations]($enum). Instead of requiring at least + as much indent as the end of the marker, they now require only one more space + indent than the start of the marker. As a result, even long markers like `12.` + work with just 2 spaces of indent. +- Fixed bug with indent logic of [`raw`] blocks +- Fixed a parsing bug with dictionaries + +## Development +- Extracted parser and syntax tree into `typst-syntax` crate +- The `World::today` implementation of Typst dependents may need fixing if they + have the same [bug](https://github.com/typst/typst/issues/1842) that the CLI + world had + +## Contributors +<contributors from="v0.6.0" to="v0.7.0" /> |
