Release History

Changelog

Every notable change to CatRealm — grouped by version, ordered newest first.

Last updated: March 27, 2026  ·  493 commits
Back to Home Request a Feature
v1.6.9 Latest Mar 27, 2026
Forum Channels
  • Added a new Forum Channel type — channels where members post dedicated topics that others can reply to in threaded views
  • Redesigned forum UI to match a Discord-style layout with post cards, tag filters, and sort options
  • Forum posts support an inline composer, optional cover image, and two layout modes (card grid / compact list)
  • Attachments and Markdown rendering are now fully supported inside forum posts and replies
  • Forum post create and delete events are now broadcast live over the socket so all members see changes without refreshing
  • Fixed several stability issues: crash when viewing threads with attachments, ThreadPanel not opening from forum post view, and array guard errors in the forum data layer
  • Fixed socket room join missing for live thread updates in the forum thread view
Welcome Board & Onboarding
  • Added a Welcome Board feature — servers can set a custom onboarding screen shown to new members on first join
  • Server admins can preview the Welcome Board from settings and reset onboarding state for testing
  • Fixed Welcome Board onboarding UI and expression picker interaction
Account Security
  • Added a dedicated Account Security settings tab for central accounts
  • Backup Codes — generate 10 single-use 64-character recovery codes; codes can be re-revealed later after verifying your 2FA; paste a backup code into the 2FA field at login as a fallback when your authenticator is unavailable
  • 2FA Key Rotation — self-service TOTP secret change: verify your current code, scan a new QR in your authenticator, then confirm the new code to complete the rotation
  • Security Keys & Passkeys (WebAuthn) — register hardware security keys or device passkeys from Account Security settings; once registered a "Use passkey / security key" button appears on the login screen
Voice & Calls
  • Rewrote voice and call end-to-end encryption sessions for improved reliability and key-exchange correctness
  • Fixed voice screenshare negotiation and stage UX glitches
Desktop Game Activity
  • Fixed desktop game activity not clearing correctly when the feature is disabled
  • Fixed a build error in the game activity detector module
  • Refined how activity information is presented on profiles
  • Fixed stale manual activity not restoring correctly after reconnects
Known Issues
  • ⚠️ Desktop Game Activity — elapsed timer missing: Activity correctly detects games and shows "Active Now" on profiles, but the elapsed play-time timer does not appear. Fix planned for a future patch.
Bug Fixes & Polish
  • Fixed DM list persisting from a previous account when switching users — all DM, group chat, and friend store state is now fully cleared on logout
  • Fixed multi-attachment gallery layout and NSFW blur overlay coverage
  • Fixed presence status and activity timers not updating correctly
  • Fixed DM composer placeholder centering; migrated server composer to contenteditable for richer input handling
  • Updated desktop main process internals
  • Bumped client package version to 1.6.9 for this release
v1.6.8 Mar 19, 2026
Webhooks
  • Added a full Webhook system — create and manage webhooks per-channel or per-category from Server Settings
  • Webhook Manager supports creating, editing, regenerating tokens, and deleting webhooks, with a live secret token viewer
  • Webhooks can be scoped to specific channels or categories and are manageable directly from the channel/category editor modals
  • Added IP locking — restrict a webhook to a specific trusted IP address so only authorized senders can POST to it
  • Added a per-webhook enable/disable toggle so webhooks can be paused without being deleted
  • Webhook delivery events are routed through the socket handler and broadcast to the correct channel in real time
Scheduled Messaging
  • Type @schedule in the composer to open the Schedule Message Modal and pick a future send time
  • Scheduled messages are stored server-side and only visible to the sender until a background job publishes them at the designated time
  • Works in both server channels (requires the new Schedule Messages permission, bit 46 — Helper tier) and DMs
  • DM scheduled messages are capped at 24 hours ahead; server channel messages up to 30 days ahead
  • Scheduled message indicators appear inline in the message list so the sender can see pending sends
View-As Role Sessions
  • Admins can now enter an authoritative View-As Role session — the server enforces the selected role's permissions end-to-end, not just client-side
  • A persistent banner is shown globally while a view-as session is active, accessible from any screen
  • Auth state, channel list, and permission checks all refresh automatically when entering or leaving a view-as session
  • Channel owner checks on the server now correctly honour the active view-as role
  • Fixed view-as state being silently overwritten and added recovery for chunk-load failures that occur mid-session
  • Improved the role-switching UI and added a Developer tab in profile settings exposing view-as debug controls
Voice Controls & Presence
  • Added Push-to-Talk controls to the voice toolbar — bind a key and hold it to transmit
  • Polished the voice activity timer — shows elapsed time with seconds precision and stays accurate during long sessions
  • Reworked the docked voice controls bar at the bottom of the sidebar for a cleaner layout
  • Fixed profile presence not updating correctly when joining or leaving voice channels
Category Permissions & Channel Editor
  • Completely reworked the category permission editor — permission overrides are now managed per-role with a clear allow/deny/inherit grid
  • Voice channel move permissions are now enforced through the category permission model
  • Reworked the Channel Editor modal — redesigned layout with separate tabs for general settings, permissions, and advanced options
  • Seeded correct default member text permissions when new channels are created
Mention Suggestions
  • Mention suggestion list now appears above the text box instead of overlapping it
  • Suggestion ordering: system aliases (@schedule, etc.) → roles sorted by position (descending) → members
  • Member entries in the list now display their real avatars
Iwara Embeds
  • Added Iwara video embeds on the desktop client — Iwara links now render an inline video player using the desktop webview path
  • Web clients fall back to a clearly-labelled open-in-browser link when desktop embed is unavailable
Bug Fixes & Polish
  • Media attached to a deleted message is now removed from storage immediately rather than on the next cleanup pass
  • Fixed clipboard read/write handling for paste-to-upload flows
  • Fixed central-server presence not restoring after a socket reconnect
  • Bumped client package version to 1.6.8 for this release
v1.6.7 Mar 14, 2026
Media Viewer & Forwarded Media
  • Reworked media viewing with a full-screen overlay, avatar/header context, toolbar controls, and gallery-style browsing
  • Improved forwarded-media handling with a protected forwarded indicator backed by the server
  • Preserved attachment files while forwarded copies still exist, preventing forwarded media from breaking after the original message changes
  • Fixed unknown sender username/avatar issues in DM forwarded media and media viewer surfaces
DM Uploads & Spoilers
  • DM multi-file uploads can now be bundled as a single gallery message
  • Raised DM upload limits to 50 MB per file with up to 8 files per message, backed by an overflow queue for larger batches
  • Fixed DM multi-upload behavior and a persistent unread badge issue
  • Added Spoiler tagging to the attachment NSFW tagger and fixed spoiler tags being stripped by the server-chat allowlist
  • Fixed spoiler/NSFW blur missing in the DM gallery and group chat overlay
  • Added a clearer user-facing error when an attachment upload is too large
Desktop Game Activity & Presence
  • Added desktop Game Activity detection to the Electron client, with Cat Lab controls to enable or disable it locally
  • Recognized games now publish a proper Playing ... presence with elapsed session time
  • Separated Custom Status from game activity so auto-detected games no longer overwrite your manual status text
  • Presence payloads now carry custom status and activity independently across profile fetches, friends, member lists, and socket updates
  • Fixed activity timers getting stuck at 0m by updating the display every second and showing seconds under the first minute
  • Fixed the game activity timer resetting around the detector refresh window by preserving the original session start time across refreshes
  • Profile view now shows activity duration as days hours minutes seconds, while compact areas keep the shorter display
Embeds, Updates & Client Fixes
  • Added Embedding Login to Cat Lab for YouTube and X embeds
  • Fixed YouTube Shorts embeds and corrected Shorts aspect ratio to 9:16
  • Added the Open Links in CatRealm setting
  • Stopped periodic update checks once an update is found and added a check for another action
  • Handled missing banner images more gracefully in profile settings
  • Fixed Electron attempting to fetch /api/server from file:///C:/... when no active server URL existed
  • Improved Windows process start-time parsing for detected games
  • Fixed the React hooks-order error in DMAttachmentPreview
  • Bumped client and server package versions to 1.6.7 for this release
v1.6.6 Mar 12, 2026
Voice Messages
  • Added custom AudioPlayer with waveform visualiser, seek bar, and volume slider — replacing the default browser audio element
  • Added voice message recording directly in the DM composer with a hold-to-record interface
  • Voice messages support an optional auto-delete timer (30 min · 3 days · 7 days · 14 days · 30 days) shown as an expiry clock badge on the player
  • Fixed AudioPlayer showing Infinity:NaN for webm duration on load
  • Fixed waveform disappearing and seek/waveform misalignment
  • Fixed AudioContext double-close errors in both the player and recorder
  • Fixed voice_expires_at always arriving as null for file-attachment DMs and not reaching clients
  • Waveform progress is now smoothed with requestAnimationFrame
Server List — Sorting & Folders
  • Servers in the sidebar can now be drag-and-drop reordered
  • Servers can be grouped into folders — click a folder to expand/collapse its servers
  • Sort order and folder layout persist across sessions
DM Retention
  • Fixed retention changes not being applied to existing messages — messages older than the new retention window are now deleted immediately when both users accept a change
  • Remaining messages have their expiry recalculated as created_at + new_retention, anchored to send time rather than acceptance time
  • Fixed messages deleted by retention briefly flashing before disappearing — stale IndexedDB entries are now evicted after the server response
  • Fixed DM messages loading out of chronological order for ~1 second on open — IndexedDB results are now sorted by createdAt before display
DM — Other Fixes
  • Fixed message duplication when the sender has multiple clients open simultaneously
  • Replaced browser confirm() with a styled ConfirmDialog for DM message deletion
  • Fixed 429 rate-limit storm on socket reconnect — loadMessages is now deduplicated per conversation; DM rate limit raised to 300 req/min
Personal Roles
  • Added Personal Roles Manager accessible from the Friends List header — create and manage cosmetic roles visible across all servers
Performance & Caching
  • Server icons, banners, and profile pictures are now cached by the browser for 7 days — eliminates redundant re-downloads on every page load
  • Hashed JS/CSS assets (/app/assets/) now served with immutable, max-age=1y
  • Fixed index.html being cached by browsers/CDN — it is now served with no-store, preventing stale chunk-hash references after a deploy that caused module load failures
Settings — Cat Cache
  • Added Cat Cache section under Content & Social settings — shows all browser-cached images grouped by Avatars, Banners, User Generated Content, and System Images
  • Click any thumbnail to view it full-size
  • Purge All button force-refetches every cached image and updates the display immediately
Landing Page & Invite
  • Added a public invite landing page at the server root — shows server name, member count, banner, and a Join button
  • Landing page now uses a full-page blurred banner background matching the in-app invite style
  • Added CatRealm favicon and matched background gradient to the client invite page
Pterodactyl Egg
  • Switched startup to a Node bootstrap script — resolves native module (better-sqlite3) compatibility in musl containers
  • Fixed flat .env generation and SERVER_URL auto-update on SSL toggle
  • Fixed AUTO_UPDATE_RESTART_ON_START defaulting to false
  • Env file is now backed up before egg reinstall; duplicate startup logs and premature exits resolved
v1.6.5 Mar 11, 2026
Role Icons & Styles
  • Added custom role icons — small images displayed next to usernames in chat messages and the member list
  • Added advanced name color styles: Gradient, Glow, and RGB Flow (animated cycling gradient)
  • Role icon and style data is now included in message payloads and socket presence events
  • Chat messages live-update role styles via the presence store — no page reload required
  • Role icon URLs are resolved against the server base URL, preventing broken file:/// paths
  • Profile role badges apply gradient/glow/rgb_flow styles to the name text and use the first gradient stop for the bubble background and border
Admin — Appearance Modal
  • Merged "Role Color" and "Name Style" into a single Appearance modal per role
  • Style type selector: Solid, Gradient, Glow, RGB Flow
  • Gradient and RGB Flow expose two colour-slot buttons with a shared colour picker
  • Custom HSL colour picker with Presets and Color Picker tabs — no native browser colour input
  • Live preview renders the role name with the chosen style before applying
Admin — Role Editor UX
  • Replaced the inline "Changes stay local until you click Save & Apply" bar with a floating bottom-center bar
  • Floating bar pulses with a purple glow and shows animated "Current Changes are NOT saved!" warning text
  • Discard (red) and Apply (purple sparkle) buttons on the floating bar
Chat Search
  • Added Discord-style right-side search panel — press Ctrl+F to open, Esc to close
  • Server-side cursor-paginated search with inline operator syntax: from:, in:, has:, mentions:, before:, after:, on:
  • Autocomplete suggestions for from:, in:, has:, and mentions: operators
  • Client-side DM search (E2E encrypted — filtered locally without server roundtrip)
  • Clicking a search result jumps to the message in the channel with a yellow highlight ring
v1.6.4 Mar 10, 2026
Hotfixes
  • Added authenticated embed fetching for central-account DMs so x.com and other previews no longer fall back to blank messages
  • Mounted /api/embeds and /api/embed-media on the central auth server so DM embeds resolve through the main CatRealm service
  • Improved group chat member list behavior on smaller screens with a mobile slide-in members panel
  • Fixed group chat mobile drawer runtime crash caused by declaration order in the Home view renderer
  • Added animated X/Twitter GIF detection so tweet GIF embeds autoplay, stay muted, and loop instead of rendering like standard MP4 clips
  • Replaced text label with a lock icon in the DM encryption info modal
v1.6.3 Mar 10, 2026
Messaging
  • Added multi-attachment support — send up to 5 files in a single message across server chat, DMs, and group chats
  • Added <?img1> inline image placeholders — insert uploaded images at any position in your message text
  • Non-inline attachments render in a flex grid below the message body
  • Multi-attachment media viewer supports paging through all images in a message
Chat Markdown
  • Added __underline__, ~~strikethrough~~, and ||spoiler|| (click to reveal) formatting
  • Added >>> multi-line blockquotes that consume all remaining lines
  • Added > single-line blockquotes
  • Added [text](url) markdown link syntax
  • Added copy button on fenced code blocks
  • Changed inline and block code color to the app accent (purple)
  • Rewrote inline renderer as a recursive scanner — nested formats like __*text*__ and ***__text__*** now work correctly
Security
  • Attachment URL, filename, and attachments JSON are now encrypted at rest (AES-256-GCM) in DM and group chat message tables
  • User notes encrypted at rest — private notes are no longer stored as plaintext
  • Backward-compatible — existing plaintext records are read transparently; only new writes are encrypted
DM Calling
  • DM calls now survive one party disconnecting — the call stays alive and reconnects automatically if they rejoin within 5 minutes
  • Added call:participant-left and call:participant-joined events so the remaining participant is notified of the other's connection state
  • Added 5-minute alone timeout — if the other person never rejoins, the call ends cleanly with a system message
  • Disconnect grace period now uses the participant-left model instead of immediately terminating the call for both parties
  • Centralized call finalization logic for consistent DB updates, system messages, and timer cleanup across all end-call paths
UI & Polish
  • Improved group chat member list layout and spacing in the Home view
  • Replaced text label with a lock icon in the DM encryption info modal
Bug Fixes
  • Fixed duplicate const declaration crash on startup in both the auth server and self-hostable server db.js
  • Fixed landing page comparison tooltip z-index so it renders above the sticky first column
  • Updated Mobile Apps entry in landing comparison table to reflect browser mobile support
v1.6.2 Mar 8, 2026
Messaging
  • Fixed edit actions so your own messages can be edited again in DMs and group chats
  • Restricted server-side message edits to the original sender so users cannot edit other users' messages
  • Restored missing message action menu entries in shared chat rows
Reactions & Picker
  • Reworked the reaction picker to open from the reaction + button instead of drifting toward the chat composer
  • Adjusted floating picker placement and viewport clamping so the panel opens on the lower-left side of the trigger without going off-screen
  • Fixed the production hook crash that could break the DM reaction picker bundle
Group Chats
  • Fixed the group chat expression picker manifest request to use /api/expressions/manifest instead of the dead /api/emotes/manifest route
v1.6.1 Mar 2, 2026
Hotfix
  • Preserved animated profile uploads so profile media keeps its original animation instead of being flattened or mishandled during upload processing
v1.6.0 Mar 1, 2026
Audio Processing
  • Added ML-based noise suppression powered by RNNoise WASM — runs in an AudioWorklet, zero overhead when disabled
  • Added RMS noise gate with smooth attack / release / hold envelope to prevent mic bleed during silence
  • Noise gate threshold adjustable from −60 dB to −10 dB via a live slider
  • Live voice activity meter below the gate slider — bar turns green when signal clears the threshold, amber line marks the cutoff
  • Both features default to on; users with external noise suppression (Elgato Wave Link, NVIDIA RTX Voice, etc.) can disable independently
  • Pipeline rebuilds seamlessly on settings change mid-call — no dropout, no reconnection
  • Threshold slider updates the AudioWorklet in real time with no pipeline rebuild
  • Mic test in Voice Settings now records through the same processing chain callers hear
  • Settings persisted to localStorage across page reloads
DM Calling
  • Added audio and video DM calls with full P2P and privacy (relay) mode support
  • Incoming call banner, ringtone, and decline/accept flow
  • Docked call control bar with mute, deafen, camera toggle, and screenshare
  • Floating DM call status panel and screenshare popout window
  • Call reconnection and resume handling for dropped connections
  • Per-call TURN credential fetch with privacy-mode relay enforcement
Group Chats
  • Added encrypted group chats — create a group, invite friends, chat privately
  • Group chat message rows with avatar stacking and member list
  • System messages for join / leave / name change events
  • Group chat avatar generation from member initials
  • End-to-end encrypted key exchange for group sessions
Group Calling
  • Added multi-party group calls with audio and video
  • Participant grid with per-user mute / deafen / video state
  • Group screenshare popout with dedicated controls
  • Incoming group call modal with group name and initiator info
  • Stream watch mode — join a call as a viewer without sending media
Shared Chat Refactor
  • Unified DM and server chat through adapter-driven shared components
  • Shared message row, context menu, embed renderers, and composer
  • Redesigned Home / DM menu layout with improved navigation
  • 59 unit tests covering expressions, message actions, and DM context
v1.5.x Feb 22 – Mar 1, 2026
Media & Attachments
  • Added configurable chat media compression with quality and size controls (v1.5.5)
  • Fixed premature blob preview URL revocation
  • Fixed multi-expression uploads and personal expression management
Keybinds & Shortcuts
  • Added configurable keyboard shortcuts with chord binding support
  • Added DM shortcut parity — navigate conversations with keyboard
Mobile
  • Added mobile navigation drawer and message action bottom sheet
Moderation & Permissions
  • Implemented kick and ban membership enforcement
  • Fixed permission bit collisions and online member label
  • Auto-delisted stale discovery invites and synced content prefs
  • Fixed central content preferences source for central accounts
Voice (v1.5.0)
  • Overhauled voice channel UI and added voice moderation menu
  • Added slowmode UI and improved voice session handoff
CI / Self-Hosted Windows Runner
  • Allow selecting a self-hosted Windows runner for manual builds
  • Use PowerShell and Windows PowerShell on self-hosted runner
  • Tighten SSH key ACLs and retry SCP deploy in a single connection
  • Fix self-hosted known_hosts ACL rewrite on reruns
  • Skip artifact upload for self-hosted Windows deploys
  • Auto-delete Windows build artifacts after deploy
Bug Fixes
  • Fixed DM presence indicators, reactions, and message UX
  • Fixed profile UI menus and server profile sync edge cases
  • Fixed friend refresh throttling and expression picker errors
  • Fixed AppLayout friend refresh calls for current store API
v1.4.x Feb 16 – 21, 2026
Permissions
  • Migrated to grouped permission mappings with safe high-bit flags
  • Added category overwrites and channel/category sync
  • Enforced channel overrides across chat and voice
  • Refreshed online role presence after permission changes
Encrypted Chat (Secure Mode)
  • Added one-way secure mode for encrypted message storage
  • Auto-generated secure mode key and updated env templates
  • Migrated existing plaintext messages when secure mode is enabled
  • Fixed secure-mode crypto caching causing plaintext live writes
  • Auto-healed plaintext message rows on secure-mode startup
  • Prevented secure key drift and enforced key hash consistency
  • Added db-encrypt-legacy diagnostic command
  • Added developer panel console command runner UI
  • Added admin console-command API fallback for diagnostics
  • Added runtime console commands for DB and secure-mode diagnostics
  • Showed encrypted lock badge in channel header when secure mode is locked
  • Added secure server info modal accessible from encrypted badge
Embeds & Link Previews
  • Added server embeds, branding assets, and custom expressions management
  • Added generic link previews with safe server-fetch route
  • Added direct Twitch and Twitter embeds; removed empty preview fallback
  • Fixed Twitter/VX embeds by removing twitframe and using vx API previews
  • Proxied Twitter media through signed same-origin embed endpoint
  • Resolved relative embed proxy URLs against active server API base
  • Showed metadata block for media embeds (poster/content)
  • Added direct Kick channel and VOD iframe embeds with official metadata
  • Added fixvx.com to trusted and Twitter-like embed handling
  • Opened embed images in media viewer modal
  • Supported multi-image X/Twitter embed galleries
  • Used official Instagram embed iframe in chat previews
  • Fixed YouTube embed error 153 on desktop
  • Fixed Twitch embed CSP handling in desktop
  • Enriched desktop Twitch fallback with profile metadata
Expressions / Emotes
  • Auto-normalized expression sizes with generated variants
  • Added emotes settings tab with size slider
  • Overhauled emote tokens and added shortcode matching
  • Enlarged emotes and compacted expression tokens
  • Supported :name:userId: personal tokens and managed uploads
  • Added personal emote storage with auto variants
  • Prioritized personal expressions in pickers and matcher
NSFW / Content Controls
  • Hid NSFW channels server-side unless explicitly enabled
  • Moved NSFW permission gate notice from sidebar into channel view
  • Auto-blurred tagged NSFW media based on user subtag preferences
  • Showed NSFW subtag labels on blur overlays
  • Added pre-send NSFW attachment tagging with persistence
Discovery
  • Added Discover page and owner-gated server publishing
  • Allowed legacy owner role for publish controls
  • Fixed mixed-content checks for HTTP-only servers in discovery UI
  • Added server modal hosting notice and publish docs backup
Invites
  • Hardened invite registration flow and improved invite modal UX
  • Derived self-host invite origin from request host, not browser origin
  • Probed HTTPS first, then HTTP fallback for server URLs
  • Routed invite actions back to /app instead of landing root
  • Animated backdrop stars and skipped startup splash on invite routes
  • Added subtle breathing white border glow to invite cards
  • Resolved public server IP when host is unroutable (0.0.0.0/localhost)
  • Surfaced clear HTTPS/HTTP connectivity errors when accepting invites
  • Returned clear port-forwarding error when public endpoint is unreachable
  • Embedded CatRealm invite links into in-app modal
Profile & Banners
  • Added per-server profile banner controls with central fallback
  • Auto-synced central banner and avatar on server load/switch
  • Fixed profile modal asset resolution for server-uploaded banners
  • Fixed profile route collisions and central banner fallback noise
  • Used central content-social preferences for central accounts
  • Disabled cross-API profile fallback while in server context
Desktop App & Auto-Updater
  • Added opt-in dev update channel and Updates settings tab
  • Added desktop update banner with Electron updater actions
  • Showed dynamic client build label in settings footer
  • Scheduled periodic desktop update checks by channel
  • Polished update settings warning animation and NSIS branding
  • Added splash screens and updated app icon to CatRealm cat logo
  • Smoothed banner transitions and lengthened startup splash
  • Hardened Windows shutdown path and disabled auto-install on quit
DMs
  • Added DM reactions and attachments
  • Added DM quick reaction picker
  • Fixed DM composer parity
  • Added color-coded status indicators for DM users
  • Fixed DM status and timestamp issues
Landing Page
  • Updated landing with favicons and server download dropdown CTA
  • Scaled up landing page typography and layout
  • Shifted landing background to dark purple tone
  • Expanded privacy summary coverage across web and in-app modal
  • Made landing server download commit tag dynamic
  • Enabled landing page client download button
Miscellaneous Fixes
  • Fixed self edit/delete ownership for central server sessions
  • Allowed editing and renaming the default member role
  • Honored 24-hour setting across chat and moderation
  • Set DarkCat as default theme and moved RetroDiscord to bottom
  • Prevented premature blob preview URL revocation
  • Fixed Git issue when downloading from .zip
  • Added offline servers indicator and modal
  • Added verbose auto-update checks with voice-aware runtime gating
  • Added selfhost auto-update launcher, egg repo wiring, and env examples
v1.4.0 Feb 14, 2026
Features
  • Comprehensive feature enhancement and dynamic version tracking
  • UI improvements: replaced sliders with number inputs and added toggles
  • Made version display dynamic in Settings UI
  • Separated client and server version display
  • Fixed "0" appearing after channel names
  • Added Content & Social tab to user settings (NSFW filtering, URL-based template import)
  • Added comprehensive template import safety system with verification and real-time status
  • Fixed template import to use Discord API instead of HTML scraping
  • Added Discord-only permissions for template import compatibility
v1.3.0 Feb 14, 2026
Permissions
  • Comprehensive permission system overhaul
  • Added granular channel and role permission controls
Server Settings
  • Discord-style server settings overhaul
v1.2.0 Feb 13, 2026
Encrypted Direct Messages
  • Implemented end-to-end encrypted direct messages
  • Added real-time socket delivery for DM messages
  • Fixed syncKey retrieval in DM store
  • Fixed field naming in DM conversations API
  • Fixed avatar URLs in DM components
Voice Chat & Screenshare
  • Added TURN servers for WebRTC NAT traversal
  • Added coturn integration and TURN mode configuration
  • Used deterministic WebRTC offerer election to avoid glare collisions
  • Hardened voice signaling for join race and stale socket mappings
  • Added voice state resync event for cross-client mute/deafen consistency
  • Synced voice mute state across sessions
  • Added TURN_FORCE_TCP option for restrictive-network reliability
  • Preserved remote audio stream across screenshare track updates
  • Tracked global voice room counts and showed accurate voice occupancy
  • Showed voice members in sidebar and made voice text chat toggleable
  • Fixed voice ring clipping and improved remote speaking detection
  • Rendered remote screenshare tiles in voice channel UI
  • Stabilized screenshare renegotiation and concurrent offer handling
  • Auto-reconnected peers on ICE failure and showed RTC reconnecting status
  • Fixed missing outbound audio track during voice negotiation
  • Expanded voice debug panel with peer connection state details
Privacy
  • Added privacy summary modal and public privacy page
  • Served privacy summary at /privacy/ on static landing
Central Account & Auth
  • Auto-loaded hCaptcha keys and exposed runtime site key config
  • Encrypted auth secrets at rest and auto-provisioned encryption key
  • Re-issued central server tokens on login restore
  • Isolated central account server lists across logout/login
  • Added configurable default avatar for new central and local users
  • Added central/local username blocklists and deduped reserved names
  • Broadcast and applied live server-info updates
  • Synced central display names into mixed self-host users
  • Showed display names in user footer/profile bar
Invites & Server Joining
  • Completed invite system with all enhancements
  • Added central masked invite system
  • Fixed invites route to use authenticateToken instead of requireAuth
v1.1.0 Feb 13, 2026
Major Features
  • Display Names — Users can set a custom display name separate from username
  • Custom Status — Users can set a custom status message
  • Reply / Forward — Added message reply and forward support
  • Verified Badges — Added verified badge system
  • Fixed voice chat regressions
Self-Hostable Server
  • Bumped self-hostable server version to 1.1.0
  • Fixed index creation ordering (columns exist before indexes are added)
  • Added version detection system with update banner
v1.0.x Feb 12, 2026
Initial Release
  • Initial commit — CatRealm base platform
Voice & Screenshare
  • Voice chat with screensharing and E2EE foundations
  • Fixed TypeScript strict mode errors
Members & Sockets
  • Showed all server members in sidebar with online/offline indicators
  • Kept socket alive on home page
  • Added socket synchronization for central status
DNS & SSL
  • Added DNS-01 challenge support for Auto-SSL (Cloudflare)
  • Defaulted DNS provider to Cloudflare when API token is set
Pterodactyl Egg
  • Added and updated Pterodactyl egg configuration
  • Added easy startup scripts for non-Pterodactyl hosting
  • Added automatic Node.js installation with UAC support
  • Fixed Pterodactyl graceful shutdown handling