Updating Dependencies

This guide discusses updating Typst_jll.jl, Typstry.jl, and Typstry.jl's dependent packages.

Typst_jll.jl

Yggrasil hosts the BinaryBuilder.jl recipes used to generate jll packages. Upon merging changes to a recipe, the corresponding jll package is updated automatically.

  1. Obtain the version number and commit hash of a Typst release
  2. Fork Yggrasil
  3. Update the version number and commit hash in Yggdrasil/T/Typst/build_tarballs.jl
version = v"0.13.1"
sources = [GitSource(
    "https://github.com/typst/typst.git",
    "8dce676dcd691f75696719e0480cd619829846a9"
)]
  1. Submit a pull request with these changes, titled [Typst] Update version to $version
  2. Fix any build issues
  3. Wait until the pull request is merged

Typstry.jl

Typst uses semantic versioning and currently has a major version of 0. As such, patch version updates should be available automatically in Typstry.jl but minor version updates require updating the compatibility bound of Typst_jll.jl. Either submit an issue to Typstry.jl or a pull request by updating the Project.toml with the new version of Typst_jll.jl. In general, Typstry.jl only supports the latest version of Typst. However, previous versions may remain compatible until there is a feature requiring an update.

Interoperable Packages

After a minor release of Typstry.jl, dependent packages require an update to their Typstry.jl compatibility bounds. They may also require updates for any breaking changes in Typstry.jl.