2026-07-28
- Added Kick and Twitch chat can now show third-party 7TV and BetterTTV emotes, off by default — turn on "Enable 7TV/BTTV emotes" in Chat settings. Once on, they render as images (or hide, or skip when read aloud) exactly like Kick/Twitch's own emotes, using the same toggles. (0.1.350)
2026-07-27
- Fixed The "App updates" screen's launch check and update-available prompt are more reliable: a background restart can no longer silently skip that launch's check or bring back a dialog you already dismissed, the prompt won't repeat itself after you've already seen the update on the Updates screen, and a check no longer clobbers a pending "you're live, update anyway?" confirmation. It also now checks for updates every time you open the screen, not just from a manual tap. A manually-installed build can now check for updates too — the Check button, status line, and toggle all now work regardless of build signing — and the screen always shows an "Open download page" link, matching Bro. (0.1.349)
- Added New chat options: hide messages that start with ! (like !watchtime or !drop), and separately, skip reading them aloud. Both default off. (0.1.348)
- Changed In dual-camera mode the preview now shows the same framing as your stream, with black side bars, instead of cropping to fill the screen. The picture-in-picture inset sits in the corner of that framed image rather than the corner of the display, and its edge spacing now matches where it lands on the stream even before you go live. Tapping the capture button now saves a photo cropped to the camera image, so it doesn't include the bars — except while the preview is resizing or when memory is tight, where it saves the full screen and says so (the long-press marketing screenshot still captures the whole screen). The face light now brightens those bars in dual mode as it already did in single, so it lights your face the same in both. In dual mode, web-source widgets now sit against the framed image in the preview rather than the screen edge; in both modes they are clipped at its edge, matching the stream. What you broadcast is unchanged. (0.1.344)
2026-07-25
- Fixed Dual IRL Stream no longer crashes on launch; the camera-light change from 0.1.330 was reverted because it caused the crash. (0.1.333)
- Fixed clearing a Kick or Twitch channel now actually removes its chat from the overlay instead of leaving the old messages behind, and when a channel keeps closing the connection on us almost immediately — in under two seconds, over and over — the app now waits progressively longer between retries instead of retrying every two seconds forever. A channel that keeps working — including a quiet one with no chat coming in — still reconnects promptly.
2026-07-24
- Fixed the front-light / rear-torch button no longer flashes available for a split second before a newly-switched camera's feed has actually come up. (0.1.330)
- Fixed a Kick chat channel that doesn't exist now shows a clear "channel not found" instead of retrying forever, and an unusual character in a channel name no longer quietly disables the id cache. (0.1.328)
- Fixed a bonded (SRTLA) stream's status HUD no longer briefly shows the encoder bitrate under a Wi‑Fi/Net label in its first second; it reads 0.0 under the Bonded label until real per-link stats arrive. (0.1.327)
- Changed the mic level meter now updates with even granularity across its range (its refresh is keyed to the on-screen dBFS bar position, not the raw amplitude). (0.1.327)
- Changed the Rumble status badge polls ~12× less often when Rumble chat is off, cutting battery/data use (chat still refreshes fast when it's on). (0.1.326)
- Fixed a slow- or failed-to-load chat emote's fallback name now ends with an ellipsis instead of being cut off mid-letter. (0.1.325)
- Changed Settings rows and the About links now announce as buttons to TalkBack (accessibility). (0.1.325)
- Changed the operator UI and CHAT pills now show a press ripple and announce as buttons to TalkBack, matching the mic pill. (0.1.325)
- Added Twitch sub/resub alerts now include the subscriber's own typed message (like Kick), not just Twitch's stock sentence. (0.1.324)
- Fixed a Twitch community (mass) gift now shows a single announcement instead of one alert line per recipient. (0.1.324)
- Fixed pasting a legacy all-in-one
srt://host:port?streamid=…&passphrase=…URL into the SRT settings now fills the Stream ID / passphrase fields (and the pre-Go-Live summary) immediately, instead of only after saving and reopening. (0.1.323) - Added Twitch subscriptions, resubs, gift subs and raids now show as inline chat alerts (matching Kick), so channel events are visible without leaving the app. (0.1.322)
- Added Bonded (SRTLA) streaming now also bonds a USB modem or USB-C Ethernet adapter when one is attached — including one plugged in mid-stream, and it heals automatically if the USB link drops and reconnects. (0.1.315)
2026-07-23
- Fixed Restoring a settings backup is now all-or-nothing: if the restore fails partway, your stream profiles and app settings are left fully on the old configuration (rolled back) instead of a half-applied mix. (0.1.306)
- Changed The operator chat overlay now leads each message with the platform origin logo (logo → time → name), matching the companion app. (0.1.294)
- Added Stream now has color grading: pick a built-in look (Warm / Cool / Teal & Orange / B&W / Vivid) and set its intensity in Settings → Color grading. It applies to your camera across the whole broadcast (preview and stream match); overlays aren't affected. (0.1.288)
2026-07-22
- Changed The face/torch light button now sits at the top of the right-hand button stack, so when it appears or disappears (it only shows while a light-capable camera is active) it no longer nudges the photo and Settings buttons up or down. (0.1.278)
2026-07-21
- Fixed The status readout (battery / temperature / network) in the top-right no longer grows sideways far enough to overlap the platform badges in the top-left on a busy row. (0.1.271)
- Fixed A very long destination/profile name no longer wraps or sprawls the controls at the bottom of the preview screen; it's now truncated with an ellipsis. (0.1.271)
- Fixed With emotes hidden, a message whose only text is an invisible zero-width character no longer shows as an empty chat row. (0.1.270)
- Fixed The app no longer briefly flashes the system (light) theme on launch before switching to your saved dark theme, for operators who set the theme on an earlier build. (0.1.270)
- Added A hardware torch (rear-camera LED flashlight) for low-light streaming, plus a front/rear light picker. The light button now lights the real torch when you're on a rear camera, the screen fill light on the front, and — with both cameras live — a picker to choose; a long-press always opens the picker. (0.1.268)
- Added Face fill light for low-light streaming: when you're on a front camera, tap the light button to flood the screen white (an edge band + side pillar bars + max brightness) and light up your face. It's preview-only — it brightens your face for your viewers without the white ever appearing in your stream. (0.1.267)
2026-07-20
- Changed Merged chat and the channel-status badges now show each platform's real brand logo (Kick/Twitch/Rumble/YouTube) in place of the letter marker. (0.1.263)
2026-07-18
- Added YouTube's HUD badge now has its own Viewer count / Uptime toggles in Chat Settings (like Kick/Twitch/Rumble), so you can turn it off independently of chat and optionally show how long the stream's been live. (0.1.242)
- Added The operator HUD now shows a YouTube viewer-count badge (with the YouTube logo) next to the Kick/Twitch/Rumble ones, so every configured platform's live audience is glanceable in one place. (0.1.241)
- Fixed A visual web-source overlay whose page keeps crashing no longer instantly respawns in a tight loop (which burned battery and could stutter a live stream); it now waits a little longer between attempts and, if it keeps failing, disables itself until you edit or re-enable it. (0.1.240)
- Fixed An audio web-source overlay whose page keeps crashing no longer instantly respawns in a tight loop (which burned battery and could stutter a live stream); it now waits a little longer between attempts and, if it keeps failing, disables itself until you edit or re-enable it. (0.1.238)
- Changed With "hide emotes" on, a message that's only emotes (or emotes and spaces) now disappears entirely instead of leaving an empty row with just the sender's name — matching how hidden bot messages are removed. (0.1.237)
- Added You can now edit a saved web overlay's URL in place (Web sources → Edit settings → Address), keeping its name, placement, size, and CSS — no more removing and re-adding it just to change the address. (0.1.233)
2026-07-17
- Security Harden Kick/Twitch/Rumble/YouTube chat & status polling against oversized or hostile responses so a bad server reply can't exhaust memory and crash the app mid-stream. (0.1.227)
- Fixed Hiding bot chat now keeps real viewers visible even in a single bot-dominated channel (a bot flood no longer pushes humans out of that platform's chat window). (0.1.217)
- Added Hide bot messages in the chat overlay (a new toggle, alongside hide-emotes and skip-reading-bots). (0.1.207)
2026-07-16
- Fixed Quickly stopping and restarting a bonded (SRTLA) stream no longer risks the new stream being dropped by a late failure from the previous one. (0.1.193)
- Added YouTube live chat in the merged chat overlay (using your own YouTube Data API key + live video), joining Kick, Twitch, and Rumble. Operator-only — never shown in your stream. (0.1.187)
- Added A long-press quick menu on the chat button for the global chat options (text size, read-aloud, emotes), plus an option to announce the sender's name when reading chat aloud. (0.1.185)
- Added Read chat aloud (text-to-speech), with options to skip emotes and bot accounts when reading, plus a hide-emotes option for easier-to-scan chat. (0.1.183)
2026-07-15
- Added Open a
.dirlbakbackup file to import it straight into the app (with a confirm + your backup password). (0.1.182) - Changed The camera preview now shows the same field of view as the streamed output, at true aspect ratio, instead of a zoomed-in crop. (0.1.181)
- Changed The About screen now shows the app name and tagline with links to the website and issue tracker. (0.1.180)
- Added A "See full changelog" link in Settings → App updates opens the complete version history online. (0.1.178)
- Added Check for app updates from Settings and install them in place, with an optional automatic check on launch. (0.1.177)
- Added See what's new after the app updates, with a "Don't show again" option and on-demand access from Settings. (0.1.177)
- Fixed Web overlays now render at their intended size instead of appearing oversized on the stream. (0.1.177)
2026-07-14
- Added Pin a web overlay to a corner with pixel edge-spacing (like the picture-in-picture inset) — e.g. top-right, 20px from the top and right — so it stays put as you resize it. Free X/Y positioning still works. (0.1.172)
- Changed The settings entry for web sources is now called "Web overlays" (it covers both visual overlays and audio-only web sources). (0.1.171)
- Changed The web-source overlay editor is steadier: size/position sliders no longer jump while you drag, a typed Custom CSS edit is kept when you close the editor or go back, and changing a widget's size reloads it once instead of twice. (0.1.166)
- Fixed Kick reward, gift, and subscription-celebration events no longer show a stray "null" when their optional message is empty. (0.1.166)
- Added Kick raids and hosts now appear in your chat overlay (e.g. "LURK24 has raided with 228 viewers"). (0.1.165)
- Added Positionable web-source overlay widgets: paste any widget URL (weather, clock, alerts, countdowns…), size and place it on a 1080p canvas, and route it per widget — operator-only, viewers-only, both, or audio-only — composited into the RTMP/SRT broadcast. (0.1.164)
2026-07-13
- Changed Raised the audio web source limit from 5 to 12, so a fuller alert rig fits. (0.1.150)
- Added Play a web page's audio locally on your device, so you can fold a separate alert app into this one; it keeps playing in the background and reloads when your network switches. (0.1.147)
2026-07-12
- Fixed Opening the camera preview and then leaving the app without streaming no longer keeps the GL renderer running in the background, reducing idle battery/GPU use. (0.1.142)
- Fixed The "restart to apply" hint when editing your streaming profile now appears only when a change actually differs from what's broadcasting (no more false prompts on a no-op save), and the "still streaming" reminders no longer stack up. (0.1.141)
- Added A restart-to-apply prompt when you edit the active profile mid-stream, plus "still streaming" reassurance when you open Settings or background the app. (0.1.140)
- Added See the app's build version in Settings → About, so you can tell which build is on your phone at a glance. (0.1.138)
2026-07-11
- Added Back up and restore your settings. Settings → Backup & restore exports all your stream profiles and app settings to a password-encrypted file, which you can import on another phone (or after a reinstall) to copy everything over. Choose a password on export; you'll need it to import. (0.1.133)
- Added A 📷 capture button (stacked above the settings cog, always reachable). Tap saves an overlay-free camera frame; long-press runs a 3-second countdown then saves a "marketing" screenshot — the camera with the operator overlays composited on top — to Pictures/DualIRLStream. (0.1.132)
- Added A "UI" button that hides the operator overlays (status HUD, chat, badges, camera/PIP cluster, mic/chat icons) for a clean look over the live preview, and a long-press opacity slider (persisted, floor 30%) that dims them live. The bottom row was icon-ified (🎙 mic / 💬 chat) and the ⚙ settings cog moved beside the centered Go Live control — both the cog and 📷 stay visible when the UI is hidden. (0.1.132)
- Added A "🔒 Lock screen" button (in the opacity popup) that blocks every accidental tap/drag while riding — including End stream — until a deliberate "🔒 Hold to unlock" long-press. Prevents pocket/jostle touches from muting, toggling privacy, or ending the stream. (0.1.132)
2026-07-10
- Added SRT streams that use seamless network handoff (or a forced Wi-Fi/cellular radio) now show a real round-trip time (RTT) in the operator HUD, the same as a direct SRT connection. Previously RTT only appeared with handoff turned off; now you get it without giving up handoff. (0.1.131)
- Added The operator status HUD now shows a running total of data used on direct SRT, relay, and RTMP streams (e.g.
Net · RTT 42ms ↑ 3.5 Mbps · 1.20 GB), not only on bonded streams — so you can watch your data against a cellular cap on any connection. The total keeps climbing across reconnects instead of resetting. (0.1.130) - Fixed Chat text no longer runs under the mic level meter: the bar (widened to fit the dB number inside it) is now a touch narrower and the chat list reserves a left gutter that fully clears the meter column. (0.1.129)
- Changed The mic level bar now moves with hardware-meter ballistics — it rises quickly but at a bounded rate and eases back down — so a brief transient (a blow, a hard consonant) no longer snaps the whole bar up the way it did before; a sustained loud level still climbs to the top (real clipping shows). The thin peak-hold line and the dB number now sit just above the bar and follow its level (not the raw sample peak), so they no longer float high above the bar or read 0 on a single spike. This tracks a DJI Mic 3 reading far more closely. (0.1.129)
- Changed The app now captures the microphone with the device's raw (unprocessed) audio path instead of the default processed one, so an external mic (e.g. a DJI Mic 3) is metered and streamed at its true level with real headroom — no platform auto-gain silently boosting a hot mic toward clipping. The operator meter now tracks a hardware receiver's reading, and the streamed audio is captured at the same true level. (0.1.129)
- Added The README now shows an at-a-glance backlog: the live Android CI badge and a queue-total badge on the top line, and a per-priority badge row (P0/P1/P2/P3) beneath — so the open work-queue shape is visible at a glance. (0.1.129)
- Changed The operator status HUD's thermal (HOT / OVERHEAT / HEAT↓) and network-congestion (NET↓) tags now sit at the far right of the top battery line, next to the temperature, instead of on the upload line — so they no longer widen and misalign the upload / bonded-radio stat rows when they appear. (0.1.129)
- Changed The mic meter now reads like a hardware receiver (DJI Mic 3): a peak level bar on a dBFS scale swings green→yellow→red with your input, a thin peak-hold line parks at your recent loudest moment — coloured by the zone it reached — and holds a few seconds before falling, and a small held dBFS number sits inside the bar at the bottom (on the green fill) showing that same held-peak value + hold, so you can read how close your peaks are to clipping (0 dB). (0.1.129)
- Changed The mic meter gained a peak-hold marker — a thin line that parks at your recent loudest peak and falls after a moment — so brief transient peaks stay visible. (0.1.129)
- Added The status HUD's destination line now shows the true stream rate you're sending (e.g.
SRTLA/HEVC @dest ↑ 6.0 Mbps) — RootEncoder's actual encoded-stream send rate — separate from the combined "Bonded" line beneath it, whose per-radio sum runs higher because it includes each link's SRTLA/retransmit overhead. (0.1.129) - Changed The "lost N" packet-loss readout on the status HUD now shows loss over the last moment (recent window) instead of the total since the stream started — so it reflects CURRENT trouble and drops back to nothing once loss stops, rather than climbing forever. (0.1.129)
- Changed Every line of the bonded uplink readout now shows the ↑ upload arrow (not just the combined line), in a consistent
Label · RTT ↑ Mbps · Totallayout; and a sub-millisecond RTT now reads<1msinstead of a bare0ms. (0.1.128) - Changed The combined "Bonded" line in the operator HUD now takes its speed and RTT from the same live per-radio data as the WiFi/Cell lines beneath it, so it can never disagree with them — previously a timing difference could make the Bonded RTT read lower than every radio's, or its speed differ from the radios' sum. (0.1.127)
- Changed In the operator status HUD, the uplink RTT now shows *before* the speed (e.g.
Bonded RTT 29ms · ↑ 12.3 Mbps · 728.1 MB) and each bonded radio shows its own RTT, so the speed and data-total columns line up cleanly across the combined line and the per-radio lines. (0.1.126) - Added Tapping Go Live now asks you to confirm (naming the destination) before the broadcast starts, matching the existing End-stream confirmation — so a stray tap can't put you live by accident. (0.1.124)
- Changed The Settings gear moved from the top-right corner down into the bottom button row (mic · MUTE · CHAT · ⚙), and the status readouts now sit in the top-right corner, mirroring the camera controls in the bottom-right. (0.1.124)
- Fixed A bonded (SRTLA) stream's status line now reads "SRTLA" instead of "SRT", so the bonded path is distinguishable at a glance from a plain single-link SRT stream. (0.1.124)
- Fixed The uplink line in the status HUD no longer briefly renders without a network label when going live coincides with a momentary "no network" reading — it falls back to a neutral "Net" label. (0.1.124)
- Fixed On bonded and network-handoff streams, the uplink rate shown in the status HUD now reflects what's actually being sent to the network (summed per-link on bonded), instead of the local loopback write rate — so the number matches reality. (0.1.124)
- Added The operator status HUD now shows live uplink stats — send rate, round-trip time (RTT), and packet loss — updated about once a second. On bonded (SRTLA) streams the RTT is measured per-link to your ingest; direct SRT streams show the SRT client's RTT and cumulative loss; RTMP shows the send rate. (0.1.124)
2026-07-09
- Added SRT streams now have separate connection fields (server URL, stream ID, an optional passphrase + AES key length) and a pre-Go-Live summary line, instead of one crammed URL — so encryption can never be turned on by accident (a leftover
passphrase=in a pasted URL used to silently fail the connection withSRT_REJ_UNSECURE). Existing single-URL SRT profiles are migrated automatically. (0.1.123) - Added You can now set a custom SRT latency (buffer) in stream settings to ride out packet loss on a lossy mobile uplink (double-cell / bonded cellular); and a server that rejects an SRT connection now shows a clear reason and code instead of failing with a cryptic "unknown handshake type" error. (0.1.123)
- Fixed A stream that fails to auto-reconnect (for example the microphone permission was revoked while the app was backgrounded, or the profile became incomplete) no longer keeps a cellular radio held or starts your next stream on the wrong network — the deferred network/egress change is reconciled on that failure like every other stop path. (0.1.122)
- Fixed Muting your mic no longer carries over into your next stream: mute now resets when a stream ends (Stop or a failure), so a fresh Go Live always starts unmuted. (0.1.122)
- Fixed Starting a dual-camera (bonded Wi-Fi + cellular / SRTLA) stream no longer briefly flashes a red "Reconnecting" / "Poll timed out" error before it connects. Go Live now waits for the bond to finish registering before it starts handshaking, so the first attempt lands on a live link and the stream goes straight from connecting to live. (0.1.119)
2026-07-08
- Fixed A bonded (Wi-Fi + cellular / SRTLA) stream now recovers after a long or repeated network outage instead of getting stuck reconnecting forever ("Poll timed out"). On auto-reconnect it now picks a server address the whole bond can actually reach — preferring a portable IPv4 over a carrier NAT64 (IPv6) address that only cellular could use — and, if a radio returns that can't reach the first choice, re-selects one both radios can, so auto-reconnect re-establishes as reliably as a fresh Go Live. (0.1.118)
- Fixed A bonded (Wi-Fi + cellular / SRTLA) stream no longer gives up reconnecting too early after a network drop: it now keeps retrying long enough (~60s) for the bond to finish re-registering, and refreshes that retry budget on each successful reconnect so repeated outages in one session each get a full window. (0.1.116)
- Fixed A stream started or auto-reconnected while the app is in the background (e.g. an SRT stream recovering from a network dropout with the phone pocketed) no longer comes out rotated 90° sideways on the server — it now streams upright, matching the preview, regardless of what orientation Android reports while backgrounded. (0.1.114)
2026-07-07
- Added Kick channel-point redemptions, subscriptions and resubs, gifted subscriptions, and gifted Kicks now appear inline in the chat overlay as compact, colour-accented one-line events (with the redeemer's message, gift value, or gifter's lifetime total where applicable), instead of the tall multi-line cards kick.com uses. (0.1.113)
- Fixed Animated chat emotes now animate in the operator chat overlay (they previously showed only their first frame), and inline emotes are sized tightly to the emote image — including non-square emotes, which render at their natural aspect ratio — instead of reserving a wide box based on the emote's text code. (0.1.113)
- Changed While a stream is waiting to auto-reconnect during a network dropout in the background, the app now releases the camera sensors (keeping the compositor ready) to save battery, and reopens them automatically the moment the network returns — so a long dead-zone wait no longer drains the battery holding cameras open for nothing. (0.1.113)
- Fixed When streaming with network bonding (SRTLA), a radio that drops and comes back mid-stream (e.g. a Wi-Fi dropout on the move, or one radio returning a moment after the other on reconnect) now rejoins the bond automatically within a few seconds, instead of leaving you stranded on a single radio until you restarted the stream. (0.1.112)
- Fixed When a live stream drops because the network went away (airplane mode, dead zone, tunnel — any duration), the app now waits quietly and automatically reconnects on its own the moment connectivity returns, instead of giving up with a red error. Hitting Stop cancels the wait. (0.1.111)
- Fixed After stopping a stream from the notification while the app is in the background, returning to the app now shows the live camera preview again immediately, instead of a black preview until you navigated into Settings and back. (0.1.108)
2026-07-06
- Fixed When streaming with network bonding (SRTLA), if the connection to your server dies while both radios stay up the app now detects it and reconnects, instead of showing a healthy "LIVE" while nothing reaches the server (which could also slowly build up memory until the app was killed). (0.1.103)
- Fixed Kick chat now loads recent message history for every channel, including channels whose chatroom id and channel id differ (previously those silently showed no backfill — chat sat empty until a new live message arrived). (0.1.98)
2026-07-04
- Fixed In Adaptive bitrate settings, the Save button is no longer blocked by the minimum/maximum fields while adaptive is turned off (they're greyed out and don't apply then), and the screen now notes that the floor and cap take effect only while adaptive bitrate is on. (0.1.96)
- Fixed The operator chat overlay keeps auto-scrolling to new messages after Kick history loads, and the "loaded from history" separator now sits between the old and new messages instead of being stuck at the bottom of the list. (0.1.93)
- Fixed The status HUD's cumulative data readout switches to "1.00 GB" at the one-gigabyte mark instead of briefly showing a confusing "1000.0 MB". (0.1.93)
2026-07-02
- Fixed The experimental Network handoff now switches between Wi-Fi and cellular seamlessly in both directions, with no interruption to your broadcast: the app keeps your connection pinned to an address that stays reachable across the switch, so the handover completes in place instead of dropping and reconnecting. (Only a switch to a network that genuinely can't reach your server at all still reconnects — now within about a second, instead of a frozen "LIVE" for up to ~30 seconds.) (0.1.90)
- Fixed The experimental Network handoff now recovers on its own when the connection to your streaming server goes dead: instead of showing LIVE while nothing actually reaches the server (which previously could persist until you manually stopped and restarted the stream), the app now detects a sustained stall and automatically reconnects — while a brief Wi-Fi↔cellular handover still switches over in place with no interruption. (0.1.88)
- Fixed Long streams using the experimental Network handoff no longer crash with an out-of-memory error when the connection can't reach the server for a stretch: an internal retransmit buffer that could otherwise grow without bound while the link was stalled is now capped, so the app keeps running instead of running out of memory (0.1.87)
- Security SRT streams no longer write your connection credentials to the device log. The streaming library logged the full connection handshake on every connect — including the stream key/publish token and the stream's encryption key material — where anyone with log access (a bug report,
adb, a shared debugging session) could read a working credential. That handshake log is now redacted to non-sensitive fields only. (0.1.86) - Added Experimental network handoff for SRT streams: with the new per-profile "Network handoff (experimental)" toggle (SRT + Auto network), switching between Wi-Fi and cellular mid-stream hands the connection over in place — on servers that support it viewers see no reconnect at all — instead of always dropping and reconnecting (0.1.84)
2026-07-01
- Added Rumble settings now have a "Get your API URL" link that opens Rumble's Live Stream API page, so you don't have to hunt for the URL (0.1.78)
- Changed The streaming notification now shows a clear broadcast icon in the status bar and distinct Stop and Exit button icons, instead of reusing the app icon (0.1.77)
- Fixed After a Go Live that fails to start (e.g. an unsupported resolution/codec or an unreachable server), retrying now starts cleanly instead of risking a stuck stream that needed a force-close (0.1.76)
- Changed The app icon is now the dual-camera picture-in-picture mark in the brand teal→purple gradient, matching the website (0.1.71)
- Fixed The app no longer crashes when you close it (via the notification's Exit action or Back) while a chat or live-status connection is active (0.1.70)
- Added The streaming notification now has an Exit action alongside Stop: Stop ends the broadcast and leaves the app open; Exit ends it AND closes the app, so you can tear everything down from the notification shade without reopening the app (0.1.70)
- Added Privacy mode: stay live and connected while your camera and mic stop broadcasting — viewers see a black screen with your editable message ("be right back"), and you resume instantly with no reconnect (0.1.69)
2026-06-30
- Fixed Hardened the video encoder's GPU setup so the streamed and recorded picture stays correct across a wider range of devices: the encoder now requests a "recordable" graphics surface that some GPUs require (the test device tolerated its absence, so it was previously missing) — without it those devices could produce corrupt or dropped frames in the broadcast. (0.1.63)
- Fixed The operator chat overlay's status indicator now reflects the real health of the Rumble connection: if your Rumble API key is wrong or expired, it shows "reconnecting" instead of a misleading "connected" over an empty chat; a healthy or simply-offline channel still reads connected. (0.1.61)
- Security Hostile or invisible Unicode in chat (right-to-left overrides, bidi direction marks, and zero-width / word-joiner characters) is now stripped from the operator chat overlay across Kick, Twitch, and Rumble, so a viewer can't visually reverse or corrupt a chat line; multi-person emoji still render correctly. (0.1.60)
- Added Your Rumble channel's live chat can now appear in the operator's merged chat overlay alongside Kick and Twitch (turn on "Show Rumble chat" in Settings → Chat → Rumble; it uses the same Live Stream API URL as the Rumble badge, no extra setup). It polls every ~5 s so it lags a few seconds behind live, and it's operator-only — never added to your stream. (0.1.56)
- Added You can now show your live Rumble channel's status — viewer count, uptime, and likes/dislikes — in the operator badge alongside Kick and Twitch (paste your Rumble Live Stream API URL in Settings → Chat → Rumble, then toggle the segments you want). Operator-only, never added to the stream. (0.1.53)
- Security Your stream keys, SRT passphrases, and saved platform logins are now kept out of Android's cloud backup and device-to-device transfer, so your credentials never leave your device. (0.1.50)
2026-06-29
- Added Stream over Wi-Fi and cellular at the same time (SRTLA bonding) so your broadcast keeps going if one connection weakens or drops. Turn it on per connection profile, and the status overlay shows each radio's live bitrate and data used so you can watch your cellular usage. (0.1.47)
2026-06-28
- Changed The app now holds your full streaming bitrate when the phone is just warm; it only steps the bitrate down once Android reports the device is genuinely hot (not at the earlier "moderate" level, which the system itself flags as not affecting performance). The status overlay no longer shows a heat warning unless it's actually reducing your bitrate — a merely-warm phone (e.g. 42°C) shows just the temperature, not an alarming label you can't act on. (0.1.43)
- Changed The operator status HUD now shows battery temperature to one decimal place (e.g.
42.4°C) so you can see how close it's creeping to the next degree at a glance. (0.1.42) - Added The operator status HUD now shows your phone's net battery power draw on the battery line (e.g.
-9.7 Wwhile draining,+5.1 Wwhile charging) — so you can tell at a glance whether your charger is keeping up with the stream. It turns yellow if you're plugged in but still losing charge. Operator-only, never in the stream. (0.1.41) - Changed The app no longer lowers your streaming bitrate for heat until the phone is genuinely hot. The old thresholds kicked in around 38°C — normal for a streaming phone — so streams were being throttled (e.g. down to ~2 Mbps) for no real reason; it now leans on the system's own overheating signal and only treats the battery as hot in the mid-40s+°C. (0.1.41)
- Changed The Settings → Display row now lists what's inside it (video stabilization, camera transitions, keep-awake) so those settings are easier to find. (0.1.40)
- Changed The mic level meter now holds briefly at each peak and eases back down smoothly instead of snapping, and shows yellow/red threshold lines so you can see how close your level is to the loud (red) zone at a glance. (0.1.40)
- Added Your stream now automatically uses a USB or wired microphone whenever one is plugged in (e.g. a USB DJI receiver), and falls back to the phone's built-in mic when it isn't. If the external mic disconnects and reconnects — like a USB mic that jiggles loose — it's grabbed again automatically instead of leaving you on the built-in mic. (0.1.40)
- Added A new Settings → Display "Video stabilization" toggle uses your camera's hardware stabilization to smooth out shake (walking, riding) on your preview and stream, on cameras that support it. (0.1.40)
- Added Your live stream now keeps running when you open the app's Settings (e.g. to tweak adaptive bitrate) — previously leaving the preview ended the broadcast. Returning to the preview resumes it. (0.1.40)
- Added You can now connect your Twitch account (a one-time approval at twitch.tv/activate, no password entered in the app) to show a Twitch viewer count + stream uptime badge in the operator overlay, alongside the Kick one — toggle either or both in Settings → Chat → Twitch. Your login is stored only on your device, never shown or added to the stream. (0.1.39)
- Added The operator chat overlay now shows live Twitch chat alongside Kick: enter a Twitch channel in Settings → Chat and its chat (with native Twitch emotes) appears merged into the same window, each line tagged with its platform. No Twitch login required. (Twitch viewer count + uptime are coming in a later update.) Shown only to you — never in the stream. (0.1.38)
- Fixed Switching your stream's video codec (e.g. an HEVC destination and an H.264 destination) and going live again — or just stopping and restarting — now reconnects reliably every time, instead of an HEVC stream failing to restart until the app was force-closed. (0.1.37)
- Added The picture-in-picture inset now has a customizable border: pick a single color, a 2- or 3-color gradient swept around the inset (optionally repeated twice), or an animated rainbow, with adjustable thickness and opacity — and the circular inset's edge is now smoothly antialiased. The border shows in your stream too. (0.1.36)
- Added SRT streams that fail with an encryption mismatch now show a clear, actionable message telling you whether to add or remove a passphrase from your SRT URL (your passphrase value is never shown or logged). (0.1.36)
- Changed The picture-in-picture edge-spacing sliders now go up to 320px (from 200) so the inset can be pushed clear of overlays added by a downstream cloud encoder. (0.1.36)
2026-06-27
- Added A new Settings → Picture-in-picture screen lets you adjust how far the picture-in-picture inset sits from the screen edges, with separate horizontal and vertical sliders; the setting is remembered. (0.1.35)
- Changed Your dual-camera picture-in-picture layout — which corner the inset is in, which feed is full-screen, and the inset shape — is now remembered across app restarts. (0.1.35)
- Added Switching camera, swapping the two dual-camera feeds, or toggling single/dual now plays a smooth transition instead of a hard cut — pick Crossfade, Dip to black, Wipe, Zoom, or Random (or turn it off) in Settings → Display. The effect shows in your stream too. (0.1.33)
- Changed While you're live, the streaming destination now appears in the top-right status panel (as
SRT/HEVC @yourchannel, on its own line above the bitrate) instead of above the Stop button, leaving the Stop control uncluttered. (0.1.32) - Added The Kick channel badge can now show your stream's UPTIME alongside (or instead of) the viewer count — two toggles in Kick chat settings let you pick either, both (
K 1,234 · 2:14:07), or neither (badge hidden); the viewer count now has a thousand separator. (0.1.31) - Added Your stream now keeps running when you leave the app or turn the screen off — once you go live it stays connected until you stop it. A notification shows the live uptime and bandwidth with a Stop button, so you can broadcast with the app in the background or the screen off (e.g. in a pocket). (0.1.30)
- Changed The mic level meter is now a tall bar up the left edge of the preview (reaching toward the LIVE timer), so your audio level is readable at a glance instead of a short stub. (0.1.28)
- Added A new Settings → Display "keep screen awake" toggle (on by default) stops the screen from timing out while you're on the live preview; a live stream always keeps the screen on regardless. (0.1.28)
- Added In dual picture-in-picture, a new PIP "shape" button cycles the inset camera between Fill (the original), a 1:1 square, and a circular "face-cam bubble" (with a border) — applied to both your preview and the stream; the Corner button is renamed from "Inset corner". (0.1.25)
- Added Kick chat emotes now show as inline images in the operator overlay (toggle in Kick settings, on by default); if an emote can't load it falls back to its name, so chat always stays readable. (0.1.15)
- Added The top-left status is now always visible (OFFLINE/LIVE with the elapsed timer), and a Kick viewer-count badge shows your channel's online status and current viewers at a glance —
K{n}when live,K-when offline,K?when it can't be reached — even before you go live. (0.1.14)
2026-06-26
- Added Adaptive bitrate (on by default): the stream automatically lowers its video bitrate when the network can't keep up and raises it back when the connection recovers — staying between a floor you set and your profile's bitrate — to ride out shaky uplinks instead of stalling or disconnecting. The operator HUD shows when the stream is being scaled, and why (heat vs. network). (0.1.11)
- Fixed The operator chat overlay no longer grows with the text-size setting and ride up behind the top-left LIVE indicator; it now stays a fixed on-screen region (a larger text size shows fewer lines instead of a taller box). (0.1.11)
- Added Operator-only Kick chat overlay: enter your Kick channel slug and your live chat appears over the preview — with recent-message history, timestamps, platform badge, emote names, an adjustable text size, and graceful auto-reconnect — shown only to you, never in the outgoing stream. (0.1.9)
- Added A one-tap mic MUTE toggle and a live audio level meter (active both before and during a stream): confirm your audio at a glance and mute on demand — the outgoing stream goes silent when muted, and the meter greys out. (0.1.9)
- Added Active thermal protection automatically lowers the streaming video bitrate as the device heats up (and restores it as it cools), with a HUD indicator, to help long sessions keep streaming instead of overheating. (0.1.9)
- Added An operator status HUD over the preview shows battery % (with charging), battery temperature color-coded green/yellow/red, and live upload bandwidth with its network type — visible only to you, never in the stream. A standard top-left "🔴 LIVE" indicator shows the elapsed stream time. (0.1.9)
- Added A single Settings button now opens an organized Settings screen: pick your stream profile under "Stream profiles" and choose a System / Light / Dark app theme under "Appearance" that applies everywhere, including the navigation and status bars. (0.1.8)
- Added Save multiple named stream destinations and switch the active one in a couple taps, so you can keep e.g. an SRT/HEVC server and an RTMP server configured and flip between them without re-typing the URL, stream key, and codec each time. (0.1.7)
- Added The app now follows your system dark-mode setting: the Settings and Debug screens and the navigation bar render dark in dark mode instead of bright white. (0.1.7)
- Fixed The back camera no longer stays frozen if it stalls mid-session: the app now detects a stalled camera feed and automatically restarts it within a few seconds, so dual-camera preview/streaming keeps running without needing to background and reopen the app. (0.1.6)
- Added Stream the live camera view (single or dual PiP) to any RTMP, RTMPS, or SRT server in H.265/HEVC. A settings screen configures the protocol, server URL + stream key, resolution, frame rate, and bitrate; a Go Live / Stop control shows the connection state, and dropped connections auto-reconnect. (0.1.5)
2026-06-25
- Added Dual-source mode: stream two cameras at once in a picture-in-picture layout, with one tap to swap which feed is full-screen and another to move the inset between corners. Only the camera pairs your device supports running concurrently are offered. (0.1.4)
- Added Live camera preview: a full-screen, upright preview from any of the device's cameras, with a picker that groups front/back cameras and labels each by its field of view. (0.1.3)