Skip to content

Reference/Changelog

Changelog

What has changed in Velo, newest first. There are no version numbers yet, so each entry is dated by the day the work landed.

How to read this

Velo has no release process and publishes no versioned artefacts of the API itself, so nothing here maps to a tag you can pin. The dates are the days the work was merged. Breaking changes are called out in the entry that carries them.

The one artefact that is versioned is the web SDK, published to npm as @usevelo/client from a tag. Everything else is deployed continuously.

6 August 2026

Clients for iOS, Android, Flutter and React Native

Four native clients joined the web SDK, so a Velo room can be built on a handset without wrapping a web view. Each one covers the same ground as the browser client: mint or exchange a token, connect, publish, subscribe and moderate.

Enterprise plans, quoted by a super admin

An organisation can now state what it needs and receive a quoted enterprise plan rather than picking from the published tiers. A super admin prices the quote, the organisation accepts it in the console, and it is paid the same way as any other plan.

The web SDK on npm

The browser client is published as @usevelo/client, released from a tag with provenance, so it no longer has to be vendored out of the repository.

Invitations and email notifications

People can be invited to an organisation before they have ever signed in to Velo, and the invitation is emailed to them. Velo also emails a project's owners when a new device signs in and when money moves in or out of the wallet.

Changing a plan and paying for it from a handset

A project can change its own plan from the console and settle it with mobile money, with no invoice and no card. When the wallet is short of the price, the plan screen says so and offers a top-up rather than failing silently.

The wallet and prepaid billing

Projects hold a prepaid wallet. A top-up is initiated against a reference Velo generates, settled from the payment provider's webhook, and reconciled by polling when no webhook arrives. Plan renewal draws on the balance, publisher and viewer minutes are metered separately, and a funded project keeps running past the minutes its plan includes.

The playground was removed

The in-browser playground came out of the console. The quickstart and the SDKs cover the same ground with less to keep working.

28 July 2026

Published bitrate measured against the role ceiling

The media node now measures each participant's total published bitrate against the ceiling their role carries in the token, and reports sustained overage as participant.publish_limit_exceeded with a matching cleared event when they come back under it.

A room that has ended stays ended

Minting a token for a room that has already finished is refused. Start another room instead of reopening a closed one.

The public site and the documentation

usevelo.xyz gained a pricing page, a status page that probes the real endpoints from the visitor's own browser, and this documentation site.

27 July 2026

The console

Sign in with Google, then rooms, sessions, recordings, streaming, webhook deliveries, API keys, usage against quota, and a template and role editor. Every screen reads the same API a project key does.

Runtime role change, participant moderation and template destinations

A participant can be moved to another role mid-call, with their grants rewritten in place and the change written to an audit trail. Recording and RTMP targets can be configured once on a template and named when a recording or broadcast starts.

Templates, roles, room codes and session analytics

A template holds named roles, and a role fixes what a participant may publish, who they subscribe to, which moderation actions they may take and how many of them may hold it at once. A room code is a short shareable string bound to one room and one role, exchanged for a token by someone holding no credential at all.

26 July 2026

Streaming into and out of rooms

RTMP and WHIP ingress puts an OBS Studio or hardware encoder feed into a room as an ordinary participant, and a broadcast pushes the composited room out to RTMP destinations.

Recording, plans, quotas and mobile money

Room composite, track and participant recording, a rating engine over participant minutes, plan limits enforced on the calls that would start work, and the first mobile money payments.

The web SDK

A typed browser client covering the whole control plane, so a room can be joined without hand-rolling the REST calls.

The first API

Rooms, participants, sessions and tokens, with LiveKit as the media plane, plus signed customer webhooks delivered with retry backoff and an SSRF-safe client for every outbound call.

Was this page useful?

Edit this page on GitHub