Releases: treyorr/voca
Release list
v0.4.1
v0.4.0
What's Changed
- feat: Add local and remote muting (#9)
This release introduces the highly requested capability to individually mute peers and properly visualize when a peer has muted themselves across the entire Voca stack.
✨ Features
- Local Peer Muting: You can now mute specific individuals in a room without silencing their visual audio pulse or turning off your whole tab.
- Remote Mute Visibility: When a user mutes their own microphone, a
[SELF-MUTED]indicator broadcasts to all other participants.
📦 SDK & API Updates
- Protocol update: The Rust signaling server now supports a
Mute { muted: bool }packet type and broadcasts it safely. Bumped protocol tov0.4.0. - Core Client: Added
localMutedandremoteMutedto the Peer interface object. - Core Client: Added togglePeerMute(peerId) to mute local playback of a specific peer without destroying the
audioContext. - Framework Wrappers: The
peer-muteandpeer-local-mutereactive events were brought directly into@treyorr/voca-svelteand the useVocaRoom() hooks in@treyorr/voca-react.
📚 Documentation
- Updated API Reference with new variables and methods.
- Added togglePeerMute() buttons and
(Self-Muted)indicators to the Svelte and React code blocks inside the Getting Started guide.
v0.3.0
Voca v0.3.0 - Reactive Passwords & Unified Protocol
This release introduces a major refactor to how Voca handles room security, streamlining the flow from the signaling server all the way to the Svelte UI. We've also unified versioning across all components to v0.3.0 for a more consistent developer experience.
Key Changes
SDK-Native Security Flow
We've moved away from manual API pre-checks. The signaling server now accepts WebSocket connections and sends structured error signals (password_required, invalid_password) over the wire. This allows the SDK to handle security state reactively, reducing boilerplate in your application.
Reactive UI Improvements
The web app is now powered purely by the SDK’s reactive state.
Auto-Password Discovery: The UI now reacts instantly to password requirements.
URL Synchronization: Entering a password now updates your browser URL, making it easy to share working links.
Simplified Logic: Removed over 50 lines of imperative "pre-flight" code in favor of Svelte 5 runes.
v0.2.1
Bug Fixes
- Fixed WebSocket race condition: Prevent sending messages before connection is fully open
- Fixed TypeScript build errors: Added explicit types to voca-svelte callback parameters
- Fixed CI workflow: Build packages before linting so dependencies are available
Full Changelog: v0.2.0...v0.2.1
v0.2.0
What's Changed
Bug Fixes
- Fixed WebSocket URL construction: Path now correctly comes before query parameters
Improvements
- Standardized URL handling: Added
getHttpUrl()andgetWsUrl()static helpers - SDK now accepts any format (http/https/ws/wss) and internally derives the correct protocol - Removed health check endpoint: Simplified signaling server by removing unused
/healthendpoint - Documentation cleanup: Removed confusing
wss://mentions - just usehttps://voca.vc
Upgrade Notes
No breaking changes. Users can update to ^0.2.0 for all packages.
v0.1.0
Full Changelog: https://github.com/treyorr/voca/commits/v0.1.0