Subject: CVS commit: pkgsrc/textproc/typst
From: pin
Date: 2023-11-05 09:38:39
Message id: 20231105083839.E406FFA2C@cvs.NetBSD.org

Log Message:
textproc/typst: update to 0.9.0

Version 0.9.0 (October 31, 2023)

Bibliography management
 - New bibliography engine based on CSL (Citation Style Language). Ships with
   about 100 commonly used citation styles and can load custom .csl files
 - Added new form argument to the cite function to produce different forms of
   citations (e.g. for producing a citation suitable for inclusion in prose)
 - The cite function now takes only a single label/key instead of allowing
   multiple. Adjacent citations are merged and formatted according to the
   citation style's rules automatically. This works both with the reference
   syntax and explicit calls to the cite function. (Breaking change)
 - The cite function now takes a label instead of a string (Breaking change)
 - Added full argument to bibliography function to print the full bibliography
   even if not all works were cited
 - Bibliography entries can now contain Typst equations (wrapped in $..$ just
   like in markup), this works both for .yml and .bib bibliographies
 - The hayagriva YAML format was improved. See its changelog for more details.
   (Breaking change)
 - A few bugs with .bib file parsing were fixed
 - Removed brackets argument of cite function in favor of form

Visualization
 - Gradients and colors (thanks to @Dherse)
    - Added support for gradients on shapes and text
    - Supports linear, radial, and conic gradients
    - Added support for defining colors in more color spaces, including Oklab,
      Linear RGB(A), HSL, and HSV
    - Added saturate, desaturate, and rotate functions on colors
    - Added color.map module with predefined color maps that can be used with
      gradients
    - Rename kind function on colors to space
    - Removed to-rgba, to-cmyk, and to-luma functions in favor of a new
      components function
 - Improved rendering of rectangles with corner radius and varying stroke widths
 - Added support for properly clipping boxes and blocks with a border radius
 - Added background parameter to overline, underline, and strike functions
 - Fixed inaccurate color embedding in PDFs
 - Fixed ICC profile handling for images embedded in PDFs

Text and Layout
 - Added support for automatically adding proper pacing between CJK and Latin
   text (enabled by default)
 - Added support for automatic adjustment of more CJK punctuation
 - Added quote element for inserting inline and block quotes with optional
   attributions
 - Added raw.line element for customizing the display of individual lines of
   raw text, e.g. to add line numbers while keeping proper syntax highlighting
 - Added support for per-side inset customization to table function
 - Added Hungarian and Romanian translations
 - Added support for Czech hyphenation
 - Added support for setting custom smart quotes
 - The default figure separator now reacts to the currently set language and
   region
 - Improved line breaking of links / URLs (especially helpful for bibliographies
   with many URLs)
 - Improved handling of consecutive hyphens in justification algorithm
 - Fixed interaction of justification and hanging indent
 - Fixed a bug with line breaking of short lines without spaces when
   justification is enabled
 - Fixed font fallback for hyphen generated by hyphenation
 - Fixed handling of word joiner and other no-break characters during
   hyphenation
 - Fixed crash when hyphenating after an empty line
 - Fixed line breaking of composite emoji like 🏳️‍🌈
 - Fixed missing text in some SVGs
 - Fixed font fallback in SVGs
 - Fixed behaviour of to argument on pagebreak function
 - Fixed set align(..) for equations
 - Fixed spacing around placed elements
 - Fixed coalescing of above and below spacing if given in em units and the
   font sizes differ
 - Fixed handling of extent parameter of underline, overline, and strike
   functions
 - Fixed crash for floating placed elements with no specified vertical alignment
 - Partially fixed a bug with citations in footnotes

Math
 - Added gap argument for vec, mat, and cases function
 - Added size argument for abs, norm, floor, ceil, and round functions
 - Added reverse parameter to cases function
 - Added support for multinomial coefficients to binom function
 - Removed rotation argument on cancel function in favor of a new and more
   flexible angle argument (Breaking change)
 - Added wide constant, which inserts twice the spacing of quad
 - Added csch and sech operators
 - ↼, ⇀, ↔, and ⟷ can now be used as accents
 - Added integral.dash, integral.dash.double, and integral.slash symbols
 - Added support for specifying negative indices for augmentation lines to
   position the line from the back
 - Fixed default color of matrix augmentation] lines
 - Fixed attachment of primes to inline expressions
 - Math content now respects the text baseline setting

Performance
 - Fixed a bug related to show rules in templates which would effectively
   disable incremental compilation in affected documents
 - Micro-optimized code in several hot paths, which brings substantial
   performance gains, in particular in incremental compilations
 - Improved incremental parsing, which affects the whole incremental compilation
   pipeline
 - Added support for incremental parsing in the CLI
 - Added support for incremental SVG encoding during PDF export, which greatly
   improves export performance for documents with many SVG

Tooling and Diagnostics
 - Improved autocompletion for variables that are in-scope
 - Added autocompletion for package imports
 - Added autocompletion for labels
 - Added tooltip that show which variables a function captures (when hovering
   over the equals sign or arrow of the function)
 - Diagnostics are now deduplicated
 - Improved diagnostics when trying to apply unary + or - to types that only
   support binary + and -
 - Error messages now state which label or citation key isn't present in the
   document or its bibliography
 - Fixed a bug where function argument parsing errors where shadowed by function
   execution errors (e.g. when trying to call array.sorted and passing the key
   function as a positional argument instead of a named one).

Export
 - Added support for configuring the document's creation date. If the date is
   set to auto (the default), the PDF's creation date will be set to the current
   date and time.
 - Added support for configuring document keywords
 - Generated PDFs now contain PDF document IDs
 - The PDF creator tool metadata now includes the Typst version

Web app
 - Added version picker to pin a project to an older compiler version (with
   support for Typst 0.6.0+)
 - Fixed desyncs between editor and compiler and improved overall stability
 - The app now continues to highlight the document when typing while the
   document is being compiled

Command line interface
 - Added support for discovering fonts through fontconfig
 - Now clears the screen instead of resetting the terminal
 - Now automatically picks correct file extension for selected output format
 - Now only regenerates images for changed pages when using typst watch with
   PNG or SVG export

Miscellaneous Improvements
 - Added version type and sys.version constant specifying the current compiler
   version. Can be used to gracefully support multiple versions.
 - The U+2212 MINUS SIGN is now used when displaying a numeric value, in the
   repr of any numeric value and to replace a normal hyphen in text mode when
   before a digit. This improves, in particular, how negative integer values
   are displayed in math mode.
 - Added support for specifying a default value instead of failing for remove
   function in array and dictionary
 - Simplified page setup guide examples
 - Switched the documentation from using the word "hashtag" to the \ 
word "hash"
   where appropriate
 - Added support for array.zip without any further arguments
 - Fixed crash when a plugin tried to read out of bounds memory
 - Fixed crashes when handling infinite lengths
 - Fixed introspection (mostly bibliography) bugs due to weak page break close
   to the end of the document

Development
 - Extracted typst::ide into separate typst_ide crate
 - Removed a few remaining 'static bounds on &dyn World
 - Removed unnecessary dependency, which reduces the binary size
 - Fixed compilation of typst by itself (without typst-library)
 - Fixed warnings with Nix flake when using lib.getExe

Files:
RevisionActionfile
1.8modifypkgsrc/textproc/typst/Makefile
1.8modifypkgsrc/textproc/typst/cargo-depends.mk
1.8modifypkgsrc/textproc/typst/distinfo
1.2modifypkgsrc/textproc/typst/patches/patch-crates_typst-cli_Cargo.toml
1.7modifypkgsrc/textproc/typst/patches/patch-tests_Cargo.toml