*“You don’t want just to develop for ARM, you want to actually use ARM in your day-to-day work on the desktop.” - Linus Torvalds*

I’m very pleased to announce the release of Factor 0.102!

OS/CPUWindowsmacOSLinux
ARM640.102
x860.1020.102
x86-640.1020.1020.102

Source code: 0.102

This release includes 1,068 commits from the following contributors:

Aleksander Sabak, Andrii Puhachenko, Chris Double, Dmitry Matveyev, Doug Coleman, Eric Willigers, Giftpflanze, John Benediktsson, Leo Mehraban, Rudi Grinberg, Sebastiaan Speck, Zoltán Kéri, @knottio, @ronnie-w

Highlights of this release include:

  • Working native ARM64 support on macOS, Linux, and Windows!
  • A new GTK4 UI backend, now the default on 64-bit Linux; 32-bit Linux continues to use GTK3, which remains a build option on other supported Linux architectures.
  • New 32-bit and 64-bit RISC-V Linux ports, with optimizing compiler backends, foreign calls and callbacks, and support in both the C++ and Zig VMs.
  • DirectWrite text rendering on Windows, including color glyphs, typography controls, and better support for large output and complex scripts.
  • More responsive rendering and selection of large text across platforms, with fixes for display scaling, listener scrolling, and adjacent text backgrounds.
  • Experimental register allocators and optional compiler optimizations, alongside fixes to stack inference, generated code, and GC root tracking.
  • Updated Unicode data to 18.0.0 and timezone data to 2026c, with bindings for SQLite 3.53.4, Raylib 6.0, and Lua 5.5.
  • Faster process launching and native process-exit notifications on Linux, macOS, BSD, and Windows, with polling as a fallback.
  • Extensive fixes to HTTP parsing, TLS identity checks, cooperative waits, resource cleanup, signal handling, and VM memory safety.