=== ZenCommunity – Community, Forum, Social Network, Chat & Support Tickets ===
Contributors: kodezen, tusharimran
Tags: community, forum, social network, membership, lms
Requires at least: 6.8
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 3.1.0
License: GPLv3
License URI: https://opensource.org/licenses/GPL-3.0

Build a modern online community in WordPress: spaces, social feeds, discussion forum, events, polls, member profiles, chat and support tickets.

== Description ==

**ZenCommunity is an all-in-one WordPress community plugin.** Create a private or public online community, discussion forum or social network on your own site, with spaces, activity feeds, member profiles, events and polls. Add real-time messaging, a help desk and live chat with ZenCommunity Pro.

No third-party platform, no monthly per-member fees: your members, content and data stay in WordPress.

https://www.youtube.com/watch?v=HtTed0ArtCA

[Website](https://zencommunity.pro) | [Pricing](https://zencommunity.pro/pricing) | [Official Community](https://community.kodezen.com)

= Why ZenCommunity? =

Most sites stitch together a forum, a chat app, a help desk and a live chat widget. ZenCommunity puts them in one fast, native app, so conversations, questions and support requests never get scattered.

* **Launch in minutes** with a guided Setup Wizard and community-type presets.
* **Looks great anywhere**: app-style community page, or build your own layout with Full Site Editing blocks.
* **Dark & light mode**, your brand colors and logo, and your theme's font.
* **Translation-ready** and accessible.

= Community & Social Network Features =

* **Spaces and groups** – unlimited public, private or hidden spaces, organized into collections, with their own feed, members, rules and settings.
* **Social activity feed** – posts with images, media, GIFs, emoji, feelings, background colors, @mentions and #hashtags.
* **Comments & reactions** – threaded replies, emoji reactions, link previews and bookmarks.
* **Post types** – regular posts, polls, Idea posts with up/down voting, anonymous posts and scheduled posts.
* **Events** – group events with RSVP.
* **Member profiles** – display name, pronouns, cover, about, activity, connections, badges and a profile-completion bar.
* **Member directory & search** – find members, posts and spaces instantly.
* **Notifications** – in-app and email, with instant, daily or weekly digest delivery.
* **Featured posts, media gallery, welcome banner** and configurable sidebar widgets.
* **Moderation** – member approval, first-post approval, reports, warn, mute, timed suspend and ban.
* **Roles & permissions** – a role manager to control who can view, post and moderate.
* **Login & registration** – built-in pages or your own; members-only communities.
* **Safety** – optional date-of-birth field with minor-safe messaging.
* **Full Site Editing** – community blocks for the Site Editor, plus shortcodes.

= Pro Features =

[ZenCommunity Pro](https://zencommunity.pro/pricing) adds:

* **Real-time messaging** – private and group chat with typing indicators, read receipts, file sharing and chat heads.
* **Support ticketing / help desk** – turn any post into a ticket; assignees, statuses, priorities, canned replies, internal notes, CSAT ratings, auto-close and guest tickets.
* **Live chat widget** – real-time website chat, even across domains, with multiple sessions, file sharing, agent profiles and business hours.
* **AI support agent** – answers tickets and live chats from your knowledge base, built from your docs or a crawled website.
* **Reports & analytics** – members, spaces, events and content trends, leaderboard, activity heatmap and CSV export.
* **Audio and video spaces**, team posts, anonymous comments, Top Ideas sorting.
* **Follow & block** members, social login and WordPress comments integration.

= Integrations =

**LMS community** – share course activity (enrollments, completions, lessons, quizzes, Q&A) to your community feed automatically with:

* [Academy LMS](https://academylms.net) – the deepest integration: course catalog, curriculum, enrollment, reviews, Q&A and certificates right inside the community.
* Tutor LMS
* LearnDash
* LearnPress
* LifterLMS
* MasterStudy LMS

**More** – GameEngine gamification (points, ranks, badges, leaderboard), email notifications and a migration tool to move from other community plugins.

= Who is it for? =

Online courses and LMS sites, membership sites, coaches and creators, SaaS and software companies, e-commerce stores, agencies, clubs and local groups, and internal teams.

= Performance =

ZenCommunity runs entirely on your WordPress site. Pages load the data they need in a single request, real-time features use lightweight scripts, and no external service is required for the community to work.

== Source Code ==

The compiled JavaScript and CSS in `assets/build/` are generated from human-readable sources kept in the public repository:

https://github.com/kodezen/zencommunity

* JavaScript/React sources: `dev_zencommunity/` (admin app in `dev_zencommunity/Admin/`, block editor integration in `dev_zencommunity/fse/`)
* Build configuration: `package.json`, `webpack.config.js`, `tailwind.config.js`, `tailwind.admin.config.js`, `postcss.config.js`
* PHP dependencies: `composer.json`

To build the assets yourself:

1. Clone the repository and install Node.js 20 or later and Composer.
2. Run `npm ci --legacy-peer-deps`, then `npm run build` (compiles everything into `assets/build/`).
3. Run `composer install` to install the PHP dependencies.

== External services ==

ZenCommunity works entirely on your own site. It contacts an external service only in the cases below.

= Kodezen usage insights and deactivation feedback (store.kodezen.com) =

ZenCommunity uses the StoreEngine SDK to talk to Kodezen's store at https://store.kodezen.com/.

* **Usage insights (opt-in only).** After installation, an admin notice asks whether you want to share usage data. Nothing is sent unless an administrator clicks "Allow". If you allow it, the plugin sends: site URL and name, admin name and email, server IP address, operating system, WordPress/PHP/MySQL and server versions, PHP settings and extensions, locale, multisite status, the active theme, active and inactive plugins, and the plugin version. After that it reports the same data about once a week. You can opt out at any time under ZenCommunity → Settings → License.
* **Deactivation feedback.** When you deactivate the plugin, an optional form asks why and lists what will be sent. Only if you click "Submit & Deactivate" does it send the reason, any comment you type, your name and email, the site name and URL, and the usage data listed above. Choosing "Skip & Deactivate" sends nothing.

This service is provided by Kodezen: [Terms of Use](https://kodezen.com/terms-and-conditions/), [Privacy Policy](https://store.kodezen.com/privacy-policy/).

= Link previews (the websites members link to) =

When a logged-in member hovers over a link in a post or comment, your site fetches that link's page once to show its title, description and image in a preview card. The request goes from your server to the linked website, and sends only the page address and a user agent that names your site. Nothing about the member is sent. For video and media links (for example YouTube or Vimeo) the details come from that service's public oEmbed endpoint, from the list of providers built into WordPress, instead of the page itself. Results are cached for a day. The preview image is then loaded by the member's browser from the linked website. Nothing is fetched until someone hovers over a link, and logged-out visitors see only the address. Developers can turn this off with `add_filter( 'zencommunity/link_preview/enabled', '__return_false' );`. Each linked website's own terms and privacy policy apply.

= Links to other Kodezen products =

The "Extend your Community" dashboard section and the Live Chat settings link to product pages and downloads on https://store.kodezen.com/. These are plain links that open in your browser, and no data is sent until you click one. Products hosted on WordPress.org (for example GameEngine, GemBooking and Zaplane) are installed only when an administrator clicks "Install". They come from WordPress.org through WordPress's own plugin installer.

== Installation ==

1. In your WordPress admin, go to **Plugins → Add New**, search for "ZenCommunity" and click **Install Now**, then **Activate**.
2. Follow the **Setup Wizard** to name your community, pick a community type and choose modules.
3. Visit your community page and invite your members.

Make sure pretty permalinks are enabled under **Settings → Permalinks**.

== Frequently Asked Questions ==

= Is ZenCommunity free? =
Yes. Spaces, feeds, comments, reactions, polls, events, profiles, notifications, moderation and LMS integrations are free. Messaging, support tickets, live chat, the AI agent and reports are part of ZenCommunity Pro.

= Can I use ZenCommunity as a discussion forum? =
Yes. Each space works as a forum board with threaded comments, Idea voting, hashtags, search and moderation.

= Can I create a private, members-only community? =
Yes. Make the whole community members-only, or set each space to public, private or hidden and choose which roles can view it.

= Does it work with my LMS? =
Yes. ZenCommunity integrates with Academy LMS, Tutor LMS, LearnDash, LearnPress, LifterLMS and MasterStudy LMS.

= Does it work with my theme and page builder? =
Yes. The community page works with any theme, and block themes can build custom layouts with the Full Site Editing blocks.

= Does it support real-time chat? =
Yes, with ZenCommunity Pro: private messages, group chat and a website live chat widget.

= Can I turn community posts into support tickets? =
Yes, with ZenCommunity Pro. Any post can become a tracked ticket with one click.

= Is it translation-ready? =
Yes. All text can be translated, and relative times follow each language's plural rules.

== Screenshots ==
1. Community Feed
2. Create Posts, Polls & More
3. Private Messaging
4. Support Ticketing
5. Live Chat

== Changelog ==

= 3.1.0 - 08/11/2026 =
* Added - Stories (with ZenCommunity Pro's Stories add-on): a row of story cards above the feed, a composer for photos, short videos or text on a coloured background (with @mentions, a live preview, and text you can drag, resize and rotate), a full-screen viewer with tap, keyboard and pause controls, private replies and a private archive on your own profile. Members choose how long a story stays up, up to the longest time an administrator allows, and can add a link that appears as a button under the story. A member with a story you can watch gets a ring around their avatar on posts, comments and profiles, and the viewer's settings icon changes who can watch it (Public, Followers or Only me). Nothing shows until an administrator turns the add-on on.
* Added - Several pictures can be selected at once when writing a post or a comment (up to 10 each).
* Added - Inline post editor (Settings > Customization, off by default): the post editor starts small and grows with the text, and the formatting toolbar appears over selected text. Comments, tickets and chat are unchanged. Needs ZenCommunity Pro.
* Added - Ad slots in the feed, the sidebar, between comments and between stories, drawn as a highlighted "Sponsored" card. Settings > Ads sets where the first ad in the feed and between comments appears and how often it repeats, where the sidebar ads sit among the widgets (top, after the first widget or bottom) and how often an ad appears between stories. The ads themselves come from ZenCommunity Pro.
* Added - Settings tabs for Policies, Policy acceptances, Parent and Ads (needs ZenCommunity Pro).
* Added - Labels (Settings > Labels): rename what the community calls a Group, Collection, Ticket, Feed, Bookmarked and the About and Connections profile tabs, for example Group to Class, without a translation plugin. Menus, pages, buttons, empty states and new notifications follow; clear a name to go back to the default. Needs ZenCommunity Pro.
* Added - Menu Settings: a Rename action on Feeds, Groups, Members and the other built-in menu items. Only the label changes; the address and what the item opens stay as they were. An empty name brings the default back. Needs ZenCommunity Pro.
* Added - Profile fields: add your own text, select or multi-select questions to members' About tab and choose which also show on the member hover card. Not yet shown in Settings.
* Added - Comments can be voted on (Settings > Customization > Vote on comments, off by default): members upvote and downvote comments instead of reacting to them, and a post's comments can be listed Top (best first). Needs ZenCommunity Pro.
* Added - A member's pronouns show in their hover card when filled in.
* Added - Settings for how much of a post and of a comment shows before "See More" (Customization), by default about 10 lines of a post and 7 of a comment.
* Added - A Customization switch to hide the cover placeholder image shown for groups and profiles without a cover. It stays on by default.
* Added - Links in notification and digest emails sign the member in: a one-time link that works for 48 hours, never for administrators, with failed attempts limited. Turn it off under Email > Mailing settings.
* Added - Groups sidebar (Settings > Sidebar): a second list of widgets for group pages, next to the global sidebar. Members, About and Recent activity are widgets (the old layout is the default), and every widget's heading can be changed. Needs ZenCommunity Pro.
* Added - A Group rules widget: group admins add and edit the group's rules in place on the group page.
* Added - A "My store" tab on your own profile (when StoreEngine is active) with your orders, downloads and addresses. Paying and changing addresses open the store's own pages.
* Added - Administrators: every image button opens the WordPress media library. A library picture is used as an attachment without being copied, and the community never deletes a file outside its own folder.
* Added - Profile picture: a member's community picture and WordPress picture stay in sync both ways, and a member with no picture of their own gets their Gravatar copied in.
* Added - Privacy and data (in a member's account): ask for a copy of your data, emailed as a link that expires once you confirm by email, see your notification and cookie choices, and delete your account (your posts and comments stay as written by "Deleted user"). WordPress's export and erase tools now cover everything ZenCommunity keeps about a member: profile, points, settings, posts, comments, reactions, bookmarks, groups, events, polls, notifications, badges and files. Needs ZenCommunity Pro.
* Added - Settings > Privacy: how long the export link works, whether exports are prepared without an administrator, what "Delete my account" does (delete once confirmed, wait for an administrator, or not offered), a link to your cookie preferences page (for example a Complianz or Termly page), the request log and an audit log of every export, erasure and deletion.
* Added - Policies in the app: a member who has not accepted a new or revised required policy is asked to before continuing, and sees what they accepted, with a print view, under Policies on their own profile (needs ZenCommunity Pro).
* Added - Parent (needs ZenCommunity Pro): a My family section on the member page where parents, students and link requests are managed, and a Parent tab in Settings.
* Added - Settings > Privacy: members under an age you choose can send and receive private messages only with moderators and admins (needs the Date of Birth field; 0 turns it off).
* Added - Moderation (needs ZenCommunity Pro): a moderator can write a comment as "the moderation team" (shown as Moderator; only the group's moderators see who wrote it), merge a post into another post of the group (the old address redirects) and move a comment and its replies into a post of their own. Site moderators get a Moderation panel on a member's profile (warn, silence, suspend, ban, lift, history and private notes), and a suspended member's profile shows the days left.
* Added - Settings > Content moderation: report reasons you manage, a name for deleted members, automatic silence and flag weights by trust level (needs ZenCommunity Pro).
* Added - The Migration screen has a Dry run button. It reports, for each kind of row, what a run would add and what it would skip and why, and the finished run reports what it skipped. Nothing is changed by a dry run.
* Added - GemSecurity integration (when GemSecurity is active): its lockout applies to community sign-in (the visitor gets a "too many attempts" answer with a wait time), sign-up and password reset requests are limited per address, and all of it is logged in GemSecurity as community activity.
* Added - Privacy and data: members see their recent sign-ins (device and a masked address) and can sign out their other devices. Sign-ins are part of the data export and erase.
* Added - Settings > Login & Registration: request limits for the community's REST API, 50 a minute for a signed-in member and 30 for a visitor by default (10 to 5000; a value outside that range is corrected), while GemSecurity is active. GemSecurity's own limit stays the floor.
* Added - A feature that needs a Kodezen product (GemSecurity, GameEngine, TruePlayer) shows what it needs and one button (Install & Activate, Activate, or a link), with the real settings blurred behind it. Social login keeps a GemSecurity notice until GemSecurity's social login is switched on.
* Added - New ticket: attach files (images, PDF, documents, video, CSV, zip, JSON) with the clip at the end of the editor toolbar, with the same limits as a reply. Files are uploaded when the ticket is created.
* Added - Extension points for ZenCommunity Pro and other extensions: notification categories (zencommunity/notification/category); reports on other kinds of content (zencommunity/report/object_types, report/can_report, report/status_updated and report/note_required); a size limit per media type for uploads that are not images (zencommunity/attachment/max_file_size_kb); the community page title (zencommunity/app/title) with Helper::community_path() and community_url(); moderation (zencommunity_assert_can_write() on the post and comment paths, zencommunity/authorization/blocked, zencommunity/comment/hide_author, zencommunity/feed/redirect and zencommunity/user/status_changed); and privacy (zencommunity/privacy/exporters, privacy/erasers, privacy/anonymize_content and privacy/cannot_delete). Nothing changes until an extension uses them.
* Changed - Pro-only settings are marked as such: the inline editor, comment votes, renaming menu items, custom names, the Groups sidebar, group chat, anonymous posts and the member Privacy and data page carry a PRO tag, are off without ZenCommunity Pro, and are visible to site administrators only. Pro settings pages open with their settings blurred behind an upgrade card instead of an upgrade dialog on click.
* Changed - The upgrade dialog on the community matches the one in the admin, and the sidebar's Upgrade link is a Pro card (administrators only).
* Changed - The Migration screen has a new layout: a summary of what is in the source, what is migrated and what remains, an overall progress bar, a row with progress for each kind of item, collapsible options, and a table for the dry run result. A source that is not available is shown as a single line.
* Changed - The Labels settings are now a card under Menu Settings, with its own Save button; the separate Labels entry is gone and an old ?tab=labels link opens Menu Settings.
* Changed - The About tab is now the first profile tab (a profile still opens on Feed), and the Connection tab is called Connections by default. Sites that have reordered their profile tabs keep their order.
* Changed - Reports: the reasons offered, and their names in the moderation queue and the story reports, now come from a list a site can manage (ZenCommunity Pro); without it they are the same six as before.
* Changed - Deleting your account from the old one-step route no longer deletes at once: it starts the confirmation by email.
* Changed - Account pages: Notifications, Privacy and data and Family share one row of tabs, and Family is called Parent.
* Changed - The policy notice is a floating bar with Expand and Accept; the full text and the checkbox are in a modal.
* Changed - Picture addresses accept a full URL (for example pictures offloaded to a CDN), not only a path on this site.
* Changed - A ticket reply stays in the editor until it is sent; if sending fails the text is kept with a Retry button.
* Changed - The formatting row above an editor scrolls sideways when it does not fit, instead of being cut off, and the duplicate picture button under the editor is gone.
* Changed - On phones, the Product, Type, Priority, Assignee and AI settings of New ticket collapse into a side rail that opens over the editor.
* Changed - On a post in a group you have not joined, the Comment button is disabled and a note offers Join group.
* Changed - On a ticket page, the three-dots menu that only held Copy link is a single copy-link button.
* Changed - Ticket auto-close settings are on by default.
* Improved - Comments and reactions appear at once and are put back, with a message, if the server refuses them. Quick clicks on a reaction are sent one at a time, so none is lost when a list of posts finishes loading late; the reaction routes answer with the new counts.
* Improved - Editors: Ctrl/Cmd+K opens the link box in every editor, pasting a web address over selected text links it (one undo step), the link box and formatting bubble are no longer clipped by a post card, and the comment box grows to 200px and then scrolls.
* Improved - The group Discussion tab uses the full width when no widget is turned on for the Groups sidebar.
* Improved - Ticket messages: Reply, Edit, Delete and Pin have tooltips, Delete asks first, only one reply box shows at a time, a reply opens in view with the cursor in it, and the time of a message shows the exact date on hover.
* Improved - Group titles wrap instead of being cut off in the header and the sidebar, and group cards are the same height, with two lines of description.
* Fixed - Reacting to a post removed your reactions on its comments, a post's counts included reactions on its comments, and its like count held whichever reaction was used last. Each reaction on a post or a comment is now its own, and the like count is the total.
* Fixed - With Subgroups on, the Groups page listed every subgroup next to its main group; it now lists main groups only.
* Fixed - Community sign-up failed when GemSecurity's anti-spam was on.
* Fixed - The header menu was not centred in the top bar, group card names did not line up with their descriptions, group titles lost the bottom of letters like g and q, and the Moderation list had a blank left margin.
* Fixed - In dark mode the ticket header's back arrow and pinned-messages icon were almost invisible, and the group, name and counts in the search results were hard to read.
* Fixed - On phones the slide-in menu stayed open after choosing an item, and the three-dots menu on a post overlapped the header when scrolling; the first now closes on a choice and the second on scroll.
* Fixed - New ticket: the title was cleared when you opened the description.
* Fixed - Ticket page on phones: the ticket title was hidden behind the header, and the page had a second menu button next to the header's.
* Fixed - A long attachment name pushed a ticket reply off the screen; names are shortened with the start and the extension kept.
* Fixed - Ticket cards on a member's profile and notifications showed stored HTML (such as <div><br></div>) as text.
* Fixed - Undoing a list or heading shortcut in the ticket editor, images shown twice on a post card, and extra clicks on the ticket status menu while an update was pending.
* Fixed - Search results overlapped on narrow screens.
* Fixed - My groups and My bookmarks in the avatar menu did nothing when you were already on your profile.
* Fixed - The Top Ideas sort failed with "Invalid parameter(s): order_by" when ZenCommunity Pro was active.
* Fixed - A group's member count counted members of other groups, and the Members tab and sidebar said "No member found" when the group hides its member list; they now give the real total or say why the list is hidden.
* Fixed - Pin was offered to people who cannot pin, and a refused action said "Please login" to a signed-in member; Pin is for support agents and admins, and a refusal now says why.
* Fixed - Tooltips were squeezed into a thin strip when the element they hang from is small (the clip in the edit form).

= 3.0.7 - 01/11/2026 =
* Fixed - Guests and members could list other people's drafts, scheduled, pending and rejected posts, and drafts showed in the feed. Those posts are now visible only to their author and, for pending and rejected posts, to the group's admins and moderators.
* Fixed - A member could publish their own pending or rejected post, or skip a group's post approval, by editing it or by scheduling it.
* Fixed - Anyone logged in could comment on, or react to, a pending, rejected or scheduled post, and could report posts and comments they could not see (or that did not exist).
* Fixed - The files of a pending or rejected post showed in its Space's media tab and on the author's profile media tab to people who could not see the post.
* Fixed - A post waiting for approval, a draft or a scheduled post was announced in Recent Activity and notified the whole group before it was published; it is now announced when it is published. The new-posts counter no longer counts them.
* Fixed - A group's "Who can view members" setting was read from the first user's memberships for the rest of the request; memberships are now looked up per user.
* Added - Collections can hide the member lists of their Spaces from everyone but the Space's admins and moderators, can be shown only to people who belong to one of their Spaces, and can have a logo and a cover image.
* Added - A Space can use a Compact feed layout and can hide its sidebar.
* Added - Move a Space into another Collection, or back to Uncategorized, from the REST API (POST /group/{id}/move).
* Added - Extension points for feed, comment and report features, used by ZenCommunity Pro's topics, hashtags and content moderation.
* Added - Reaction types and how each reaction looks can be changed by an extension (zencommunity/reaction/types and zencommunity/reaction/definitions); ZenCommunity Pro's custom reactions use them. Without one, the six reactions are exactly as before.
* Added - The reaction picker can be opened from the keyboard: Arrow Up or Down on the Like button, then the arrow keys, Enter and Escape.
* Changed - The notification you get when someone reacts names the reaction by its label ("Love") instead of its key ("love").
* Fixed - A reaction that nothing defines any more (for example, after an extension is switched off) shows a generic icon in the counts instead of disappearing.
* Fixed - Adding a Subgroup in the Spaces manager with a name used under another parent was refused with "Slug already exists" and closed the form.

= 3.0.6 - 26/10/2026 =
* Fixed - A long welcome banner button, profile/group tabs, member filter pills, and the logged-in mobile header could push the page wider than the screen instead of wrapping or scrolling.
* Fixed - A group description longer than 140 characters didn't clip correctly, and "See more" didn't let the full text wrap.
* Fixed - The About/Recent Activities sidebar was squeezed to about 114px wide at 1024px screens.
* Fixed - Buttons could render as blank white boxes in dark mode when the primary color was set to white.
* Fixed - A deleted or inaccessible post loaded forever instead of showing a message.
* Fixed - A truncated link pasted into a comment could show as raw HTML in Recent Activity and widen the sidebar.
* Fixed - The top navigation menu could overlap its icon when a custom menu item was added.
* Fixed - The sign-in page showed the full site header, including a duplicate Signup link, even when the community is restricted to logged-in members.
* Fixed - Signup redirected to WordPress's own registration page instead of ZenCommunity's, even when "ZenCommunity (built-in)" was selected and registration was already allowed.
* Fixed - An image attached directly in a ticket's first message had no way to view it full-size.

= 3.0.5 - 20/10/2026 =
* Changed - Reply threads in comments are indented at most three levels. Deeper replies stay in the thread, lined up with the reply they answer.
* Changed - The light-mode primary color is back to #2A3BEE. Sites already switched to #006BFF by the 3.0.4 palette update are moved back; custom colors are kept.
* Changed - The ticket cards on a member's profile have a new look: a status badge, type and priority colors taken from your ticket settings, a title that opens the ticket, and a Responses button.
* Fixed - A "Request failed with status code 401" error appeared on the login page when a logged-out visitor opened a members-only community.
* Fixed - Searching in Messages could crash the page ("o.filter is not a function") before the results arrived.
* Fixed - Opening a Support Chat showed a "Message already seen." error.
* Fixed - The Sent/Seen label in chat now sits under the message instead of inside it.
* Fixed - Conversations in Messages are listed by their latest message; group chats no longer stay above newer private chats.
* Fixed - A profile tab with no content of its own (for example Engineering) showed a blank area; it now shows an empty state.

= 3.0.4 - 18/10/2026 =
* Changed - Refreshed colors across the admin, frontend and setup wizard with new light and dark palettes. Sites still using the old default colors are updated automatically; custom colors are kept.
* Changed - Community pages now use the active theme's font instead of the bundled Inter font.
* Changed - The admin submenu now uses WordPress's standard menu styling.
* Changed - Settings and Tools use a full-width layout with a collapsible, grouped side menu, and the settings content scrolls on its own.
* Changed - Cards and panels use borders instead of shadows.
* Changed - The new ticket form pre-selects the product, type, priority and assignee.
* Changed - The "Ticket list" back link always opens the tickets page.
* Changed - Guests can open the mobile and tablet menu, and the Follow button is hidden for guests and on your own member card.
* Improved - Ticket sidebar: lighter selected card, bordered search field and easier-to-read status labels.
* Improved - Primary buttons stay filled in dark mode, and the active menu item and role badges use the brand color in both modes.
* Improved - Added accessible labels to the search, theme toggle, view switch and more-options buttons.
* Improved - Clearer wording: a "Groups" heading, correct plural member counts, a "No more members" message and an empty state for Courses.
* Fixed - The width of ticket cards in the ticket details sidebar.
* Fixed - Column widths in the ticket table, and status labels that were hard to read in dark mode.
* Fixed - The group hover card popup.
* Fixed - Link colors and link previews in comments.
* Fixed - Community menu links (Feeds, Groups, Members) and the profile tabs no longer break on translated sites. They were chosen by comparing the translated menu name, which led to 404 pages and empty profile tabs; each menu item now has a language-independent key.
* Fixed - Relative times ("2 hr ago", "in 3 days") are translated and follow each language's plural rules; the chat screens no longer force them back to English.
* Fixed - Group privacy labels (Public, Private, Hidden), member roles and ticket statuses are translated everywhere they appear.
* Fixed - "Select…" and "No options" are translated in every dropdown, including the settings screens and the guest ticket and engineering forms.
* Fixed - Success messages such as "Group created successfully" can now be translated.
* Fixed - Add-on names and descriptions, role names, menu names, email notification templates and several buttons, labels, alt texts and prompts (editor, audio recorder, live chat defaults, ticket filters) can now be translated.
* Fixed - Sentences that were assembled from separate pieces ("Edit %s", "Unblock %s", "%s's Profile", member counts, new post counts) are now translated as whole sentences, so word order and plurals work in other languages.
* Fixed - Reading the settings no longer raises a PHP warning on a site that has not saved the account-deletion option.
* Fixed - A post's "feeling" now reads "😀 Feeling Happy" instead of the misspelled "is 😀 felling happy".

[See the full changelog](https://plugins.svn.wordpress.org/zencommunity/trunk/changelog.txt).

== Upgrade Notice ==
