Changelog
All notable changes are documented here. RTCstack follows Semantic Versioning.
v0.1.0 — 2026-04-21
Initial release.
Infrastructure
- Docker Compose stack: LiveKit SFU, LiveKit Egress, coturn TURN, Caddy TLS proxy, Redis, MinIO
- All services use pinned image versions with Docker healthchecks
docker/.env.examplewith all required variables documented
Backend API
POST /v1/token— sign LiveKit JWTs with role-based grants (host, moderator, participant, viewer)POST /v1/token/refresh— refresh near-expiry tokensGET/POST/DELETE /v1/rooms— room lifecycle managementGET/DELETE /v1/rooms/:roomId/participants/:id— participant list, kickPOST /v1/rooms/:roomId/participants/:id/mute— mute audio or videoPOST/GET /v1/rooms/:roomId/recording/start|stop— composite MP4 recording via LiveKit EgressPOST/GET/PUT/DELETE /v1/webhooks— webhook config CRUD with HMAC-signed delivery and retry backoffPOST/GET/DELETE /v1/rooms/:roomId/ingress— RTMP/WHIP ingress via LiveKit IngressClientGET/POST /v1/rooms/:roomId/transcription/*— live + post-call transcription (requires STT profile)- HMAC-SHA256 request signing with 5-minute replay protection window
- Rate limiting via
@fastify/rate-limit
SDK (@rtcstack/sdk)
createCall({ token, url, tokenRefresher? })— factory returning aCallinstanceCallclass wrappinglivekit-client: connect, disconnect, toggleMic, toggleCamera, startScreenShare, stopScreenShare, switchDevice, sendMessage, sendReaction, setLayout, pin- Typed
EventEmitterwith fullCallEventMap MockCall+createMockCall()for testing without a LiveKit server- Bundle ≤ 80 kB gzipped
UI Kits
@rtcstack/ui-react— CallProvider, 7 hooks, 5 components (VideoConference, VideoGrid, ControlBar, ChatPanel, ParticipantVideo), CSS design tokens, dark/light themes@rtcstack/ui-vue— CALL_KEY injection, 7 composables, 5 SFC components@rtcstack/ui-vanilla—mountVideoConference()imperative API
Example Apps
apps/examples/react-example— Vite + React 18, join form, role selectorapps/examples/vue-example— Vite + Vue 3, join form, role selectorapps/examples/vanilla-example— No-framework HTML + Vite
Website
- VitePress documentation site with full guide coverage
- Local search

