head	1.15;
access;
symbols
	pkgsrc-2026Q2:1.13.0.6
	pkgsrc-2026Q2-base:1.13
	pkgsrc-2026Q1:1.13.0.4
	pkgsrc-2026Q1-base:1.13
	pkgsrc-2025Q4:1.13.0.2
	pkgsrc-2025Q4-base:1.13
	pkgsrc-2025Q3:1.9.0.6
	pkgsrc-2025Q3-base:1.9
	pkgsrc-2025Q2:1.9.0.4
	pkgsrc-2025Q2-base:1.9
	pkgsrc-2025Q1:1.9.0.2
	pkgsrc-2025Q1-base:1.9
	pkgsrc-2024Q4:1.7.0.2
	pkgsrc-2024Q4-base:1.7
	pkgsrc-2024Q3:1.6.0.4
	pkgsrc-2024Q3-base:1.6
	pkgsrc-2024Q2:1.6.0.2
	pkgsrc-2024Q2-base:1.6
	pkgsrc-2024Q1:1.5.0.2
	pkgsrc-2024Q1-base:1.5
	pkgsrc-2023Q4:1.4.0.2
	pkgsrc-2023Q4-base:1.4
	pkgsrc-2023Q2:1.1.0.2
	pkgsrc-2023Q2-base:1.1;
locks; strict;
comment	@# @;


1.15
date	2026.07.20.13.07.51;	author pin;	state Exp;
branches;
next	1.14;
commitid	JeamBh1JRKKIsoOG;

1.14
date	2026.06.22.07.56.09;	author pin;	state Exp;
branches;
next	1.13;
commitid	HCqMLESkvNnKDLKG;

1.13
date	2025.12.13.19.55.16;	author pin;	state Exp;
branches;
next	1.12;
commitid	CogZdsQ4qwb7LhmG;

1.12
date	2025.12.03.18.23.52;	author pin;	state Exp;
branches;
next	1.11;
commitid	O7TgsonfoIWGzZkG;

1.11
date	2025.10.27.12.05.01;	author pin;	state Exp;
branches;
next	1.10;
commitid	YsrLzbBQH55sFcgG;

1.10
date	2025.10.16.10.51.28;	author pin;	state Exp;
branches;
next	1.9;
commitid	MOehoW2HtMb9CMeG;

1.9
date	2025.03.12.13.29.14;	author pin;	state Exp;
branches;
next	1.8;
commitid	KkzL50izZ8YIuMMF;

1.8
date	2025.02.21.14.36.35;	author pin;	state Exp;
branches;
next	1.7;
commitid	02EwgICJvc3HtlKF;

1.7
date	2024.10.19.21.09.21;	author pin;	state Exp;
branches;
next	1.6;
commitid	9HTIop9ELBvxFjuF;

1.6
date	2024.05.18.07.03.55;	author pin;	state Exp;
branches;
next	1.5;
commitid	XZVgFJFJHN3qWraF;

1.5
date	2024.03.18.09.04.33;	author pin;	state Exp;
branches;
next	1.4;
commitid	LC3gycFeX0OmzC2F;

1.4
date	2023.12.09.22.01.45;	author pin;	state Exp;
branches;
next	1.3;
commitid	YGs3eOeAtR4i5QPE;

1.3
date	2023.08.17.02.49.19;	author pin;	state dead;
branches;
next	1.2;
commitid	B5SE260hfm57n5BE;

1.2
date	2023.07.10.19.43.05;	author pin;	state Exp;
branches;
next	1.1;
commitid	6cQJtxnYzPGDciwE;

1.1
date	2023.05.24.12.17.49;	author pin;	state Exp;
branches;
next	;
commitid	UyJJHHEDx2iwfdqE;


desc
@@


1.15
log
@textproc/typst: update to 0.15.1

Library

 Text

   - Updated New Computer Modern fonts to version 8.1.1, fixing a bug where the regular weight of the math
     font was still using the old calligraphic letterforms that were supposed to live in stylistic set 6

 Math

   - Fixed a regression where alignment points did not work correctly when placed within lr / matched delimiters
   - Fixed a regression where op elements could be vertically misaligned

Layout

   - Fixed a bug where gaps could appear in multi-page lists with number-align / marker-align set to an
     alignment with a vertical component

Export

 SVG

   - Fixed that inline SVGs resulting from html.frame elements did not respect pretty printing

Bundle

   - In the watch server, the automatic selection of appropriate Content-Type headers based on file extensions was
     expanded to include more commonly used file types (e.g. json files)
   - The error for PNG/SVG documents with multiple pages is now only raised if it persists until the final document iteration

Command Line Interface

   - The typst eval subcommand will now exit with code 1 when the provided expression fails to evaluate
@
text
@$NetBSD: patch-Cargo.toml,v 1.14 2026/06/22 07:56:09 pin Exp $

Work around unpublished crate.

--- Cargo.toml.orig	2026-06-16 06:41:50.712217351 +0000
+++ Cargo.toml
@@@@ -34,7 +34,7 @@@@ typst-assets = "0.15.1"
 typst-timing = { path = "crates/typst-timing", version = "0.15.1" }
 typst-utils = { path = "crates/typst-utils", version = "0.15.1" }
 typst-assets = "0.15.1"
-typst-dev-assets = { git = "https://github.com/typst/typst-dev-assets", tag = "v0.15.1" }
+typst-dev-assets = { path = "typst-dev-assets-79ba7c354e39d9cd0a074bc41becc05f0119eee3" }
 arrayvec = "0.7.4"
 az = "1.2"
 base64 = "0.22"
@


1.14
log
@textproc/typst: update to 0.15.0

Highlights

    Typst now supports variable fonts
    HTML export now supports equations out of the box via MathML
    With the new, experimental bundle export target, a single Typst project can output multiple files (e.g. a multi-page website)
    A single document can now contain multiple bibliographies
    Typst can now target multiple PDF standards at once
    The new within selector simplifies many introspection use cases
    The new divider element represents a thematic break that templates can style
    Spot colors enable use of custom pigments in offset printing
    With the new file path type, project-relative paths can be passed to packages
    The new, more general typst eval CLI subcommand supersedes typst query
    Layout convergence issues now result in detailed diagnostics
    Two long-standing list layout issues with marker alignment and centering were fixed
    Paragraph handling in HTML export is improved, preventing unexpected paragraphs from appearing
    The Typst documentation now has a print version

Language
Syntax

    File paths (e.g. in imports or image function calls) may not contain backslashes anymore; instead forward slashes must be used (Breaking change)
    Added hints for invalid characters in code mode
    Added hint when trying to use a unary operator directly in an embedded expression using a hash (e.g. #-30deg)
    Fixed potential stack overflow crashes by enforcing a maximum parsing depth
    Fixed incremental parsing of unclosed strings

Styling

    Text show rules now have tracebacks that include the matched text
    Fixed a crash with text show rules that match on multi-character symbols

Scripting

    Extended hint when built-in definitions are shadowed to set and show rules
    Added hint when trying to spread one or multiple dictionaries into an array
    Improved diagnostics for invalid method calls
    Improved hint for unknown variables in math that are available in std
    Fixed a misleading error message when trying to assign to a temporary return value

Library
Foundations

    Added file path type that is now accepted in all places where paths were previously only represented as strings
        A path constructed in one file can be used in another file, but will be resolved relative to its original file
        Likewise, paths can be passed across package boundaries
        The initial path type is very minimal, but additional features like file existence checks or directory walking are planned
    Collections
        Added map and filter functions on dictionaries and arguments
        Named arguments on arguments values are now accessible with field access syntax
        The slice functions on strings and arrays will now error if passing both an end and a count (Minor breaking change)
        Added inclusive parameter to range function
    Calculation
        Added asinh, acosh, atanh, and erf functions to calc module
        Added int.min and int.max constants for the minimum and maximum representable integer, respectively
        Fixed behavior of quo for negative integers
        Fixed potential overflows in norm, abs, gcd, and lcm
        Floating-point calculations are now consistently deterministic across platforms
    Date & time handling
        The offset parameter of datetime.today now accepts durations as an alternative to integers, allowing for sub-hour precision offsets
        Addition and subtraction of datetimes and durations now retains precision instead of clamping to full days in some cases
        The datetime constructor now emits more precise errors when components are missing
    Conversions
        Added base parameter to int constructor to configure in which base to parse a string
        Fixed that the base parameter of the str constructor was accepted for non-integer values if its value was 10 (Minor breaking change)
        Added hint when trying to construct a string with base 1
    The panic function now displays strings as-is instead of showing their repr, making it more suitable for friendly, user-facing messages
    Changed repr of styles and locations to be more distinct

Model

    Added divider element representing a thematic break that templates can style
    Bundle-related elements
        The document element can now be constructed to produce individual documents in bundle export
        Added path and format parameters to document element
        Added experimental asset element
    Bibliography management
        A single document can now contain multiple bibliographies
        Added target parameter to bibliography element to configure which citation is picked up by which bibliography
        Added group parameter to bibliography element to configure how numbers are shared/reset across bibliographies
        Added support for numeric values for the month key in .bib files
        Added support for BibLaTeX name options in .bib files
        Added support for propagating non-numeric volume fields in .bib files to bibliographies
        Improved sorting in bibliographies to take into account language conventions
        Improved interoperability with CSL styles; for a full listing of changes, review the Hayagriva 0.10.0 changelog
        Added support for setting directors on videos without a parent in Hayagriva YAML files
        Improved handling of Anthos entries in Hayagriva YAML files by treating them as chapters in CSL
    Footnotes
        The link of a footnote is now within the superscript instead of around it, improving PDF tagging and HTML output
        The thickness of the default footnote separator is now specified in font-relative instead of absolute units
    Numbering
        Added numbering support for Armenian numerals , Arabic Abjad numerals , and Tibetan numerals
        Greek numbering now uses the modern Greek style
    The par.first-line-indent property will now fold, meaning that partial dictionaries across different set rules or par calls are combined
    Added list.marker-align property for defining how to align list markers
        When omitted, it will default to the new baseline alignment (vertically), combined with end alignment (horizontally)

Text

    Added support for variable fonts
        The well-known variation axes ital, slnt, wght, wdth, and opsz are automatically set based on text weight, stretch, style, and size
        Custom variations can be configured via the new variations parameter of the text function
        When using a variable font with Typst, the suffixes "Variable", "Var", and "VF" should be omitted as Typst trims them to unify static and variable fonts into a single family (Minor breaking change)
    Font features
        The text.alternates parameter now accepts an integer in addition to a boolean to select stylistic alternates other than 0 and 1
        Parsing of tag names in text.features is now more strict (Minor breaking change)
    Fixed that context text.font did not reflect the covers field
    Fixed uneven CJK-Latin spacing in justified paragraphs
    Fixed a bug where the lorem function would not produce the exact number of requested words
    Improved translations for Swedish , Portuguese , Czech , Latvian , Slovak , Polish , Vietnamese , Finnish , and Welsh
    Added font exception to avoid SimSun-ExtB being incorrectly merged with SimSun
    Updated New Computer Modern fonts to version 8.1.0
        This update changes the default look of calligraphic letterforms in the math font; the previous style can be restored through show math.equation: set text(stylistic-set: 6)
    Updated Unicode components
        In particular, this fixed an issue with linebreaking of guillemets

Math

    Layout
        Improved layout of under/over elements like underbrace
        Slightly improved spacing around math.op elements
        In which situations cramped styles (with tighter spacing) are applied is now fully consistent with TeX and MathML Core
        The size parameter of the lr function now consistently applies to middle delimiters in the same way it does to outer delimiters
        The size parameter of the lr function now resolves relatively to the height of just the inner content; it does not take the delimiters into account anymore (Minor breaking change)
        Glyph stretching is now always relative to the base glyph rather than a potentially already scaled version (e.g. due to display sizing) (Minor breaking change)
        Fixed left/right alignment not being applied correctly due to spacing next to alignment points
        The binom element now uses different OpenType constants for layout; though this does not lead to visible changes with most fonts
        The default length and stroke width of math.cancel lines is now specified in font-relative instead of absolute units
        Fixed potential misalignment in cases function
    Text handling
        Improved handling of multi-character symbols in math
        Fixed that some glyphs did not stretch correctly in script sizes
        Fraction, root, and under/over lines now respect text.stroke
        Accents in math are now always rendered in front of their base if they overlap
    The class function now applies the class only to its direct body rather than recursively (Minor breaking change)
    More delimiter symbols (e.g. chevron.l) are now callable to produce an lr element (Minor breaking change)
    Fixed various bugs with rendering of mathematical expressions that look like function calls but in reality aren't (e.g. $pi(1, 2)$, since pi is not a function)
    Fixed a bug with ordering of primes and nested attachments

Symbols

    Added many new symbols and variants. View the codex 0.3.0 changelog for a full listing.

Layout

    Baseline information is now retained in many more parts of the layout engine (Breaking change)
        In particular, text contained in a box with an inset is now aligned with the text surrounding the box
        This also fixes a bug where wrapping an inline equation in a box would shift its baseline
        Similarly, using a block in an equation will keep the baseline intact
        Last but not least, the marker/number and item of a list or enum are now properly baseline-aligned with the first line of the item even if the item is vertically larger than a normal line
    Centering something in a list now centers based on the full available width rather than based on the maximum width of other list content
    Page layout
        Added bleed parameter to page element to set up bleed margins
        Fixed the size of "us-executive" paper
        Added warning for show page rules as they are unsupported
    Paragraph layout
        Fixed a bug where justified text could accidentally protrude into the margin when it ends with certain kinds of characters (e.g. a zero-width space)
        Fixed a bug where first-line indent was applied at the start of a column even if all: false is set
    Added support for spacing that is both weak and fractional

Visualize

    Added support for spot colors (also called separation colors)
    Tilings
        Added offset parameter for shifting the starting position of a tiling
        Fixed parent-relative placement for stack and polygon
    Gradients
        Added color.map.coolwarm for use with gradients
        Fixed interpolation of gradient stops in Oklab color space
        Fixed gradient angle handling for negative-size shapes
        Fixed gradient strokes for lines and curves
        Fixed parent-relative placement for stack and polygon
    Fixed various bugs with rectangle strokes in combination with radii
    Fixed a potential deadlock with font fallback in SVGs
    Various improvements to SVG image handling (see the resvg 0.46 and 0.47 changelogs); in particular:
        Added support for SVGs without top-level xmlns attribute
        Added support for variable fonts in SVG using the font-variation-settings CSS property
    Various improvements to PDF image handling (see the commits between d0b540f and 3483462 on hayro); in particular:
        Added support for JPEG2000 (JPXDecode) and JBIG2 (JBIG2Decode) images
        Improved parsing robustness for non-compliant files
        Added support for blend modes

Introspection

    Layout convergence issues now result in detailed diagnostics that help pin down the cause
    Added within selector that matches elements that are contained within any elements matching an ancestor selector
    Added at parameter to counter.display function
    Improved how counter.display auto-selects the numbering to use

Data Loading

    Added support for namespaces to xml function
    Added hint when trying to read from a path that looks like a URL
    Diagnostics for binary file loading failures now include file paths
    The json function now emits a friendly error when the loaded JSON has a leading UTF‑8 BOM

Export
Bundle

    Added new, experimental bundle export target
        With bundle export, you can emit multiple output files from a single Typst project
        Bundles can contain any combination of HTML pages, PDFs, PNGs, SVGs, and arbitrary assets

HTML

    Mathematical equations are now automatically exported to MathML (thanks to @@mkorje)
        MathML defines how to render an equation, but also preserves its semantics
        If you've previously relied on show rules that use html.frame to render equations to SVG, try MathML output. Switching to it will improve the accessibility of your document (though rendering will be somewhat less consistent across browsers).
    The box and block elements' purpose is now aligned with paged export (Breaking change)
        box is used to bring block-level content inline
        block ensures inline-level content becomes block-level
        Depending on the contained content, this may be achieved by setting the CSS display property or by wrapping in an additional <span> or <div>.
    The rules of how paragraphs are grouped in HTML have been adjusted to fix cases where paragraphs would appear unexpectedly (Breaking change)
        The list of HTML elements that can be grouped into paragraphs was tweaked (it now includes all phrasing content with the exception of elements that default to display: none)
        This default can be controlled by wrapping an element in a box or block as appropriate
        HTML elements that cannot be part of paragraphs (like a <div>) do not immediately force adjacent inline-level Typst content to be wrapped in a paragraph; rather, they are considered neutral for paragraph grouping
        Paragraph creation is only forced by block-level Typst elements (as opposed to HTML elements). Built-in block-level elements like headings or images wrap the HTML elements they create in block elements to force adjacent inline content into paragraphs. Package authors should do the same to ensure paragraph creation is consistent between HTML and paged export.
    The target function can now be used without the html feature flag (the rest of HTML export remains feature-flagged)
    DOM structure and built-in show rules
        The root <html> element now receives a lang attribute respecting what was configured for text.lang
        The Typst image element now always emits width and height attributes on the generated HTML <img> element
        Code in <pre> tags will now prefer raw newlines over <br> elements to encode line breaks
        Fixed generated HTML for quote attributions
        Fixed table cell show rules not working in HTML export
    Serialization
        HTML is now minified by default; use the --pretty CLI flag or the checkbox in the web app to pretty-print it
    HTML elements
        The attrs parameter on html.elem will now fold, meaning that partial attributes across different set rules or html.elem calls are combined
        html.script and html.style only accept a string and not arbitrary content anymore (Breaking change)
    Whitespace handling
        HTML <br> elements now collapse adjacent Typst spaces
        Fixed spans being emitted to protect whitespace from collapsing unnecessarily in some cases

PDF

    Typst can now target multiple (compatible) PDF standards at once, e.g. PDF/UA-1 and PDF/A-2a
    PDFs are now a bit more space-optimized at the cost of being harder to inspect with a text editor; use the --pretty CLI flag or the checkbox in the web app to pretty-print them
    Labelled headings now result in named destinations even if they are not referenced
    Graphics
        Added support for more compositing features of COLRv1 fonts
        Fixed rendering of gradients in LinearRGB, CMYK, and Luma color spaces
        Fixed excessive sampling of linear gradients
    Tagging
        Added support for more specific artifact kinds in pdf.artifact; these are now internally used when appropriate
        Fixed "invalid document structure" errors with complex list markers
        Fixed wrong PDF tagging order for inline content outside of paragraphs
        Fixed bounding box computations for stroked shapes in tagged PDFs
    Standards compliance
        Fixed potentially incompliant PDF files by emitting an error when PDF/UA-1 is requested but complying with PDF/UA-1 would require newer features than available in the current PDF version
        Fixed potentially incompliant PDF 1.4 files by emitting errors when implementation limits are exceeded

SVG

    SVGs are now minified by default; use the --pretty CLI flag or the checkbox in the web app to pretty-print them
    Somewhat reduced the size of generated SVGs
    SVG elements do not have the classes typst-frame, typst-doc, typst-group, typst-shape, and typst-text anymore (Minor breaking change)
    Graphics
        Fixed a bug where tilings could be incorrectly reused in multiple places
        Fixed rendering of gradients in LinearRGB, CMYK, and Luma color spaces
        Fixed handling of conic gradient angles
        Fixed excessive sampling of linear gradients
    Fixed positioning and sizing of color bitmap glyphs
    Fixed sources of non-determinism in SVG export

PNG

    Fixed handling of conic gradient angles
    Fixed positioning and sizing of color bitmap glyphs
    Fixed that negatively scaled text with equal x and y scale would turn invisible in PNG export

Command Line Interface

    Added new typst eval subcommand to evaluate a Typst code expression from the CLI; this command supersedes typst query
    Tracebacks for diagnostics are now more compact and readable
    Added --pretty flag for producing human-readable output; output is otherwise minified by default (applies to HTML, SVG, and PDF, but not PNG)
    Fonts
        The output of typst fonts --variants is now more readable and informative; in particular, it also displays the paths of font files and, for variable fonts, variation axes
        The CLI now discovers fonts lazily, saving time on operations that do not need fonts (like HTML export without frames)
        Adobe Creative Cloud fonts are now discovered as system fonts
    Dependency output
        When writing to stdout while using --deps-format make (which is incompatible and thus fails), no empty Make dependency file will be emitted anymore
        The JSON dependency format now includes information about outputs in addition to inputs
    Path handling fixes on Windows
        Reading from a path that contains a drive letter now results in an explicit error instead of the drive letter being silently ignored
        Attempting to read from a path that contains a reserved filename (like COM1) now results in an explicit error
    Non-Unicode input paths are not supported anymore (Breaking change)
    The experimental --timings argument now requires an explicit file name instead of defaulting to record-{n}.json (Breaking change)
    Added colors to --help/-h and typst info output
    Fixed inconsistency in environment variable handling between typst info and typst compile
    Fixed a bug with the injection of a live reload script when using typst watch with HTML export
    Fixed a bug where local timezone information was taken into account even if a fixed date is set via --creation-timestamp or SOURCE_DATE_EPOCH, leading to irreproducible results

Tooling

    Syntax highlighting
        In math, parentheses used for grouping are now highlighted differently than ones intended for display
    Autocomplete and tooltips
        Autocompletion and tooltips are now aware of parameters of user-defined functions
        Autocomplete descriptions and tooltips for font families are now more detailed and, for variable fonts, include variation axes
        Function autocompletions in math mode now always prefer round parentheses over square brackets (which are not supported in math)
        Fixed autocompletion and tooltips not working with argument lists in math mode

Deprecations

    Certain unclear/ambiguous ways to write a raw language tag; these will now emit a warning in anticipation of an upcoming change to how they are parsed
    Fallback to Arabic numerals for numbering systems that do not support the number zero (e.g. for "⓵")
    Various symbols were renamed, see the deprecation section in the dedicated changelog for a full listing
    Some citation styles that were renamed or superseded
        council-of-science-editors is now called cse-citation-sequence-brackets-8th-edition
        council-of-science-editors-author-date is now called cse-name-year
        modern-language-association-8 / mla-8 is superseded by modern-language-association / mla
        vancouver is now called nlm-citation-sequence
        vancouver-superscript is now called nlm-citation-sequence-superscript
    Undocumented array forms of enum and terms items

Removals

    The path element, use curve instead (Breaking change)
    The pattern type, use tiling instead (Breaking change)
    The pdf.embed element, use pdf.attach instead (Breaking change)
    The scoped functions cbor.decode, csv.decode, json.decode, toml.decode, xml.decode, yaml.decode, and image.decode; directly pass bytes to the top-level functions instead (Breaking change)
    Various previously deprecated symbols, see the removals section in the dedicated changelog for a full listing (Breaking change)

Development

    The typst-kit crate was completely reworked to make it easier to create a Typst World implementation
    Diagnostic hints can now have spans (though typically they will be detached, which just means there isn't a span)
    Increased minimum supported Rust version to 1.92
    Moved Nix flake from typst/typst to typst/typst-flake, where it is now maintained by the community as a best effort
@
text
@d1 1
a1 1
$NetBSD$
d7 6
a12 6
@@@@ -34,7 +34,7 @@@@ typst-assets = "0.15.0"
 typst-timing = { path = "crates/typst-timing", version = "0.15.0" }
 typst-utils = { path = "crates/typst-utils", version = "0.15.0" }
 typst-assets = "0.15.0"
-typst-dev-assets = { git = "https://github.com/typst/typst-dev-assets", tag = "v0.15.0" }
+typst-dev-assets = { path = "typst-dev-assets-a2e29ed9393121735ce56d9d06deeab701cf35e0" }
@


1.13
log
@textproc/typst: update to 0.14.2

Version 0.14.2 (December 12, 2025)

Security

    Updated the WebAssembly runtime used for executing plugins. The version used in Typst 0.14.0 and 0.14.1 suffers from a memory handling vulnerability. Based on our investigation, the vulnerability would be very hard to exploit in practice, but an exploit could theoretically be feasible. In any case, we recommend upgrading to Typst 0.14.2. This holds in particular for local users. In the web app, the bug is not critical as the browser offers an extra layer of protection.

    Typst 0.13.1 and below are not affected by this vulnerability.

    Technical details: The wasmi WebAssembly runtime versions used in 0.14.0 and 0.14.1 have a use-after-free memory handling bug in certain memory growth situations. Specifically, the bug occurs when the plugin tries to grow its memory, but allocating the requested amount of memory fails. Based on our investigation, the bug is hard to trigger in practice as the WebAssembly linear memory is always limited to 4GB on a technical level and modern operating systems rarely fail to serve a 4GB memory allocation request (typically not even under RAM pressure). Once the bug is triggered, it would also still be very challenging to turn it into an actual exploit. Regardless, we recommend upgrading to Typst 0.14.2 for protection against a potential exploit.

Diagnostics

    Added a hint when array.sorted fails because a pair of elements could not be compared. This hint aids with fixing bugs in user code that were surfaced by a change in internal sorting behavior in Typst 0.14.1.
@
text
@d1 1
a1 1
$NetBSD: patch-Cargo.toml,v 1.12 2025/12/03 18:23:52 pin Exp $
d5 1
a5 1
--- Cargo.toml.orig	2025-12-03 17:36:28.602478465 +0000
d7 6
a12 6
@@@@ -33,7 +33,7 @@@@ typst-syntax = { path = "crates/typst-sy
 typst-timing = { path = "crates/typst-timing", version = "0.14.2" }
 typst-utils = { path = "crates/typst-utils", version = "0.14.2" }
 typst-assets = "0.14.2"
-typst-dev-assets = { git = "https://github.com/typst/typst-dev-assets", tag = "v0.14.2" }
+typst-dev-assets = { path = "typst-dev-assets-fe6cad916d8b20c20742512b2a3f3b247a2bc4f8" }
@


1.12
log
@textproc/typst: update to 0.14.1

PDF export

    Fixed regression where links to labelled elements would sometimes not work correctly
    Fixed bug where PDF text attributes could be written incorrectly
    Fixed crash in link handling
    Fixed crash for zero-sized pages
    Fixed crash when a table vline or hline has an out-of-bounds index
    Fixed crash in formatting of font-related PDF export errors
    Fixed crash when a footnote or place element was queried and reinserted into the document
    Fixed crash for PNGs with invalid metadata
    Fixed bug where text in SVGs with fill-and-stroke paint order could be exported incorrectly
    Fixed bug with layer isolation in SVGs where blending/masking is used
    Fixed that table headers could be tagged incorrectly in some scenarios
    Fixed issues where generated PDFs could differ between 32-bit and 64-bit systems
    Upgraded JPEG decoder used during PDF export for improved compatibility, fixing a case where a valid JPEG was rejected
    A PDF document information dictionary that would be empty is now fully omitted instead
    A rare crash in PDF tagging was turned into a compiler error

HTML export

    Fixed export of table headers and footers with gutter
    A page set rule in HTML export is now a warning instead of a hard error, in line with how unsupported elements are generally treated

Math

    Fixed regression where arrow.l.r could not be used as an accent anymore
    Fixed that single-letter strings did not react to spaces around them like multi-letter strings do
    Fixed that spacing around mat and vec with a fence delimiter was whitespace-dependent
    Fixed height calculation for horizontally stretched glyphs

Model

    Fixed regression where Typst would error in heading numbering functions that don't handle the counter state (0,). This can occur in the first layout iteration. Such errors are usually automatically caught by Typst, which was not the case here.

Text

    Fixed regression where Typst would synthesize superscripts for some fonts even when typographic glyphs were available
    Fixed regression where some oblique fonts would be classified as italic

Scripting

    Fixed crash due to violated invariants in array.sorted
    Fixed crashes due to overflow in calc.rem, calc.rem-euclid, calc.div-euclid, calc.quo, and calc.gcd
    Upgraded WebAssembly runtime, fixing a bug that plugins could run into

Command Line Interface

    Compiling to standard output in combination with --deps --deps-format=make (which results in an error) will not produce an empty Make dependency file as a side effect anymore

Development

    Increased minimum supported Rust version to 1.89
@
text
@d1 1
a1 1
$NetBSD$
d8 5
a12 5
 typst-timing = { path = "crates/typst-timing", version = "0.14.1" }
 typst-utils = { path = "crates/typst-utils", version = "0.14.1" }
 typst-assets = "0.14.1"
-typst-dev-assets = { git = "https://github.com/typst/typst-dev-assets", tag = "v0.14.1" }
+typst-dev-assets = { path = "typst-dev-assets-03addcfb64f3f95209464a521e6aa49645bd271a" }
@


1.11
log
@textproc/typst: update to 0.14.0

Highlights

    Typst now produces accessible PDFs out of the box, with opt-in support for stricter checks and conformance to PDF/UA-1
    Typst now supports all PDF/A standards
    PDFs can now be used as images (thanks to @@LaurenzV)
    Added support for character-level justification (can significantly improve the appearance of justified text)
    Added support for many more built-in elements in HTML export
    Added typed HTML API (e.g. html.div) with individually typed attributes
    Added support for multiple headers and subheaders in tables
    Added title element for displaying the document title
    Added frac.style property for producing skewed and inline fractions

PDF export

PDF export was fully rewritten to use the new krilla library, fixing various bugs and enabling many improvements. Known fixes are listed below, but there will likely be other changes in how the output behaves. If you spot any regressions, please report them on GitHub. (Thanks to @@LaurenzV for creating krilla!)

    Typst now produces accessible PDFs out of the box. Such documents are suitable for consumption in a wide range of circumstances. That not only includes consumption by people with permanent or temporary disabilities, but also by those with different devices or preferences.
        Typst PDFs are now tagged by default. Tags are rich metadata that PDF viewers can use to make the document consumable in other ways than visually (e.g., through a screen reader).
        In addition, Typst can now emit documents conforming to the PDF/UA-1 standard. (PDF/UA-2 is not yet supported, but planned.)
        There is an increasing amount of existing and upcoming legislation requiring documents to be accessible, for instance, the European Accessibility Act and the Americans with Disabilities Act.
        For more details on all of this, read the new Accessibility Guide.
    Typst now supports all PDF/A standards: PDF/A-1b, PDF/A-1a, PDF/A-2b, PDF/A-2u, PDF/A-2a, PDF/A-3b, PDF/A-3u, PDF/A-3a, PDF/A-4, PDF/A-4f, and PDF/A-4e. See the expanded PDF/A documentation for guidance on how to select a suitable standard.
    Typst now supports the PDF versions 1.4, 1.5, 1.6, and 2.0 in addition to PDF 1.7. See the relevant section of the PDF documentation for details.
    Added pdf.artifact function for marking content as not semantically meaningful
    Added experimental pdf.header-cell, pdf.data-cell, and pdf.table-summary functions for enhancing accessibility of documents with complex tables. These functions are guarded by the a11y-extras feature. They do not have a final interface and will be removed in the future, either through integration into table functions or through full removal.
    PDF heading bookmarks now contain the heading's numbering
    Attachments
        Renamed pdf.embed to pdf.attach (the old name will remain as a deprecated alias until Typst 0.15)
        The mime property of pdf.attach is now checked for syntactical correctness (Minor breaking change)
        Fixed parsing of the data argument of pdf.attach
        Attachments now smartly determine whether they should be compressed
    Text extraction (i.e. copy paste)
        Now works correctly even when multiple different characters result in the same glyph
        Spaces between words at which a natural line break occurred are now correctly retained for text extraction
        Fixed mapping of hyphenation artifacts to Unicode text
    Images
        CMYK images now work properly in PDF export
        Improved export of text in SVG images with a filter
        Improved compatibility of SVG images with Quartz rendering engine (the engine used in Apple Preview)
        Improved handling of SVG images with high group nesting depth
    Fixed a bug with text in patterns
    Fixed gradients with transparency

HTML export

    Added support for many more built-in elements (the Model category is now fully covered)
        The image element
        The footnote and footnote.entry element
        The outline and outline.entry element
        The bibliography element
        The smartquote element
        The sub and super elements
        The underline, overline, strike, and highlight elements
        The smallcaps element
        The lower and upper functions
    Added typed HTML API (e.g. html.div) with individually typed attributes
        For example, to generate a video element you can now write #html.video(width: 400, src: "sunrise.mp4") instead of #html.elem("video", attrs: (width: "400", src: "sunrise.mp4")). Note how the width attribute takes an integer instead of a string.
    Added support for intra-doc link targets
    The raw element
        Added syntax highlighting support
        Block-level raw elements now emit both a <code> and a <pre> tag
        The language tag of raw elements is now preserved as a data-lang attribute on the <code> tag
    The authors and keywords properties of the document function now yield corresponding HTML <meta> tags
    The html.elem function now supports custom HTML element names
    Improved encoding of html.frame
    Empty attributes are now encoded with shorthand syntax (e.g. <div hidden></div>)
    Zero-sized horizontal weak spacing (h(0pt, weak: true)) does not cause a "was ignored during HTML export" warning anymore, so it can be used to destruct surrounding spaces without producing any output, as in paged export
    Fixed encoding of <pre> and <textarea> elements that start with a newline
    Fixed encoding of raw text elements
    Fixed sizing of html.frame
    Fixed measure in HTML export
    Fixed nested html.frames
    Fixed that a box without a body was ignored in HTML export
    Fixed encoding of whitespace in HTML

SVG export

    Added support for COLR-flavored color glyphs
    Reduced amount of <g> grouping elements that are generated

PNG export

    Fixed crash when text size is negative

Visualize

    Added support for using PDFs as images using the new hayro library. PDFs will be embedded directly in PDF export, rasterized in PNG export, and turned into SVGs in SVG and HTML export. (Thanks to @@LaurenzV for creating hayro!)
    Added support for WebP images
    Various minor improvements for SVG images (see the resvg 0.44 and 0.45 changelogs)
    SVG images can now refer to external image files
    Clip paths are now properly anti-aliased
    Fixed gradients on curves where the last segment is curve.line
    Fixed stroke cap handling of shapes with partial strokes
    Fixed corner radius handling of shapes with partial strokes
    Fixed crash when sampling across two coinciding gradient stops

Layout

    Added opt-in support for character-level justification in addition to word-level justification, configured via the new par.justification-limits property. This is an impactful microtypographical technique that can significantly improve the appearance of justified text.
    Fixed wrong linebreak opportunities related to object replacement characters
    Fixed an issue where a breakable block would still produce an empty segment even if nothing fit into the first segment, leading to various undesirable behaviors in combination with fills, strokes, and stickiness
    Fixed crash with set rule for column or rowspan on a grid cell
    Fixed CJK-Latin-spacing at manual line breaks and at sub- and superscript boundaries

Math

    Added frac.style property with new options for skewed and inline fractions
    Added math.equation.alt property for setting an alternative description for an equation
    Text handling
        A single equation can now use multiple fonts
        Glyph layout in math now uses proper text shaping, leading to better handling of more complex Unicode features
        Generated characters in an equation (e.g. the √ produced by sqrt) can now be targeted by text show rules
        Added scr function for roundhand script font style
        Added dotless parameter to accent (typically for rendering a dotless accented i or j)
        Script-style glyphs are now preferred at reduced math sizes
        Fixed text.stroke in math
        Broken glyph assemblies are now prevented even when font data is incorrect
    Layout
        Fixed a bug with vertical accent positioning
        Fixed positioning of bottom accents
        Fixed a bug with layout of roots
        Improved layout of vec and cases, making it consistent with mat
        Removed linebreak opportunity before closing bracket in inline math
    An augment line can now exist at the start and end of a matrix, not only in between columns and rows
    Shorthands and multi-character numbers do not bind more tightly than fractions anymore in cases like $x>=(y)/z$ (Minor breaking change)
    Named arguments passed to symbols used as function now raise an error instead of being silently ignored (Minor breaking change)
    The mid element does not force the "large" math class upon its contents anymore and instead defaults to "relation"
    Fixed error in math parsing when .. isn't followed by anything
    Fixed the default math class of ⅋, ⎰, ⟅, ⎱, ⟆, ⟇, and ،

Thanks to @@mkorje for his work on math!
Model

    Tables
        Added support for multiple headers and subheaders in tables
        Table headers now force a rowbreak, i.e. an incomplete row before a header will not be filled with cells after the header
        Fixed a bug where headers and footers could accidentally expand to contain non-header cells
    Added title element for displaying the document title
    Added figure.alt property for setting an alternative description for a figure
    Link hit boxes for text are now vertically a bit larger to avoid issues with automatic link detection in PDF viewers
    The link function will now produce an error when passed an empty string as a URL (Minor breaking change)
    The value of the number argument of enum.item now takes auto instead of none for automatic numbering (Minor breaking change)
    Improved spacing of nested tight lists
    Fixed that quotes: false was ignored for inline-level quotes
    Fixed hanging indent for centered, numbered headings
    Fixed footnote.entry show rules breaking links from footnote to entry
    Hebrew numbering does not add Geresh and Gershayim anymore

Bibliography

    Built-in styles
        Updated styles to their latest upstream CSL versions
        Renamed "chicago-fullnotes" to "chicago-notes" (the old name remains as a deprecated alias)
        Renamed "modern-humanities-research-association" to "modern-humanities-research-association-notes" (the old name remains as a deprecated alias)
        Added support for locator/supplement in alphanumeric style
    Hayagriva format
        Added chapter field corresponding to CSL chapter-number and BibLaTeX chapter
    BibLaTeX format
        Fixed parsing of alphanumeric page ranges
        Added support for % comment syntax
        Fixed parsing of space-separated single character commands
        Added "primaryclass" alias for "eprintclass" field
        Added support for BibLaTeX language field
        Improved translation of BibLaTeX fields to genre and serial-number
    CSL handling
        The bibliography rendering now uses strong, emph, and smallcaps to express CSL font styling instead of directly adjusting the text style, making styling easier
        Added support for date seasons, which are displayed when the month is missing
        Terms for "AD" and "BC" are now correctly used from the chosen locale
        Fixed how subsequent citations with differing supplements translate into CSL ibid and ibid-with-locator positions
        Fixed handling of ibid and ibid-with-locator positions in styles
        Fixed the location conditional in CSL styles for citations with no locator
        Fixed accesses of the year suffix resulting in wrong CSL renders
        Fixed regression where page variables were no longer supported in styles' <number> elements
        Fixed sorting and formatting of name parts
        Fixed year suffix collapsing
        Fixed delimiters in locale-specific date formatting
        Fixed rendering of date ordinals
        Fixed rendering and sorting of dates with BC years
        Fixed sorting for empty sort values

Text

    The sub and super functions now use the subs and sups OpenType font features instead of special Unicode characters for typographic scripts, fixing semantical, sizing, and positioning issues
    The raw element
        Tweaked default syntax-highlighting color scheme of raw text to make the colors more accessible
        JSON keys and string values now use different colors in the default raw syntax highlighting theme
        Fixed a crash when a raw syntax contains an unescaped trailing backslash
        Fixed tab indentation in raw text with CRLF line terminators
    Translations
        Added term translations (a term being the "Section" in "Section 1") for many new languages by importing pre-existing translations from LaTeX packages
        Added term translations for Indonesian Latvian Croatian Lithuanian French French (Canada) Galician Dutch Danish Slovenian Italian Chinese Spanish and Irish (Gaeilge)
        Improved term translations for Czech Swedish Galician Dutch Chinese Spanish Irish (Gaeilge) and German
        Improved smart quotes for French Ukrainian Russian and Arabic
    An empty font list is not allowed anymore in text.font (Minor breaking change)
    Added a warning when using a variable font as those are not currently supported
    Fixed usage of the same font with different coverage settings
    Fixed hyphens not showing up when hyphenating at specific positions (where invisible metadata exists)
    Fixed styling of repeated hyphens in languages with hyphen repetition
    Last resort font fallback does not consider default ignorable characters anymore during font selection
    Updated New Computer Modern fonts to version 7.0.4
    Updated data and shaper to Unicode 16.0.0

Scripting

    The in operator can now be used to check whether a definition is present in a module
    Added default parameter to array.first, array.last array.join str.first, and str.last methods
    Added by parameter to array.sorted for sorting with a comparison function
    Added str.normalize function for Unicode normalization
    Added from, to, and sign methods to direction type
    Labels cannot be empty anymore (Minor breaking change)
    The WebAssembly runtime used by the plugin system was updated and now supports SIMD
    Numberings and counters now use 64-bit numbers instead of platform-dependant numbers for consistency across platforms
    Improved consistency of how large numbers are handled in data loading functions
    The toml function is now guaranteed to return a dictionary and toml.encode must receive a dictionary (it already errored before when passed something else, but the new function signature makes the error clearer)
    Serialization of bytes in human-readable formats now uses repr
    Fixed slicing of last N elements of an array using the count parameter
    Fixed crash when the expression wrapped in a context expression is an anonymous function
    Fixed equality check between raw.line elements
    Fixed repr of labels being potentially syntactically invalid
    Fixed repr of functions modified through with

Introspection

    The following elements are newly locatable (i.e. they can be discovered with query, locate, etc. without having a label): par, table, enum, list, terms, title, figure.caption, footnote.entry, outline.entry, image, emph, strong, link, cite, raw, underline, overline, strike, and highlight
    Fixed issues with logical order in bidirectional text
    Fixed logical order of cells in right-to-left grid
    Fixed logical order of elements in grid cells that span multiple pages
    Fixed logical order of metadata at the starts and ends of paragraphs
    Fixed introspection positions of inline elements at the very start of a paragraph (previously the Y position of an element at the very start would differ from one in the middle of the first line)

Styling

    Fixed rare infinite loop in show rule application

Performance

    Optimized incremental compilation with a new algorithm that, in particular, eliminates cases of very slow compilation with heavy context usage

Command Line Interface

    Added typst info subcommand for emitting build and environment information
    Added typst completions subcommand for retrieving shell completions
    Added TYPST_IGNORE_SYSTEM_FONTS environment variable
    Added --ignore-embedded-fonts flag and TYPST_IGNORE_EMBEDDED_FONTS environment variable for disabling the use of fonts embedded into the Typst binary
    Added --no-pdf-tags flag for disabling the automatic generation of accessibility tags. These are emitted when no particular standard like PDF/UA-1 is selected to provide a baseline of accessibility.
    Added --target parameter to typst query
    Added --deps and --deps-format parameters for emitting a list of files compilation depends on. Supports the three formats json, zero, and make.
    Deprecated the --make-deps flag in favor of --deps with --deps-format make
    On Linux, the font search will now fall back to known font directories if none were loaded via Fontconfig.
    The CLI will now warn when trying to watch the standard input
    Fixed race condition when two separate Typst CLI processes concurrently try to install a package
    Fixed incremental SVG export not writing output SVGs on changes that only affect the page (e.g. changing page.fill)
    Fixed a rare potential crash when stack space couldn't be grown as expected

Tooling and Diagnostics

    Errors in many kinds of external text files (e.g., bibliographies, JSON files, etc.) are now annotated within these files instead of at the positions where the files are loaded from a Typst file
    Warnings originating from within eval are now correctly emitted
    Diagnostic messages and hints
        Improved error messages related to parsing of numbers
        The error message for an unsuitable CSL style now mentions the name of the style
        Added hints to various deprecated items with the removal timeline
        Added hint for the error message when an X/Y pair is expected
        Added hint for a label that appears in both the document and the bibliography
        Added additional hint for show rule recursion depth error
        Fixed inconsistent formatting of code points and strings in error messages
    Autocompletion
        Labels will now be deduplicated in completions
        Math font autocompletions are now based on the presence of an OpenType MATH table instead of the word "Math" in the name
        Autocompletion immediately after a comma in a parameter list is now supported for explicitly triggered completions (e.g. via Ctrl/Cmd+Space)
        Citation style aliases are now displayed as autocompletions
        Fixed autocompletion false positives with cursor after parameter list
        Fixed autocompletion after partial identifier in math
        Fixed which definitions are suggested in math
        Fixed inapplicable method autocompletions being listed
    Tooltips
        Fixed tooltip for scoped functions (e.g. calc.round)
        Fixed tooltip and details for figure references
        Expression tooltips now use × instead of x to indicate a repeated value
    Fixed jump from click (jumping to the source panel with a click in the preview) in presence of transformations and clipping

Symbols

    Added many new symbols and variants; many more than could be listed here. View the dedicated changelog for a full listing.
    Code points that have a symbol and emoji presentation now have the correct variation selector attached depending on whether they appear in sym or emoji. That said, they still don't render consistently in Typst due to how font fallback works.
    The symbol function can now be used to create symbols that comprise not just one character, but one full grapheme cluster

Deprecations

    The name pdf.embed in favor of the new name pdf.attach
    The "chicago-fullnotes" bibliography style in favor of "chicago-notes"
    The "modern-humanities-research-association" bibliography style in favor of "modern-humanities-research-association-notes"
    The --make-deps CLI flag in favor of --deps with --deps-format make
    Various symbols, see the deprecation section in the dedicated changelog for a full listing

Development

    The Default impl for Library had to be removed for crate splitting and trait coherence reasons, but you can get a drop-in replacement via use typst::LibraryExt
    The PdfOptions struct has a new tagged field, which defaults to true
    Fixed a potential panic in World::font implementations. Downstream World implementations might need to apply the same fix.
    Increased minimum supported Rust version to 1.88
    The Docker container now has the optional non-root user typst
@
text
@d5 1
a5 1
--- Cargo.toml.orig	2025-10-27 09:36:23.001819729 +0000
d8 5
a12 5
 typst-timing = { path = "crates/typst-timing", version = "0.14.0" }
 typst-utils = { path = "crates/typst-utils", version = "0.14.0" }
 typst-assets = "0.14.0"
-typst-dev-assets = { git = "https://github.com/typst/typst-dev-assets", tag = "v0.14.0" }
+typst-dev-assets = { path = "typst-dev-assets-0b12d75772199e07294749ffe078ea030b857746" }
@


1.10
log
@textproc/typst: update to 0.13.1

Command Line Interface

    Fixed high CPU usage for typst watch on Linux. Depending on the project size, CPU usage would spike for varying amounts of time. This bug appeared with 0.13.0 due to a behavioral change in the inotify file watching backend.

HTML export

    Fixed export of tables with gutters
    Fixed usage of <html> and <body> element within context
    Fixed querying of metadata next to <html> and <body> element

Visualization

    Fixed curves with multiple non-closed components

Introspection

    Fixed a regression where labelled symbols could not be queried by label

Deprecations

    Fixed false positives in deprecation warnings for type/str comparisons
@
text
@d5 1
a5 1
--- Cargo.toml.orig	2025-10-16 10:12:17.478511385 +0000
d8 5
a12 5
 typst-timing = { path = "crates/typst-timing", version = "0.13.1" }
 typst-utils = { path = "crates/typst-utils", version = "0.13.1" }
 typst-assets = "0.13.1"
-typst-dev-assets = { git = "https://github.com/typst/typst-dev-assets", tag = "v0.13.1" }
+typst-dev-assets = { path = "typst-dev-assets-5bb539377906613fab7994b3601e475eee794ada" }
@


1.9
log
@textproc/typst: update to 0.13.1

Command Line Interface

 - Fixed high CPU usage for typst watch on Linux. Depending on the project size, CPU usage would spike for varying amounts of time.
   This bug appeared with 0.13.0 due to a behavioral change in the inotify file watching backend.

HTML export

 - Fixed export of tables with gutters
 - Fixed usage of <html> and <body> element within context
 - Fixed querying of metadata next to <html> and <body> element

Visualization

 - Fixed curves with multiple non-closed components

Introspection

 - Fixed a regression where labelled symbols could not be queried by label

Deprecations

 - Fixed false positives in deprecation warnings for type/str comparisons
@
text
@d5 1
a5 1
--- Cargo.toml.orig	2025-03-12 12:51:08.934433434 +0000
d12 1
a12 1
+typst-dev-assets = { path = "typst-dev-assets-9879589f4b3247b12c5e694d0d7fa86d4d8a198e" }
@


1.8
log
@textproc/typst: update to 0.13.0

For more information read:
https://typst.app/blog/2025/typst-0.13/

Highlights

    There is now a distinction between proper paragraphs and just inline-level content. This is important for future work on accessibility and means that first line indent can now be enabled for all paragraphs instead of just consecutive ones.
    The outline has a better out-of-the-box look and is more customizable
    The new curve function (that supersedes the path function) provides a simpler and more flexible interface for creating Bézier curves
    The image function now supports raw pixel raster formats for generating images from within Typst
    Functions that accept file paths now also accept raw bytes, for full flexibility
    WebAssembly plugins are more flexible and automatically run multi-threaded
    Fixed a long-standing bug where single-letter strings in math ($"a"$) would be displayed in italics
    You can now specify which charset should be covered by which font family
    The pdf.embed function lets you embed arbitrary files in the exported PDF
    HTML export is currently under active development. The feature is still very incomplete, but already available for experimentation behind a feature flag.

Model

    There is now a distinction between proper paragraphs and just inline-level content (Breaking change)
        All text at the root of a document is wrapped in paragraphs. Meanwhile, text in a container (like a block) is only wrapped in a paragraph if the container holds any block-level content. If all of the content is inline-level, no paragraph is created.
        In the laid-out document, it's not immediately visible whether text became part of a paragraph. However, it is still important for accessibility, HTML export, and for properties like first-line-indent.
        Show rules on par now only affect proper paragraphs
        The first-line-indent and hanging-indent properties also only affect proper paragraphs
        Creating a par[..] with body content that is not fully inline-level will result in a warning
        The default show rules of various built-in elements like lists, quotes, etc. were adjusted to ensure they produce/don't produce paragraphs as appropriate
        Removed support for booleans and content in outline.indent
    The outline function was fully reworked to improve its out-of-the-box behavior (Breaking change)
        Outline entries are now blocks and are thus affected by block spacing
        The auto indentation mode now aligns numberings and titles outline-wide for a grid-like look
        Automatic indentation now also indents entries without a numbering
        Titles wrapping over multiple lines now have hanging indent
        The page number won't appear alone on its own line anymore
        The link now spans the full entry instead of just the title and page number
        The default spacing between outline leader dots was increased
        The fill parameter was moved from outline to outline.entry and can thus be configured through show-set rules
        Removed body and page fields from outline entry
        Added indented, prefix, inner, body, and page methods on outline entries to simplify writing of show rules
    Added configuration to par.first-line-indent for indenting all paragraphs instead of just consecutive ones
    Added form parameter to ref function. Setting the form to "page" will produce a page reference instead of a textual one.
    Added document.description field, which results in corresponding PDF and HTML metadata
    Added enum.reversed parameter
    Added support for Greek numbering
    When the link function wraps around a container like a block, it will now generate only one link for the whole block instead of individual links for all the visible leaf elements. This significantly reduces PDF file sizes when combining link and repeat.
    The link function will now only strip one prefix (like mailto: or tel:) instead of multiple
    The link function now suppresses hyphenation via a built-in show-set rule rather than through its default show rule
    Displaying the page counter without a specified numbering will now take the page numbering into account

Visualization

    Added new curve function that supersedes the path function and provides a simpler and more flexible interface. The path function is now deprecated.
    The image function now supports raw pixel raster formats. This can be used to generate images from within Typst without the need for encoding in an image exchange format.
    Added image.scaling parameter for configuring how an image is scaled by PNG export and PDF viewers (smooth or pixelated)
    Added image.icc parameter for providing or overriding the ICC profile of an image
    Renamed pattern to tiling. The name pattern remains as a deprecated alias.
    Added gradient.center, gradient.radius, gradient.focal-center, and gradient.focal-radius methods
    Fixed interaction of clipping and outset on box and block
    Fixed panic with path of infinite length
    Fixed non-solid (e.g. tiling) text fills in clipped blocks
    Fixed a crash for images with a DPI value of zero
    Fixed floating-point error in gradient.repeat
    Auto-detection of image formats from a raw buffer now has support for SVGs

Scripting

    Functions that accept file paths now also accept raw bytes
        image, cbor, csv, json, toml, xml, and yaml now support a path string or bytes and their .decode variants are deprecated
        plugin, bibliography, bibliography.style, cite.style, raw.theme, and raw.syntaxes now accept bytes in addition to path strings. These did not have .decode variants, so this adds new flexibility.
        The path argument/field of image and bibliography was renamed to source and sources, respectively (Minor breaking change)
    Improved WebAssembly plugins
        The plugin type is replaced by a plugin function that returns a module containing normal Typst functions. This module can be used with import syntax. (Breaking change)
        Plugins now automatically run in multiple threads without any changes by plugin authors
        A new plugin.transition API is introduced which allows plugins to run impure initialization in a way that doesn't break Typst's purity guarantees
    The variable name bound by a bare import (no renaming, no import list) is now determined statically and dynamic imports without as renaming (e.g. import "ot" + "her.typ") are a hard error (Breaking change)
    Values of the arguments type can now be added with + and joined in curly-braced code blocks
    Functions in an element function's scope can now be called with method syntax, bringing elements and types closer (in anticipation of a future full unification of the two). Currently, this is only useful for outline.entry as no other element function defines methods.
    Added calc.norm function
    Added support for 32-bit floats in float.from-bytes and float.to-bytes
    The decimal constructor now also accepts decimal values
    Improved repr of symbols, arguments, and types
    Duplicate symbol variants and modifiers are now a hard error (Breaking change)

Math

    Fixed a bug where single letter strings in math ($"a"$) would be displayed in italics
    Math function calls can now have hyphenated named arguments and support argument spreading
    Better looking accents thanks to support for the flac (Flattened Accent Forms) and dtls (Dotless Forms) OpenType features
    Added lcm text operator
    The bold function now works with ϝ and Ϝ
    The italic function now works with ħ
    Fixed a bug where the extent of a math equation was wrongly affected by internal metadata
    Fixed interaction of lr and context expressions
    Fixed weak spacing being unconditionally ignored in lr
    Fixed sub/superscripts sometimes being in the wrong position with lr
    Fixed multi-line annotations (e.g. overbrace) changing the math baseline
    Fixed merging of attachments when the base is a nested equation
    Fixed resolving of contextual (em-based) text sizes within math
    Fixed spacing around up tacks (⊥)

Bibliography

    Prose and author-only citations now use editor names if the author names are unavailable
    Some non-standard but widely used BibLaTeX editortypes like producer, writer, scriptwriter, and none (defined by widespread style biblatex-chicago to mean performers within music and video entries) are now recognized
    CSL styles can now render affixes around the bibliography
    For BibTeX entries with eprinttype = {pubmed}, the PubMed ID will now be correctly processed
    Whitespace handling for strings delimiting initialized names has been improved
    Uppercase spelling after apostrophes used as quotation marks is now possible
    Fixed bugs around the handling of CSL delimiting characters
    Fixed a problem with parsing multibyte characters in page ranges that could prevent Hayagriva from parsing some BibTeX page ranges
    Updated CSL APA style
    Updated CSL locales for Finnish, Swiss German, Austrian German, German, and Arabic

Text

    Added support for specifying which charset should be covered by which font family
    Added all parameter to smallcaps function that also enables small capitals on uppercase letters
    Added basic i18n for Basque and Bulgarian
    Justification does not affect raw blocks anymore
    CJK-Latin-spacing does not affect raw text anymore
    Fixed wrong language codes being used for Greek and Ukrainian
    Fixed default quotes for Croatian and Bulgarian
    Fixed crash in RTL text handling
    Added support for raw syntax highlighting for a few new languages: CFML, NSIS, and WGSL
    New font metadata exception for New Computer Modern Sans Math
    Updated bundled New Computer Modern fonts to version 7.0.1

Layout

    Fixed various bugs with footnotes
        Fixed footnotes getting lost when multiple footnotes were nested within another footnote
        Fixed endless loops with empty and overlarge footnotes
        Fixed crash with overlarge footnotes within a floating placement
    Fixed sizing of quadratic shapes (square and circle)
    Fixed block.sticky not working properly at the top of a container
    Fixed crash due to consecutive weak spacing
    Fixed crash when a block or text have negative sizes
    Fixed unnecessary hyphenations occurring in rare scenarios due to a bad interaction between padding and paragraph optimization
    Fixed lone citations in align not becoming their own paragraph

Syntax

    Top-level closing square brackets that do not have a matching opening square bracket are now a hard error (Minor breaking change)
    Adding a space between the identifier and the parentheses in a set rule is not allowed anymore (Minor breaking change)
    Numbers with a unit cannot have a base prefix anymore, e.g. 0b100000pt is not allowed anymore. Previously, it was syntactically allowed but always resolved to a value of zero. (Minor breaking change)
    Using is as an identifier will now warn as it might become a keyword in the future
    Fixed minor whitespace handling bugs
        in math mode argument lists
        at the end of headings
        between a term list's term and description
    Fixed parsing of empty single line raw blocks with 3+ backticks and a language tag
    Fixed minor bug with parentheses parsing in math
    Markup that can only appear at the start of the line (headings, lists) can now also appear at the start of a list item
    A shebang #! at the very start of a file is now ignored

PDF export

    Added pdf.embed function for embedding arbitrary files in the exported PDF
    Added support for PDF/A-3b export
    The PDF timestamp will now contain the timezone by default

HTML export

Note: HTML export is currently under active development. The feature is still very incomplete, but already available for experimentation behind a feature flag.

    Added HTML output support for some (but not all) of the built-in elements
    Added html.elem function for outputting an arbitrary HTML element
    Added html.frame function for integrating content that requires layout into HTML (by embedding an SVG)
    Added target function which returns either "paged" or "html" depending on the export target

Tooling and Diagnostics

    Autocompletion improvements
        Added autocompletion for file paths
        Smarter autocompletion of variables: Completing rect(fill: |) will now only show variables which contain a valid fill (either directly or nested, e.g. a dictionary containing a valid fill)
        Different functions will now autocomplete with different brackets (round vs square) depending on which kind is more useful
        Positional parameters which are already provided aren't autocompleted again anymore
        Fixed variable autocompletion not considering parameters
        Added autocompletion snippets for common figure usages
        Fixed autocompletion after half-completed import item
        Fixed autocompletion for cite function
    Added warning when an unconditional return in a code block discards joined content
    Fixed error message when accessing non-existent label
    Fixed handling of nested imports in IDE functionality

Command Line Interface

    Added --features argument and TYPST_FEATURES environment variable for opting into experimental features. The only feature so far is html.
    Added a live reloading HTTP server to typst watch when targeting HTML
    Fixed self-update not being aware about certain target architectures
    Fixed crash when piping typst fonts output to another command
    Fixed handling of relative paths in --make-deps output
    Fixed handling of multipage SVG and PNG export in --make-deps output
    Colons in filenames are now correctly escaped in --make-deps output

Symbols

    New
        inter, inter.and, inter.big, inter.dot, inter.double, inter.sq, inter.sq.big, inter.sq.double, integral.inter
        asymp, asymp.not
        mapsto, mapsto.long
        divides.not.rev, divides.struck
        interleave, interleave.big, interleave.struck
        eq.triple.not, eq.dots, eq.dots.down, eq.dots.up
        smt, smt.eq, lat, lat.eq
        colon.tri, colon.tri.op
        dagger.triple, dagger.l, dagger.r, dagger.inv
        hourglass.stroked, hourglass.filled
        die.six, die.five, die.four, die.three, die.two, die.one
        errorbar.square.stroked, errorbar.square.filled, errorbar.diamond.stroked, errorbar.diamond.filled, errorbar.circle.stroked, errorbar.circle.filled
        numero
        Omega.inv
    Renamed
        ohm.inv to Omega.inv
    Changed codepoint (Breaking change)
        angle.l.double from 《 to ⟪
        angle.r.double from 》 to ⟫
        angstrom from U+212B (Å) to U+00C5 (Å)
    Deprecated
        sect and all its variants in favor of inter
        integral.sect in favor of integral.inter
    Removed (Breaking change)
        degree.c in favor of °C ($upright(°C)$ or $upright(degree C)$ in math)
        degree.f in favor of °F ($upright(°F)$ or $upright(degree F)$ in math)
        kelvin in favor of just K ($upright(K)$ in math)

Deprecations

    The path function in favor of the curve function
    The name pattern for tiling patterns in favor of the new name tiling
    image.decode, cbor.decode, csv.decode, json.decode, toml.decode, xml.decode, yaml.decode in favor of the top-level functions directly accepting both paths and bytes
    The sect and its variants in favor of inter, and integral.sect in favor of integral.inter
    The compatibility behavior of type/str comparisons (e.g. int == "integer") which was temporarily introduced in Typst 0.8 now emits warnings. It will be removed in Typst 0.14.

Removals

    Removed style function and styles argument of measure, use a context expression instead (Breaking change)
    Removed state.display function, use state.get instead (Breaking change)
    Removed location argument of state.at, counter.at, and query (Breaking change)
    Removed compatibility behavior where counter.display worked without context (Breaking change)
    Removed compatibility behavior of locate (Breaking change)

Development

    The typst::compile function is now generic and can return either a PagedDocument or an HtmlDocument
    typst-timing now supports WebAssembly targets via web-sys when the wasm feature is enabled
    Increased minimum supported Rust version to 1.80
    Fixed linux/arm64 Docker image
@
text
@d5 1
a5 1
--- Cargo.toml.orig	2025-02-21 13:11:02.846415804 +0000
d8 5
a12 5
 typst-timing = { path = "crates/typst-timing", version = "0.13.0" }
 typst-utils = { path = "crates/typst-utils", version = "0.13.0" }
 typst-assets = "0.13.0"
-typst-dev-assets = { git = "https://github.com/typst/typst-dev-assets", tag = "v0.13.0" }
+typst-dev-assets = { path = "typst-dev-assets-61aebe9575a5abff889f76d73c7b01dc8e17e340" }
@


1.7
log
@textproc/typst: update to 0.12.0

Highlights
    Added support for multi-column floating placement and figures
    Added support for automatic line numbering (often used in academic papers)
    Typst's layout engine is now multithreaded. Typical speedups are 2-3x for larger documents. The multithreading operates on page break boundaries, so explicit page breaks are necessary for it to kick in.
    Paragraph justification was optimized with a new two-pass algorithm. Speedups are larger for shorter paragraphs and go up to 6x.
    Highly reduced PDF file sizes due to better font subsetting (thanks to @@LaurenzV)
    Emoji are now exported properly in PDF
    Added initial support for PDF/A. For now, only the PDF/A-2b profile is supported, but more is planned for the future.
    Added various options for configuring the CLI's environment (fonts, package paths, etc.)
    Text show rules now match across multiple text elements
    Block-level equations can now optionally break over multiple pages
    Fixed a bug where some fonts would not print correctly on professional printers
    Fixed a long-standing bug which could cause headings to be orphaned at the bottom of the page

Layout
    Added support for multi-column floating placement and figures via place.scope and figure.scope. Two-column documents should now prefer set page(columns: 2) over show: column.with(2) (see the page setup guide).
    Added support for automatic line numbering (often used in academic papers)
    Added par.spacing property for configuring paragraph spacing. This should now be used instead of show par: set block(spacing: ..) (Breaking change)
    Block-level elements like lists, grids, and stacks now show themselves as blocks and are thus affected by all block properties (e.g. stroke) rather than just spacing (Breaking change)
    Added block.sticky property which prevents a page break after a block
    Added place.flush function which forces all floating figures to be placed before any further content
    Added skew function
    Added auto option for page.header and page.footer which results in an automatic header/footer based on the numbering (which was previously inaccessible after a change)
    Added gap and justify parameters to repeat function
    Added width and height parameters to the measure function to define the space in which the content should be measured. Especially useful in combination with layout.
    The height of a block, image, rect, square, ellipse, or circle can now be specified in fractional units
    The scale function now supports absolute lengths for x, y, factor. This way an element of unknown size can be scaled to a fixed size.
    The values of block.above and block.below can now be retrieved in context expressions.
    Increased accuracy of conversions between absolute units (pt, mm, cm, in)
    Fixed a bug which could cause headings to be orphaned at the bottom of the page
    Fixed footnotes within breakable blocks appearing on the page where the breakable block ends instead of at the page where the footnote marker is
    Fixed numbering of nested footnotes and footnotes in floats
    Fixed empty pages appearing when a context expression wraps whole pages
    Fixed set block(spacing: x) behaving differently from set block(above: x, below: x)
    Fixed behavior of rotate and scale with reflow: true
    Fixed interaction of align(horizon) and v(1fr)
    Fixed various bugs where floating placement would yield overlapping results
    Fixed a bug where widow/orphan prevention would unnecessarily move text into the next column
    Fixed weak spacing not being trimmed at the start and end of lines in a paragraph (only at the start and end of paragraphs)
    Fixed interaction of weak page break and pagebreak.to
    Fixed compilation output of a single weak page break
    Fixed crash when padding by 100%

Text
    Tuned hyphenation: It is less eager by default and hyphenations close to the edges of words are now discouraged more strongly (May lead to larger layout reflows)
    New default font: Libertinus Serif. This is the maintained successor to the old default font Linux Libertine. (May lead to smaller reflows)
    Setting the font to an unavailable family will now result in a warning
    Implemented a new smart quote algorithm, fixing various bugs where smart quotes weren't all that smart
    Added text.costs parameter for tweaking various parameters that affect the choices of the layout engine during text layout
    Added typm highlighting mode for math in raw blocks
    Added basic i18n for Galician, Catalan, Latin, Icelandic, Hebrew
    Implemented hyphenation duplication for Czech, Croatian, Lower Sorbian, Polish, Portuguese, Slovak, and Spanish.
    The smallcaps function is now an element function and can thereby be used in show(-set) rules.
    The raw.theme parameter can now be set to none to disable highlighting even in the presence of a language tag, and to auto to reset to the default
    Multiple stylistic sets can now be enabled at once
    Fixed the Chinese translation for "Equation"
    Fixed that hyphenation could occur outside of words
    Fixed incorrect layout of bidirectional text in edge cases
    Fixed layout of paragraphs with explicit trailing whitespace
    Fixed bugs related to empty paragraphs created via #""
    Fixed accidental trailing spaces for line breaks immediately preceding an inline equation
    Fixed text.historical-ligatures not working correctly
    Fixed accidental repetition of Thai characters around line breaks in some circumstances
    Fixed smart quotes for Swiss French
    New font metadata exceptions for Archivo, Kaiti SC, and Kaiti TC
    Updated bundled New Computer Modern fonts to version 6.0

Math
    Block-level equations can now break over multiple pages if enabled via show math.equation: set block(breakable: true).
    Matrix and vector sizing is now more consistent across different cell contents
    Added stretch function for manually or automatically stretching characters like arrows or parentheses horizontally or vertically
    Improved layout of attachments on parenthesized as well as under- or overlined expressions
    Improved layout of nested attachments resulting from code like #let a0 = $a_0$; $a0^1$
    Improved layout of primes close to superscripts
    Improved layout of fractions
    Typst now makes use of math-specific height-dependent kerning information in some fonts for better attachment layout
    The floor and ceil functions in math are now callable symbols, such that $ floor(x) = lr(floor.l x floor.r) $
    The mat.delim, vec.delim, and cases.delim parameters now allow any character that is considered a delimiter or "fence" (e.g. |) by Unicode. The delim: "||" notation is not supported anymore and should be replaced by delim: bar.double (Minor breaking change)
    Added vec.align and mat.align parameters
    Added underparen, overparen, undershell, and overshell
    Added ~ shorthand for tilde.op in math mode (Minor breaking change)
    Fixed baseline alignment of equation numbers
    Fixed positioning of corner brackets (⌜, ⌝, ⌞, ⌟)
    Fixed baseline of large roots
    Fixed multiple minor layout bugs with attachments
    Fixed that alignment points could affect line height in math
    Fixed that spaces could show up between text and invisible elements like metadata in math
    Fixed a crash with recursive show rules in math
    Fixed lr.size not affecting characters enclosed in mid in some cases
    Fixed resolving of em units in sub- and superscripts
    Fixed bounding box of inline equations when a text edge is set to "bounds"

Introspection
    Implemented a new system by which Typst tracks where elements end up on the pages. This may lead to subtly different behavior in introspections. (Breaking change)
    Fixed various bugs with wrong counter behavior in complex layout situations, through a new, more principled implementation
    Counter updates can now be before the first, in between, and after the last page when isolated by weak page breaks. This allows, for instance, updating a counter before the first page header and background.
    Fixed logical ordering of introspections within footnotes and figures
    Fixed incorrect here().position() when place was used in a context expression
    Fixed resolved positions of elements (in particular, headings) whose show rule emits an invisible element (like a state update) before a page break
    Fixed behavior of stepping a counter at a deeper level than its current state has
    Fixed citation formatting not working in table headers and a few other places
    Displaying the footnote counter will now respect the footnote numbering style

Model
    Document set rules do not need to be at the very start of the document anymore. The only restriction is that they must not occur inside of layout containers.
    The spacing property of lists, enumerations, and term lists is now also respected for tight lists
    Tight lists now only attach (with tighter spacing) to preceding paragraphs, not arbitrary blocks
    The quote element is now locatable (can be used in queries)
    The bibliography heading now uses depth instead of level so that its level can still be configured via a show-set rule
    Added support for more numbering formats: Devanagari, Eastern Arabic, Bengali, and circled numbers
    Added hanging-indent parameter to heading function to tweak the appearance of multi-line headings and improved default appearance of multi-line headings
    Improved handling of bidirectional text in outline entry
    Fixed document set rules being ignored in an otherwise empty document
    Fixed document set rules not being usable in context expressions
    Fixed bad interaction between set document and set page
    Fixed show figure: set align(..). Since the default figure alignment is now a show-set rule, it is not revoked by show figure: it => it.body anymore. (Minor breaking change)
    Fixed numbering of footnote references
    Fixed spacing after bibliography heading

Bibliography
    The Hayagriva YAML publisher field can now accept a dictionary with a location key. The top-level location key is now primarily intended for event and item locations.
    Multiple page ranges with prefixes and suffixes are now allowed
    Added director and catch-all editor types to BibLaTeX parsing
    Added support for disambiguation to alphanumeric citation style
    The year 0 will now render as 1BC
    Fixes for sorting of bibliography entries
    Fixed pluralization of page range labels
    Fixed sorting of citations by their number
    Fixed how citation number ranges collapse
    Fixed when the short form of a title is used
    Fixed parsing of unbalanced dollars in BibLaTeX url field
    Updated built-in citation styles

Visualization
    Added fill-rule parameter to path and polygon functions
    Fixed color mixing and gradients for Luma colors
    Fixed conversion from Luma to CMYK colors
    Fixed offset gradient strokes in PNG export
    Fixed unintended cropping of some SVGs
    SVGs with foreign objects now produce a warning as they will likely not render correctly in Typst

Syntax
    Added support for nested imports like import "file.typ": module.item
    Added support for parenthesized imports like import "file.typ": (a, b, c). With those, the import list can break over multiple lines.
    Fixed edge case in parsing of reference syntax
    Fixed edge case in parsing of heading, list, enum, and term markers immediately followed by comments
    Fixed rare crash in parsing of parenthesized expressions

Scripting
    Added new fixed-point decimal number type for highly precise arithmetic on numbers in base 10, as needed for finance
    Added std module for accessing standard library definitions even when a variable with the same name shadows/overwrites it
    Added array.to-dict, array.reduce, array.windows methods
    Added exact argument to array.zip
    Added arguments.at method
    Added int.from-bytes, int.to-bytes, float.from-bytes, and float.to-bytes
    Added proper support for negative values of the digits parameter of calc.round (the behaviour existed before but was subtly broken)
    Conversions from int to float will now error instead of saturating if the float is too large (Minor breaking change)
    Added float.nan and float.inf, removed calc.nan (Minor breaking change)
    Certain symbols are now generally callable like functions and not only specifically in math. Examples are accents or floor and ceil.
    Improved repr of relative values, sequences, infinities, NaN, type(none) and type(auto)
    Fixed crash on whole packages (rather than just files) cyclically importing each other
    Fixed return type of calc.round on integers when a non-zero value is provided for digits

Styling
    Text show rules now match across multiple text elements
    The string " in a text show rule now matches smart quotes
    Fixed a long-standing styling bug where the header and footer would incorrectly inherit styles from a lone element on the page (e.g. a heading)
    Fixed set page not working directly after a counter/state update
    Page fields configured via an explicit page(..)[..] call can now be properly retrieved in context expressions

Export
    Highly reduced PDF file sizes due to better font subsetting
    Emoji are now exported properly in PDF
    Added initial support for PDF/A. For now, only the standard PDF/A-2b is supported, but more is planned for the future. Enabled via --pdf-standard a-2b in the CLI and via the UI in File > Export as > PDF in the web app.
    Setting page.fill to none will now lead to transparent pages instead of white ones in PNG and SVG. The new default of auto means transparent for PDF and white for PNG and SVG.
    Improved text copy-paste from PDF in complex scenarios
    Exported SVGs now contain the data-typst-label attribute on groups resulting from labelled boxes and blocks
    Fixed a bug where some fonts would not print correctly on professional printers
    Fixed a bug where transparency could leak from one PDF object to another
    Fixed a bug with CMYK gradients in PDF
    Fixed various bugs with export of Oklab gradients in PDF
    Fixed crashes related to rendering of non-outline glyphs
    Two small fixes for PDF standard conformance

Performance
    Typst's layout engine is now multithreaded. Typical speedups are 2-3x for larger documents. The multithreading operates on page break boundaries, so explicit page breaks are necessary for it to kick in.
    Paragraph justification was optimized with a new two-pass algorithm. Speedups are larger for shorter paragraphs and range from 1-6x.

Command Line Interface
    Added --pages option to select specific page ranges to export
    Added --package-path and --package-cache-path as well as TYPST_PACKAGE_PATH and TYPST_PACKAGE_CACHE_PATH environment variables for configuring where packages are loaded from and cached in, respectively
    Added --ignore-system-fonts flag to disable system fonts fully for better reproducibility
    Added --make-deps argument for outputting the dependencies of the current compilation as a Makefile
    Added --pretty option to typst query, with the default now being to minify (only applies to JSON format)
    Added --backup-path to typst update to configure where the previous version is backed up
    Added useful links to help output
    The CLI will now greet users who invoke just typst for the first time
    The document can now be written to stdout by passing - as the output filename (for PDF or single-page image export)
    Typst will now emit a proper error message instead of failing silently when the certificate specified by --cert or TYPST_CERT could not be loaded
    The CLI now respects the SOURCE_DATE_EPOCH environment variable for better reproducibility
    When exporting multiple images, you can now use t (total pages), p (current page), and 0p (zero-padded current page, same as current n) in the output path
    The input and output paths now allow non-UTF-8 values
    Times are now formatted more consistently across the CLI
    Fixed a bug related to the --open flag
    Fixed path completions for typst not working in zsh

Tooling and Diagnostics
    The "compiler" field for specifying the minimum Typst version required by a package now supports imprecise bounds like 0.11 instead of 0.11.0
    Added warning when a label is ignored by Typst because no preceding labellable element exists
    Added hint when trying to apply labels in code mode
    Added hint when trying to call a standard library function that has been shadowed/overwritten by a local definition
    Added hint when trying to set both the language and the region in the lang parameter
    Added hints when trying to compile non-Typst files (e.g. after having typed typst c file.pdf by accident)
    Added hint when a string is used where a label is expected
    Added hint when a stray end of a block comment (*/) is encountered
    Added hints when destructuring arrays with the wrong number of elements
    Improved error message when trying to use a keyword as an identifier in a let binding
    Improved error messages when accessing nonexistent fields
    Improved error message when a package exists, but not the specified version
    Improved hints for unknown variables
    Improved hint when trying to convert a length with non-zero em component to an absolute unit
    Fixed a crash that could be triggered by certain hover tooltips
    Fixed an off-by-one error in to-source jumps when first-line-indent is enabled
    Fixed suggestions for . after the end of an inline code expressions
    Fixed autocompletions being duplicated in a specific case

Symbols
    New: parallelogram, original, image, crossmark, rest, natural, flat, sharp, tiny, miny, copyleft, trademark, emoji.beet, emoji.fingerprint, emoji.harp, emoji.shovel, emoji.splatter, emoji.tree.leafless,
    New variants: club.stroked, diamond.stroked, heart.stroked, spade.stroked, gt.neq, lt.neq, checkmark.heavy, paren.double, brace.double, shell.double, arrow.turn, plus.double, plus.triple, infinity.bar, infinity.incomplete, infinity.tie, multimap.double, ballot.check, ballot.check.heavy, emptyset.bar, emptyset.circle, emptyset.arrow.l, emptyset.arrow.r, parallel.struck, parallel.eq, parallel.equiv, parallel.slanted, parallel.tilde, angle.l.curly, angle.l.dot, angle.r.curly, angle.r.dot, angle.oblique, angle.s, em.two, em.three
    Renamed: turtle to shell, notes to note, ballot.x to ballot.cross, succ.eq to succ.curly.eq, prec.eq to prec.curly.eq, servicemark to trademark.service, emoji.face.tired to emoji.face.distress (Breaking change)
    Changed codepoint: prec.eq, prec.neq, succ.eq, succ.neq, triangle from ▷ to △, emoji.face.tired (Breaking change)
    Removed: lt.curly in favor of prec, gt.curly in favor of succ (Breaking change)

Deprecations
    counter.display without an established context
    counter.final with a location
    state.final with a location
    state.display
    query with a location as the second argument
    locate with a callback function
    measure with styles
    style

Development
    Added typst-kit crate which provides useful APIs for World implementors
    Added go-to-definition API in typst-ide
    Added package manifest parsing APIs to typst-syntax
    As the compiler is now capable of multithreading, World implementations must satisfy Send and Sync
    Changed signature of World::main to allow for the scenario where the main file could not be loaded
    Removed Tracer in favor of Warned<T> and typst::trace function
    The xz2 dependency used by the self-updater is now statically linked
    The Dockerfile now has an ENTRYPOINT directive
@
text
@d5 1
a5 1
--- Cargo.toml.orig	2024-10-19 20:57:04.840452230 +0000
d7 6
a12 6
@@@@ -28,7 +28,7 @@@@ typst-syntax = { path = "crates/typst-sy
 typst-timing = { path = "crates/typst-timing", version = "0.12.0" }
 typst-utils = { path = "crates/typst-utils", version = "0.12.0" }
 typst-assets = "0.12.0"
-typst-dev-assets = { git = "https://github.com/typst/typst-dev-assets", tag = "v0.12.0" }
+typst-dev-assets = { path = "typst-dev-assets-b07d1560143d6883887358d30edb25cb12fcf5b9" }
@


1.6
log
@textproc/typst: update to 0.11.1


Version 0.11.1 (May 17, 2024)
    Security
        Fixed a vulnerability where image files at known paths could be embedded into the PDF even if they were outside of the project directory

    Bibliography
        Fixed et-al handling in subsequent citations
        Fixed suppression of title for citations and bibliography references with no author
        Fixed handling of initials in citation styles without a delimiter
        Fixed bug with citations in footnotes

    Text and Layout
        Fixed interaction of first-line-indent and outline
        Fixed compression of CJK punctuation marks at line start and end
        Fixed handling of rectangles with negative dimensions
        Fixed layout of path in explicitly sized container
        Fixed broken raw text in right-to-left paragraphs
        Fixed tab rendering in raw text with language typ or typc
        Fixed highlighting of multi-line raw text enclosed by single backticks
        Fixed indentation of overflowing lines in raw blocks
        Fixed extra space when raw text ends with a backtick

    Math
        Fixed broken equations in right-to-left paragraphs
        Fixed missing blackboard bold letters
        Fixed error on empty arguments in 2D math argument list
        Fixed stretching via mid for various characters
        Fixed that alignment points in equations were affected by set align(..)

    Export
        Fixed smart quotes in PDF outline
        Fixed patterns with spacing in PDF
        Fixed wrong PDF page labels when page numbering was disabled after being previously enabled

    Scripting
        Fixed overflow for large numbers in external data files (by converting to floats instead)
        Fixed str.trim(regex, at: end) when the whole string is matched

    Miscellaneous
        Fixed deformed strokes for specific shapes and thicknesses
        Fixed newline handling in code mode: There can now be comments within chained method calls and between an if branch and the else keyword
        Fixed inefficiency with incremental reparsing
        Fixed autocompletions for relative file imports
        Fixed crash in autocompletion handler
        Fixed a bug where the path and entrypoint printed by typst init were not properly escaped
        Fixed various documentation errors
@
text
@d5 1
a5 1
--- Cargo.toml.orig	2024-05-18 06:30:37.273901796 +0000
d7 7
a13 6
@@@@ -26,7 +26,7 @@@@ typst-svg = { path = "crates/typst-svg",
 typst-syntax = { path = "crates/typst-syntax", version = "0.11.1" }
 typst-timing = { path = "crates/typst-timing", version = "0.11.1" }
 typst-assets = "0.11.1"
-typst-dev-assets = { git = "https://github.com/typst/typst-dev-assets", tag = "v0.11.1" }
+typst-dev-assets = { path = "typst-dev-assets-ee8ae61cca138dc92f9d818fc7f2fc046d0148c5" }
a15 1
 bitflags = { version = "2", features = ["serde"] }
@


1.5
log
@textproc/typst: update to 0.11.0

Version 0.11.0 (March 15, 2024)

    Tables (thanks to @@PgBiel)
     - Tables are now much more flexible, read the new table guide to get started
     - Added table.cell element for per-cell configuration
     - Cells can now span multiple columns or rows
     - The stroke of individual cells can now be customized
     - The align and inset arguments of the table function now also take (x, y) => .. functions
     - Added table.hline and table.vline for convenient line customization
     - Added table.header element for table headers that repeat on every page
     - Added table.footer element for table footers that repeat on every page
     - All the new table functionality is also available for grids
     - Fixed gutter-related bugs

    Templates
     - You can now use template packages to get started with new projects.
       Click Start from template on the web app's dashboard and choose your
       preferred template or run the typst init <template> command in the CLI.
       You can browse the available templates here.
     - Switching templates after the fact has become easier. You can just import
       a styling function from a different template package.
     - Package authors can now submit their own templates to the package
       repository. Share a template for a paper, your institution, or an
       original work to help the community get a head start on their projects.
     - Templates and packages are now organized by category and discipline.
       Filter packages by either taxonomy in the Start from template wizard.
       If you are a package author, take a look at the new documentation for
       categories and disciplines.

    Context
     - Added context expressions: Read the chapter on context to get started
     - With context, you can access settable properties, e.g. context text.lang
       to access the language set via set text(lang: "..")
     - The following existing functions have been made contextual: query,
       locate, measure, counter.display, counter.at, counter.final, state.at,
       and state.final
     - Added contextual methods counter.get and state.get to retrieve the value
       of a counter or state in the current context
     - Added contextual function here to retrieve the location of the current
       context
     - The locate function now returns the location of a selector's unique match.
       Its old behavior has been replaced by context expressions and only
       remains temporarily available for compatibility.
     - The counter.at and state.at methods are now more flexible: They directly
       accept any kind of locatable selector with a unique match (e.g. a label)
       instead of just locations
     - When context is available, counter.display now directly returns the
       result of applying the numbering instead of yielding opaque content.
       It should not be used anymore without context. (Deprecation planned)
     - The state.display function should not be used anymore, use state.get
       instead (Deprecation planned)
     - The location argument of query, counter.final, and state.final should not
       be used anymore (Deprecation planned)
     - The styles argument of the measure function should not be used anymore
       (Deprecation planned)
     - The style function should not be used anymore, use context instead
       (Deprecation planned)
     - The correct context is now also provided in various other places where
       it is available, e.g. in show rules, layout callbacks, and numbering
       functions in the outline

    Styling
     - Fixed priority of multiple show-set rules: They now apply in the same
       order as normal set rules would
     - Show-set rules on the same element (e.g. show heading.where(level: 1):
       set heading(numbering: "1.")) now work properly
     - Setting properties on an element within a transformational show rule
       (e.g. show heading: it => { set heading(..); it }) is not supported
       anymore (previously it also only worked sometimes); use show-set rules
       instead (Breaking change)
     - Text show rules that match their own output now work properly (e.g.
       show "cmd": `cmd`)
     - The elements passed to show rules and returned by queries now contain all
       fields of their respective element functions rather than just specific
       ones
     - All settable properties can now be used in where selectors
     - And and or selectors can now be used with show rules
     - Errors within show rules and context expressions are now ignored in all
       but the last introspection iteration, in line with the behavior of the
       old locate
     - Fixed a bug where document set rules were allowed after content

    Layout
     - Added reflow argument to rotate and scale which lets them affect the
       layout
     - Fixed a bug where floating placement or floating figures could end up
       out of order
     - Fixed overlap of text and figure for full-page floating figures
     - Fixed various cases where the hide function didn't hide its contents
       properly
     - Fixed usage of h and v in stacks
     - Invisible content like a counter update will no longer force a visible
       block for just itself
     - Fixed a bug with horizontal spacing followed by invisible content (like
       a counter update) directly at the start of a paragraph

    Text
     - Added stroke property for text
     - Added basic i18n for Serbian and Catalan
     - Added support for contemporary Japanese numbering method
     - Added patches for various wrong metadata in specific fonts
     - The text direction can now be overridden within a paragraph
     - Fixed Danish smart quotes
     - Fixed font fallback next to a line break
     - Fixed width adjustment of JIS-style Japanese punctuation
     - Fixed Finnish translation of "Listing"
     - Fixed Z-ordering of multiple text decorations (underlines, etc.)
     - Fixed a bug due to which text features could not be overridden in
       consecutive set rules

    Model
     - Added depth and offset arguments to heading to increase or decrease the
       heading level for a bunch of content; the heading syntax now sets depth
       rather than level (Breaking change)
     - List markers now cycle by default
     - The quote function now more robustly selects the correct quotes based on
       language and nesting
     - Fixed indent bugs related to the default show rule of terms

    Math
     - Inline equations now automatically linebreak at appropriate places
     - Added number-align argument to equations
     - Added support for adjusting the size of accents relative to their base
     - Improved positioning of accents
     - Primes are now always attached as scripts by default
     - Exposed math.primes element which backs the $f'$ syntax in math
     - Math mode is not affected by strong and emph anymore
     - Fixed attach under fractions
     - Fixed that math.class did not affect smart limit placement
     - Fixed weak spacing in lr groups
     - Fixed layout of large operators for Cambria Math font
     - Fixed math styling of Hebrew symbol codepoints

    Symbols
     - Added gradient as an alias for nabla
     - Added partial as an alias for diff, diff will be deprecated in the future
     - Added colon.double, gt.approx, gt.napprox, lt.approx, and lt.napprox
     - Added arrow.r.tilde and arrow.l.tilde
     - Added tilde.dot
     - Added forces and forces.not
     - Added space.nobreak.narrow
     - Added lrm (Left-to-Right Mark) and rlm (Right-to-Left Mark)
     - Fixed star.stroked symbol (which previously had the wrong codepoint)

    Scripting
     - Arrays can now be compared lexicographically
     - Added contextual method to-absolute to lengths
     - Added calc.root
     - Added int.signum and float.signum methods
     - Added float.is-nan and float.is-infinite methods
     - Added int.bit-not, int.bit-and, int.bit-or, int.bit-xor, int.bit-lshift,
       and int.bit-rshift methods
     - Added array.chunks method
     - A module can now be converted to a dictionary with the dictionary
       constructor to access its contents dynamically
     - Added row-type argument to csv function to configure how rows will be
       represented
     - XML parsing now allows DTDs (document type definitions)
     - Improved formatting of negative numbers with str and repr
     - For loops can now iterate over bytes
     - Fixed a bug with pattern matching in for loops
     - Fixed a bug with labels not being part of .fields() dictionaries
     - Fixed a bug where unnamed argument sinks wouldn't capture excess
       arguments
     - Fixed typo in repr output of strokes

    Syntax
     - Added support for nested destructuring patterns
     - Special spaces (like thin or non-breaking spaces) are now parsed
       literally instead of being collapsed into normal spaces (Breaking change)
     - Korean text can now use emphasis syntax without adding spaces
       (Breaking change)
     - The token context is now a keyword and cannot be used as an identifier
       anymore (Breaking change)
     - Nested line comments aren't allowed anymore in block comments
       (Breaking change)
     - Fixed a bug where x.) would be treated as a field access
     - Text elements can now span across curly braces in markup
     - Fixed silently wrong parsing when function name is parenthesized
     - Fixed various bugs with parsing of destructuring patterns, arrays,
       and dictionaries

    Tooling & Diagnostics
     - Click-to-jump now works properly within raw text
     - Added suggestion for accessing a field if a method doesn't exist
     - Improved hint for calling a function stored in a dictionary
     - Improved errors for mutable accessor functions on arrays and dictionaries
     - Fixed error message when calling constructor of type that doesn't have one
     - Fixed confusing error message with nested dictionaries for strokes on
       different sides
     - Fixed autocompletion for multiple packages with the same name from
       different namespaces

    Visualization
     - The image function doesn't upscale images beyond their natural size anymore
     - The image function now respects rotation stored in EXIF metadata
     - Added support for SVG filters
     - Added alpha component to luma colors
     - Added color.transparentize and color.opacify methods
     - Improved color.negate function
     - Added stroke and radius arguments to highlight function
     - Changed default highlight color to be transparent
     - CMYK to RGB conversion is now color-managed
     - Fixed crash with gradients in Oklch color space
     - Fixed color-mixing for hue-based spaces
     - Fixed bugs with color conversion
     - SVG sizes are not rounded anymore, preventing slightly wrong aspect ratios
     - Fixed a few other SVG-related bugs
     - color.components doesn't round anything anymore

    Export
     - PDFs now contain named destinations for headings derived from their labels
     - The internal PDF structure was changed to make it easier for external
       tools to extract or modify individual pages, avoiding a bug with Typst
       PDFs in Apple Preview
     - PDFs produced by Typst should now be byte-by-byte reproducible when set
       document(date: none) is set
     - Added missing flag to PDF annotation
     - Fixed multiple bugs with gradients in PDF export
     - Fixed a bug with patterns in PDF export
     - Fixed a bug with embedding of grayscale images in PDF export
     - Fixed a bug with To-Unicode mapping of CFF fonts in PDF export
     - Fixed a bug with the generation of the PDF outline
     - Fixed a sorting bug in PDF export leading to non-reproducible output
     - Fixed a bug with transparent text in PNG export
     - Exported SVG files now include units in their top-level width and height

    Command line interface
     - Added support for passing inputs via a CLI flag
     - When passing the filename -, Typst will now read input from stdin
     - Now uses the system-native TLS implementation for network fetching which
       should be generally more robust
     - Watch mode will now properly detect when a previously missing file is
       created
     - Added --color flag to configure whether to print colored output
     - Fixed user agent with which packages are downloaded
     - Updated bundled fonts to the newest versions

    Development
     - Added --vendor-openssl to CLI to configure whether to link OpenSSL
       statically instead of dynamically (not applicable to Windows and Apple
       platforms)
     - Removed old tracing (and its verbosity) flag from the CLI
     - Added new --timings flag which supersedes the old flamegraph profiling
       in the CLI
     - Added minimal CLI to typst-docs crate for extracting the language and
       standard library documentation as JSON
     - The typst_pdf::export function's ident argument switched from Option to
       Smart. It should only be set to Smart::Custom if you can provide a stable
       identifier (like the web app can). The CLI sets Smart::Auto.

Thanks to everyone who contributed to this release!
@
text
@d5 1
a5 1
--- Cargo.toml.orig	2024-03-17 17:31:32.009123590 +0000
d8 5
a12 5
 typst-syntax = { path = "crates/typst-syntax", version = "0.11.0" }
 typst-timing = { path = "crates/typst-timing", version = "0.11.0" }
 typst-assets = "0.11.0"
-typst-dev-assets = { git = "https://github.com/typst/typst-dev-assets", tag = "v0.11.0" }
+typst-dev-assets = { path = "typst-dev-assets-e0ef7ad46f28a440c41bc8e78563ace86cc02678" }
@


1.4
log
@textproc/typst: update to 0.10.0

Version 0.10.0 (December 4, 2023)
Bibliography management
 - Added support for citation collapsing (e.g. [1]-[3] instead of [1], [2],
   [3]) if requested by a CSL style
 - Fixed bug where an additional space would appear after a group of citations
 - Fixed link show rules for links in the bibliography
 - Fixed show-set rules on citations
 - Fixed bibliography-related crashes that happened on some systems
 - Corrected name of the GB/T 7714 family of styles from 7114 to 7714
 - Fixed missing title in some bibliography styles
 - Fixed printing of volumes in some styles
 - Fixed delimiter order for contributors in some styles (e.g. APA)
 - Fixed behavior of alphanumeric style
 - Fixed multiple bugs with GB/T 7714 style
 - Fixed escaping in Hayagriva values
 - Fixed crashes with empty dates in Hayagriva files
 - Fixed bug with spacing around math blocks
 - Fixed title case formatting after verbatim text and apostrophes
 - Page ranges in .bib files can now be arbitrary strings
 - Multi-line values in .bib files are now parsed correctly
 - Entry keys in .bib files now allow more characters
 - Fixed error message for empty dates in .bib files
 - Added support for years of lengths other than 4 without leading zeros in
   .bib files
 - More LaTeX commands (e.g. for quotes) are now respected in .bib files

Visualization
 - Added support for patterns as fills and strokes
 - The alpha parameter of the components function on colors is now a named
   parameter (Breaking change)
 - Added support for the Oklch color space
 - Improved conversions between colors in different color spaces
 - Removed restrictions on Oklab chroma component
 - Fixed clipping on blocks and boxes without a stroke
 - Fixed bug with gradients on math
 - Fixed bug with gradient rotation on text
 - Fixed bug with gradient colors in PDF
 - Fixed relative base of Oklab chroma ratios
 - Fixed Oklab color negation

Text and Layout
 - CJK text can now be emphasized with the * and _ syntax even when there are
   no spaces
 - Added basic i18n for Greek and Estonian
 - Improved default figure caption separator for Chinese, French, and Russian
 - Changed default figure supplement for Russian to short form
 - Fixed CJK-Latin-spacing before line breaks and in locate calls
 - Fixed line breaking at the end of links

Math
 - Added mid function for scaling a delimiter up to the height of the
   surrounding lr group
 - The op function can now take any content, not just strings
 - Improved documentation for math alignment
 - Fixed swallowing of trailing comma when a symbol is used in a function-like
   way (e.g. pi(a,b,))

Scripting
 - Any non-identifier dictionary key is now interpreted as an expression: For
   instance, ((key): value) will create a dictionary with a dynamic key
 - The stroke type now has a constructor that converts a value to a stroke or
   creates one from its parts
 - Added constructor for arguments type
 - Added calc.div-euclid and calc.rem-euclid functions
 - Fixed equality of arguments
 - Fixed repr of cmyk colors
 - Fixed crashes with provided elements like figure captions, outline entries,
   and footnote entries

Tooling and Diagnostics
 - Show rules that match on their own output now produce an appropriate error
   message instead of a crash (this is a first step, in the future they will
   just work)
 - Too highly or infinitely nested layouts now produce error messages instead
   of crashes
 - Added hints for invalid identifiers
 - Added hint when trying to use a manually constructed footnote or outline
   entry
 - Added missing details to autocompletions for types
 - Improved error message when passing a named argument where a positional one
   is expected
 - Jump from click now works on raw blocks

Export
 - PDF compilation output is now again fully byte-by-byte reproducible if the
   document's date is set manually
 - Fixed color export in SVG
 - Fixed PDF metadata encoding of multiple authors

Command line interface
 - Fixed a major bug where typst watch would confuse files and fail to pick up
   updates
 - Fetching of the release metadata in typst update now respects proxies
 - Fixed bug with --open flag on Windows when the path contains a space
 - The TYPST_FONT_PATHS environment variable can now contain multiple paths
   (separated by ; on Windows and : elsewhere)
 - Updated embedded New Computer Modern fonts to version 4.7
 - The watching process doesn't stop anymore when the main file contains
   invalid UTF-8

Miscellaneous Improvements
 - Parallelized image encoding in PDF export
 - Improved the internal representation of content for improved performance
 - Optimized introspection (query, counter, etc.) performance
 - The document title can now be arbitrary content instead of just a string
 - The number-align parameter on numbered lists now also accepts vertical
   alignments
 - Fixed selectors on quote elements
 - Fixed parsing of #return expression in markup
 - Fixed bug where inline equations were displayed in equation outlines
 - Fixed potential CRLF issue in raw blocks
 - Fixed a bug where Chinese numbering couldn't exceed the number 255

Development
 - Merged typst and typst-library and extracted typst-pdf, typst-svg, and
   typst-render into separate crates
 - The Nix flake now includes the git revision when running typst --version
@
text
@d3 1
a3 1
Patch out the git source request for iai.
d5 1
a5 1
--- Cargo.toml.orig	2023-12-09 21:33:14.862433764 +0000
d7 9
a15 9
@@@@ -46,7 +46,7 @@@@ fontdb = { version = "0.15", default-fea
 hayagriva = "0.5.1"
 heck = "0.4"
 hypher = "0.1.4"
-iai = { git = "https://github.com/typst/iai", rev = "3f0f927" }
+iai = "0.1.1"
 icu_properties = { version = "1.4", features = ["serde"] }
 icu_provider = { version = "1.4", features = ["sync"] }
 icu_provider_adapters = "1.4"
@


1.3
log
@textproc/typst: update to 0.7.0

Version 0.7.0 (August 7, 2023) Latest
Text and Layout
 - Added support for floating figures through the placement argument on the
   figure function
 - Added support for arbitrary floating content through the float argument
   on the place function
 - Added support for loading .sublime-syntax files as highlighting syntaxes
   for raw blocks
 - Added support for loading .tmTheme files as highlighting themes for raw
   blocks
 - Added bounds option to top-edge and 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 argument to text function
 - Added 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 in containers
 - Fixed overflowing containers due to optimized line breaks

Export
 - Greatly improved export of SVG images to PDF. Many thanks to @@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
 - Changed relations to show attachments as limits by default
   (e.g. in $a ->^x b$)
 - Large operators and delimiters are now always vertically centered
 - Boxes in equations now sit on the baseline instead of being vertically
   centered by default. Notably, this does not affect blocks because they are
   not inline elements.
 - Added support for weak spacing
 - Added support for OpenType character variants
 - Added support for customizing the 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
    - 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
    - Added ratio and length field to relative lengths
    - Added x and y field to 2d alignments
    - Added paint, thickness, cap, join, dash, and miter-limit field to strokes
 - Accessor and utility methods
    - Added dedup method to arrays
    - Added pt, mm, cm, and inches method to lengths
    - Added deg and rad method to angles
    - Added kind, hex, rgba, cmyk, and luma method to colors
    - Added axis, start, end, and inv method to directions
    - Added axis and inv method to alignments
    - Added inv method to 2d alignments
    - Added start argument to enumerate method on arrays
 - Added color.mix function
 - Added mode and scope arguments to eval function
 - Added bytes type for holding large byte buffers
    - Added encoding argument to read function to read a file as bytes instead
      of a string
    - Added 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 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 argument to heading to control whether a heading becomes
   part of the PDF outline
 - Added caption-pos 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. 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 dependants may need fixing if they
   have the same bug that the CLI world had
@
text
@d1 1
a1 1
$NetBSD: patch-Cargo.toml,v 1.2 2023/07/10 19:43:05 pin Exp $
d3 1
a3 1
Fetch git source of svg2pdf ahead of build.
d5 1
a5 1
--- Cargo.toml.orig	2023-06-30 14:21:57.000000000 +0000
d7 9
a15 9
@@@@ -52,7 +52,7 @@@@ rustybuzz = "0.7"
 serde = { version = "1", features = ["derive"] }
 siphasher = "0.3"
 subsetter = "0.1.1"
-svg2pdf = { git = "https://github.com/typst/svg2pdf" }
+svg2pdf = { path = "svg2pdf-35f4bb87fb677473661c6d12919e01a6d64a716d" }
 tiny-skia = "0.9.0"
 toml = { version = "0.7.3", default-features = false, features = ["parse"] }
 tracing = "0.1.37"
@


1.2
log
@textproc/typst: update to 0.6.0

Version 0.6.0 (June 30, 2023)
  Package Management
   - Typst now has built-in package management
   - You can import published community packages or create and use system-local
     ones
   - Published packages are also supported in the web app

  Math
   - Added support for optical size variants of glyphs in math mode
   - Added argument to enable limits conditionally depending on whether the
     equation is set in display or inline style
   - Added gt.eq.slant and lt.eq.slant symbols
   - Increased precedence of factorials in math mode ([$1/n!$] works
     correctly now)
   - Improved underlines and overlines in math mode
   - Fixed usage of limits function in show rules
   - Fixed bugs with line breaks in equations

  Text and Layout
   - Added support for alternating page margins with the inside and outside keys
   - Added support for specifying the page binding
   - Added to argument to pagebreak function to skip to the next even or odd
     page
   - Added basic i18n for a few more languages (TR, SQ, TL)
   - Fixed bug with missing table row at page break
   - Fixed bug with underlines
   - Fixed bug superfluous table lines
   - Fixed smart quotes after line breaks
   - Fixed a crash related to text layout

  Command line interface
   - Breaking change: Added requirement for --root/TYPST_ROOT directory to
     contain the input file because it designates the project root. Existing
     setups that use TYPST_ROOT to emulate package management should switch to
     local packages
   - Breaking change: Now denies file access outside of the project root
   - Added support for local packages and on-demand package download
   - Now watches all relevant files, within the root and all packages
   - Now displays compilation time

  Miscellaneous Improvements
   - Added outline.entry to customize outline entries with show rules
   - Added some hints for error messages
   - Added some missing syntaxes for raw highlighting
   - Improved rendering of rotated images in PNG export and web app
   - Made footnotes reusable and referenceable
   - Fixed bug with citations and bibliographies in locate
   - Fixed inconsistent tense in documentation

  Development
   - Added contribution guide
   - Reworked World interface to accommodate for package management and make it
     a bit simpler to implement (Breaking change for implementors)

Version 0.5.0 (June 9, 2023)
  Text and Layout
   - Added raw syntax highlighting for many more languages
   - Added support for Korean numbering
   - Added basic i18n for a few more languages (NL, SV, DA)
   - Improved linebreaking for East Asian languages
   - Expanded functionality of outline indent property
   - Fixed footnotes in columns
   - Fixed page breaking bugs with footnotes
   - Fixed bug with handling of footnotes in lists, tables, and figures
   - Fixed a bug with CJK punctuation adjustment
   - Fixed a crash with rounded rectangles
   - Fixed alignment of line elements

  Math
   - Breaking change: The syntax rules for mathematical attachments were
     improved: $f^abs(3)$ now parses as $f^(abs(3))$ instead of $(f^abs)(3)$.
     To disambiguate, add a space: $f^zeta (3)$.
   - Added forced size commands for math (e.g., display)
   - Added supplement parameter to equation, used by references
   - New symbols: bullet, xor, slash.big, sigma.alt, tack.r.not, tack.r.short,
     tack.r.double.not
   - Fixed a bug with symbols in matrices
   - Fixed a crash in the attach function

  Scripting
   - Added new datetime type and datetime.today() to retrieve the current date
   - Added str.from-unicode and str.to-unicode functions
   - Added fields method on content
   - Added base parameter to str function
   - Added calc.exp and calc.ln
   - Improved accuracy of calc.pow and calc.log) for specific bases
   - Fixed removal order for dictionary
   - Fixed .at(default: ..) for strings and content
   - Fixed field access on styled elements
   - Removed deprecated calc.mod function

  Command line interface
   - Added PNG export via typst compile source.typ output-{n}.png. The output
     path must contain [{n}] if the document has multiple pages.
   - Added --diagnostic-format=short for Unix-style short diagnostics
   - Doesn't emit color codes anymore if stderr isn't a TTY
   - Now sets the correct exit code when invoked with a non-existent file
   - Now ignores UTF-8 BOM in Typst files

  Miscellaneous Improvements
   - Improved errors for mismatched delimiters
   - Improved error message for failed length comparisons
   - Fixed a bug with images not showing up in Apple Preview
   - Fixed multiple bugs with the PDF outline
   - Fixed citations and other searchable elements in hide
   - Fixed bugs with reference supplements
   - Fixed Nix flake
@
text
@d1 1
a1 1
$NetBSD$
@


1.1
log
@textproc/typst: update to 0.4.0

Footnotes
 - Implemented support for footnotes
 - The footnote function inserts a footnote
 - The footnote.entry function can be used to customize the footnote listing
 - The "chicago-notes" citation style is now available

Documentation
 - Added a 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 alignment
 - Fixed spacing on decorated elements (e.g., spacing around a canceled
   operator)
 - Fixed styling for stretchable symbols
 - Added tack.r.double, tack.l.double, dotless.i and dotless.j symbols
 - 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 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 and assert.ne functions for simpler equality and inequality
   assertions with more helpful error messages
 - Exposed list, enum, and term list items in their respective functions' scope
 - The at methods on strings, arrays, dictionaries, and content now support
   specifying a default value
 - Added support for passing a function to replace that is called with each
   match.
 - Fixed replacement 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 or float fails

Text and Layout
 - Implemented sophisticated CJK punctuation adjustment
 - Disabled overhang for CJK punctuation
 - Added basic translations for Traditional Chinese
 - Fixed alignment 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 and fill per column
 - Fixed automatic figure kind detection
 - Made alignment of enum numbers 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
@
text
@d5 2
a6 2
--- ../typst-0.4.0/Cargo.toml.orig	2023-05-20 20:05:55.000000000 +0000
+++ ../typst-0.4.0/Cargo.toml
d14 1
a15 1
 ttf-parser = "0.18.1"
@

