Repository navigation
Releases
randos v0.11.1
randos v0.11.1
A maintenance release with a more compact mobile call screen and updated
terminal-client dependencies.
- On phones, smaller branding and fewer repeated progress labels bring the
conversation and its controls higher on the screen. Both voices appear side
by side, with Mute, Next rando and End in one row. - Connection presentation is simpler, and End has clearer contrast in dark
mode. Long translated call-control labels wrap within their buttons,
including when switching between Mute and Unmute. - The terminal renderer updates pulldown-cmark to 0.13.6 for
RUSTSEC-2026-0433, while retaining randos' physical-redraw patch. - Terminal-client dependencies include ringbuf 0.6, realfft 3.5.1 and
Slipstream 1.3.0. Development and evaluation dependencies are also refreshed.
Call timing, invitations, language matching and the participant protocol are
unchanged. Voice masking stays local and off by default, with no new voice
processors or models in the product.
Installation
Run brew upgrade wasichu/randos/randos, or unpack the macOS arm64 or Linux
x86_64 archive and run bin/randos. Existing settings remain compatible.
The website update is deployed separately from the terminal archives.
randos v0.11.0
randos v0.11.0
Choose every language you are happy to speak. Both the website and terminal
client now accept multiple speaking choices, alongside your hearing choices.
For each random match, randos selects one compatible speaking language per
person and labels the call with those choices. Your full selection remains
available for the next conversation. Existing single-language settings migrate
automatically, and older single-language clients remain supported.
The website has a calmer, centered connecting screen with your language pair,
live audio meters, and matching Mute and Cancel controls. It fits narrow phone
screens and supports light and dark themes.
The terminal client makes voice masking easier to inspect and try:
- The main header shows when masking is selected, including its style and tone.
During a call it shows the frozen profile actually used for that call. - The masking panel begins with the reminder that people may still recognize
you. Off hides the unused tone option, and the preview meter stays inside
the open panel. - Use −/+ to adjust local Preview volume from 1 to 9. This session-only
control makes quiet input easier to hear; it does not change the audio sent
in calls. Press p to start or stop listening, and Esc to close.
The native helper also stops capture and reports failure when a WebRTC session
has permanently closed or its audio writer is unavailable, rather than keeping
an apparently connected but stalled call running. This is a lifecycle fix,
not automatic microphone leveling or a change to echo cancellation.
Opt-in local numeric diagnostics are available for investigating native call
input problems. They contain no recordings or participant identifiers and
are disabled by default; see the development guide.
Both clients include machine-selected translation updates. Labels without a
candidate that passes the established checks retain the English fallback.
Installation
Update with brew upgrade wasichu/randos/randos, or unpack the macOS arm64 or
Linux x86_64 archive and run bin/randos. Archives include ERTS, the native audio
helper, required licenses, and SHA-256 checksum files. Linux requires glibc 2.39
or newer, ALSA, OpenSSL 3, and the system C++ standard library.
Self-hosters should deploy the updated server before distributing this TUI:
multiple speaking languages extend the participant protocol. Existing
single-language clients can continue using the updated server.
Voice masking remains local and off by default. There are no accounts,
recordings, server-side audio, tracking, or new production voice models.
randos v0.10.1
randos v0.10.1
Voice masking in the terminal now adds 80 ms less software buffering.
Its additional frame offset drops from 220 ms to 140 ms, with the same
Signalsmith processing, voice styles and transformed audio. This is the local
masking component's delay, not a measurement of total call or device latency.
Browser buffering is unchanged. Its audio playback runs independently of the
processing worker, and tests showed that reducing its buffer lost needed margin
against processing stalls.
The website also updates Phoenix.HTML to 4.4.0, addressing the upstream
attribute-name injection advisory CVE-2026-117645.
This release also includes the post-v0.10.0 website fix that remembers speaking
and hearing choices across tabs within the browser session. Microphone preview
and voice masking still start off on a fresh visit.
Developer changes include a shorter current architecture guide with preserved
design history, clearer lab navigation, and retained DSP/model experiments and
listening outcomes. The lab and experimental processors remain development-only;
they do not add production voice options, model downloads or server-side audio.
Installation
Update with brew upgrade wasichu/randos/randos, or unpack the macOS arm64 or
Linux x86_64 archive and run bin/randos. Archives include ERTS and the native
audio helper, with SHA-256 checksum files. Linux requires glibc 2.39 or newer,
ALSA, OpenSSL 3 and the system C++ standard library.
randos v0.10.0
randos v0.10.0
Voice masking is available in both the browser and terminal client. Before a
call, choose Tone or Tone + Pitch, then Fuller or Brighter. Use
the local microphone preview to hear the result before talking to someone.
Preview keeps running as you change styles; choosing Off lets you hear your
original voice. Headphones are recommended to avoid feedback.
These styles use signal processing and require no neural-model download.
Masking runs on your device, starts off in each new session, and uses the style
you chose for the next call. Nothing is recorded or uploaded for processing.
These styles change how you sound, but people may still recognize you. They do
not guarantee anonymity against speaker recognition or attempts to reverse the
effect.
The browser homepage has a compact layout and an inline keyboard shortcut bar.
Press ? to show and activate shortcuts, then Esc to hide and disable
them. During a call, M mutes, E ends the call, and N finds another
rando. Invitation calls offer End rather than Next. Letters work in either case.
The terminal client has a language picker on l and complete contextual key
help on ?. Its patched renderer fixes stray characters left behind when
closing the language picker.
The developer audio lab remains local to development builds. It is not included
in the production website.
Installation
Install or update with Homebrew using brew install wasichu/randos/randos or
brew upgrade randos. Alternatively, unpack the archive for macOS arm64 or
Linux x86_64 and run bin/randos. Each archive includes ERTS and the audio helper;
the .sha256 files contain its checksum. Linux needs ALSA, OpenSSL 3 and the
system C++ standard library (libstdc++6 on Ubuntu).
Maintenance
This release updates Bandit and the development-only Tidewave package to
address published advisories, updates the Rust TLS root store, and excludes
local development HTTPS credentials from Docker build contexts.
randos v0.9.0
The randos terminal client. Unpack and run bin/randos, or install with Homebrew. Checksums are in the .sha256 files.
randos v0.8.0
The randos terminal client. Unpack and run bin/randos, or install with Homebrew. Checksums are in the .sha256 files.
randos v0.7.1
The randos terminal client. Unpack and run bin/randos, or install with Homebrew. Checksums are in the .sha256 files.
randos v0.6.2
- Clearer panels: the bottom-left panel is now "You", and its first line "Now:" (what you're doing); the Devices panel's mic and speaker line up with it.
- On the server status screen,
iopens "About these numbers" (what's counted, and the small-pairs rule) instead of showing it under the counts.
randos v0.6.1
- Faster recovery: a dead audio path is now noticed in about 4 seconds (it took about 15), so a call comes back sooner after a network change.
- Everything from 0.6.0: calls recover from a network change (ICE restart), with "Reconnecting audio…" while they do.
randos v0.6.0
- Calls recover from a network change. If your Wi-Fi drops or you switch networks mid-call, randos restarts the call's audio path (ICE restart) and keeps the same call; the call panel says "Reconnecting audio…" meanwhile. A call that can't come back ends within 15 seconds.
- Superseded by 0.6.1, which notices a dead path much sooner.