Skip to content

Releases: Mapaor/typst-api

0.2.8 - 2026-10-22

Choose a tag to compare

@github-actions github-actions released this 22 Oct 16:20

Release Notes

Added

  • Added support for SVG export to compile endpoints. Using /compile?format=svg outputs an SVG instead of the default PDF. One can also set which pages to export using an additional parameter pages, like in the Typst CLI.
  • Added pages query parameter support for PDFs as well.

Docker Image

Image Registry linux/amd64 linux/arm64
mapaor4/typst-api:0.2.8 Docker Hub ✓ ✓

Standalone Binaries

File Platform Checksum
typst-api-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
typst-api-x86_64-apple-darwin.tar.xz Intel macOS checksum
typst-api-x86_64-pc-windows-msvc.zip x64 Windows checksum
typst-api-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
typst-api-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.2.7 - 2026-10-03

Choose a tag to compare

@github-actions github-actions released this 03 Oct 15:24

Release Notes

Added

  • Added new endpoint POST /admin/fonts to add new fonts to the database using multipart/form-data.
  • Created a static website /add-fonts that asks for ADMIN_TOKEN as input, and allows uploading font files. It internally calls POST /admin/fonts. The website is just for ease of use when adding new fonts to the font database.

Changed

  • Improved logs for when CACHE_ALL_133_TYPST_FONTS is set, added a timeout for each download and made the FontState update every 20 downloaded fonts.
  • Improved the info returned for GET /admin/info.

Docker Image

Image Registry linux/amd64 linux/arm64
mapaor4/typst-api:0.2.7 Docker Hub ✓ ✓

Standalone Binaries

File Platform Checksum
typst-api-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
typst-api-x86_64-apple-darwin.tar.xz Intel macOS checksum
typst-api-x86_64-pc-windows-msvc.zip x64 Windows checksum
typst-api-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
typst-api-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.2.6 - 2026-10-02

Choose a tag to compare

@github-actions github-actions released this 02 Oct 18:28

Release Notes

Added

  • Added env var CACHE_ALL_133_TYPST_FONTS to download, extract, and cache the 133 fonts from the Typst web app, from a curated mirror I created, which is hosted on Mapaor/typst-fonts-mirror.
  • Also added the equivalent new endpoint POST /admin/fonts/sync to manually trigger a background sync of the font mirror repository. The idea is once again to run the server at startup with the env variable, and then use this endpoint to fetch updates.
  • Added a new Docker named volume typst-fonts in docker-compose.yml to persist mirrored fonts.
  • Fixed API hanging on startup if CACHE_ALL_PACKAGES was set.

Docker Image

Image Registry linux/amd64 linux/arm64
mapaor4/typst-api:0.2.6 Docker Hub ✓ ✓

Standalone Binaries

File Platform Checksum
typst-api-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
typst-api-x86_64-apple-darwin.tar.xz Intel macOS checksum
typst-api-x86_64-pc-windows-msvc.zip x64 Windows checksum
typst-api-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
typst-api-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.2.5 - 2026-09-29

Choose a tag to compare

@github-actions github-actions released this 29 Sep 10:36

Release Notes

Added

  • Added installation scripts for bash and PowerShell and updated README with instructions.

Changed

  • Fixed playground styles and script linking by adding them inline in the HTML.

Docker Image

Image Registry linux/amd64 linux/arm64
mapaor4/typst-api:0.2.5 Docker Hub ✓ ✓

Standalone Binaries

File Platform Checksum
typst-api-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
typst-api-x86_64-apple-darwin.tar.xz Intel macOS checksum
typst-api-x86_64-pc-windows-msvc.zip x64 Windows checksum
typst-api-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
typst-api-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.2.4 - 2026-09-29

Choose a tag to compare

@github-actions github-actions released this 28 Sep 23:15

Release Notes

Added

  • Added /playground route, a simple static website to test the API in the browser.
  • Added /admin/info endpoint to check status, config values and stats.
  • Added tower-http trace feature to improve logs.
  • Added guides CUSTOM_DOMAIN_GUIDE.md and FUNNEL_GUIDE.md for exposing the API publicly if you have a home server under CG-NAT.
  • Added some more tests.

Changed

  • Now if ADMIN_TOKEN but AUTH_TOKEN isn't, /compile and /compile/source remain publicly accessible. This is better than everything under ADMIN_TOKEN (old logic). Now you can make your API public while still protecting the admin/ routes.
  • Fixed docker-publish workflow to properly update the release notes (internal detail).

Docker Image

Image Registry linux/amd64 linux/arm64
mapaor4/typst-api:0.2.4 Docker Hub ✓ ✓

Standalone Binaries

File Platform Checksum
typst-api-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
typst-api-x86_64-apple-darwin.tar.xz Intel macOS checksum
typst-api-x86_64-pc-windows-msvc.zip x64 Windows checksum
typst-api-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
typst-api-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.2.3 - 2026-09-27

Choose a tag to compare

@github-actions github-actions released this 27 Sep 21:23

Release Notes

Added

Added a public root endpoint (GET /) that returns service metadata and links to the Swagger UI, OpenAPI specification, and health check.

Docker Image

Image Registry linux/amd64 linux/arm64
mapaor4/typst-api:0.2.3 Docker Hub ✓ ✓

Standalone Binaries

File Platform Checksum
typst-api-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
typst-api-x86_64-apple-darwin.tar.xz Intel macOS checksum
typst-api-x86_64-pc-windows-msvc.zip x64 Windows checksum
typst-api-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
typst-api-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

0.2.2 - 2026-09-26

Choose a tag to compare

@github-actions github-actions released this 26 Sep 09:40

Release Notes

Added

  • Implemented cargo-dist to automatically generate and publish pre-compiled standalone binaries for Windows, macOS, and Linux across x86_64 and aarch64 architectures.
  • Released binaries are now packaged with assets/fonts and a .env.example file.

Docker Image

Image Registry linux/amd64 linux/arm64
mapaor4/typst-api:0.2.2 Docker Hub ✓ ✓

Standalone Binaries

File Platform Checksum
typst-api-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
typst-api-x86_64-apple-darwin.tar.xz Intel macOS checksum
typst-api-x86_64-pc-windows-msvc.zip x64 Windows checksum
typst-api-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
typst-api-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.2.1

Choose a tag to compare

@Mapaor Mapaor released this 25 Sep 14:22

Now with ARM support!

I've modified the GH Actions workflow to build both AMD and ARM images.

Note: QEMU is used to emulate ARM during the build process, the VM runs only during the build in GH Actions servers, the final ARM image runs natively and can be used by anyone with a raspberry pi or apple M series laptop at full-speed.

v0.2.0

Choose a tag to compare

@Mapaor Mapaor released this 25 Sep 13:40

Endpoint Moved: The POST /fonts/refresh endpoint has been moved to POST /admin/fonts/refresh.

New Features

New endpoints to manage Typst packages cache:

  • GET /admin/packages: List cached packages and their total size
  • POST /admin/packages/preload: Add to the cache a specific list of packages
  • POST /admin/packages/sync-all: Download (or update) the entire Typst registry in the background
  • DELETE /admin/packages/cache: Clear all downloaded packages

Admin Authentication:

  • New ADMIN_TOKEN environment variable. If set, it secures /admin endpoints. If not set it falls back to AUTH_TOKEN.

New configuration options (in the env file):

  • PRELOAD_PACKAGES to set a list of packages that need to be available on start up
  • CACHE_ALL_PACKAGES downloads the entire Typst registry in the background, which is around 1.5-2GB. Later on one can use the sync-all endpoint for keeping up to date with package updates.

Internal/technical

  • Added a typst-packages Docker named volume (for the cache to persist across container restarts).
  • Refactored main.rs into separate files and moved the request handling logic into a handlers directory.

v0.1.0

Choose a tag to compare

@Mapaor Mapaor released this 24 Sep 22:59

Typst API v0.1.0

This is the initial release of a library that provides a dockerized REST API for compiling Typst documents into PDFs.

Features

  • Compile Typst files through POST /compile.
  • Compile inline Typst source through POST /compile/source.
  • Support multipart uploads for typst files, images and custom fonts or other files (like json or yaml).
  • Load custom fonts in the mounted fonts/ directory, use POST /fonts/refresh to reload them to the cache.
  • Support ephemeral fonts uploaded per request (dynamic custom fonts).
  • Download Typst packages and templates from the Typst Universe on demand.
  • Return complete error messages and diagnostics.
  • Optional Bearer-token authentication for the API.
  • Configurable server port, API limits (max payload size, compilation timeout and max concurrent compilations), custom font path and authentication token.
  • CORS support.
  • Health check endpoint at GET /health.
  • Example requests for different Typst documents using curl and PowerShell.

Current endpoints

GET  /health
POST /compile
POST /compile/source
GET  /fonts
POST /fonts/refresh

The main POST /compile endpoint returns a PDF as a response when the compilation is successful and a JSON with the error message and diagnostics if the compilation fails.

Deployment

The API can be run locally with Docker Compose or using the docker image published at Docker Hub. The end goal is that anyone can easily self-host a Typst API server so that then it can be used in client-side websites or automated tasks.