weavesignal/CHANGELOG.md
The WeaveSignal contributors 466b32ab6a WeaveSignal 1.0.0 — release one
The first public release. What it does: https://weavesignal.top; what changed: CHANGELOG.md.
2026-11-04 12:15:42 +00:00

47 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- SPDX-License-Identifier: AGPL-3.0-only -->
<!-- SPDX-FileCopyrightText: 2026 The WeaveSignal contributors -->
# Changelog
## 1.0.0 — release one (2026-11-04)
The first public release. What each part does is on the documentation site, https://weavesignal.top;
what is built and what is not is on its page *What is built, and what is planned*.
### In this release
- **The live room and the desk.** Presenters, invited guests and callers in one LiveKit room; the
desk mixes the programme and a mix-minus for each person in one pass per 20 ms block, with a gate
per role, talkback, cue, a limiter on every mix and the profanity delay with Dump.
- **Call-in and screening.** The player page's call-in button, consent to record before any token,
a proof-of-work challenge instead of a CAPTCHA, a booth room for each caller, the screener's lanes,
*Banned before* and *Desk busy*, TURN over TLS for networks that block UDP.
- **The studio app** for Linux (AppImage, `.deb`, `.rpm`) and Windows (an unsigned installer), with desk B,
the screener, the cart wall, the schedule, settings, staff accounts and signed updates.
- **Playout** through Liquidsoap 2.5: automation from clocks with rotation and separation, the US
statutory rule, a dead-air fallback, a default loop, the per-play log, listener figures, the legal
logger, now playing, a loudness control towards −16 LUFS, and an MP3 compatibility stream.
- **Video**: cameras, a cut-only vision mixer, the slate with a still per show, lower thirds, captions,
AV1 into CMAF HLS behind the delay, and the audio-only toggle.
- **The live chat** with light accounts, moderation with statements of reasons, retention and a minimum
age by jurisdiction.
- **Shows, cards and feeds**: show cards in two layouts, seasons that fill in their own episodes,
podcast feeds with an Opus alternate.
- **Delivery at scale**: content steering, an HLS edge and an audio relay image, Bunny in the guide.
- **The public API**: scoped tokens, open read routes, signed webhooks and an OpenAPI description.
- **Packages**: the Compose bundle with `weavesignal.sh` (and `--public` with a certificate),
Quadlets, and a Cloudron app.
### Known limits
- **Run a station on a server of its own.** On a heavily shared server the listener feed's cushion
filled from 3 s to its 10 s cap; on an idle 4-vCPU server 0.5 s held for 13 hours unattended.
- **WebRTC from the desk has no congestion control**: the desk's image lacks GStreamer's `rtpgccbwe`.
- **Not run end to end yet**: a 24-hour unattended run from a seeded week; two real people over two real
networks (one person on two networks was run); an off-site edge in front of a station; Safari's Opus
in fMP4 on a device; the GPU in the Compose bundle; phones on GrapheneOS over a real network.
- **Firefox for Android** can call in only once its microphone is allowed in Android's settings.
- **LiveKit's TURN refuses clients that reach it over IPv6**: give the TURN name an A record only.
- `podman-compose` is refused by `weavesignal.sh`: it ignores the bundle's settings files. Use Docker
Compose, or Podman with the `docker-compose` provider.
- Not in release one: the presenter kit, the Windows server, WHIP for remote DJs and the DJ overlap
handover.