v2.6.1
vladmandic/humanv2.6.1Jul 1, 2026by rekhoff
AI Summary
Patch release addressing TypeScript breaking change with optional field syntax, fixing Identity and ConnectionId regression in procedures, and improving CLI template list display.
Key Highlights
- TypeScript optional fields now use optional key syntax
- Fixed Identity and ConnectionId regression in procedures
- spacetime init --template shows available templates
Breaking Changes
- TypeScript optional fields now use optional key syntax instead of required keys with undefined value
New Features
- TypeScript optional fields syntax fix
- Identity and ConnectionId regression fix
- CLI template list improvement
Full Release Notes
v2.6.1 is a patch release with two bug fixes and a CLI improvement.
## Breaking Changes
### TypeScript: Generated optional fields now use optional key syntax
> **⚠️ Small breaking change for some TypeScript users.** Generated TypeScript types for `Option<T>` fields have changed from required keys with an `undefined` value to truly optional keys:
>
> ```ts
> // Before (v2.6.0 and earlier)
> { foo: string | undefined; }
>
> // After (v2.6.1)
> { foo?: string | undefined; }
> ```
>
> If your TypeScript code explicitly passes `undefined` for optional reducer or procedure arguments, or relies on `{ foo: T | undefined }` being a required key, you may need to update your call sites. This will require **no action from almost all TypeScript users** and it addresses a bug in the implementation of 2.0, so we've chosen to make this small breaking change.
([#4940](<https://github.com/clockworklabs/SpacetimeDB/pull/4940>))
## Bug Fixes
### Fix TypeScript optional row keys
Generated optional fields now use optional key syntax. See `Breaking Changes` above.
([#4940](<https://github.com/clockworklabs/SpacetimeDB/pull/4940>))
### Fix `Identity` and `ConnectionId` regression in Procedures
A regression introduced in 2.4 caused `ctx.sender` and `ctx.connection_id` to always be empty inside procedure contexts. This has been corrected — callers' identity and connection ID are now properly propagated again.
([#5323](<https://github.com/clockworklabs/SpacetimeDB/pull/5323>))
## CLI Improvements
### `spacetime init --template` now shows available templates
Running `spacetime init --template` without an argument now prints the list of available templates and a link to the website, rather than failing silently.
([#5264](<https://github.com/clockworklabs/SpacetimeDB/pull/5264>))
## What's Changed
- Fix TypeScript optional row keys by @clockwork-labs-bot in [#4940](<https://github.com/clockworklabs/SpacetimeDB/pull/4940>)
- spacetime init --template without arg prints template list and link to website by @clockwork-tien in [#5264](<https://github.com/clockworklabs/SpacetimeDB/pull/5264>)
- [Procedures] Fix `Identity` and `ConnectionId` Regression by @kistz in [#5323](<https://github.com/clockworklabs/SpacetimeDB/pull/5323>)
**Full Changelog**: [v2.6.0...v2.6.1](<https://github.com/clockworklabs/SpacetimeDB/compare/v2.6.0...v2.6.1>)