- Added admin-managed promo popup campaigns with dedicated index, create, and edit pages and a new “manage popups” permission
- Added an AI Builder for promo popups with a configurable Designer AI
- Added campaign tracking and webhooks for promo popup views and clicks
- Added subscriber counts and CSV export to the promo popup admin
- Replaced the promo popup priority field with drag-and-drop ordering
- Added a per-popup “Hide from rooms” option with helper text
- Promo popups are now hidden from staff and suppressed on user account pages
- Promo popups now appear after a short delay with a slower fade-in, are centered on screen, and scroll long content internally
- Improved the promo popup admin with a compact active toggle, clearer Views and Clicks labels, and an action icon legend in the help panel
- Added Editor and HTML tabs to the rich text editor with custom-HTML detection
- Added image and file uploads to private messages for moderators, with lightbox viewing for image attachments
- Enlarged emoji-only private messages to match room chat
- Improved the appearance of file attachment cards inside message bubbles
- Added nth-weekday monthly recurrence (for example, “second Tuesday”) with timezone-aware calendar expansion
- Added a “View room” link to the chat history page
- Webinar registration display names can no longer contain email addresses
- External services now sync when a subscription is manually activated or deactivated
- Improved background job reliability for long-running tasks