Sigil 0.23.0

release

A memory and runtime release. Native and C-to-WebAssembly programs use less memory, idle programs wake less often, and a full Unix socket queue no longer stalls other fibers.

Download 0.23.0Get started

Owned allocator

Static Linux x86_64 programs, including the shipped sigil command, and C-to-WebAssembly builds using Zig's WASI target now use mimalloc 3.5.3. In a fixed 18-minute room tour with the same Harkfell build, the owned allocator cut peak WebAssembly memory by about 213 MiB (31%).

Other targets keep their current allocator. To keep the stock allocator, add allocator-stock to your build config's features. allocator-mimalloc requests mimalloc explicitly and fails on an unsupported target. The first build after upgrading rebuilds the allocator because its identity is now part of the build cache.

The sigil-allocator query from (sigil meta) reports the running program's allocator. Native and WASI builds also write that identity in an .allocator file beside the output. See the allocator guide for configuration.

Native clock units

Native current-jiffy now counts microseconds, with 1,000,000 jiffies per second. Previously, the Unix clock could overflow the small-integer range after about 39 hours of machine uptime. The clock now stays exact, using a large integer when needed. Use (jiffies-per-second) to convert ticks to seconds instead of assuming a fixed rate.

Fixes