summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock12
-rw-r--r--Cargo.toml29
-rw-r--r--cli/Cargo.toml6
-rw-r--r--docs/src/general/changelog.md49
-rw-r--r--docs/src/reference/types.md6
-rw-r--r--library/Cargo.toml5
-rw-r--r--library/src/meta/figure.rs12
-rw-r--r--macros/Cargo.toml3
8 files changed, 61 insertions, 61 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 6a0c5aef..b902eacd 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -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",
diff --git a/Cargo.toml b/Cargo.toml
index 74769126..5fd1538b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
index ad08d99b..fc0f7ddd 100644
--- a/cli/Cargo.toml
+++ b/cli/Cargo.toml
@@ -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"
diff --git a/docs/src/general/changelog.md b/docs/src/general/changelog.md
index d75f7791..6ce26b5f 100644
--- a/docs/src/general/changelog.md
+++ b/docs/src/general/changelog.md
@@ -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
diff --git a/docs/src/reference/types.md b/docs/src/reference/types.md
index a5741337..2fceb2b3 100644
--- a/docs/src/reference/types.md
+++ b/docs/src/reference/types.md
@@ -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
diff --git a/library/Cargo.toml b/library/Cargo.toml
index 294c86fe..335a6001 100644
--- a/library/Cargo.toml
+++ b/library/Cargo.toml
@@ -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
diff --git a/library/src/meta/figure.rs b/library/src/meta/figure.rs
index 5476b367..945a812a 100644
--- a/library/src/meta/figure.rs
+++ b/library/src/meta/figure.rs
@@ -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),
diff --git a/macros/Cargo.toml b/macros/Cargo.toml
index 895d8321..179666d8 100644
--- a/macros/Cargo.toml
+++ b/macros/Cargo.toml
@@ -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