Skip to content

Releases: WebSpeak3/webspeak3

v0.16.0-beta.11

v0.16.0-beta.11 Pre-release
Pre-release

Choose a tag to compare

@Moepchi Moepchi released this 23 Oct 06:40

New

  • News ticker at the bottom of the client, like in TS3. It shows new releases, new store designs and the odd announcement. Self-hosters can add their own messages or switch it off in .env (NEWS_TICKER, NEWS_TICKER_CENTRAL, NEWS_TICKER_MESSAGES, see README).
  • Bug reports in the feedback form now ask for browser, OS, server and steps to reproduce, so we can actually track things down.

Fixed

  • No sound on Android phones (Chrome and Firefox): you can hear others and the test tone again.

v0.16.0-beta.10

v0.16.0-beta.10 Pre-release
Pre-release

Choose a tag to compare

@Moepchi Moepchi released this 21 Oct 12:43

This release is dedicated to Akimo, who crossed the rainbow bridge on October 21, 2026. 🌈🐾

New

  • Help → About now opens a small info dialog instead of jumping to the website. It also holds a photo of Akimo, and it stays there for good.

Other

v0.16.0-beta.9

v0.16.0-beta.9 Pre-release
Pre-release

Choose a tag to compare

@Moepchi Moepchi released this 19 Oct 10:24

Push-to-talk is here.

New

  • Push-to-talk: pick any key, or a middle/side mouse button, under Options → Capture or the new Options → Hotkeys. You can also hold the 🗣️ button in the toolbar, which works on phones too. It only works while the WebSpeak3 tab is focused, because browsers don't let websites see keys pressed in other programs.
  • Options → Hotkeys: push-to-talk setup plus a list of the keyboard shortcuts.

Design Store

  • Uploading a design that's already in the store, unchanged, is now refused.

Self-hosting

  • Gateways now send an anonymous ping at startup and once a day: a random instance ID and the version, nothing else. It's the only way to know whether anyone self-hosts at all and which versions are still out there. Turn it off with TELEMETRY=0. Details: Configuration wiki page.
  • The Design Store can run as its own process (node dist/store-server.js, same image), so restarting it doesn't drop voice connections.

v0.16.0-beta.8

v0.16.0-beta.8 Pre-release
Pre-release

Choose a tag to compare

@Moepchi Moepchi released this 18 Oct 17:46

Command Center gets its own sound and look.

New

  • Command Center sounds: short synthetic blips instead of the default chimes, only in this layout.
  • Mute sound: toggling mic or speakers now gives a short click, in every layout. Can be turned off or replaced in the sound settings like the others.
  • Pixel terminal font in Command Center. Don't like it? Switch it off under Options → Design.

Privacy

  • Fonts are now served by WebSpeak3 itself instead of Google Fonts, so your IP no longer goes to Google when you open the client.

v0.16.0-beta.7

v0.16.0-beta.7 Pre-release
Pre-release

Choose a tag to compare

@Moepchi Moepchi released this 18 Oct 12:34

A new layout for people who like their voice chat to look like an editor.

New

  • Command Center layout: dark, flat, IDE-style. Channel tree on the left, the people in your channel as cards in the middle, info on the right, chat as a terminal below. Pick it under Design.
  • The cards show server groups, mute/away status and who is talking. Click to select, double-click for a private chat, right-click for the usual menu.
  • Custom themes in the store can use Command Center as their base.
  • The demo now feels like a real server: people join, leave, switch channels, talk, write in chat and send you private messages.

Fixes

  • Double-clicking a channel, user, tab or button no longer selects text. Chat and info stay selectable.
  • The Server tab showed "{fromChannel}" / "{toChannel}" instead of channel names when someone switched channels.

v0.16.0-beta.6

v0.16.0-beta.6 Pre-release
Pre-release

Choose a tag to compare

@Moepchi Moepchi released this 16 Oct 08:18

Voices no longer warble like a dying tape when the gateway's server briefly stalls.

Fixes

  • After a short hiccup on the gateway host, the connector could play made-up filler audio even though the real voice packets had already arrived. It now processes the waiting packets first.

v0.16.0-beta.5

v0.16.0-beta.5 Pre-release
Pre-release

Choose a tag to compare

@Moepchi Moepchi released this 11 Oct 15:00

File downloads and uploads no longer need tens of megabytes of gateway memory each, which could crash a gateway when several people moved files at once.

Fixes

  • File transfers now go through the gateway in small pieces instead of one big message per file. Before this, a single 25 MB download took over 100 MB of gateway memory, and two at the same time were enough to crash a gateway with the default Node.js memory limit.
  • The upload limit stays at 24 MB for now.

Browser tabs that are still open from before the update can't finish downloads until they reload. Uploads from them keep working.

v0.16.0-beta.4

v0.16.0-beta.4 Pre-release
Pre-release

Choose a tag to compare

@Moepchi Moepchi released this 07 Oct 11:47

Security fix for self-hosted gateways. Update the Docker image.

Fixes

  • The gateway now limits how often one IP can connect to TeamSpeak servers. Each connect starts a new TeamSpeak session, and before this, a few sockets were enough to flood a TeamSpeak server with joins through a public gateway. The new CONNECT_RATE_LIMIT defaults to 30 per minute per IP (0 disables it). Normal use never gets close.

If your gateway is behind Cloudflare or another reverse proxy, make sure TRUST_PROXY is set correctly (see v0.16.0-beta.3). Otherwise all your users share one limit.

v0.16.0-beta.3

v0.16.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@Moepchi Moepchi released this 05 Oct 18:32

Security fix for self-hosted gateways behind a reverse proxy. Update the Docker image.

⚠️ Action needed if you use Cloudflare

If your gateway sits behind Cloudflare Tunnel (like the bundled docker-compose.yml) or Cloudflare's proxy, change TRUST_PROXY=1 to TRUST_PROXY=cloudflare when updating. Otherwise per-IP limits may count all your users as one.

Fixes

  • With TRUST_PROXY=1, the gateway trusted the CF-Connecting-IP header and the first X-Forwarded-For entry. Behind a non-Cloudflare proxy (nginx, Caddy, Traefik, …), visitors could send these headers themselves and get around the per-IP connection limit. TRUST_PROXY=1 now uses the last X-Forwarded-For entry, the one your own proxy added.
  • New TRUST_PROXY=cloudflare uses only CF-Connecting-IP, which Cloudflare always sets itself.

See the wiki for proxy examples: Running behind a Reverse Proxy.

v0.16.0-beta.2

v0.16.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@Moepchi Moepchi released this 05 Oct 17:57

Self-hosting release. No breaking changes. This one changes the gateway, so update the Docker image.

Server picker for locked-down instances

  • With ALLOWED_SERVERS set, the connect dialog now shows a dropdown of those servers instead of a free-text address field. With only one allowed server, the field shows it but is locked.
  • New SERVER_PICKER setting (on by default). Set SERVER_PICKER=0 to keep the plain text field. Lists containing *. wildcard entries keep the text field too, since subdomains can't be listed.
  • ALLOWED_SERVERS entries may now include a port (ts.example.com:9988). That's the address the dropdown offers; the allowlist itself still allows every port on that host.
  • This only applies when the gateway serves the web client itself, as the Docker image does. The gateway still rejects any other server, for example from a bookmark or a share link.