Version bump

This commit is contained in:
Laurenz 2023-05-20 21:56:19 +02:00
parent 1321862cd5
commit f692a5efc6
8 changed files with 61 additions and 61 deletions

12
Cargo.lock generated
View File

@ -2173,7 +2173,7 @@ checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
[[package]]
name = "typst"
version = "0.3.0"
version = "0.4.0"
dependencies = [
"bitflags 2.3.1",
"bytemuck",
@ -2213,7 +2213,7 @@ dependencies = [
[[package]]
name = "typst-cli"
version = "0.3.0"
version = "0.4.0"
dependencies = [
"atty",
"chrono",
@ -2243,7 +2243,7 @@ dependencies = [
[[package]]
name = "typst-docs"
version = "0.3.0"
version = "0.4.0"
dependencies = [
"comemo",
"heck",
@ -2262,7 +2262,7 @@ dependencies = [
[[package]]
name = "typst-library"
version = "0.3.0"
version = "0.4.0"
dependencies = [
"az",
"chinese-number",
@ -2295,7 +2295,7 @@ dependencies = [
[[package]]
name = "typst-macros"
version = "0.3.0"
version = "0.4.0"
dependencies = [
"heck",
"proc-macro2",
@ -2305,7 +2305,7 @@ dependencies = [
[[package]]
name = "typst-tests"
version = "0.3.0"
version = "0.4.0"
dependencies = [
"clap 4.2.7",
"comemo",

View File

@ -1,23 +1,9 @@
[package]
name = "typst"
version = "0.3.0"
rust-version = "1.65"
authors = ["The Typst Project Developers"]
edition = "2021"
description = "A new markup-based typesetting system that is powerful and easy to learn."
homepage = "https://typst.app"
repository = "https://github.com/typst/typst"
readme = "README.md"
license = "Apache-2.0"
categories = ["compilers", "science"]
keywords = ["markup", "typesetting"]
[workspace]
members = ["cli", "docs", "library", "macros", "tests"]
default-members = ["cli"]
[workspace.package]
version = "0.3.0"
version = "0.4.0"
rust-version = "1.65"
authors = ["The Typst Project Developers"]
edition = "2021"
@ -25,8 +11,19 @@ homepage = "https://typst.app"
repository = "https://github.com/typst/typst"
readme = "README.md"
license = "Apache-2.0"
[package]
name = "typst"
description = "A new markup-based typesetting system that is powerful and easy to learn."
categories = ["compilers", "science"]
keywords = ["typst"]
keywords = ["markup", "typesetting"]
version.workspace = true
rust-version.workspace = true
authors.workspace = true
edition.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
[lib]
doctest = false

View File

@ -1,15 +1,15 @@
[package]
name = "typst-cli"
description = "The command line interface for Typst."
categories = ["compilers", "command-line-utilities"]
keywords = ["typst", "cli"]
version.workspace = true
rust-version.workspace = true
authors.workspace = true
edition.workspace = true
description = "The command line interface for Typst."
homepage.workspace = true
repository.workspace = true
license.workspace = true
categories = ["compilers", "command-line-utilities"]
keywords = ["typst", "cli"]
[[bin]]
name = "typst"

View File

@ -5,7 +5,7 @@ description: |
---
# Changelog
## Unreleased
## Version 0.4.0 (May 20, 2023) { #v0.4.0 }
- Footnotes
- Implemented support for footnotes
- The [`footnote`]($func/footnote) function inserts a footnote
@ -14,11 +14,11 @@ description: |
- The `{"chicago-notes"}` [citation style]($func/cite.style) is now available
- Documentation
- Added [guide for LaTeX users]($guides/guide-for-latex-users)
- 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]($func/outline) function, suggestions for more keywords are
the [outline]($func/outline) function. Suggestions for more keywords are
welcome!
- Fixed issue with search result ranking
- Fixed many more small issues
@ -40,13 +40,17 @@ description: |
- Scripting
- Added function scopes: A function can now hold related definitions in its
own scope, similar to a module. The new [`assert.eq`]($func/assert.eq), for
instance, is part of the [`assert`]($func/assert) scopes.
own scope, similar to a module. The new [`assert.eq`]($func/assert.eq)
function, for instance, is part of the [`assert`]($func/assert) function's
scope. Note that function scopes are currently only available for built-in
functions.
- Added [`assert.eq`]($func/assert.eq) and [`assert.ne`]($func/assert.ne)
functions for simpler equality and inequality assertions with more helpful
error messages
- The `at` method on [strings]($type/string.at), [arrays]($type/array.at),
[dictionaries]($type/dict.at), and [content]($type/content.at) now supports
- Exposed [list]($func/list.item), [enum]($func/enum.item), and
[term list]($func/terms.item) items in their respective functions' scope
- The `at` methods on [strings]($type/string.at), [arrays]($type/array.at),
[dictionaries]($type/dict.at), and [content]($type/content.at) now support
specifying a default value
- Added support for passing a function to [`replace`]($type/string.replace)
that is called with each match.
@ -66,36 +70,35 @@ description: |
- Fixed [alignment]($func/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 per-column array instead of a function to
configure table cell [alignment]($func/table.align) and
[fill]($func/table.fill)
- Added support for passing a array instead of a function to configure table
cell [alignment]($func/table.align) and [fill]($func/table.fill) per column
- Fixed automatic figure [`kind`]($func/figure.kind) detection
- Made alignment of [enum numbers]($func/enum.number-align) configurable,
defaulting to `end`
- Fixed show-set rules for blocks in figures
- Initial fix for smart quotes for RTL languages
- 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 embeds ICC profiles for images that have them
- 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
- 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
in a Typst file
into a Typst file
- You can now copy-paste images and other files from your computer directly
into the editor
- Added button to resend confirmation email
- Added option to invert preview colors in dark mode
- Added tips to the loading screen and the Help menu. Feel free to submit
- 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
- Allow middle mouse button click on many buttons to navigate in a new tab
- Allow more project names
- Fix overridden Vim mode keybindings
- Many bugfixes regarding file upload and more
- 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
@ -105,6 +108,8 @@ description: |
- For users of the `typst` crate: The `Document` is now `Sync` again and
the `World` doesn't have to be `'static` anymore
<contributors from="v0.3.0" to="v0.4.0" />
## Version 0.3.0 (April 26, 2023) { #v0.3.0 }
- **Breaking changes:**
- Renamed a few symbols: What was previous `dot.op` is now just `dot` and the

View File

@ -832,6 +832,12 @@ kind. In contrast to normal functions, they can further be used in
[set rules]($styling/#set-rules), [show rules]($styling/#show-rules), and
[selectors]($type/selector).
### Function scopes { #function-scopes }
Functions can hold related definitions in their own scope, similar to a
[module]($scripting/#modules). Examples of this are
[`assert.eq`]($func/assert.eq) or [`list.item`]($func/list.item). However, this
feature is currently only available for built-in functions.
### Defining functions { #definitions }
You can define your own function with a
[let binding]($scripting/#bindings) that has a parameter list after

View File

@ -1,14 +1,15 @@
[package]
name = "typst-library"
description = "The standard library for Typst."
categories = ["compilers", "science"]
keywords = ["typst"]
version.workspace = true
rust-version.workspace = true
authors.workspace = true
edition.workspace = true
description = "The standard library for Typst."
homepage.workspace = true
repository.workspace = true
license.workspace = true
keywords.workspace = true
[lib]
test = false

View File

@ -95,21 +95,13 @@ pub struct FigureElem {
/// automatic detection. This can be useful if
/// - you wish to create a custom figure type that is not an
/// [image]($func/image), a [table]($func/table) or [code]($func/raw),
/// - you want to force the figure to use a counter regardless of its
/// content.
/// - you want to force the figure to use a specific counter regardless of
/// its content.
///
/// You can set the kind to be an element function or a string. If you set
/// it to an element function that is not supported by the figure, you will
/// need to manually specify the figure's supplement.
///
/// The figure's automatic detection is based on a priority list to select
/// the element that is likely to be the most important one. If the figure's
/// body contains multiple valid elements, the one with the highest priority
/// is selected. The priority list is as follows:
/// - [image]($func/image) is the most important,
/// - [code]($func/raw) is the second most important,
/// - [table]($func/table) is the least important one.
///
/// ```example
/// #figure(
/// circle(radius: 10pt),

View File

@ -1,14 +1,13 @@
[package]
name = "typst-macros"
description = "Proc-macros for Typst."
version.workspace = true
rust-version.workspace = true
authors.workspace = true
edition.workspace = true
description = "Proc-macros for Typst."
homepage.workspace = true
repository.workspace = true
license.workspace = true
keywords.workspace = true
[lib]
proc-macro = true