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.
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.
- 40× faster build times
- 30% smaller output bundles on average
- Incremental compilation with file-level granularity
- Compile-time constant folding and dead code elimination
- Source maps are accurate to the character
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:
npx olum-migrate@latest ./srcThe 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.
Kai Nakamura
Core Team · Olum Team