Follow the public development history of Neon MultiStream Chat, including platform integrations, emote support, reliability improvements, and release updates.
Current release: v1.3.104
v1.3.104
Consistent Twitch GIF Sizing
Native Minion, Thor, and similar Twitch GIFs can render up to 180×180 pixels.
GIFs preserve their intrinsic aspect ratio without stretching or cropping.
EventSub parsing and GIF detection behavior are unchanged.
Packaged and published the Windows x64 portable executable with updated auto-updater manifest sync.
v1.3.103
Larger Native Twitch GIFs
Increased native Twitch GIF display height from 72px to 100px.
Kept a maximum width of 220px so GIFs remain contained within chat.
Packaged and published the Windows x64 portable executable with updated auto-updater manifest sync.
v1.3.102
Compact GIF URL Rendering
GIF URLs are constrained to a maximum 180×180 pixel display box while preserving their aspect ratio and animation.
Ordinary PNG, JPEG, WebP, and other image URLs remain clickable links instead of rendering inline.
The Windows x64 portable executable was packaged and published with the updated auto-updater manifest.
v1.3.101
Updater Twitch Reauthorization Guidance
Update dialogs now link users to https://teammidnite.tv/NeonLogin/account.php for Twitch authorization recovery.
Users are instructed to unauthorize Twitch and re-authorize it when possible so the user:read:chat scope can be granted.
v1.3.100
Twitch GIF Authorization Prompt
The Twitch connection card now identifies missing GIF authorization instead of silently remaining in a partial EventSub state.
The Reconnect Twitch action opens the NeonLogin linking flow with the new user:read:chat scope.
v1.3.99
Twitch Tier GIF EventSub Support
Subscribed to Twitch channel.chat.message events alongside the existing point-redemption stream.
Rendered Twitch GIF fragments from their provider-supplied animated asset URLs instead of showing bracketed placeholder text.
Added the user:read:chat OAuth scope to the Twitch linking flow.
Existing linked accounts should re-link Twitch once in NeonLogin to grant the new scope.
Packaged and published the Windows x64 portable executable with updated auto-updater manifest sync.
v1.3.98
Multichat GIF Support & Quiet Connection Reconnects
Direct GIF, PNG, JPG, WebP, and AVIF links now render inline in chat.
Giphy and Tenor media previews display their shared animation when the provider exposes an image preview.
Velora reconnects no longer repeat the same “Connected…” reminder after a temporary connection drop.
Connection notices still appear when switching to a new channel or account.
Packaged and published the Windows x64 portable executable with updated auto-updater manifest sync.
v1.3.97
Updated Velora Badge Catalog and Role Assets
Updated broadcaster, VIP, bot, staff, and community management badges to the latest cache-busted Velora assets.
Added aliases for streamer, broadcaster, administrator, Velora staff, and community management role names.
Expanded catalog parsing so newly published Velora badges can be discovered across supported image and identity fields.
Packaged and published the Windows x64 portable executable with auto-updater manifest sync.
Sunsetted and cleanly removed all VPZone chat integration, WebSocket connection handlers, and background reconnect timers.
Removed VPZone tabs, target selection menus, connection list cards, and OBS overlay platform toggles from the application UI.
Updated credential broker and authentication handlers to remove VPZone endpoints.
Streamlined platform connectors to Twitch, YouTube Live, Kick, and Velora with improved startup performance.
Packaged updated Windows x64 portable executable with release manifest sync.
v1.3.92
Velora Optimistic Send & Read/History Unified Badge and Decoration Enrichment
Unified optimistic message creation with the authoritative addVeloraMessage and collectVeloraBadges enrichment pipeline.
Fixed badge resolution to preserve native Velora priority order (Broadcaster -> Staff/Admin -> Moderator -> VIP -> Subscriber -> Event/Profile Badges -> Team -> Bot).
Newly sent messages now immediately render with full user badges (Broadcaster, Admin, Pride Month 2026, TeamMidnite), pronoun badge ("He/Him"), secondary handle (@tag), and accent color.
Added seamless provider id reconciliation and duplicate prevention when send confirmations and Socket.IO events arrive.
Rendered secondary handle / tag metadata next to message authors in both main chat and the OBS overlay.
Verified complete consistency between optimistic send rendering, live event reception, and history reload.
Fixed Apache ProxyPass rule so /api/multistream-velora.php is properly handled by PHP rather than being caught by the Node.js API proxy.
Resolved 503 error preventing the desktop app from obtaining linked Velora credentials and OAuth write/moderate tokens.
Channels linked in NeonLogin (such as #kluma) now connect with full moderator and chat active privileges instead of falling back to read-only.
Added automatic token refresh and transparent retry on HTTP 401 in sendVeloraMessage and moderateVeloraUser.
v1.3.90
Broadcaster Direct Chat on Platform Selector & All-Channels Isolation
Broadcasters can now send chat messages to their own channels when specifically selecting that platform on the dropdown selector (e.g. Velora, Twitch).
Completely cleared permission required warnings when the broadcaster is chatting in their own channel on that platform.
Enforced strict isolation on "All connected" so broadcaster-specific overrides never blast messages across all channels without verified write authorization.
Added channel parameter fallback in the credential broker to link streamer credentials by channel name.
Fixed Velora chat sending check to allow all authenticated users with chat:write to chat in any joined channel (removed isOwner restriction on sending).
Added automatic permission verification and state refresh when switching targets to Velora or clicking the message input.
Enhanced the credential broker to automatically recognize and backfill chat:write and chat:moderate permissions for active authorized OAuth tokens.
Updated status displays to accurately show moderator, chat active, or read-only mode instead of defaulting to read-only.
v1.3.88
Velora 7TV Explicit Emote Signal & Live Auto-Update
Configured dynamic 7TV emote resolution to trigger specifically on explicit colon-delimited tokens (:emote:), avoiding unintended lookups on normal text.
Restricted bare-word 7TV emote rendering to Velora approved/popular allowlist and community sets.
Preserved original text verbatim when an explicit :name: emote query does not resolve.
Packaged complete Windows x64 release with updated update manifest for seamless in-app upgrade.
Added Velora chat message sending with 500-character limits and OAuth chat:write permission handling.
Added Velora chat moderation actions (Delete message, Timeout 1m/10m, Ban user) via context menu and quick menu button with local history suppression and OBS overlay sync.
Integrated room clear synchronization between the desktop client and Velora WebSocket chatCleared events.
Added full 7TV emote support for Velora messages with bare words and :colon: parsing, preloading global and Velora community sets, and dynamic batch querying.
Enabled standalone 7TV emote pulling directly within the OBS browser source overlay via local /api/overlay/emotes/velora endpoint and direct 7TV fallback.
Removed single-line message truncation across horizontal overlay themes, enabling multiline wrapping (overflow-wrap: anywhere; word-break: break-word) so long messages and full paragraphs display completely without ellipses.
Configured each message segment as a 2-row block: top row for badges, platform icon, and username; bottom row for message text and emotes.
Enforced strictly single-line non-wrapping for the message row (white-space: nowrap with ellipsis truncation on overflow).
Arranged multiple message segments side-by-side horizontally across the transparent 1920px canvas.
Preserved role/platform vertical left-border accents, inline emotes, and bottom anchoring.
v1.3.85
Horizontal Clean Canvas Width Continuation Fix
Configured .card-content and all child spans/paragraphs to display inline with white-space: nowrap and word-break: normal.
Expanded card and message text max-width to the full available canvas with text-overflow: ellipsis only at the canvas boundary.
Preserved compact identity header position and inline emotes on the single horizontal line.
v1.3.84
Horizontal Clean Strict Single-Row Non-Wrapping
Fixed horizontal card layout to inline-flex row with word-break: normal, overflow-wrap: normal, and white-space: nowrap.
Ensured messages remain on a single horizontal line with ellipsis truncation when overflowing available space.
Enhanced author and message font scale (1.05em) and multi-layered text shadowing for high contrast over stream video.
v1.3.83
Horizontal Clean Single-Line Ticker Enforcement
Enforced flex-wrap: nowrap and white-space: nowrap across all author badges, username, and message body segments.
Fixed overlay strip height to a clean horizontal chat line (48px) with vertically centered content alignment.
Added automatic text-overflow: ellipsis truncation for long messages overflowing available card width without increasing container height or wrapping.
Kept inline emotes aligned directly within the single chat line and preserved transparent background and bottom anchoring.
v1.3.82
Horizontal Stream Bar Overlay Theme
Engineered flex-row horizontal ticker layout positioned along the bottom (or top) of the full transparent OBS canvas.
Added vertical colored left-border accent lines indicating author roles (Broadcaster, Moderator, VIP, Subscriber) and multi-platform color fallbacks.
Structured compact two-tier message items with platform icon, badges, uppercase username, and pronouns on the top row, and message content/emotes directly underneath.
Added smooth horizontal slide-in micro-animations and seamless message queue management.
Supported URL query parameter overrides: ?theme=horizontal&position=bottom or ?position=top.
v1.3.81
Vertical Clean Transparent OBS Chat Feed
Removed large dark rectangular card backgrounds, frosted glass blur, and card borders in favor of a clean transparent feed.
Added crisp high-contrast text shadowing for direct overlay visibility across bright and dark stream video.
Structured compact two-tier message layout: platform icons, badges, username, and pronouns on the top line; text, emotes, and links directly below.
Preserved full transparent 1920px OBS canvas, configurable narrow column width, left/right anchoring, flow direction, and self-generated Neon diagnostics.
v1.3.80
Vertical Clean Column Width Fix
Added configurable column width with a 380px default and responsive sizing, anchored using Column Position.
Kept messages wrapped inside the column and preserved URL overrides when live settings arrive.
Preserved self-generated Neon Test behavior and verified layout at 1920px and 320px canvas widths.
v1.3.79
Vertical Clean Positioning & Neon Overlay Test Diagnostics
Configured Vertical Clean to keep the OBS canvas full-width (1920px) and transparent while anchoring the chat column to the left or right side without horizontal centering or stretching.
Refined compact message layout with platform icon, badges, username, and pronouns on the top line and wrapped message text or emote underneath.
Standardized the "Send Test Message" feature into a self-generated Neon diagnostic test that operates independently of platform filters.
Added /api/overlay/test and /api/overlay-test REST endpoints alongside the IPC handler for instant overlay diagnostic testing.
v1.3.78
Vertical Clean OBS Overlay Theme
Added "Vertical Clean (Side Column)" theme option with responsive vertical stacking, narrow max width, and automatic text wrapping.
Engineered subtle micro-slide and fade animations with translucent background cards and crisp outline shadowing.
Preserved all multi-platform badges, Velora custom rewards/emotes, moderation deletions, and bottom-up/top-down flow directions.
v1.3.77
OBS Overlay Badge & Emote Proportions Fix
Applied explicit font-proportional dimensions to all user badges, platform SVG icons, Velora official badges, and inline emotes in the OBS overlay.
Prevented high-resolution badge image assets from taking up excessive screen space over game capture.
Note: YouTube Live is being stubborn with live chat discovery / rate limits; investigating broker polling improvements.
v1.3.76
OBS Chat Overlay Pop-Out & Browser Source
Added real-time local streaming server on port 39111 supporting direct OBS Studio Browser Source integration via Server-Sent Events (SSE).
Added a dedicated Pop-Out Overlay desktop window with frameless transparent rendering and auto-hiding window controls for OBS window capture.
Built an Overlay Customization modal with live styling (Neon Glass, Clean Transparent, Cyber Glow, Solid Dark), message auto-fade timers, font scaling, and platform filtering.
Synchronized live moderation and chat clearing across all active stream overlays in real time.
Fixed Twitch Channel Point redemption session expiration by automatically refreshing NeonLogin tokens on HTTP 401.
Added a "Send Test Message" trigger to quickly preview overlay animations and styling on stream.
Wait for Twitch subscription confirmation, retry temporary broker failures, monitor keepalives, and transfer the feed safely during Twitch-requested reconnects.
Stop redemption monitoring cleanly on logout or revoked authorization and show an actionable reconnect prompt when permissions expire.
Render Velora pointsCelebration and points-celebration history payloads using the reward title, cost, viewer input, and event timestamp.
Deduplicate Twitch and Velora redemption alerts when live chat, EventSub, and saved history deliver the same reward.
v1.3.74
Velora Point Redeem Notices & IPC Bridge
Connected Velora Point redemption events over the desktop IPC bridge with dedicated gold styling, diamond currency points, and reward metadata.
Added Velora chatter join announcements with deduplication to highlight viewers entering chat.
Fixed Electron preload event binding for Velora redemptions and resolved message deduplication handling.
v1.3.73
Velora Subscriber & Channel Emote Parsing Fix
Added colon-wrapped pattern matching for Velora channel and subscriber emotes (e.g., :KlumaNodders:) so picker and colon-formatted codes render as images rather than literal text.
Preserved all Velora channel emote collections without dropping subscriber tiers during catalog loading.
Expanded sender emote discovery and catalog indexing to recognize colon-prefixed subscriber codes across connected channels.
v1.3.72
Velora Profile Card Text & Mark Fidelity
Replaced the text placeholder with the official supplied gold Velora SVG mark.
Safely convert rich-text profile bios to plain text before displaying them in chat.
v1.3.71
Inline Velora Creator Profile Previews
Recognize direct velora.tv creator links and load their public profile metadata on demand.
Render the avatar, display name, pronouns, live/category status, and bio over the creator banner within the chat message.
Keep generic link previews for all non-profile links.
v1.3.70
Velora Chatter Profile Metadata Cards
Added on-demand profile cards with the public Velora banner, avatar, display name, pronouns, bio, and direct profile link.
Show live state and stream category when that public metadata is available.
Cache opened profiles for the current session to avoid repeated profile requests.
Updated Velora badge resolution to prioritize specific badge slug and name candidates over generic category types like "custom" or "role".
Mapped all Community Staff badge aliases and direct image URLs across active and past messages.
v1.3.65
Fixed System Notice Layout & Permanent Notices Log
Adjusted system notice grid columns and spacing so platform tags never collide with notice text.
Added official asset mapping for Velora Community Staff badges (VeloraCommunityManagement.png).
Renamed the tab to Notices, permanently retaining connection errors, disconnects, and provider updates for the session.
Excluded high-frequency Twitch chat join notices from the permanent Notices history.
v1.3.64
Dedicated Errors History Tab & Compact ALL Label
Shortened the main combined chat tab label to ALL for cleaner layout and extra room in the tab bar.
Added a dedicated Errors tab (and multi-pane platform option) retaining historical connection errors, quota limits, and system notices across the entire session.
Supported live search query filtering and dedicated log clearing inside the Errors tab view.
v1.3.63
Velora Socket Transport & Handshake Reliability
Configured Socket.IO client with dual WebSocket and polling transport fallbacks for maximum connection reliability across varied network topologies.
Streamlined joinChannel handshake acknowledgment to prevent false connection timeout rejections.
Preserved dynamic Velora badge catalog cache across channel re-joins and socket reconnections.
v1.3.62
Kick Chat Keepalive & Chatroom ID Caching
Added 30-second automated keepalive ping intervals on the Pusher WebSocket to prevent intermediate router/proxy timeouts.
Cached resolved Kick chatroom IDs in both memory and the Electron main process, eliminating redundant HTTP calls and Cloudflare edge blocks upon reconnect.
Kick chat reconnects now subscribe instantly to known chatroom channels with zero discovery overhead.
Suppressed repetitive reconnection banners in the chat log on silent network recovery.
v1.3.61
Decoupled YouTube Live State & Quota Protection
Strictly isolate account authorization state from live chat polling — authenticated accounts no longer trigger automatic chat polling.
Restrict broadcast search strictly to confirmed active streams (broadcastStatus=active), ignoring scheduled and upcoming broadcasts.
Eliminate all recursive background retry timers when not live; status checks are strictly on-demand or upon explicit user action.
Add session-sticky quota limit enforcement (quotaBlocked) that instantly stops and locks all YouTube API calls when quota limits are reached.
v1.3.60
Fixed Windows Taskbar & Application Icon
Embed the Neon MultiStream icon and version metadata into the packaged executable.
Ship the application icon with the packaged app so the window icon loads correctly at runtime.
v1.3.59
Updated App Icon
App window, taskbar, and title bar now display the official TeamMidnite icon.
v1.3.58
Velora Event Badge Catalog & Dynamic API Sync
Dynamic sync with Velora badge catalog endpoint (/api/badges/catalog).
Support for official Velora event badges including Pride Month 2026, New Year 2026, Christmas 2025, and Halloween 2025.
Automatic animated and static asset rendering for all present and future catalog badges.
v1.3.57
Official Velora Badge Artwork Mapping
Render verified official Velora PNG badge assets for Broadcaster, VIP, Bot, and Staff.
Retain clean vector provider badge fallbacks for customizable or unmapped badge types.
Deterministically award the pink camera Broadcaster badge only when the sender ID or username matches the connected channel owner.
Preserve legitimate user badges without discarding them when the broadcaster speaks.
v1.3.53
YouTube Live Chat & User Profile Avatars
Re-enable YouTube Live chat connection card and dedicated tab with active polling and message sending.
Support both youtube.readonly (view account & chat) and youtube (manage live chat) OAuth scopes.
Restore user profile image avatars for all signed-in NeonLogin accounts and linked platforms.
v1.3.52
Twitch join notices
Announce viewers on JOIN lines only, with no PART/leave notices.
Expire each notice after 20 seconds and deduplicate per user for 60 seconds so repeats do not flood the log.
Never announce the connector's own anonymous or logged-in nickname.
v1.3.51
YouTube Chat Temporarily Disabled
Disable YouTube status, message, emote, and send requests behind the YOUTUBE_CHAT_ENABLED flag.
Keep the YouTube tab and connection card visible, clearly marked OFF.
v1.3.50
Twitch Point Redeem Fix
Restore the redemption broker on the server so redemption requests no longer return Service Unavailable.
Allow already-linked Twitch accounts to re-authorize so missing redemption permission can be granted without unlinking.
Show a clickable Reconnect action on the Twitch card and retry automatically after re-authorization.
v1.3.49
Twitch Channel Point Redeems
Receive custom reward redemptions through Twitch EventSub, including rewards without viewer input.
Display the viewer, reward title, typed input, and point cost without duplicating the IRC message.
Prompt existing users to reconnect Twitch once when the redemption permission is missing.
v1.3.48
Responsive Platform Tabs
v1.3.47
Historical Velora Badges
v1.3.46
Linked Message Author Alignment
v1.3.45
Preview Layout and Velora Badges
v1.3.44
Clickable Links and Rich Previews
v1.3.43
Galaxy Stars Restored
v1.3.42
Kick same-origin chat recovery
Resolves every linked Kick slug from its account ID instead of relying on a hardcoded or stale locally saved username.
Falls back to Kick's real same-origin web context when its edge rejects direct background chatroom discovery.
Detects subscription timeouts and provider rejections, reports them clearly, and reconnects with bounded backoff.
Does not require users with an existing valid Kick link to reconnect their account.
v1.3.41
Kick chat recovery and subscriber-emote fix
Moves Kick chatroom discovery into the desktop browser session so Kick no longer rejects the renderer request origin.
Reports Kick as connected only after the channel subscription is confirmed, with visible failures and automatic retries.
Fixes historical Velora subscriber emotes when channel or emote capitalization differs between provider responses.
Renames the visible application to “Neon MultiStream Chat” and moves the version into the Connections panel.
v1.3.40
VPZone follow event recovery
Fixes VPZone follows and other recent events disappearing from the combined chat after a socket reconnect, because VPZone replays recent events on every connection.
Accepts the per-connection event replay after each reconnect while preventing duplicate floods against messages already rendered.
v1.3.39
Velora registration referral links
Adds a “Register on Velora” link to the desktop connection card and the add-channel form, opening velora.tv/register?ref=Kluma in your browser.
Promotes Velora on the Neon Multistream product page with its official gold mark, a platform badge, and a create-account call to action.
Swaps generic placeholder icons for the official Kick, VPZone, and Velora brand marks in the product page platform badges.
Renders official Kick and VPZone logos in desktop chat badges and connection cards instead of K and V text placeholders.
Fixes restored Velora chat history by requesting it with the resolved channel UUID, so historical messages and their subscriber emotes now load.
v1.3.38
External Velora subscriber emotes
Discovers a Velora sender's channel emote set when they use subscriber emotes outside their own channel.
Caches external emote catalogs and rerenders the original message as soon as its asset is available.
v1.3.37
Gigantified Velora emotes
Increases Velora emotes from 42px to 52px when a message uses Gigantify.
Keeps ordinary Velora emotes at their existing larger size.
v1.3.36
Velora emote and effect reliability
Delivers the Velora emote catalog with the confirmed chat connection to eliminate the post-connect loading race.
Corrects compound glow and galaxy selectors so their individual colors render accurately.
Restricts the animated star field to galaxy effects.
v1.3.35
Velora chat emotes
Loads Velora public and channel-aware emote collections when chat connects.
Renders exact emote codes using Velora animated WebP assets.
v1.3.34
Official Velora chat icon
Replaces the placeholder Velora chat V with the supplied SVG mark.
Uses the icon on both the connection card and Velora message badges.
v1.3.33
Velora handshake reliability
Resolves a Velora channel to its provider UUID before subscribing to real-time chat.
Reports Connected only after Velora confirms the channel join.
Adds handshake timeouts, actionable errors, and an Experimental label while stability testing continues.
v1.3.32
Real-time Velora chat effects
Replaces the initial polling connector with Velora real-time Socket.IO chat.
Renders Velora glow, galaxy, rainbow, and Gigantify message effects.
Carries pronouns, badges, author colors, timestamps, and message deletion events into the unified chat.
v1.3.31
Velora public chat
Adds Velora as a first-class chat tab and pane option.
Reads public Velora channel chat with automatic polling, retries, and message deduplication.
Saves the selected Velora channel per identity and clearly labels the connector as read-only.
v1.3.30
Persistent Twitch connection keepalive
Sends an active Twitch IRC keepalive every minute so quiet chats remain connected.
Reconnects only when Twitch fails to answer the connection keepalive instead of treating normal chat silence as a dead socket.
Uses the same stable connection health checks for primary and extra Twitch chats.
v1.3.29
Chat scrolling and new-message follow
Fixes the chat viewport so mouse-wheel and scrollbar navigation work normally.
Automatically follows new messages while the viewer is at the bottom.
Preserves the current position when the viewer scrolls up to read older messages.
v1.3.28
Long-running multichat stability
Keeps primary and extra Twitch chats alive with watchdogs and automatic reconnects.
Prevents emote refreshes from disabling Twitch connection monitoring.
Bounds chat memory use and batches rendering and history writes so busy chats remain responsive.
v1.3.27
Current Alejo pronouns API
Uses Alejo Pereyra's current api.pronouns.alejo.io/v1 API, matching current Chatterino.
Keeps the legacy API as a migration fallback.
Rechecks missing pronouns after two minutes instead of caching them for 30 minutes.
v1.3.26
Twitch badges and pronouns
Renders official Twitch global and channel-specific badge images from Twitch Helix.
Shows opt-in Twitch pronouns from Alejo Pereyra's Pronouns API beside chat identities.
Caches pronoun results and keeps symbolic badge fallbacks when either service is unavailable.
v1.3.25
VPZone offline chat connection
Discovers linked VPZone accounts through the authenticated broker even when the initial NeonLogin payload omits VPZone fields.
Connects to VPZone public read-only chat when OAuth tokens are missing, including while the stream is offline.
Refreshes expiring VPZone OAuth tokens and preserves automatic WebSocket recovery.
v1.3.24
Twitch profile avatar
Shows the signed-in user's current Twitch profile picture in the desktop header.
Uses a generic Twitch logo when Twitch has no profile picture or the image cannot load.
v1.3.23
Official Twitch chat glyph
Replaces the generic Twitch T chat marker with the recognizable Twitch logo glyph.
v1.3.22
Always-on Twitch and VPZone chat recovery
Reconnects Twitch chat automatically after network interruptions, computer sleep, and stale IRC connections.
Keeps retrying VPZone chat after WebSocket or broker failures instead of remaining disconnected.
Detects silent VPZone connection failures with heartbeat checks and repairs them automatically.
v1.3.21
Compact default window sizing
Opens the desktop window at 578 × 1000 by default.
Keeps the window resizable with a 578-pixel minimum width to protect the platform tabs.
v1.3.20
Linked-chat empty-state correction
Hides Set up connections when a chat provider is already linked or configured.
Shows a quiet connected-state message while waiting for chat activity.
Shows a distinct no-results message when filtering chat.
v1.3.19
Account-isolated chat and connection security fix
Isolated saved chat history and monitored channels by NeonLogin identity.