Versions and releases
Open Lounge Phone has three things that ship separately: the server and apps, the firmware on the phone, and the hardware. Each has its own version numbers and its own releases in the repository, and they are built so that different versions keep working together.
At a glance
Section titled “At a glance”These docs follow the repository’s main branch: this site was built from commit
1d56ccb (2026-10-19). The public hub runs server 0.10.0. When main is ahead of
the hub, the newest features in the docs and the changelog (marked unreleased) aren’t on the hub
yet.
| Part | Version | Released as | What changed |
|---|---|---|---|
| Server, companion app, browser phone, CLI | 0.10.0 released; main is 0.11.0 |
git tags server-vX.Y.Z |
Changelog: server and apps |
| Phone firmware | 0.9.9 | fw-vX.Y.Z releases (none published yet: build from source) |
Changelog: firmware |
| Labs firmware | 0.0.0 | built from source only (firmware/labs/) |
Labs firmware |
| Hardware | v0.1 (board rev A) | the hw-v0.1 release, with Gerbers, parts lists and a build guide |
its release notes |
| Device protocol | 1 | part of the server | Wire protocol |
| Federation protocol | 1 (/fed/v1) |
part of the server | Federation spec |
Server and apps
Section titled “Server and apps”The server, the companion app and the browser phone are one codebase and one version: version
in the repository’s package.json. A server shows it in /api/health and in its public
discovery document (/.well-known/openloungephone). A release is a git tag server-vX.Y.Z.
Updating a server is a redeploy: database changes apply by themselves, in order, and only ever
add to what’s there. The public hub runs a recent build of main; its /api/health says which
version.
Firmware
Section titled “Firmware”The phone’s firmware has its own version (shown under MENU → 0 About). Two lines are built from the same sources:
- The phone (0.9.x). Everything a phone does: setup, pairing, calls, voicemail, Lounge phones, extensions, updates. This is what a phone runs.
- Labs (0.0.0). The phone plus experiments: intercom, doorbell, check-in, Home Assistant,
stories, macro pad, games. Built from
firmware/labs/, never shipped as an update.
Official firmware releases will be tagged fw-vX.Y.Z and carry a signed image. A phone only
takes official updates if it was flashed with an official release build; a phone built from
source has updates off until you set up your own key and channel. No fw-v* release has been
published yet.
Hardware
Section titled “Hardware”Hardware releases are tagged hw-vX.Y and hold the exact files the boards were made from.
v0.1 is an early dev board prototype: four phones are built and working on the experimental labs build
(0.0.0), lightly tested so far. Expect a revision; we recommend waiting for board v1.0 before building.
Board v0.3 is coming soon for tinkerers, fully assembled or as a bare PCB; there’s no price or date yet
(interest list).
Which versions work together
Section titled “Which versions work together”- Phones and servers speak the device protocol, now version 1. Adding things (an optional
field, a new message, a new feature) keeps the version; anything else is a new version, and a
server keeps accepting the previous one for at least 12 months. A phone that is too old for
its server shows
UPDATE NEEDED; one that is newer than its server showsSERVER TOO OLD. - Servers with each other speak federation version 1. Each server lists the versions and optional features it supports and uses the best both sides share. If one side lacks a feature (rooms, say), you’re told in plain words instead of something failing quietly.
- Frozen examples of every v1 message and signature are kept in the repository’s tests and must keep passing, and every change is tested against the previous server release in both directions.
The exact rules: “Versions and compatibility” in the wire protocol and §9 of the federation spec.
Which version these docs describe
Section titled “Which version these docs describe”This site is built from the repository’s main branch: the reference pages, the hardware pages
and both changelogs are generated from it, so they describe the current development version.
Each generated page names its source file. Where something isn’t built yet, or only works in
the browser phone so far, the page says so.