Back to Blog
releasesignalscompiler

Introducing Olum 2.0: Signals, Streaming, and a New Compiler

KN

Kai Nakamura

Core Team

May 20, 2026

8 min read

After 18 months of work, thousands of commits, and an enormous amount of feedback from the community, Olum 2.0 is finally here. This release represents a fundamental shift in how Olum works under the hood — and in how you'll experience building with it every day.

What's new in 2.0

The headline features are native signal primitives, a fully rewritten compiler, first-class streaming SSR support, and a redesigned DevTools extension. But the list goes much deeper than that.

Native signal primitives

Signals are now a first-class language feature in Olum. You no longer need a separate reactivity library — signal(), computed(), and effect() ship in the core runtime at just 1.2kb.

ts
import { signal, computed, effect } from 'olum'

const count = signal(0)
const doubled = computed(() => count.value * 2)

effect(() => {
  console.log(`count is ${count.value}, doubled is ${doubled.value}`)
})

count.value++
// → "count is 1, doubled is 2"

Rewritten compiler

The Olum 2.0 compiler is a ground-up rewrite in Rust. It's 40× faster than the 1.x compiler and produces significantly smaller, more optimized output. Template compilation is now fully incremental — only changed files are recompiled on save.

Streaming SSR

Olum 2.0 ships with built-in streaming server-side rendering. Components can suspend while data loads, streaming HTML to the browser progressively. This dramatically improves Time to First Byte on data-heavy pages.

Migration from 1.x

We've worked hard to make the 2.0 upgrade as smooth as possible. The vast majority of 1.x code is compatible without changes. Run the codemod to handle the breaking changes automatically:

bash
npx olum-migrate@latest ./src

The migration guide covers every breaking change in detail, including the updated component API and the new router conventions. Read it before upgrading a production application.

What comes next

The 2.x series will focus on server components, a native test runner, and deeper IDE integration. The roadmap is public — we'd love your input on what to prioritize.

KN

Kai Nakamura

Core Team · Olum Team