Video API Reference App for Desktop (Web) Release Notes

v1.7.0 — November 2026

Features

  • Post-Call Transcription — Hosts can transcribe a call and receive the transcript afterwards, with an optional AI-generated summary that can be set as a default in Settings or toggled per call.
  • Captions Translation (Private beta) — Users can pick a language in the new Captions settings tab to have live captions translated.
  • Mini Mode — The call can be popped out into a floating Picture-in-Picture window that shows the active speaker while you work in other tabs.

Enhancements

  • Scheduled Session Links — Session keys can carry an optional start time and duration, and the backend refuses joins outside that window.
  • Faster Meeting Room — The meeting room renders less often and the app loads smaller, better split bundles.
  • More Reliable Subscriptions — Subscribers retry for longer and more times before giving up on a stream.
  • Clearer Error Reporting — Screen-share publish failures and failed stream resubscriptions are now reported instead of being silently ignored.
  • Feature Flags in app-config — Device selection and the video stats overlay are now controlled from app-config.json.
  • Logger Configuration — The logger configuration has been restructured.
  • pnpm Package Manager — Dependencies are now installed with pnpm, and installing with yarn or npm is blocked.
  • Local Sign-In Provider — Developers can test authentication locally with a bundled OIDC provider that pnpm dev starts automatically.

Bug Fixes

  • Guests Blocked With Authentication On — Guests with a meeting link can join when sign-in is enabled.
  • Disabled Features Still Visible — Buttons for features turned off in app-config.json are now hidden.
  • Recordings Never Auto-Stopped — Recordings now stop automatically when the last participant leaves.
  • Unplugged Devices Kept Publishing — Publishing stops when the active microphone or camera is unplugged.
  • Waiting Room Crash — Opening /waiting-room directly no longer crashes the app.
  • Waiting Room Self-View Hidden by Effects — The camera preview stays visible while the Video Effects dialog is open.
  • Effects Preview Opened a Second Camera — The effects preview reuses the existing camera track.
  • Inflated Audio Fallback Count — Publisher quality listeners are cleaned up so reconnects no longer inflate audio fallback stats.
  • Live Captions Callback Rejected — Caption callbacks from Vonage are accepted, so captions state is tracked correctly.
  • Chat Messages Collapsing — Chat messages sent in the same millisecond no longer overwrite each other.
  • Duplicated Captions and Toolbar Items — Captions, chat links and toolbar overflow buttons no longer mix up or duplicate entries.
  • Codec Priority Not Accessible — The codec priority list in Settings can be reordered with the keyboard and on touch devices.
  • Leaks After Leaving a Call — Timers, resize observers and pending joins are cleaned up when components unmount.

Full Changelog


v1.6.1 — October 2026

Enhancements

  • Apache 2.0 License — The project is now licensed solely under Apache 2.0; the MIT license file has been removed and package manifests updated accordingly.

Full Changelog


v1.6.0 — October 2026

Added

  • Expanded video and screen-sharing settings — Separate Camera and Screen Sharing sections, with independent screen-share resolution, frame rate, bitrate, codec priority, and scalable screen sharing. Added content optimization, local camera mirroring, and a resolution/frame-rate overlay toggle. Screen-share codec and scalability changes apply when sharing next starts.
  • Preferred screen-sharing surface — Added a setting to request a default surface in the browser’s sharing picker, such as an entire screen, window, or browser tab.
  • Audio processing controls — Added WebRTC echo cancellation, noise suppression, automatic gain control, and Vonage Advanced Noise Suppression controls to Audio settings.
  • Improved observability — Added network-condition statistics alongside publisher and subscriber media statistics.
  • Automatic recording recovery after server migration — Enabled session migration and automatic recording restart following server rotation, without repeating consent prompts for participants who already accepted. Requires platform support and configured session/archive webhooks. Captions are not automatically restarted. Session migration guide
  • Okta authentication: Added optional Okta authentication with bearer-token introspection and a browser-based login flow using OAuth 2.0 Authorization Code with PKCE. Browser access tokens are retained server-side, while opaque HttpOnly session cookies securely manage browser sessions. Unauthenticated users are automatically redirected to sign in when authentication is enabled. Authentication remains disabled by default.
  • Japanese localization — Added Japanese UI support and completed missing translations.

Fixed

  • Corrected token expiry to use UNIX seconds. Session-join tokens now expire after 24 hours, and client input cannot override server-controlled token roles or expiry.
  • Redacted sensitive request/response headers and nested client-log fields before logging or forwarding them.
  • Prevented failed asynchronous /v2/hooks handlers from crashing the backend.
  • Fixed duplicated subscriber statistics, isolated statistics per subscriber, and reported measured frame rate and encoded resolution.
  • Fixed custom background images loading in production and cleared the active effect when its custom image is deleted.
  • Corrected video-effects and screen-share zoom availability checks; separated pre-call network-test availability from media-processor support.
  • Prevented Escape or backdrop clicks from being treated as a recording-consent decline.
  • Fixed duplicate audio-output empty states and corrected microphone icon consistency.
  • Completed missing German, Spanish, Mexican Spanish, and Italian translations; normalized regional browser language codes.
  • Restored localized screen-share participant names.
  • Fixed clipped participant names in emoji reactions and localized pre-call network-test timeout errors, with a longer default timeout.
  • Frontend configuration: Use app-config.json and run yarn sync:env. The generated env.sh should not be edited directly.
  • Custom themes: Migrate designTokens.json to the restructured theme.json format. Theme token names have also changed. Configuration guide
  • Node.js: The supported engine range is now ^22.13.0 || >=24.
  • Dependencies: Updated the Vonage Video client SDK from 2.34.0 to 2.35.1, network-test library from 5.0.0 to 5.1.2, React Router from 6.30.3 to 7.18.2, and OpenTok layout library from 5.5.0 to 5.5.1, alongside other dependency updates.

Known Issues

The list of known issues can be found here.


v1.5.0 — June 2026

New Features

Advanced Settings: Quality Controls & Observability

A new dialog with dedicated tabs gives users full control over media configuration and real-time monitoring.

Video Settings

Configure:

  • Resolution
  • Frame rate
  • Custom bitrate
  • Codec priority (VP8, VP9, H264)
Audio Settings

Control:

  • Bitrate mode
  • Opus DTX
  • Publisher/subscriber audio fallback
Observability Panel

Monitor:

  • Stream health
  • Quality metrics in real time

VideoHandler v2 API

Introduced a new /v2 backend router powered by createVideoHandler, with webhook endpoints for:

  • Session lifecycle events
  • Captions lifecycle events
  • Archive lifecycle events

Session Key Abstraction

A JWT-based SessionKey now replaces raw sessionId across the backend session management layer, improving:

  • Security
  • Consistency

Batch Log Upload

Added a new /client-logs/batch endpoint that accepts an array of log events and forwards them in a single request, reducing overhead for high-frequency logging.

Logger Synchronizer

Introduced a new component that automatically synchronizes:

  • User ID
  • Session ID
  • Connection ID

into the frontend logger context, ensuring consistent log correlation.

Reusable Notifications System

Added:

  • NotificationsContainer
  • Runtime logger provider

to provide a unified system for surfacing in-app notifications.

UI Theme Customization

Added:

  • designTokens.json
  • yarn sync:theme-tokens

to support visual theme customization across the application.

Vonage Video Host Configuration

Added support for the VONAGE_VIDEO_HOST environment variable, allowing the application to connect to a custom Vonage Video API endpoint.

Camera Not Available Notification

Users now receive a notification when their camera becomes unavailable during an active session.

Improvements

Configurable Environment Documentation

Expanded the README with comprehensive documentation covering:

  • UI customization
  • Environment configuration options

Material UI v9 Upgrade

Upgraded the application to Material UI (MUI) v9, enabling access to the latest component library improvements, enhanced theming capabilities, accessibility updates, and long-term framework support.

Security

Helmet Security Headers & Rate Limiting

Enhanced backend security by:

  • Adding Helmet security headers
  • Introducing Express rate limiting middleware
  • Fixing trust proxy configuration to prevent IP spoofing

Fixed

  • Screen share participant name not always visible
  • Background effects delete icon not visible
  • Enable/disable captions not working correctly in certain flows
  • Vonage subscriber not created edge case causing unhandled errors
  • App failing to detect OS-level microphone permission blocks
  • Feedback report endpoint returning 500 errors
  • Local screen share view not hidden when sharing the entire screen (preventing infinite mirror effect)
  • Incorrect layout margins in the Goodbye component on small viewports

Known Issues

The list of known issues can be found here.


v1.4.2 — March 2026

Added

  • Improved the camera selector UI in the waiting room to better handle cases where no camera device is available.
  • Added a warning indicator for Recording & Transcription status.
  • Implemented backend Gollum integration for client events.
  • Introduced the Vera Room embeddable component.
  • Updated the icon in Video Effects.
  • Added German language support with full translations.
  • Displayed App and SDK versions in the footer.
  • Config.json is now embedded at build time from vcrBuild.env.sh, there is no longer any runtime dependency.

Fixed

  • Fixed layout margins in the GoodBye component for improved responsiveness.
  • Made the recording indication always visible.
  • Removed unused warning logs from the publisher.
  • Hid the Video Effects option in MenuMoreOptions on unsupported browsers.
  • Prevented zooming in and out in unsupported browsers (Firefox and Safari).

Known Issues

The list of known issues can be found here.