website/src/content/posts/2026-06-15-introducing-rivet-2-3/page.mdx
Today we're releasing Rivet 2.3: a native Rust rewrite of RivetKit, a reimagined dashboard, and fine-grained control over actor lifecycle.
RivetKit is the runtime that runs your actor code: it manages state, lifecycle, networking, and storage for every actor. In 2.3 it's rewritten from JavaScript to Rust.
We reimagined the entire dashboard. It now ships with light and dark mode, a bigger inspector with space reserved for upcoming custom inspector tabs, and reorganized settings that make the setting you need easier to find.
2.3 adds fine-grained control over when an actor is allowed to sleep or move, so in-flight work runs to completion instead of being cut off.
c.keepAwake: explicitly hold an actor awake through a long operation so it isn't put to sleep partway throughThis matters for anything that can't be cut off partway through: agent turns that need to finish, game servers mid-match, and expensive jobs like image or video conversion.
RivetKit now runs as either a native Node.js module or as WebAssembly, so it can support more platforms like Cloudflare Workers and Supabase Functions.
Restart or sleep an actor the way you'd restart a container, from the dashboard, over the API, or from an agent. Useful for debugging how an actor behaves across its lifecycle, or forcing a fresh start after a bad state.
A new Rivet CLI:
npx @rivetkit/cli dev: run a local Rivet Engine, with presets for Cloudflare Workers and Supabase Functionsnpx @rivetkit/cli deploy: build, push, and deploy your project to Rivet Computenpx @rivetkit/cli setup-ci: scaffold a GitHub Actions workflow that deploys to Rivet Compute on every push, including preview branchesgetOrCreate and getskipReadyWait sends a request through immediately instead of waiting for the actor to finish starting up