ServiceStack v10.5 Released!
ServiceStack v10.5 adds two new React templates, moves all front-end templates to Vite+ and brings a major upgrade to ServiceStack.Redis.
New React Templates
- TanStack Start — a modern alternative to Next.js with 100% type-safe routing. Every page is prerendered to static HTML and served by ASP.NET Core, so there’s no Node.js server to deploy.
- Astro — a content-first template that ships zero JavaScript by default. It uses React islands to call typed ServiceStack APIs, and includes a Markdown/MDX blog with RSS and a sitemap, ASP.NET Core Identity Auth and AutoQuery CRUD.
React, Next.js & Vue Templates upgraded to Vite+
All React, Next.js and Vue templates now use Vite+. A single vp CLI and one vite.config.ts handle dev, build, linting, formatting, type checking and testing, powered by Oxlint, Oxfmt, Rolldown and TypeScript 7.
ServiceStack.Redis
- IDistributedCache & HybridCache: on .NET 10, use ServiceStack.Redis as the backend for ASP.NET Core’s caching APIs. Get, Set and Refresh each run as an atomic Lua script.
- Redis Streams & Consumer Groups: sync and async APIs, typed POCO entries and pending-message recovery for work queues that survive worker crashes.
- Hash Field Expiration: expire individual hash fields on Redis 7.4+ or Valkey 9+.
- GETEX, GETDEL & UNLINK: plus
UnlinkByPatternto remove keys matching a pattern without blocking Redis. - Fully async connections: DNS, TCP, TLS and the Redis handshake no longer block threads in async APIs.
- Connection limits: an optional
MaxLiveConnectionscap and pool waits that can be cancelled. - IPv6 &
rediss://URIs: with ACL credentials. - Fixes: atomic cache expirations and more reliable failover and pipelines.
Upgrade Notes
- Reading an empty value in a pipeline or transaction now returns
""instead ofnull. SetRedisConfig.PipelineEmptyValuesAsNull = trueto keep the old behavior. - With restricted ACLs, the
IDistributedCacheadapter needs permission to run bothEVALandEVALSHA.
Read the full release notes for all the details: