Skip to content

Releases: treyorr/voca

v0.4.1

Choose a tag to compare

@treyorr treyorr released this 22 Feb 17:53
4374346

What's Changed

Full Changelog: v0.4.0...v0.4.1

v0.4.0

Choose a tag to compare

@treyorr treyorr released this 20 Feb 04:30
a41053a

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 to v0.4.0.
  • Core Client: Added localMuted and remoteMuted to 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-mute and peer-local-mute reactive events were brought directly into @treyorr/voca-svelte and 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

Choose a tag to compare

@treyorr treyorr released this 07 Jan 00:23

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

Choose a tag to compare

@treyorr treyorr released this 04 Jan 01:31

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

Choose a tag to compare

@treyorr treyorr released this 04 Jan 01:19

What's Changed

Bug Fixes

  • Fixed WebSocket URL construction: Path now correctly comes before query parameters

Improvements

  • Standardized URL handling: Added getHttpUrl() and getWsUrl() 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 /health endpoint
  • Documentation cleanup: Removed confusing wss:// mentions - just use https://voca.vc

Upgrade Notes

No breaking changes. Users can update to ^0.2.0 for all packages.

v0.1.0

Choose a tag to compare

@treyorr treyorr released this 03 Jan 19:59