Skip to content

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.

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

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.

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 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).

  • 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 shows SERVER 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.

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.

Proudly supported by unsubscribe.llc · Sponsor the project