v1.2.6 Latest
October 17, 2026
New 3 Improve 6 Fix 27 Dev 4 Compat 1
New
- Developers can send every BuddyNext Log in link and guest gate to their own login page with the buddynext_login_url filter.
- Space owners can unlink a space's discussion; the forum and every space member stay, and Discussion can be turned on again later.
- The installable app uses your WordPress Site Icon, with the BuddyNext icons as the fallback when none is set.
Improve
- Community moderators can remove any comment, bulk-moderate and review posts from suspended or shadow-banned members without being WordPress administrators.
- Open-ended suspensions, appeals, editing other members' posts and comments, site-wide announcements and role changes are now permissions you can hand to community admins or moderators under Roles & Capabilities.
- Anyone you give "Edit anyone's profile" can now also change a member's self-chosen member type and open the profile editor from a page using the members shortcode.
- Explore shows each integration activity as its own card: events with their date, place and cover, badges with their artwork, and jobs, listings, courses and "open to work" with their details.
- The readme lists the minimum version of each integration plugin and what happens on an older one.
- Every date and time stored in UTC now shows in the site timezone on member and admin screens, through one shared formatter.
Fix
- Finishing a word while @mention or #hashtag suggestions are still loading no longer opens a stale list or inserts "null" into a post or comment.
- Logged-out visitors see the real poll percentages instead of 0% on every option.
- Opening an admin screen whose feature is switched off, such as AI Moderation, now says the feature is off and links to Features, instead of claiming the setting moved.
- On sites using Redis or Memcached, new, deleted and pinned comments show in the comment thread right away instead of after several minutes.
- On sites with an object cache, a member who votes, comments, reacts or edits a post sees the change straight away after reloading the feed, a space or a profile.
- On sites with an object cache (Redis, Memcached), a blog post's card shows its edited title and a featured image added after publishing straight away, not hours later.
- Explore space cards show the space cover, the same picture as the Spaces directory.
- A shared badge shows its artwork and what it was awarded for in the feed, including badges shared before this update.
- A space cover the owner repositioned shows the same part of the photo on Explore and in the Spaces directory as on the space page.
- Initials on the generated picture for members without a photo are readable on every colour.
- A private space's linked forum lets in members who joined the space before the forum was linked.
- Warnings and strikes sent from the app, an integration or the API need a reason, the same as in the moderation dialog.
- The Docs link on the Get Started, Automation and Integration Settings screens opens the matching help page.
- On phones the Spaces directory shows featured spaces once, in the strip at the top, instead of again at the bottom of the page.
- Changing your member type on the edit profile page no longer warns about unsaved changes when you leave; the type already saved.
- With email verification on, a site administrator now reads as verified in the app and the verification status check, matching every page that already let them through.
- Search no longer shows deleted members, including ones removed by another plugin, and the update clears search entries for members, posts and spaces deleted before this version.
- Community moderators are told about new reports, and the notification opens the front-end moderation queue instead of a wp-admin screen they cannot open.
- A post from a shadow-banned member, or a suspended member whose posts are hidden, no longer opens for other members by direct link or through the app.
- Community admins are offered an open-ended suspension in the suspend dialog, as their role allows.
- Space owners and moderators see the new-report setting in their notification preferences.
- Birthdays and other date-only profile fields no longer show a day early or late on sites whose timezone is not UTC.
- Profile Strength no longer counts a section as complete while a required field in it is empty.
- A space moderator can no longer ban or remove a member who outranks them, and moderators can no longer warn, strike, suspend or shadow-ban one; those controls are hidden.
- Notification types that only reach the site owner are no longer offered to members in notification settings or the app.
- After a space unlinks its discussion, banning or removing a member still removes their forum access, and turning Discussion back on offers the old forum.
- The Messages screen shows the standard empty state when you have no conversations.
Dev
- The PHPUnit suite installs its tables before the first test, so it runs on a fresh test database.
- New buddynext_integration_card_types and buddynext_integration_card_preview filters give an integration's activity one label, icon and set of details on the feed and on Explore.
- The password reset email always opens the BuddyNext reset screen, and a login, signup or reset link filter that returns WordPress's own address no longer loops.
- Integration notification types can declare an audience of owner or moderator so BuddyNext offers the setting only to the people who receive it.
Compat
- Tested with Jetonomy 2.0.3, WB Gamification 1.6.7 and BuddyPress Member Blog 4.4.0. Aligned with BuddyNext Pro 1.2.6. Install the updates together.
New 7 Improve 12 Fix 16 Security 6 Dev 2 Compat 1
New
- Select several notifications and delete them together.
- Linking an existing forum to a space brings its members across, once.
- Edit cover and Edit avatar are one click away on the profile.
- Signing up returns the visitor to the page they came from.
- The access webhook takes grant_plan, extend_plan and cancel_plan, so Make, Zapier or n8n can sell plans taken elsewhere (plans need BuddyNext Pro).
- The access webhook can create the account for a buyer who has none yet, off by default.
- The Webhooks screen shows the endpoint, a request to copy and the last ten inbound requests.
Improve
- Joining a space turns on notifications for its new posts by default.
- The new-follower email names the follower.
- Search Date and Sort filters work, results link where they should, and filters show only when applied.
- Trending Topics counts the posts in its window.
- Moderation holds the daily work and Automation holds what is set once.
- Warnings and strikes carry a reason, and administrators can resolve appeals.
- Badges, state labels, letter avatars and small text are readable on every theme, light and dark.
- Digests reach members on default preferences, follow each type's frequency and stop when switched off.
- A replaced avatar or cover gets a new file name, the old file is removed after a day, and deleting a member or space removes its images.
- Only a real page visit counts as a profile view.
- The Moderation Log filters have visible labels and fit on phones.
- The This week card reads its read rate as read (46%).
Fix
- Editing a Multi-select (advanced) field saved in 1.2.4 no longer empties or wipes its choices, and choice labels survive an edit.
- A member banned from a space can no longer comment, react, share, vote or bookmark there.
- A blocked conversation turns read-only for both members, and the member who blocked can unblock from it or from the other member's Message link.
- Editing a post no longer makes its old hashtags count as new in Trending, and updating repairs the dates an earlier update changed.
- People to follow keeps saying Request sent after a reload on sites with an object cache.
- Website and other address fields refuse a bare word on every screen.
- Picking a space category no longer leaves All Spaces highlighted.
- A document on a post opens for whoever may read the post.
- Learnomy's private academy setting works again while BuddyNext is active.
- Old profile addresses keep working, and handles accept hyphens and underscores.
- Notification counters follow deletes, and bulk Hide and Restore count real changes.
- The Registration and Login redirect hints show the current wording.
- The spaces table can be created on MyISAM and older InnoDB hosts.
- The schedule tool shows only to members whose plan includes scheduling.
- A profile field that fails to save is announced to screen readers with its error.
- The Explore header says 1 space, 1 member and 1 post instead of a plural.
Security
- Followers-only and connections-only media no longer open to every member, and a privacy sync never widens a file.
- A pending follow is not a follow, and a private account stays out of discovery.
- A member's moderation standing is shown to site staff only.
- The access webhook refuses a replayed or concurrent copy of a signed request, and role changes through it are off unless the owner allows them.
- Reports refuse a message or media id that does not exist.
- An account the access webhook creates is always a plain member, whatever the site's default role is set to.
Dev
- New filters buddynext_access_webhook_cancel_plan, buddynext_feed_image_variant, buddynext_integration_notification_payload and buddynext_trending_topics_hours, and the action buddynext_access_webhook_completed.
- The REST API reference is regenerated for 1.2.5.
Compat
- Tested with WPMediaVerse 2.6.2 and Jetonomy 2.0.1. Aligned with BuddyNext Pro 1.2.5. Install the updates together.
New 10 Improve 18 Fix 20 Security 6 Dev 3 Compat 1
New
- Members can add and remove photos on a post they already published.
- The header bell opens a preview of recent notifications on desktop and tablet.
- Public posts on a public site can be shared to social networks by members and guests.
- The leaderboard can be browsed in full, page by page, and each space has its own Leaderboard tab.
- Removed files can be restored from the Trash, not only folders.
- Appearance > Layout sets community pages to full width, the theme's width or a custom width.
- Tools can check and repair the database tables and restore the default email wording.
- Email Log can be searched by recipient.
- A new webhook endpoint shows its signing secret once, with a Copy button.
- The app API covers the Explore deck, featured spaces, space header, tabs, team and roster, profile tabs, onboarding steps, notification badges, privacy settings, standing and sign-in accounts.
Improve
- Uploads show how much of each file has been sent, several videos can be uploaded together, and Post waits until media is ready.
- Logging in returns visitors to the page they came from, from every Log in link and from wp-login.php.
- Finishing onboarding lands a new member on the activity feed.
- Lists use WordPress's /page/N/ addresses, a page past the end answers Page not found with a way back, and profile tabs are paged.
- See more expands a long post in place on the feed.
- A member is notified once per person per post for reactions, and reactions are bell-only.
- The bell number counts what is new since the bell was last opened and still unread.
- Clicking the New posts pill puts the posts it counted at the top of the feed instead of reloading the page.
- Toasts show one at a time on phones, never repeat a counter, and sit above the Save bar.
- The Roles screen lists every ability an owner can grant, including reacting, sharing, bookmarking and voting.
- New sites suspend a member at 5 strikes and never ban automatically; saved values on existing sites are kept.
- Every suspension carries a reason the member is told.
- The free licence is activated in the background, stops when the store refuses, and tells the owner why with a Retry button.
- A sub-space names its parent on its page and in the Spaces sidebar.
- On Plain permalinks the owner is told BuddyNext needs pretty links, with a one-click fix.
- Site search stays with WordPress; ?s= is no longer redirected to community search.
- Feed pages, the Members directory and every request run fewer database queries.
- Admin screens use one save wording, sentence case and "members" throughout.
Fix
- Nobody could register on a new site because consent was required with no checkbox shown.
- Signup refusals that were not about a single field are shown to the visitor.
- Registration redirects saved in settings are followed, including an off-site address.
- Choosing Admin approval in the setup wizard holds new members for approval.
- Setup wizard: Go to dashboard no longer adds sample content.
- Every declared transactional email is delivered, not only verification and welcome.
- Deleting posts lowers their hashtags' counts, and old counts are repaired once.
- Guests see a member's public albums instead of No albums yet.
- Invite-only spaces no longer offer a join request, and My Spaces filters by category.
- Approving a join request runs the same checks as joining.
- A missing post answers 404 on edit, delete, pin and unpin.
- Photo alt text comes from WPMediaVerse, not the upload title.
- Deleting a comment in the media lightbox removes its copy on the post.
- The app's own files are cached correctly when their paths contain spaces, and a version update is never answered with the old copy.
- Hiding Jetonomy from navigation also hides the Discussions link in the rail.
- A reaction clicked in the photo lightbox right after it opens is saved on the post and stays highlighted.
- The cookie notice button uses the site's accent colour on theme pages.
- Deleting a post from its own page returns to the activity feed instead of leaving an empty page.
- Opening the bell also clears the notification number on the side rail and the phone navigation.
- Phone layouts of the directories line up, and the Members toolbar no longer leaves a lone view switch at tablet width.
Security
- Members-only posts no longer appear on Explore, in link previews or with their link preview over the API.
- Posts in private and secret spaces stay out of Explore and profiles, and every route of a secret space answers a stranger like a missing space.
- Profiles no longer reveal the secret spaces a member belongs to.
- Albums list only the photos the viewer may see and never show a hidden cover.
- React, share, bookmark and poll vote follow the member's ability on the server, not only in the page.
- Unlisted membership plans stay out of the public API.
Dev
- New filters buddynext_rest_space_item, buddynext_member_hold and buddynext_reaction_choices, and partner notifications can opt into BuddyNext email.
- Integration cards can be rewritten in place (IntegrationActivity::rewrite), and bridges name the features that need a newer partner version.
- The REST API reference is regenerated for 1.2.4.
Compat
- Aligned with BuddyNext Pro 1.2.4 and WB Gamification 1.6.6. Install the updates together.
Improve 1 Fix 9 Security 1 Dev 1
Improve
- Pages with document uploads read the documents settings once per request instead of up to three times.
Fix
- Members and Spaces directory pages 2 and beyond open instead of showing Page not found.
- The Members directory no longer prints a line of code under the member grid, and the buddynext_members_after hook now fires.
- Log in links on the guest banner, the media lightbox, the profile editor and the login prompt return members to the page they were on.
- On block themes such as Twenty Twenty-Five, community pages show the theme's own header and footer and no longer log a deprecation notice on every load.
- Community pages expose a single main landmark when the theme already provides one, so screen reader skip links land in the right place.
- Dropdowns on BuddyNext admin screens show their arrow again.
- Report is no longer styled as a destructive action in the post options menu, matching the profile menu.
- Removing a file no longer promises a 30-day restore that the Files tab does not offer.
- The activity feed no longer fails on sites running an older WPMediaVerse.
Security
- The invite-link endpoints answer "not found" for a secret space the member cannot see, so its existence is not revealed.
Dev
- The REST API reference documents the shared_post field on re-shared posts.
v1.2.2
September 30, 2026
New 4 Improve 10 Fix 55 Dev 8 Compat 1
New
- Space owners and moderators can revoke a space's invite link, turning it off without issuing a new one.
- Space owners and moderators can create, rename and trash folders in a space's Files tab, and restore them from a new Trash view.
- The Files Trash shows who trashed each folder, when, how many items it holds and when it will be removed, with a Delete now action for people who can manage it.
- Page cache and optimisation guide for site owners: what BuddyNext handles automatically, what was tested, and what to do after updates.
Improve
- Community Admin moderation now pages through every open report, filters by type and sorts by most reported, so moderators without wp-admin access can work the whole queue.
- Report rows show the first line of what was reported, and the More menu adds View reported item, Warn author and Reverse last strike.
- A space's Moderation tab keeps Dismiss and Remove on each report and moves the rest into a More menu, with a working View reported item link.
- The standalone /moderation/ page is retired; Community Admin is the front-end moderation home and each space keeps its own Moderation tab.
- The Kudos tab follows WB Gamification 1.6.5: after you give kudos it shows "You gave X kudos" instead of the form, and the form is not offered when you have hit the daily ceiling.
- Folder controls in Files follow WPMediaVerse's own rules: space owners and moderators manage every folder, and a member can rename or trash the folders they created.
- Gamification screens use your site's own name for points (Points tab, Achievements, Leaderboard), the Achievements rank is labelled All-time rank, and the leaderboard no longer shows an invented next-milestone widget.
- Earning categories on the Points tab use WB Gamification's own labels, so new categories read correctly without a BuddyNext update.
- Messages are switched on or off in one place, WPMediaVerse Settings, Social, Messages; Platform, Features shows whether they are on and links there.
- Document posts stay off the public Explore page, which is for things to look at; they still show in their space's feed and Files tab and on the author's profile. Developers can show them with the buddynext_explore_excluded_post_types filter.
Fix
- When a community page is the site's front page, its deeper pages (Leaderboard, Explore, Account status, member profiles) open normally, with their own title and no home-page styling.
- Profile Achievements list badges in ladder order (1-Year, 2-Year, 5-Year, 10-Year), and the leaderboard ribbon shows each member's latest badges with a correct "+N more" count.
- The level-up notification names the level you reached instead of an internal number.
- A member's profile privacy now also hides their points, badges, rank and kudos from people who cannot see their profile, including on the leaderboard.
- Uploading a photo in WPMediaVerse earns its upload points once; the feed post it creates no longer pays again.
- Switching Kudos off in WB Gamification removes the profile Kudos tab, and the Achievements tab no longer points at it.
- With Messages off, the member directory, space member lists, the notifications Messages filter and the Add to Menu box no longer offer a Message link that leads nowhere, and message notifications are left out of the bell until Messages are on again.
- The Messages page tells an administrator that Messages are switched off in WPMediaVerse (with a link) instead of asking them to install a plugin they already have, and tells members plainly that Messages are turned off.
- The Message button on a space's member list opens a conversation with that member instead of the inbox.
- Every community page a member is logged in on is now marked uncacheable, so a page cache that caches logged-in visitors no longer sends onboarding back to step 1 after Continue. Tested with WP Super Cache, W3 Total Cache, WP Rocket and LiteSpeed Cache; guest views of public pages stay cached.
- With WP Rocket, guests now get cached and optimised profiles, posts and other community sub-pages; WP Rocket skipped them because their address differs from their page's permalink.
- A photo trashed in WPMediaVerse takes its feed post with it, restoring the photo brings the same post back, and deleting it permanently removes the post instead of leaving an empty one.
- The Achievements badge count is no longer capped at 24.
- A full search reindex now includes spaces' searchable custom fields, as saving a space already did.
- With WB Gamification active, the sidebar streak card's 7-day strip and best-this-month use the same activity as its streak number.
- A message whose photo was deleted shows "This attachment is no longer available." instead of an empty row.
- A message sent or received while a conversation is open now shows the same time as after a reload, in the site's timezone and time format.
- Moderation queues: open-report counts drop as you act, Warn and Remove from space only show for members they can act on, profile reports offer member actions, and rows show a shared discussion's title.
- Community Admin report rows stack on phones, and the row's More menu is no longer cut off by the card or the screen edge.
- A space that stored an invalid field value before 1.2.1 no longer breaks its About tab or the space API; the update removes the bad value.
- The drag handle in the Featured spaces picker shows again (its icon was missing).
- The Files tab's Link a file panel closes on Escape or a click outside it, instead of staying open over the file list.
- Confirmation messages for actions that refresh the page (invite link, space archive, restore and transfer, invitations, file uploads, unpinning, appeals) now show after the refresh instead of vanishing.
- Opening a space through a revoked, expired or used-up invite link now says the link is no longer valid, instead of showing a join button with no explanation.
- Delete, revoke and trash confirmations focus Cancel, so a stray Enter never removes anything.
- Pressing Enter submits name prompts such as New folder, and an empty name shows an inline message instead of closing the dialog.
- Folders in the Files list show a folder icon instead of "DIR".
- The "This space is archived" notice and the kudos result messages show as styled notices instead of plain text.
- Colours, sizes and shadows that pointed at design tokens which did not exist now use the real ones, so they follow your theme colour and dark mode.
- A document attached to a post is shared with that post's audience, so everyone who can see the post can open the file; in a space it is added to the space's Files.
- A document card in a space opens the file's page with a preview and Download when the space has Files turned on.
- Files linked into a space open from the space's Files tab instead of showing "File not found".
- Link a file accepts the address of a BuddyNext Files page.
- A file linked into an open space can be opened by everyone, like the files uploaded there.
- A discussion card whose discussion was deleted or made private no longer links to a missing page; it is withdrawn from the feed.
- A space's moderation queue shows each reported author's real standing (owner, moderator, member or not a member), and explains "Remove from space" only where it is offered.
- Reports on a space's posts and comments always reach that space's moderation queue, including comment reports and reports filed from the app; existing reports are re-filed on update.
- A space's moderation, settings and admin pages tell a visitor why they can't use them: community moderators are pointed to Community Admin, and people who never held the role are no longer told they "no longer" do.
- An archived space looks and acts archived: an Archived badge, no Invite, Join, Log in to join or Add sub-space, no contradictory posting panel, and invitations and new sub-spaces are refused.
- When a community page is the site's front page, the home tab reads "Page - Site name" and its canonical and og:url point at the site root; Activity sub-pages such as Leaderboard use their own canonical URL.
- On a host whose database clock is not set to UTC, new and edited posts, comments, follows, strikes and other records now store the correct time, so relative times, trending, digests and streaks line up.
- For You no longer shows followers-only or connections-only posts from joined spaces to members outside that audience.
- Dialogs: one Escape closes one layer (confirm, then menu, then lightbox), and Tab never leaves an open dialog, including after a button disables itself or a row is removed.
- Search: Escape and the close button work from anywhere in the overlay, and closing returns you to where you were, including after the keyboard shortcut.
- The album picker, feed composer and Media tab all use the site's real upload limit from WPMediaVerse and name it in the error.
- Settings, Navigation shows an icon on every row, offers the Icon field only on custom links where it works, and describes Explore in plain words.
- Restore defaults previews every setting in the words the settings screen uses: On and Off, dropdown labels, No limit and the real login-panel text.
- Roles & Capabilities uses the same Restore defaults confirmation, layout and notices as every other settings tab.
- Accent-coloured buttons pick black or white text by contrast, so any brand or theme colour stays readable in light and dark mode.
- Create share link is hidden when WPMediaVerse link sharing is off, instead of failing when pressed.
- Deleting a photo post also clears its media link in WPMediaVerse; the photo stays in the member's library.
- Dropdowns show an arrow on every theme, in light and dark mode and right-to-left layouts.
- The moderation content-warning control shows a post's current warning and offers Clear warning, in Community Admin and a space's Moderation tab.
- BuddyNext runs safely next to older WB Gamification and WPMediaVerse versions: a feature that needs a newer partner stays hidden instead of causing an error.
- Points and badge toasts use the success colour, and with a brand colour set in Appearance every accent shade follows it, WB Gamification popups included.
Dev
- Mirrored follows, lightbox comments and forum replies run inside IntegrationActivity::as_mirror(), so reward listeners can skip them with IntegrationActivity::is_mirror() and never pay one action twice.
- New buddynext_render_drive_files() shows a space's or member's Files UI on any page.
- New buddynext_search_space_object_type filter lets a plugin list some spaces under their own search section and tab.
- New buddynext_invite_link_dead_notice filter changes or removes the dead invite link notice.
- New buddynext_document_card_url filter changes where a feed document card links.
- New buddynext_discussion_card_url filter lets a bridge confirm a discussion card's link as it renders.
- Removed the buddynext_mod_queue_columns filter with the retired page; buddynext_mod_queue_row_actions and buddynext_moderation_queue_before now fire in Community Admin.
- The REST API reference documents the options on a poll post in the single post, Explore and hashtag feed responses.
Compat
- Aligned with BuddyNext Pro 1.2.2. Install both updates together. Kudos, ranks and shared badges need WB Gamification 1.6.5 or later.
v1.2.1
September 23, 2026
New 4 Improve 7 Fix 8 Security 4 Dev 1 Compat 1
New
- Featured spaces: an owner can feature spaces so new members see them first, from the wp-admin directory, the setup checklist, the onboarding wizard and a phone-only directory strip.
- Shareable space invite links: one link lets people join a space directly, with a per-person single-use cap and an expiry, working for logged-in members, logged-out visitors and existing members alike.
- Every settings tab has a "Restore defaults" that resets only that tab and leaves member data untouched.
- Space owners can add their own analytics to the space admin screen through a new seam.
Improve
- The wp-admin menu is reorganised to follow the owner's journey, Moderation Tools is merged into Moderation, and Integration Settings is promoted to its own section.
- The spaces directory stays fast on large communities through indexed sorts and stable tie-breaks.
- The update-available notice is shown only to users who can update plugins, and warns when BuddyNext Pro is older than BuddyNext.
- Integration feed cards are withdrawn and restored when a partner item is unpublished or reinstated, instead of being deleted.
- Member search accepts "q" as well as "search" on the members endpoint.
- The onboarding wizard no longer reloads a step until the change has saved.
- The moderation report row folds Resolve, Escalate, content warning and Strike/Suspend into a "..." menu, keeping only Dismiss and Remove inline, on both the wp-admin queue and the community admin panel.
Fix
- A location profile field shows the address or area to other members and the API, never the member's exact coordinates.
- Reported comments are auto-hidden the same way reported posts are.
- A multi-select choice value that contains a comma is stored safely.
- Repeater required sub-fields respect conditional logic and member-type visibility.
- An open space no longer shows a lock badge on a members-only post.
- An invalid space field value written through an import, WP-CLI or another plugin is stored as empty instead of breaking the space page.
- The space feed leaves room between the post composer and the first post.
- The community admin panel's Members, Spaces and Invites lists have styled page navigation, and the panel shows a proper browser tab title.
Security
- REST route matching is case-normalised so the private-community gate cannot be bypassed with a different-cased URL.
- An invite record's email can be erased and ages out on its own, for GDPR.
- An invalid invite to a secret space no longer confirms the space exists or names it.
- The public member-type route is gated by profile visibility.
Dev
- New extension points: buddynext_feed_allowed_post_types and buddynext_space_admin_after_stats.
Compat
- Aligned with BuddyNext Pro 1.2.1. Install both updates together.
v1.2.0
September 12, 2026
New 8 Improve 15 Fix 31 Security 2 Dev 2 Compat 2
New
- Members-only posts: a member can address a post to logged-in members only from the composer, and it stays hidden from guests and from search.
- Plugin isolation lets the site owner choose which other plugins load on community pages, and stays off by default so every plugin keeps running until you opt in.
- An uninstall data policy lets the owner decide whether community data is kept or removed when the plugin is uninstalled, and data is kept by default.
- Guests are invited to join from the landing and discovery pages, and links that previously dead-ended for a logged-out visitor now lead to the right place.
- A community moderator can be given moderation authority across the whole site, not only inside the spaces they moderate.
- The moderation log can be filtered, exported to CSV, and have its background jobs run on demand from the admin.
- Background-job and data-retention status is shown in the admin hub.
- Owners can set how much of a members-only post a non-member sees before the join prompt.
Improve
- The members directory filters by member type from a compact dropdown in the toolbar, with an "All types" reset.
- The members directory search field is capped to a readable width instead of stretching across the whole screen.
- The composer footer is at most two rows on mobile with no stranded icon, and comment and reply actions collapse to an icon bar.
- The activity hub is renamed Activity, the alerts area is renamed Notifications, and the notifications "People" filter is renamed "Follows".
- Comment threads show six replies inline before paging, and a truncated thread says so.
- The share dialog closes on Escape, keeps keyboard focus inside it, and returns focus to the trigger when it closes.
- A guest's "View profile" link opens the profile directly instead of routing through the login page.
- Sub-spaces show the same directory card as top-level spaces, including privacy and join controls.
- Large communities load follower, following, connection and space-member lists faster through cursor-based paging.
- The Privacy settings screen saves as one form and drops a toggle that did nothing.
- Onboarding nudges are scheduled through Action Scheduler instead of a separate queue table.
- Failed community emails are recorded and the owner is alerted, instead of the failure passing silently.
- Tracking that was never consented to is cleared, the revoke control is always shown, and tracking is no longer forced on at activation.
- Every community page ships a full set of relevant sidebar cards by default, so the spaces and members directories no longer thin out to a single card when a section has no data yet.
- The member directory sidebar adds a New members list and a daily-rotating Member spotlight, and the spaces directory adds New spaces, Popular this week and a Community pulse, to keep the community front and centre.
Fix
- The direct-message recipient picker no longer offers members who cannot be messaged, and its list pages correctly.
- A long member handle no longer forces the members directory to scroll sideways.
- The search button on a space feed no longer stretches full-width on mobile.
- The messages, notifications and avatar controls in the header line up with the theme's own header icons.
- BuddyNext form controls use the theme's own font again, including on pages shared with WPMediaVerse and Jetonomy, and the theme web font is no longer stripped on community pages.
- The comment box shows the commenter's real avatar, top-aligned, and its text is the same size as the comments below it.
- Comment and post text no longer shows a doubled "&" where an entity was encoded twice.
- A year profile field renders as a bounded selector instead of an unlimited number spinner.
- The sign-up terms checkbox is centered and the human check is ordered after it.
- Member avatars and menus no longer paint over the "Create sub-space" dialog.
- Audio uploads now have a path to their privacy and settings.
- Per-type notification toggles are disabled when their channel's master switch is off, and moderator-only rows are hidden from ordinary members.
- Search results highlight Explore in the navigation rail instead of Feed.
- A suspended member no longer sees write controls across the feed, spaces and profile, and is shown the appeal path instead of a generic "try again".
- Space member counts stay in step with the active filter, and the previous-page link points to the right page.
- The "Create sub-space" dialog is no longer trapped behind the sticky sidebar.
- Poll vote counts recount correctly, a vote is scoped to its own poll, and an option cannot be duplicated.
- A post's reshares are removed from search and marked unavailable when the original post is deleted.
- Deleting a post cleans up its comments, reactions and notifications in one safe pass.
- Space configuration such as renaming, locking or archiving stays owner-only and is no longer available to moderators.
- A space whose join requests are gated no longer loses its approval requirement by accident.
- Plugin isolation no longer removes a plugin that a kept plugin depends on, which had caused an error on every community page.
- Reported content is named by its text in the moderation screens instead of by a database id.
- The spaces directory header count matches the filtered grid, and categories hidden from the directory stay hidden in search and in sub-space rails.
- Admin help text no longer describes behaviour the plugin does not perform, feature dependencies are listed by name, and a feature badge can no longer be misread as a live toggle.
- The Insights screen shows a single active-member figure instead of two.
- Banned-word checks cover album titles and descriptions, poll options and space fields, and no longer flag the banned-word list against itself.
- The albums integration toggle is honoured on a space's Media tab.
- A hidden account-navigation item can still be toggled in the admin editor.
- A dialog opened from the media lightbox is clickable, because modals now recognise both the hidden attribute and the is-hidden class.
- The "awaiting approval" notice no longer flashes before the page settles.
Security
- Posts limited to connections, or narrowed to an audience inside a space, are enforced on the server so they cannot be seen by people outside that audience.
- Reactions, comments and reports confirm that their target exists and is permitted before they are recorded.
Dev
- New filter seams let a companion hub plugin coexist with the Spaces UI and read cross-space members and activity.
- A combined Free and Pro OpenAPI specification is published with namespaced paths.
Compat
- Tested up to WordPress 7.1.
- Aligned with BuddyNext Pro 1.2.0. Install both updates together.
Improve 2 Fix 10 Dev 2 Compat 2
Improve
- The Save control in the media lightbox now bookmarks the post the photo belongs to, so it lands in the same saved list as Save on the feed card. It previously saved to a WPMediaVerse Pro collection, and removed itself from the screen when that was unavailable.
- A profile field group's visibility control now says that it is a ceiling: a field inside it can be more private, never more public, and setting a section to Public does not publish the fields inside it.
Fix
- Reactions left in the media lightbox now apply to the post, so they appear on the feed card and are counted once. They previously went to a separate media store and were visible only inside the lightbox.
- A member with a BuddyNext avatar is no longer asked to upload a profile picture on WPMediaVerse screens. Requires WPMediaVerse 2.4.0 or later.
- Photos added to a space album appear in the activity post again instead of the post rendering as text only.
- A space owner or space moderator clicking a reported-content notification now reaches that space's moderation panel instead of a 404. The emailed link is corrected too.
- Deleting a profile field or group opens a confirmation dialog instead of expanding the table row, which made the warning about permanently deleting stored member values almost unreadable.
- The invite list on Members > Invites uses the full width of the screen and scrolls sideways when it needs to, instead of being squeezed into a narrow form column.
- The Realtime and Push settings section is hidden when neither feature is enabled. Webhooks moved to Platform, alongside Integrations and Tools.
- The Explore sidebar's Browse card and the Insights daily-active tile render their icons instead of blank space.
- The settings save bar no longer sits flush against the section below it.
- Builder-generated CSS is kept on BuddyNext hub routes.
Dev
- The icon gate reads array-key icon slugs and scans BuddyNext Pro, so a missing icon fails the build rather than rendering as nothing.
- New filter buddynext_can_view_explore gates the Explore deck before it is built.
Compat
- Aligned with BuddyNext Pro 1.1.7. Install both updates together.
- Aligned with WPMediaVerse 2.4.0 for the avatar flag seam.
New 11 Improve 8 Fix 9 Security 2 Dev 2 Compat 1
New
- Space Files tab (requires WPMediaVerse Pro): a space has its own document drive members can browse, search, preview and download, with a built-in reader for PDFs and inline previews for other file types.
- Profile Files tab (requires WPMediaVerse Pro): each member gets a Files tab that shows their own documents inside BuddyNext's own interface.
- Space Media tab: photos uploaded to a space are filed to that space and honour per-viewer visibility, and a moderator can remove one from the space without deleting the member's own copy.
- Share a document with specific members at a chosen permission, or with anyone through a link, from its page in the Files tab (requires WPMediaVerse Pro).
- Attach a document to a post from the composer, shown as a document card in the feed (requires WPMediaVerse Pro).
- Choose which profile fields appear in the profile header, and in what order, from the field editor.
- Change a profile field's type in place, for example a text location into an interactive map, without losing what members already entered.
- The members directory can filter by member type with chips, matching Spaces.
- Per-space brand colour, set by the space owner.
- An admin can mark a member's email address as verified from the member editor, for the case a verification email never arrives.
- A [buddynext_search] shortcode and a search-bar helper for themes.
Improve
- The media lightbox is rebuilt with icon-only actions and an overflow menu, fullscreen, edit, and save-to-collection.
- A comment made on a photo in the media lightbox now appears in the post's comment thread, and the comment count is accurate.
- Post pinning is now profile-only; inside a space, feature a post with an Announcement instead.
- Dismissing an announcement sticks after a reload, announcements notify members in the background, and a whole group of join requests can be decided in one action.
- Notifications collapse repeats of the same event and show an accurate count.
- Documents open in a clean built-in reader: a PDF renders as a readable single column instead of the browser's embedded viewer, and office and text files render inline.
- The admin Activity screen browses, searches, filters, edits and deletes community activity with the standard paged control.
- A post set to "Connections" is now visible to the author's connections on their profile.
Fix
- Members can attach photos to a post again; the image picker no longer fails silently.
- A confirmation dialog opened from the media lightbox is now clickable.
- Photo posts reserve their tile space instead of flashing as blank cards, and the photo count is correct.
- A document upload no longer announces itself as "shared a photo" in the feed.
- "Only me" media is no longer published publicly; a media item's privacy follows its post.
- A members-only post in a space now shows on its hashtag page to members of that space.
- A private or secret space created through the API is saved with that privacy, not public.
- Reported posts stay out of the reporter's feed, and moderation-queue counts, suspensions, appeals and report labels are corrected.
- The document-attach control is hidden on a site whose document storage is read-only.
Security
- Inbound access-webhook calls must carry a replay-proof, timestamped signature by default; a site still sending the older body-only signature can re-enable it while it migrates its callers.
- Closed a post-login open redirect and a route that ignored profile privacy, and the link-preview fetcher re-checks its SSRF guard on every redirect hop.
Dev
- The end-to-end journey harness resolves the site and its test users from the local install instead of a hardcoded host.
- New filters buddynext_profile_hero_fields (profile header fields) and buddynext_can_view_explore (gate the Explore feed), plus a schema-authority gate so a table cannot be defined in two places.
Compat
- Aligned with BuddyNext Pro 1.1.6. Install both updates together.
New 2 Improve 3 Fix 17 Dev 6 Compat 1
New
- Search inside a space. A space's Feed tab now carries a search box that returns only that space's own posts, so a busy space stays findable past the first screenful. Results are paged, and the box follows the space's privacy: a member who cannot read the space is not offered it and matches nothing.
- A member can verify their own email address from their profile.
Improve
- Profile and space photos taken on a phone are accepted. Covers and avatars were capped at 1920x1080 and 1024x1024, so an ordinary 4032x3024 phone photo was refused and had to be cropped by hand first. The limit is now a pixel-count ceiling generous enough for any phone, and site owners can raise or lower it with the `buddynext_upload_max_megapixels`, `buddynext_upload_max_dimension` and `buddynext_upload_max_bytes` filters.
- Settings that accept "no limit" now say so with a tick box instead of asking for a 0. Eleven settings across the admin - rate limits, space caps, retention, strike thresholds - no longer need a footnote explaining that zero means the opposite of what it reads.
- The WordPress admin menu now lists entry points instead of every screen, each tab carries an icon that tells it apart, and no section exceeds the documented five-tab cap. Every screen stays reachable, and the menu highlights the section you are in.
Fix
- The admin navigation rail now stops at the height of the window and scrolls itself, so expanding several sections no longer pushes the last one past the bottom of the page.
- The Community Name now reaches the browser tab title on community pages and the name emails are sent under, which its own setting has always promised. The WordPress site title still applies everywhere else.
- A banned word blocks that word and no longer blocks longer words containing it, so "ass" stops rejecting "class" and "passionate". Add * to an entry, as in "spam*", to catch variants on purpose.
- A space gated behind a membership plan no longer prints its posts underneath the upgrade prompt.
- A space the join gate will refuse no longer offers a join button, on the space page or in the directory.
- The shared admin filter bar stacks correctly below 782px, where the search field previously rendered as a 256px-tall box and the select stayed a narrow stub.
- The access-webhook audit log records its timestamps in UTC like every other record, so a call can be matched to what it changed.
- Space new-post emails are delivered again. On any site running Action Scheduler the queued email job failed on every space post, so no member received one. The in-app notification arrived normally, which hid the failure from both the member and the site owner.
- Discovery content is no longer hidden on phones and tablets. Trending topics, people to follow, spaces to discover and browse-by-category vanished entirely below 1025px on the feed, Explore, Members, Spaces and Hashtag screens, leaving a phone with no way to discover anything; they now render beneath the content.
- The browser tab now names the screen on every community page. Notifications and Messages showed the site name twice, and the remaining hubs showed their page's name rather than the screen's.
- The hub Pages table in Settings scrolls on a tablet, so its last column can be reached.
- A missing database table is repaired on the next load. The installer treated a matching recorded schema version as proof the tables existed, so a table lost to a partial restore stayed missing.
- The offline service worker follows the site's real login, admin and REST paths instead of assuming the defaults, so it no longer caches a screen it should leave alone.
- The member editor reports a profile that failed to save instead of reporting success.
- The verified badge no longer appears on sites that do not run email verification.
- The Spaces directory set to List renders compact rows instead of stretched cards.
- A visitor switching the members directory between grid and list no longer overwrites the layout the owner set on the block.
Dev
- New filter `buddynext_can_view_space_content` lets an add-on withhold a space's content before it is rendered or cached.
- New filter `buddynext_transactional_notification_types` lets an add-on declare a notification that must bypass member email preferences, for advance-notice obligations.
- `SpaceMemberService::can_join()` answers whether the join gate would allow a member in, so a surface can ask before offering the action.
- Search accepts a `scope_space_id` argument on the `buddynext_search_query_args` filter to restrict content results to a single space, narrowing the existing visibility rules rather than replacing them.
- `PostService::get_many()` hydrates a batch of post IDs in one query, in the order asked for, skipping IDs with no row.
- A sidebar widget can declare `mobile => false` when it already has a purpose-built mobile surface, so the same information does not render twice on one screen.
Compat
- Aligned with BuddyNext Pro 1.1.5. Install both updates together.
Fix 1 Dev 1
Fix
- Feed and media JavaScript modules are versioned through the import map, so a browser no longer runs a stale module against a newer one after an update, which could blank the Activity and composer page with a module export error.
Dev
- Split feed and media sub-modules (composer, post card, share modal, shared helpers and upload core) are registered as first-class Script Modules with per-file cache-busting instead of unversioned relative imports.
New 3 Improve 5 Fix 9 Dev 2
New
- Community activity and Members showcase blocks, plus size, follow, stats and join-action options on the member and space cards.
- Search bar block can scope what it searches, and hand-picked showcases can be curated by exact selection.
- POST /auth/verify endpoint so a member can finish signing up from inside the app.
Improve
- Every block previews live in the editor with the correct tokens, declares the styles it needs, and applies its block supports.
- Member and space blocks render the shared cards instead of a private copy, so directory rows are styled consistently everywhere.
- Person-scoped blocks follow the page's author, and member-context blocks are no longer offered as free-standing page content.
- Long feed posts show a preview and open in full on their own page, and post text uses a readable line measure.
- Interactive controls meet the 40px tap target on touch devices.
Fix
- Join, Leave, Follow, Connect and kebab-menu buttons on the block cards now work, so the blocks declare their Interactivity store and view module.
- Space Directory and Spaces Showcase blocks honour the List layout setting instead of always rendering as a grid.
- Reaction summary and the React button never show a raw reaction slug; an unknown reaction shows a neutral label and glyph.
- Third-party plugins that draw the front end (cookie-consent, header/footer, SEO) are kept on BuddyNext hub routes, discovered rather than allow-listed, with their styles and scripts intact from the first request.
- Profile fields carry their required state into the form, new fields default to members-only, and a system field group can never be locked by a plan.
- Saving a profile keeps the member on the edit screen, and the visibility control is tied to its label.
- The composer draft no longer re-pins a panel type, so a dismissed poll stays dismissed.
- Partner surface and border tokens resolve correctly instead of tinting against their own background.
- Admin flash notices can be dismissed and success notices clear themselves.
Dev
- Blocks declare their own editor and view assets; eight dead Interactivity stores were removed from the shared bundle.
- Two-layer regression coverage: PHPUnit integration tests plus an effect-based Playwright browser-journey gate for blocks and shortcodes in CI.
New 3 Improve 6 Fix 14 Security 2 Dev 2 Compat 1
New
- Composer media previews are real for images, video and audio, so you see what you are about to post rather than a generic tile.
- Explore renders audio and video as typed cards with a real video poster, instead of a broken image frame.
- A long profile bio collapses behind Show more rather than pushing the rest of the profile down the page.
Improve
- The feed loads past 50 posts.
- Link preview cards now appear while you type, and the post itself never waits on the linked site to answer.
- The composer audience popover, the comment reaction picker and the mobile touch targets stay on screen at phone widths.
- The hashtag sidebar works, and no longer offers Follow twice.
- Demo content introduces the site owner to their own community, fills a whole profile, and gives spaces a believable membership spread.
- The object-cache admin warning is sized to the site rather than shown to everyone.
Fix
- Posting a link could hang forever on "Posting...". Saving a post no longer depends on the linked site answering; the preview is fetched in the background and fills in when it arrives.
- Link preview cards never rendered in the composer. Same root cause as the hang: a DNS lookup that could block for 60 seconds per call.
- Link cards lost the first letters of the domain, showing "bcomdesigns.com" for wbcomdesigns.com.
- A post permalink opened with the entire comment thread hidden, including when a notification linked you straight to it.
- Member directory cards showed a placeholder gradient instead of the member's uploaded cover photo.
- Pressing n reloaded the page instead of focusing the composer already on it.
- A zero-result search left the unfiltered pager sitting under the empty state.
- Members could overwrite a member type the community had assigned them, and a profile could refuse to save when the type field was not submittable.
- A failed embed no longer blanks the feed around it.
- Offline mode no longer answers API requests with the offline page.
- Turning on plugin isolation no longer silently deletes navigation menu items.
- A one-to-one conversation with nobody on the other end renders instead of erroring.
- Six REST defects found in mobile-app triage, covering fields the app reads on the profile and connection blocks.
- Notification and digest frequency settings save the value you chose.
Security
- A discussion created for a private or secret space was world-readable. Existing discussions are realigned with their space's privacy by wp buddynext repair-discussion-visibility.
- Logged-out visitors were granted every capability by a permission check that returned early.
Dev
- German ships complete, and the shipped-languages claim is enforced by the build.
- The REST catalogue takes its version from the plugin, so the published spec can no longer lag a release.
Compat
- Ships in lockstep with BuddyNext Pro 1.1.2. Install and test both together.
New 7 Improve 7 Fix 15 Security 5 Dev 4 Note 1
New
- Spaces can own albums. Turn on a space's Media tab and it gains an Albums view: create a named album, upload into it, reorder it, remove items. The audience is the space, so a private or secret space's albums stay invisible to non-members and out of search.
- Sign in with Apple, alongside the existing social providers, with the native-app connect bridge so a member signing in on the phone lands in the same account they use on the web.
- An Articles tab on member profiles listing what that member has published, when WB Member Blog is active. Viewing your own tab also offers Write a new article, Manage articles, and an Edit link per row; your drafts and pending posts appear there, labelled, and nobody else sees them.
- Two-factor enrolment shows a QR code to scan instead of only a 32-character key. The key is still shown for anyone entering it by hand.
- The members directory can sort by Last Active.
- Hashtag counts, and profile-field search across the directory and site-wide search.
- WB Member Blog joins the companion catalogue, so it installs from inside BuddyNext like every other integration.
Improve
- Job, listing and course cards in the feed now carry a short description and cover art when the source has one. A card with no image renders the compact text shape it always did, with no empty box reserved.
- Integration cards say what happened again - "posted a new job", "completed a course". The verb was always passed and always dropped, which is why finishing a course produced two identical-looking cards instead of a completion and a certificate.
- Integration cards use the same box as a reshared post rather than a bespoke one with a coloured edge; embedded content now looks like embedded content wherever it comes from.
- Every admin listing becomes labelled cards on a narrow screen instead of a table with its columns cut off. Members, Spaces, Bulk Moderation, Announcements, Email Templates, Webhooks, Member Labels, Subscriptions, Invoices and the analytics tables were each broken at some width and are each fixed.
- Every admin and profile control is named for assistive technology, and destructive bulk actions ask you to type a confirmation rather than accepting one click.
- Moderation queues show when an offender is already suspended, and no longer invent report rows in an empty queue.
- Failed video embeds show a designed fallback instead of an empty frame.
Fix
- Media attached to a post now shows whatever the post's type. An announcement posted with a photo used to lose the photo.
- An event card published straight from the create hook had no date on it. The card now resolves the event's real date, and existing cards repair themselves.
- Choosing several Interests saved only the first, and saving again wiped the rest. The data was always correct; the edit form was prefilled with one value and faithfully saved what it had been shown.
- The row actions menu in admin lists opened off-screen, which read as an unresponsive button.
- Blocking now applies to comments. A block hid top-level comments but left replies and pinned comments visible.
- Declining a connection request makes it stop, and the cooldown now covers declines made before this upgrade.
- A private profile no longer tells visitors the member has never posted.
- Forced two-factor enrolment dead-ended in a redirect loop when a verification hold was already in force.
- Signup no longer wipes the email field after a failed validation.
- Suspended members can reach the appeal page, and the reaction route is no longer a dead end.
- Unknown member URLs answer 404 instead of a blank 200, and unknown space slugs answer 404 instead of 500.
- The Notifications tab of Settings was narrower than the other three, so the page shifted as you moved along the tab strip.
- An event with no cover image showed a blank block where the artwork belongs.
- The account menu could not be closed by clicking the caret again.
- Space owners can no longer strand their own space by changing their role; moderators manage a space, owners alone delete it or transfer it.
Security
- Closing a space left its posts publicly searchable.
- Private and secret space content was fully searchable by anonymous visitors.
- Account holds did not reach a partner plugin's REST surface, so a held member could still act through an integration.
- Rate limiting was silently disabled on any site without Redis or Memcached, and the limit decision is now atomic rather than only the counter.
- Space media over REST now applies the same three gates as the web Media tab.
Dev
- POST /app/strings serves the mobile app its translations from the catalogues already on the site, and /app/config carries a locale block.
- IntegrationActivity::refresh() lets a bridge correct the snapshot on a card it already published, instead of a wrong payload being frozen onto every member's feed.
- A resume post type, distinct from job.
- The generated REST catalogue in docs/api/openapi.json covers all 208 free endpoints.
Note
- The leaderboard ran 312 queries to draw 50 rows.
New 5 Improve 9 Fix 33 Security 2 Dev 4 Compat 2
New
- The sign-up form subtitle is editable under Members > Registration & Login, so a paid-only community is not promised "Free forever".
- A link preview can be removed while editing a post.
- A Member type profile field can be shown on signup and profiles; the member's choice assigns their member type and is set once.
- Losing your connection now shows a branded offline page with a retry, in your community's colours, instead of the browser's error screen.
- The app config endpoint reports each installed integration with its on/off state and version, so a mobile client can hide a module the site does not run.
Improve
- The onboarding stepper shows numbered dots with the current step labelled, on every screen size, so six steps never clip or scroll.
- Messages runs edge-to-edge on phones, and the message field takes the full width with emoji, attachment and send on the line below.
- Members with an imported profile address that breaks mentions can now be repaired with one click from BuddyNext > Members, not only from the command line.
- The app now works offline as an app should: BuddyNext's styling is stored on the device, so an offline page looks like your community rather than an unstyled list of links.
- Stylesheets, scripts and images are cached as they are used, capped so they cannot fill a member's device, and cleared automatically when the plugin updates.
- The feed loads the next posts as you scroll, on the main feed, Explore and Bookmarks alike, without a page reload and without losing your place.
- Community screens use the full width of a phone. Cards were running at about two thirds of the screen because three separate layers of spacing stacked up, and the width is now the same whichever theme is active.
- The save bar on Edit profile and Notification preferences spans the width of a phone screen and shows its status there, so saving is confirmed instead of silent.
- Announcement and pinned posts are marked by their label rather than a coloured card edge.
Fix
- Everything past the first screen of the feed was inert: React, Comment, Share and Save did nothing on any post loaded after the first page.
- Your own post now sits at the top of your feed for a few minutes after you publish it, instead of below every post from the people you follow.
- Notification preferences could not be saved on any screen size. The Save bar was rendered at the far end of the page rather than pinned, and on phones the email frequency options were clipped by the card so "Off" was cut in half.
- The count beside the Notifications heading went blank as the page finished loading, and dismissing an unread notification left the Unread tab still counting it.
- Tapping Unread or Requests in Messages on a phone opened a conversation instead of showing the filtered list.
- The announcement expiry and schedule fields in the post composer were pushed off the row on phones, so neither the date nor its clear button could be reached. Both now also name the site timezone they are read in.
- Toasts, cookie notices and save bars could sit underneath the mobile navigation bar; every bottom-pinned surface now clears it from a single measurement.
- The character counter in the composer kept the previous post's count after publishing.
- The feed tab strip gave no hint that more tabs exist beyond the screen edge, a desktop-only instruction showed on phones, and a placeholder was clipped.
- Onboarding kept the previous step's scroll position on Continue, so on phones the next step opened on blank space.
- The settings tab strip gave no hint that more tabs exist beyond the screen edge; it now shows the same scroll chevrons as the main navigation on every browser.
- A reaction on a message now appears for the other person live, instead of only after they reload the conversation.
- Short pages like Notifications showed a large blank gap between the content and the footer on phones, and short lists now end with a clear end-of-list marker.
- The onboarding steps were clipped at the right edge on phones; every input and step indicator now fits, and the step icon and heading share one line.
- The mobile conversation list filled only part of the screen, which hid the All, Unread and Requests tabs and stopped the list scrolling.
- Mobile navigation icons rendered far smaller than the centre button.
- The mobile navigation bar covered the theme footer and copyright line.
- Signing up behind a proxy that rewrote response headers reported a failure even though the account was created.
- Activating the plugin could save the site's URL rules without BuddyNext's own, leaving community pages on 404 until permalinks were re-saved.
- The signup form dropped the typed display name and used the email prefix instead.
- Editing a choice profile field could replace its options with the word "Array" and discard its advanced settings.
- The profile field editor hid the options and date settings when editing a Pro field type.
- Delete account showed an error and never deleted the account.
- Line breaks in a bio were lost, so a multi-line bio ran together on the profile.
- The poll form kept its options and end date after posting, so the next post inherited them.
- A space icon was clipped by the cover image on the settings page and showed square corners on the space page.
- The profile photo edit button drifted away from the photo on phones and tablets, and the photo was too small for its own controls.
- The profile header showed square bottom corners, and its tab strip drifted vertically on touch devices.
- A Date profile field with a "Display as" option (Year only, Month and year, Age) showed a wrong full date on the profile instead of the chosen format.
- Mentioning a member did not always notify them. The mention still linked to their profile, so nothing looked wrong, but no notification was sent when the member's username differed from their profile address - a space, a dot or an email in the username, or any member using a custom profile address.
- Members whose profile address was imported with an email in it could not be mentioned, and did not appear in the mention suggestions. Run "wp buddynext handles check" to find them.
- Registration warnings were hidden on BuddyNext's own Registration & Login screen - the screen you are on when configuring it, and the one BuddyNext's setup checklist sends you to. They now appear beside the setting they concern, and point to where the WordPress switch actually lives.
- The admin member list and member edit screen showed each member's username where their public profile address belongs; the two differ when a username contains a space or a dot, and for members using a custom profile address.
Security
- Pages and API responses are never stored on the device by the offline cache, so nothing personal can be shown to whoever opens the browser next.
- Marking the community private now also locks down the media/messaging REST API (WPMediaVerse), not only BuddyNext's own - closing a gap where media, tags and profiles stayed readable when logged out. Needs WPMediaVerse 2.2.0.
Dev
- Addons can append onboarding wizard steps via the buddynext_onboarding_steps filter and render them with the buddynext_onboarding_render_extra_steps action.
- Integrations can declare their plugin version when registering on the buddynext_integrations filter.
- Content services accept a historical created_at from importers, so a migrated community keeps its original comment, space, connection, follow and reaction dates.
- Added "wp buddynext handles check" and "wp buddynext handles repair" to report and normalise imported profile addresses. Repair reports only unless --yes is passed.
Compat
- Ships in lockstep with BuddyNext Pro 1.1.0. Install and test both together.
- The live-reaction fix needs WPMediaVerse 2.2.0, which adds the message-reaction updates to the messaging poll.
New 5 Improve 11 Fix 8 Dev 2 Compat 1
New
- A Get Started home greets you in wp-admin with a setup checklist, one-click demo data, theme suggestions, and quick links to every area.
- The Features tab has a search box that filters the toggle list as you type.
- The profile About tab renders any field group by its type, so custom groups and fields lay out cleanly without per-field code.
- Every member upload now creates a feed post, so photos from the composer, the Media tab, or an album all appear on your feed.
- GET /buddynext/v1/app/config gives the mobile app a single bootstrap handshake for site identity, feature flags, and the time contract.
Improve
- Admin navigation reads clearer: Integrations is now Add-ons, Integration Display is now Integration Settings, and License and Add-ons have direct menu shortcuts.
- Demo data can be loaded and removed right from the admin home, with the count of sample members, spaces, and posts shown.
- Every admin list table shares one action-button style, one empty-state design, and an Actions column that stays visible when the table scrolls.
- The members directory sorts by name and join date, admin tables show a consistent result count, and settings screens share one field-spacing rhythm and one bottom save bar.
- Eventonomy joins the companion apps list, and a Recommended themes section presents BuddyX, BuddyX Pro, and Reign.
- Sidebar widgets are organised per surface (feed, explore, members, spaces, profile, notifications, hashtags), each column curated for its page.
- Upload progress spinners were added across every upload point: composer, DM attachment, avatar, cover, album picker, and onboarding.
- Integration activity renders as a consistent, typed card in the feed for events, badges, and other connected apps.
- Badge and level-up notifications from integrations are collected for display in one place and never send a duplicate email.
- Member directories, the space roster, and the discovery asides are cached per viewer for large communities.
- Profile fields render true to their type: paragraphs are multi-line, multiselect values are separate chips, and Work and Education show dates and admin-added sub-fields.
Fix
- Members list action buttons are aligned, and the redundant Last Login column was removed in favour of Last Active.
- Stray divider lines, duplicated section headings, and mismatched Edit and Delete buttons were cleaned up across admin screens.
- Profile Replies and Likes tabs could show a private post's content to anyone.
- A media item added to an album from the picker had no source post, so its single-media link bounced to the Media tab instead of the post.
- A feed card was left behind after its source media or its event was deleted.
- A profile field could not be created when its name matched an existing one, and renaming a field group from wp-admin did not stick.
- GET /spaces/{id} now returns the viewer's membership block, and provisioning a space forum surfaces the Discussions tab.
- The People to Follow widget overlapped names, and several wp-admin toolbars and row-action menus were misaligned.
Dev
- App-facing REST timestamps carry a UTC ISO *_gmt sibling via one dispatch seam, filterable per namespace.
- The members directory query is prepared in the model instead of the template.
Compat
- Ships in lockstep with BuddyNext Pro 1.0.9. Install and test both together.
New 5 Improve 6 Fix 12 Security 4 Dev 2 Compat 1
New
- Report media and block its uploader directly from the media lightbox. Reports go to the media moderation queue.
- Manage the header account dropdown from Settings - Navigation: hide, rename, reorder, and add your own links.
- Reorder the mobile bottom navigation tabs by drag and drop. The centre Create button stays centred.
- Reschedule a scheduled post. Editing it now lets you move its date instead of deleting and reposting.
- wp buddynext qa-fixtures generates deterministic edge-case and scale data for testing.
Improve
- Scheduling now reads and writes in the site's timezone (Settings - General), and the control names the zone.
- "Require approval to join" is shown only on Open spaces, where it has an effect. Private and secret spaces explain their own join rules.
- Search, directories, connections and the activity feed are indexed and paginated for large communities.
- Outbound webhooks deliver one job per endpoint instead of one long blocking run.
- Disabling an integration now removes its content from search instead of leaving it indexed.
- Deleting a custom reaction no longer locks the reactions table.
Fix
- A member at the hourly post limit could not edit any of their existing posts. Content rules still apply to edits.
- Publish Now published at the time the post was composed rather than the moment you pressed it.
- A published post could be pulled back out of the feed by rescheduling it.
- The profile REST payload still returned a full date of birth when the field was set to show only an age or a year.
- Nobody could register through the web signup form on a default install.
- The Integrations tab reported "Changes saved successfully" when it had saved nothing.
- Editing a profile field while its add-on was inactive destroyed the field's type.
- The new-posts pill counted a member's entire backlog and printed an uncapped number.
- The PWA service worker installed, reported active, and did nothing.
- A member whose name contained non-ASCII characters could not be found in search.
- An auto-suspend rule the owner had configured never fired.
- Search reported a total it could not actually return.
Security
- The members directory no longer prints a member's WordPress username on the public "online now" list; it shows the public profile slug instead.
- Deleting the free plugin destroyed the customer's invoices and other paid records.
- An invitation is now bound to the address it was sent to and is no longer usable as a bearer token.
- Hardened the outbound request guard that could abort an entire profile save.
Dev
- The buddynext_safeguard_check filter now receives a $context argument ("create" or "edit") so create-time rules can skip edits.
- The GDPR export is derived from the erasure registry, so a table that is erased is also exported.
Compat
- Ships in lockstep with BuddyNext Pro 1.0.8. Install and test both together.
New 7 Improve 7 Fix 17 Security 1 Dev 2 Compat 1
New
- Private Community lockdown so the whole community can be members-only, with a buddynext_private_community_can_access filter to customise access.
- "Get your community live" first-run setup checklist on the admin dashboard that auto-tracks your setup progress and dismisses when done.
- Two-way discussion sync between the activity feed and Jetonomy forums, propagating edits and deletes both ways.
- Unban control for members banned from a space, so an owner can reverse a ban from the space settings.
- Unpin control on a space's pinned-posts strip.
- Unread direct-message badge on the header Messages icon.
- "Resend verification email" action in the composer when a member's email is not yet verified.
Improve
- The add-field form now sets "Show on registration" directly and explains what each field type does.
- The Skills profile group can now be removed, like the other starter groups.
- The three gamification profile tabs are folded into a single Achievements tab.
- Error toasts stay longer and are dismissible instead of auto-hiding early.
- Space discussion buttons open the new-topic composer directly.
- Members stay on the community front end after login and logout.
- Dark mode now covers native form controls, skill chips, leaderboard badges, and the BuddyX and Reign mode toggle.
Fix
- The delete-group confirmation in the profile-fields admin no longer overlaps the toolbar controls.
- The profile "Edit avatar" and "Edit cover" links now open the matching picker.
- Spaces filter pills no longer shrink or vibrate on hover, verified on BuddyX and Reign.
- Reposting no longer fails silently and single-post comments toggle correctly.
- Private images now display in the media lightbox for viewers allowed to see them.
- The mobile bottom navigation no longer covers Save and Cancel on the Profile Edit and Settings screens.
- Navigation and profile-tab labels now respect the active translation.
- The post pin label no longer reads "Pin to profile" inside a space.
- The gamification "on cooldown" points nag is suppressed; points are awarded silently.
- Turning off the desktop sidebar rail no longer leaves an empty column on hub pages; content reflows to full width.
- Member profiles with an empty sidebar no longer show a large blank gap on the right.
- The Spaces directory count now matches the spaces shown instead of also counting hidden sub-spaces.
- Profile action menus, the Share popover, and the Block and Report dialogs now close when you click outside them.
- The "Remove Demo Data" button stays readable on hover instead of turning blank.
- The media lightbox comment box now matches the BuddyNext style and centres its empty state instead of inheriting the theme's fonts and leaving a blank gap.
- Linking an existing discussion in a space's settings now shows an error if the search request fails, instead of silently returning no results.
- The License activation screen loads its styles and scripts correctly on live hosts with a symlinked or non-standard document root, instead of 404ing its assets.
Security
- Media lightbox actions are gated to logged-in viewers.
Dev
- New buddynext_redirect_url filter for login and logout redirect control.
- Notification and PageRouter audit fixes: removed dead code and corrected dependency wiring.
Compat
- Aligned with BuddyNext Pro 1.0.7. Install both updates together.
New 4 Improve 3 Fix 12 Security 1 Dev 1
New
- Media shared to the community links back to the activity it was posted in; a dedicated per-item media page is opt-in under Settings.
- Direct messages gain per-conversation mute, load-older history, and in-thread search.
- Scheduled posts get an hourly catch-up sweep so a missed cron never strands a post.
- The member profile API exposes the Profile Strength checklist, and developers can reshape the checklist for custom profile schemas via a filter.
Improve
- One navigation source powers both the web rail and the native app, so menus stay in sync.
- Visiting Notifications clears the unread badge, and search adds a debounced typeahead with viewer-scoped visibility so members find only spaces they can see.
- Onboarding can seed opt-in sample content from the setup wizard, and companion installs retry per row.
Fix
- Authentication hardening: login rate-limiting, an email-verification gate before first sign-in, and an application-password token flow for the native app.
- Spaces: a deleted space returns a proper 404 instead of a fatal, decline notifications send, and member avatars resolve in the API.
- Followers and following lists respect connection visibility.
- Auto-moderation matches on word boundaries (no false positives on substrings) and covers profiles and direct messages; bulk moderation runs asynchronously with progress.
- Required profile fields are enforced on the full write path, and member-directory visibility honors the configured tier.
- Search suggestions return grouped results and boost exact and prefix name matches.
- Toggle switches keep a visible off-state track, the selected tab keeps its highlight, and modal close buttons keep their hover state under themed buttons.
- Profile completion rewards fire only when the completion percentage actually changes, closing a refresh-to-farm-points loophole and a repeating cooldown notice.
- Hashtag, mention, member, and space links resolve correctly on sites that renamed their community page slugs.
- The profile completion reward milestone now follows the Profile Strength checklist members actually see, so finishing the visible tasks triggers it reliably.
- Reshared posts cap their image and video preview height instead of filling the screen on wide layouts.
- Email unsubscribe now shows a clear confirmation, digest unsubscribes actually stop digest emails, and digest emails carry working links instead of raw placeholders.
Security
- Registration and auth stay self-contained (in-house spam protection and optional TOTP two-factor); no third-party captcha is reintroduced.
Dev
- Outbound webhooks cover membership events with a filterable catalogue, 30-day log retention, auto-disable on repeated failure, and PATCH updates.
New 12 Improve 17 Fix 44 Dev 3 Compat 1
New
- Members can pick their interests from your space categories during onboarding and edit them any time on their profile, where each interest links to the matching spaces in the directory.
- People and space suggestions are now personalized by the interests each member picks, so a brand-new member sees relevant members and spaces to follow and join from their very first session.
- The For You feed ranks posts from spaces in a member's picked interests higher, and Explore suggests popular spaces from those interests instead of only the newest ones.
- Developers can add their own per-space settings that appear on the space management screen, save automatically, and are available over the REST API - the same system the built-in space settings now use.
- Profile sections can be limited to a member type, so each type gets its own profile fields - a restricted section appears only on profiles of members with that type and never on the signup form.
- Every profile field can carry owner-written help text under its name and an example placeholder inside the input, shown on both the profile editor and the signup form.
- A My Spaces view at /spaces/mine/ lists the spaces a member belongs to, with a friendly empty state.
- Direct messages show a live typing indicator while the other person writes.
- A read-only Email Log in the admin lists every message the community has sent, so owners can answer "did that email go out" without guesswork.
- Connection request rows show the requester's headline and how many connections you share.
- Space cards in the directory show how many sub-spaces a space has, counting only the ones the viewer is allowed to see.
- The admin spaces list shows each space's last activity and can sort by it, so you can tell active spaces from quiet ones at a glance.
Improve
- Core profile fields (bio, headline, location) are now protected from accidental deletion, so search and member cards keep working no matter how the profile form is customized.
- The Social Links, Work Experience, and Education profile sections can now be removed when they do not fit your community; profile pages simply hide a section that is gone.
- Deleting a profile field or group that holds member data now shows exactly how many members are affected and asks you to type its name to confirm, and the cleanup runs in small background batches so large sites stay responsive.
- Member lists inside a space and nested sub-spaces stay fast in very large communities.
- Per-space settings no longer load on every page request, keeping large sites fast as the number of spaces grows.
- All email subject lines now follow one consistent style; your own customized subjects are left untouched.
- The admin left navigation and stacked toggle rows now breathe with the same calm rhythm as the rest of the Wbcom admin family.
- License moved to its own entry in the WordPress admin menu, so activating it no longer means hunting through tabs.
- Every guest-facing login and register link routes through the community's branded auth pages instead of the bare WordPress form.
- Members read as offline the moment they log out, and the feed's new-post check stops re-counting when nothing changed.
- Choosing a member type at signup now shows each type's description, not just its name.
- Integration Display is rebuilt as one card per integration with proper switches and descriptions instead of a plain checkbox list.
- The admin works comfortably on iPad: the navigation keeps its sidebar layout instead of pushing content below the fold.
- The Webhooks screen now uses the full panel width and lays event choices out as a comfortable grid.
- Logo fields now use the WordPress media library with a preview and Remove button instead of a bare file input.
- Settings cards fill the panel on every screen with inputs capped at a comfortable reading width, and the Custom CSS box gains syntax highlighting.
- The Navigation screen leads with plain language; developer hook names and the capability field now live behind For developers and Advanced disclosures.
Fix
- Required profile fields are now enforced when saving: an empty value is rejected with a clear message next to the field instead of being silently accepted.
- The setup wizard's profile sections now create the same real field types as a fresh install (URL inputs, date pickers, yes/no checkboxes) instead of plain text boxes with mismatched field names.
- A photo added to the activity composer is shared only when you click Post; removing it or leaving the page no longer publishes it on its own.
- Sharing a photo from the media viewer now opens the full Share menu with Repost and Copy link instead of silently copying the page link.
- Deleting a space now keeps its sub-spaces by moving them to the top level, instead of leaving them stranded under a space that no longer exists.
- The privacy choice on each Work Experience and Education entry is saved and shown correctly after you reload the profile editor.
- The site-wide login redirect setting is now honored, so members land on the page you configured after signing in.
- The after-login, after-logout, and after-onboarding redirect fields on Registration & Login now save, so the destinations you set are actually applied.
- Signing in from a page a caching layer served stale no longer fails with "Cookie check failed" - the form retries with a freshly minted security token instead of re-sending the stale one baked into the cached page.
- The email verification message is now actually sent when you require email verification; it was silently dropped, leaving new members waiting on the "check your inbox" screen forever.
- The Welcome email now uses the template you edit in the admin; it previously sent built-in copy no matter what you wrote.
- The confirmation popup for removing media or deleting an album now explains what you are confirming; it previously opened with empty text.
- Removed a repeated PHP notice about translations loading too early that filled the debug log on WordPress 6.7 and newer.
- The community rail and mobile navigation toggles can now actually be turned off; unchecking them previously saved but silently reverted to on.
- Changing a community page slug now takes effect immediately instead of returning "page not found" until permalinks were re-saved by hand.
- Turning an integration menu off no longer silently disables its sub-tabs behind the scenes when you next save the screen.
- Resetting an email template to default now restores the standard copy immediately; it previously left that email silently disabled until re-saved.
- The media lightbox reaction bar now honors your enabled-reactions choice instead of always showing all six.
- The email digest setting now reflects its real state; a fresh install previously displayed Disabled while digests were actually on.
- The allowed email domains list is now enforced even when spam protection is switched off; it is an access policy, not a spam check.
- The member data-export and account-deletion permissions can now actually be turned off on a fresh install.
- New spaces now honor the default space type chosen in Spaces settings; the create dialog previously always preselected Open.
- Deleting a member now also removes their pending email-verification tokens immediately.
- Values saved in owner-created repeater profile groups now persist; they previously vanished after a success message.
- Removed a PHP warning that fired on profiles whose fields hold multiple values, such as interests.
- BuddyNext emails now always carry your configured sender identity, even when another plugin overrides the site-wide email sender.
- Registration works out of the box: a fresh install now enables WordPress registration to match the plugin's default Open mode.
- New members are searchable immediately in the members directory, messages, and site search, even on hosts where background jobs cannot run.
- The onboarding wizard respects private spaces: joining one now sends a join request instead of granting instant membership, and the wizard only suggests open spaces.
- Demo data files every space under a category so the directory's category filters work from the first click.
- The Integrations screen no longer shows a Save button with nothing to save, drops a duplicate Connected label, and its description now matches the companion grid it shows.
- Keyword rules set to Block now reject a new member's post instead of only holding it for review; a block always outranks a hold.
- Posts using a banned hashtag are now rejected as the setting promises; previously the tag was silently dropped while the post published.
- Blocked domains now also catch links pasted into the post text and subdomains of a blocked entry, not just the attached link field.
- Moderation Log entries now record what was acted on and show correct times on hosts whose database timezone is not UTC.
- Choosing a member type in the directory now filters the member list, and each type count matches the members shown when you open it.
- A private space now shows a single join button instead of two.
- The direct-message typing indicator clears as soon as you stop typing or send, instead of lingering.
- The profile Media tab, albums, and other interactive profile sections load reliably, and album dialogs no longer flash open on page load.
- The "loading more posts" indicator shows a clean loading bar instead of an empty bordered box.
- Dragging a navigation tab by its handle in Settings > Navigation now reorders it; the drag was previously ignored, forcing you to edit each tab's position number by hand.
- On your profile Activity tab, the post box now has a gap below it instead of sitting flush against the first post.
- A secret space's name no longer appears in the browser tab title for members who cannot see the space.
- Sharing works from the profile feed too; the share dialog previously opened only on the main feed.
Dev
- Add-on plugins can register their own community hubs (pages, rules, templates) through the new HubRegistry, and their own template directories via buddynext_template_locations.
- Bundled Action Scheduler updated to 4.0.0.
- Every member-delete path funnels through one canonical purge event, including the WordPress GDPR eraser.
Compat
- Requires PHP 8.1. Pairs with BuddyNext Pro 1.0.4 - install both updates together.
New 4 Improve 9 Fix 13 Dev 1 Compat 1
New
- Members can upload photos and videos from their profile Media tab, choose who can see each upload, and the media appears in the activity feed right away.
- Albums on the profile Media tab: create albums, add and remove media, set a cover, drag to reorder, rename, change privacy, and delete.
- Links you paste into a post or comment now turn into clickable links.
- Object-cache health indicator on the Tools screen so owners can confirm a persistent cache is active.
Improve
- Community pages, the home feed, search, widgets, and polls are cached and free of per-row queries, so they stay fast as membership grows.
- Photo and video previews now generate a fast downscaled thumbnail, so uploads on the Media tab, the feed composer, and direct messages feel instant.
- Online presence reads from an indexed table with object-cache throttling, so the online-members list stays accurate without loading the database.
- Background jobs run through Action Scheduler with automatic retention pruning, keeping scheduled-task tables small.
- Direct-message threads stop polling when the tab is hidden or closed, reducing battery and server load.
- The following count is capped to keep the home feed fast for highly-followed accounts.
- Member-directory results refresh immediately after a block or unblock instead of serving a stale cached list.
- The mobile bottom navigation bar is taller with larger tap targets, and the center Create button opens the composer ready to type.
- Admin settings fields, sidebar icons, and Explore result cards are visually consistent across every screen.
Fix
- The profile display-name field no longer reverts to the login name when you click away, so members can change their name.
- A video without a poster image now shows a generated thumbnail instead of a black tile.
- Posting a poll without a question now shows a prompt to add one, instead of the Post button doing nothing.
- The emoji button in the comment box now lines up with the send button.
- The profile editor no longer warns about unsaved changes after you have already saved.
- If the bundled licensing and update SDK is ever incomplete, the site stays up with a notice instead of a critical error.
- Editing or deleting a comment you do not own returns a clear permission message instead of a server error.
- Ending or dismissing an announcement updates the home feed straight away.
- Type-scoped search for members, spaces, and posts returns results whether the type is named in singular or plural form.
- Appeal decisions and member warnings are now recorded correctly in the moderation audit log.
- The Online Members widget now lists members who are actually online.
- Deleting a space clears its member and ban caches immediately.
- Hardened activity hooks so a third-party listener can no longer trigger a fatal error when a post is created.
Dev
- Removed legacy presence dual-writes, a dead database table, and unused cache methods; per-space settings and custom CSS no longer autoload.
Compat
- Pairs with BuddyNext Pro 1.0.3. Install both updates together.
New 2 Improve 3 Fix 5 Dev 1 Compat 2
New
- The admin left navigation collapses into an accordion that opens the active section and remembers your last open section.
- Delete and Unsend actions in the direct-message menu.
Improve
- BuddyNext adopts the host theme's colour scheme and font family (BuddyX, BuddyX Pro, Reign), so community pages match your theme; header icons follow the theme's header menu colour.
- Sign-up Terms and Privacy links are admin-configurable instead of guessed from slugs.
- Notification rows polished with a system-icon avatar and a clean fallback for unknown types.
Fix
- Hashtag search returns results again, hashtags are indexed for every post type, and hashtag voting registers correctly.
- The favourite toggle in the media lightbox now responds.
- Removed the blank gap below the footer on BuddyX and BuddyX Pro auth pages, and fixed the header chrome layout inside the BuddyX header.
- Host-theme button fill no longer leaks into message action buttons.
- A deleted user's profile values and bookmarks are now purged.
Dev
- Composer is no longer required at runtime (hand-written autoloader, vendor is dev-only).
Compat
- Aligned with the WordPress 6.9+ and 7.0 Abilities API (ability category plus execute and permission callbacks).
- Pairs with BuddyNext Pro 1.0.2. Install both updates together.
New 2 Improve 1 Fix 2 Dev 1 Compat 1
New
- Media shared from the WPMediaVerse upload surface now appears in the community activity feed. Images post inline; audio and video link to the media page. A deferred, attached-to-post guard prevents duplicating media that was posted through the BuddyNext composer.
- Link posts to supported providers (YouTube, Vimeo, and other oEmbed sources) now render an embedded player instead of a plain link card.
Improve
- Link previews use the provider's real oEmbed title instead of a placeholder such as "- YouTube".
Fix
- Resharing a photo or a video/link post now previews the original's image or thumbnail instead of rendering an empty quote.
- The companion installer retries a transient store timeout once, so onboarding no longer fails to install a companion when the store is briefly slow to respond.
Dev
- The admin hub name and logo resolve through the buddynext_brand_name and buddynext_brand_logo_url filters, and a shared logo-upload helper backs both Appearance and Pro white-label.
Compat
- Pairs with BuddyNext Pro 1.0.1. Install both together.
New 7 Compat 1
New
- Activity feed with posts, polls, reactions, threaded comments, bookmarks, hashtags, and site-wide announcements.
- Spaces: public, private, and hidden communities with membership, roles, and per-space feeds.
- Member profiles with customizable field groups, a social graph (follows and connections), and a member directory.
- Direct messaging with media, a conversation info panel with shared media and safety actions, and a full-bleed media lightbox.
- Moderation suite: reporting, a review queue, strikes, suspensions, and appeals backed by an immutable audit log.
- Onboarding wizard, gamification achievements, notifications, and a Progressive Web App with branded install icons.
- Full translation readiness: every template, admin label, and JavaScript module is internationalized with a complete buddynext.pot.
Compat
- Pairs with BuddyNext Pro 1.0.0. Direct messaging and media are powered by the WPMediaVerse companion plugin.
New 2 Improve 5 Fix 4 Security 1 Compat 1
New
- Membership enforcement seams (entitlement gates) that BuddyNext Pro plans hook into.
- Custom navigation tabs can now be deleted.
Improve
- Moderation: full audit trail; the admin queue now surfaces action failures instead of false-success notices.
- Email: every seeded template is shown in the editor; Preview Text is applied as the inbox preheader; sends are logged.
- Navigation: Messages and integration-bridge options are gated on their required plugin being active.
- Appearance logo and default theme reflect on the front end; pin/unpin updates the feed without a reload.
- Settings: hide Connect for unconfigured social providers; gate Direct Messaging on WPMediaVerse.
Fix
- Duplicate transactional emails on moderation actions (2-3 copies) reduced to one.
- Social-login verified email is now recognized (meta key mismatch).
- Isolation mu-plugin no longer strips BuddyNext Pro on front-end routes, and matches route segments exactly so pages like /membership/ are not mis-isolated.
- Allow assigning an existing page whose slug matches a hub.
Security
- Masked secret input fields for admin credentials.
Compat
- Pairs with BuddyNext Pro 0.6.0-beta1. Install both together.