Sigil 0.8.0

release

Dynamic FFI and portable foundations. Sigil gains the ability to call any C library at runtime without writing glue code, a content-addressable build cache for faster incremental builds, and seven new packages spanning graphics, game development, calendar sync, and messaging. Cross-compilation now passes across all eight platform targets, and a new app management system makes it easy to install and run Sigil applications from git repos. With this release, Sigil reaches a stability point that enables us to begin decoupling libraries from the monorepo for independent releases and faster iteration.

Download 0.8.0Get started

Dynamic FFI

The headline feature. sigil-ffi lets you call C library functions directly from Scheme without writing any C glue code. Load shared libraries with ffi-open, look up symbols with ffi-ref, define call signatures, and invoke — all at runtime.

(import (sigil ffi))

(define lib (ffi-open "libm.so.6"))
(define c-sqrt (ffi-ref lib "sqrt" '(double) 'double))
(c-sqrt 144.0) ; => 12.0

Content-Addressable Build Store

A new sigil-store package provides content-addressable storage for build artifacts. C compilation results and static libraries are cached by content hash, so unchanged native code is never recompiled. Build outputs are properly rooted for GC, and the store integrates transparently with the existing build system.

App Management

New sigil app commands for installing, updating, and removing Sigil applications from git repositories:

Supports --scope for MCP server registration, --env and secret-env for configuration, and graceful handling of missing environment variables.

New Packages

PackageDescription
sigil-ffiDynamic FFI for calling C libraries at runtime via dyncall
sigil-cairoCairo 2D graphics bindings — paths, transforms, surfaces, PNG loading, compositing operators, glyph rendering
sigil-freetypeFreeType font loading and glyph metrics via FFI
sigil-harfbuzzHarfBuzz text shaping via FFI
sigil-raylibRaylib game development bindings — 2D shapes, text, input, collision, audio
sigil-caldavCalDAV calendar client with iCalendar parsing, event CRUD, recurrence expansion, timezone handling
sigil-telegramTelegram Bot API client with bot framework, MarkdownV2 formatting, inline keyboards, file uploads

MCP Server Improvements

HTTP Improvements

CalDAV and iCalendar

Beyond the new sigil-caldav package, significant improvements to calendar handling:

Formatter Performance

The code formatter was optimized from 30 seconds to under 2 seconds on large files (2800+ lines):

Build System

JMAP Improvements

Performance and Code Quality

Bug Fixes