Releases
New updates and improvements
To see the changelog by commits for each release, visit the GitHub Releases page.
Features
- Testing with Vitest: Write unit tests for your actors with Vitest
Fixes
- Using
vars
andstate
in the same actor sometimes causesunknown
types
Features
- Driver Context: You can now access driver-specific context, for example:
Documentation
- Lifecycle
createVars
andvars
- Fix Hono example code
Fixes
- Add
tsx
to examples
Features
- Rust Client: You can now connect to ActorCore actors with Rust.
Documentation
- Documentation on how to use all available clients
- Update Interacting with Actors to include Rust code examples
Features
- Add ephemeral
c.vars
Create variables that are not stored in storage withactor({ vars })
andactor({ createVars })
- Extract context types Add
ActorContextOf<ActorDefinition>
andActionContextOf<ActorDefinition>
to make it easy to pass around context types
Enhancements
actor-core
- Pass
ActorContext
to allon*
events - Expose
name
inActorContext
@actor-core/nodejs
- Return
ServerType
fromserve
Fixes
- Make
UserError.metadata
optional - Remove reliance on Zod generic interfaces for actor configs due to TSC bugs
Features
- Functional Actor API: Instead of subclassing with
extends Actor
, actors are now created by usingactor({ ... })
- Cleaner & More Type-Safe Client: Instead of manually specifying actor names with
client.get<ChatRoom>({ name: "chat-room" })
, you can now simply callclient.chatRoom.get()
- Shorthand State Initiation: Use
state
andconnState
to create state without having to implementcreateState
andcreateConnState
- Portable ActorCore App: Use
setup
to create an ActorCore app that can be connected to multiple platforms without extra modification.
Enhancements
- Rename “RPC” to “Actions”
- Add
createState
instead of using return value fromonInitialize
for clarity - Add
createConnState
instead of using return value fromonBeforeConnect
for clarity - Rename
onInitialize
toonCreate
Features
client.dispose()
: Dipsose of the client to disconnect from all actors
Enhancements
- Cleaner error responses: All error responses from both the manager & actors now provide a standard format & logs
Fixes
- WebSockets not working with CORS
WebSocket
&EventEmitter
not working with some bundlers- Explicitly use
ws:
andwss:
protocol for WebSockets for greater compatibility
Features
create-actor --skip-dependencies
: Skip installing NPM dependencies after creation- Inspector API: Internal actor inspection API for Rivet
Features
create-actor
: Bootstrap new projects rapidly by runningnpm create-actor@latest
actor-core
CLI: New CLI tool for managing ActorCore projects and deployments- Revamped Rivet deploy process: Simplified deployment flow for Rivet platform
Documentation
- New quickstart guide: Streamlined onboarding with
create-actor
for getting started in minutes - Core concepts overview: Learn the fundamental concepts behind ActorCore architecture
- Interacting with actors: Guide to working with actors through events, RPCs, and more
- AI code editors: Comprehensive guides for using ActorCore with AI-powered editors like Claude Code, Cursor, and Windsurf
- Docs as markdown: Access any documentation page as plain Markdown by appending .md to URLs
- prompt.txt: Pre-formatted project guide to improve AI assistance with ActorCore development
- llms.txt & llms-full.txt: Structured project context files for better LLM interactions
Features
- Hono integration: Manually mount ActorCore on to any Hono router (Documentation)
- CORS configuration: Configure security rules for your server (Documentation)
- Config validation: Throws error if attempting to pass invalid config
- Standalone topology: Run ActorCore as a single process, without external dependency on Redis (Documentation)
- Build your own driver: Add ability to build your own driver to run ActorCore on anything (Documentation)
Documentation
- Drivers: Document all available drivers
- Building Drivers: Instructions on how to build a driver
- Topologies: Document the types of topologies & when to use them
Technicals
- Split drivers & platforms: Split platforms away from drivers so they can be independently mixed & matched
- Separate topologies: Split logic for all 3 topologies
Features
- Bun Support
- Node.js Support
- Connection retry with backoff
Fixes
- Keep client process alive: Keep process alive until disconnected