Better Messages 3.0
The largest release yet — the messenger redrawn from top to bottom, the WordPress Customizer replaced by a full Appearance tab with palettes, light and dark value sets, typography and a live preview, and a Mobile App page out of alpha that the free version can see and set up.
Every surface of the messenger is new — the conversations list, the conversation itself, mini chats, popups, pickers and the call screens — while the layout and the workflows stay where members expect them.
Styling moved out of the WordPress Customizer into the plugin's own Appearance tab, with a live preview beside the controls. Six sections — Colors, Conversation, Layout, Typography, Mini widgets, Mobile — six palettes (Graphite, Evergreen, Sandstone, Indigo, Ocean, Rose), a separate light and dark value for every color, and per-scope colors for mini chats, mini widgets and mobile. Underneath it is CSS custom properties. Colors and sizes set in the Customizer are migrated on upgrade, and the messenger's font can now be chosen at Appearance → Typography without CSS. The design system is not WebSocket-gated.
New alongside the redesign: location messages with a map picker and a new Location tab; video messages through the Voice and Video Messages add-on 2.0; per-conversation translation that now reaches group conversations, chat rooms and chat bots; automatic transcription of voice messages, and AI chat bots that can be spoken to; an offline outbox that holds messages and files until the connection is back; and a device cache that survives plugin updates, trims itself, and can be inspected or cleared by the member, or reset site-wide from Tools.
Smaller but daily: uploads report conversion, optimization and type checks per file; a reply to a photo or file carries its thumbnail; the attachments list jumps to the message a file was sent in; answering a call on one device stops the others ringing; and settings and design now export to a file as well as import.
The Mobile App page left alpha, and the page itself is now in the free version — the builds are not. App name and artwork, the App Store Connect connection, App IDs and certificates, the Firebase files, the Android keystore and the store screenshots are all set up without a licence and kept for an upgrade; creating a build still needs the WebSocket version, and that is the only screen that says so. A readiness checklist names what is still missing and what it costs you, including the App ID and App Group that screen sharing from the iOS app needs, and the store screenshots are generated by photographing the real messenger at the pixel sizes Apple and Google accept, across five scenes, from fixture conversations rather than your live site.
Upgrading from 2.x needs three checks: custom CSS must be rewritten for the new `bm-` class prefix, caching and optimisation exclusion lists must name the renamed script and style files (`bp-messages*` → `better-messages*`, `bpbm-worker.js` → `bm-worker.js`), and snippets calling `Better_Messages()->customize` stop working — the Customizer integration was removed. No setting was deleted and no default changed.

