Fishjam Release Notes: 0.29.0
by Piotr Wodecki • Jul 23, 2026 • 2 min read
Fishjam 0.29.0 is out! 🎉 This release opens up React Native to fully custom media pipelines, moves webhook configuration into the dashboard, and brings Media over QUIC to the Sandbox API, alongside a round of stability improvements.
Custom media sources for React Native
Until now, mobile apps published what the camera and microphone captured. With 0.29.0, you decide what goes into a track.
On the video side, two new packages productize custom video pipelines:
@fishjam-cloud/react-native-vision-camera-sourceconnects VisionCamera directly to Fishjam. TheuseVisionCameraSourcehook publishes camera frames from a frame processor as a regular Fishjam video track, and on iOS 17+ theuseVisionCameraWebGpuSourcevariant runs frames through a WebGPU pipeline built with TypeGPU first — so you can apply GPU-powered processing before a single frame leaves the device.@fishjam-cloud/react-native-custom-video-sourceis the generic layer underneath: bring any frame source you like — a native ML pipeline, your own renderer — and publish it as a video track, with lifecycle hooks that handle publishing and cleanup for you.
Audio gets the same treatment. The new useCustomAudioSource hook lets you publish app-generated PCM — synthesized sound, processed audio from libraries like react-native-audio-api, anything you can produce as audio samples — as a Fishjam audio track, without ever touching the device microphone. Push your samples in chunks and the SDK takes care of the track lifecycle; remote peers receive it like any other audio track.
Together these unlock use cases that previously required forking the media stack: AR filters, on-device ML overlays, audio synthesis, and custom capture hardware. To dive in, start with the custom sources guides in our documentation.
Configure webhooks from the dashboard
Webhook configuration now lives where it belongs: in your dashboard. Set your webhook URL once, and Fishjam will use it for all room and livestream events — no more passing webhookUrl on every room creation call.
The per-request webhookUrl parameter still works and takes precedence when provided, but it’s now deprecated and will only be supported for a transition period. If your backend passes it today, this is a good moment to move the URL into the dashboard and simplify your room creation calls.
MoQ in the Sandbox API
The Sandbox API now covers Media over QUIC: the useSandbox hook gained MoQ methods, so you can prototype MoQ streaming straight from your frontend, without writing a backend.
Get started
Update our SDKs to version 0.29.0 to pick up these changes, and head to your dashboard to configure your webhook. For detailed implementation guides and API references, check out our documentation.
Happy vibing!

