Release notes / Jetonomy Pro
Premium Plugin Plugin

Jetonomy Pro

Once your forum is busy, you need engagement (reactions, polls, badges) and ops (analytics, webhooks, push). Jetonomy Pro ships 14 modular extensions: enable only what your community needs, skip the rest.

14 releases
v2.0.3 latest
October 18, 2026 shipped

v2.0.3 Latest

October 18, 2026
New 1 Improve 5 Fix 7 Security 5 Dev 2 Compat 1

New

  • Hover over a reaction, focus it with the keyboard, or press and hold it on a phone to see who chose it, for example "Like: Maya, Bob and 3 others".

Improve

  • A member who chose a daily or weekly digest no longer also gets instant emails for replies to their topics or new topics in followed spaces.
  • The digest choice appears in the profile notification settings, and the unsubscribe page links there.
  • In approval spaces, non-members can read a poll and its results but see why they cannot vote, and voting asks them to join the space.
  • Profile Message opens the WPMediaVerse chat while Pro messaging is dormant.
  • Unlinking a tag from a space trims its synced members from the Members list without waiting for the hourly update.

Fix

  • Personal data export now includes custom fields, badges and browser push subscriptions.
  • Switching the Analytics date range always shows the range you picked, even when an earlier request answers late.
  • Messaging abilities are no longer listed for AI agents while WPMediaVerse handles messaging.
  • Deleting an auto-moderation rule opens one confirm dialog and succeeds.
  • Digest replies to your topics are limited to published topics in spaces you can still read.
  • Custom badge awards at their limit, invalid analytics date ranges and unknown option values now return clear errors, and keyword rules match whole words.
  • Deleting Jetonomy Pro keeps its data when Jetonomy is installed but has never saved settings, and also clears the licence weekly check when you remove data.

Security

  • Digests never list another member's private topic.
  • Polls, topics, conversations, attachments and reactions you cannot read now answer like missing ones.
  • Web Push checks the destination address again right before each send, so an address that later points to a private network is skipped.
  • Messaging, polls, reactions, attachments and announcement pins refuse silenced and banned members with the reason.
  • Push notifications keep private message text off the lock screen.

Dev

  • GET .../reactions takes an optional emoji argument and returns the total, up to ten names and a translated label.
  • Pro data on delete follows the Jetonomy Data setting.

Compat

  • Aligned with Jetonomy 2.0.3. Install both updates together.

v2.0.2

October 15, 2026
New 2 Improve 20 Fix 16 Security 9 Dev 2 Compat 1

New

  • Polls now let anyone who voted remove their vote with a "Remove my vote" button.
  • Private messaging inbox gets Active and Archived views, and a new message brings an archived thread back to the recipient's inbox (the sender's own archive is kept).

Improve

  • Every Pro screen, email and integration uses your renamed terms for spaces, topics, replies, members and categories, and reads correctly with any word you choose.
  • The AI usage limit setting shows each trust level's name beside its number.
  • Badges and Extensions screens open for staff given the Manage badges and Manage extensions permissions.
  • Pro extension tabs in Settings now show icons and line up with the others, and Reactions lists emoji by name (Like, Love, Haha) instead of internal slugs.
  • Admin saves for Reactions, Web Push, AI, Reply by Email, Attachments, Email Digest, License, Custom Fields, Webhooks, White Label, Polls and Private Messaging redirect after saving, so refreshing no longer resubmits the form, repeats a test email or flips a toggle.
  • Analytics and its dashboard widget open for members with the View analytics capability, not only administrators.
  • Analytics Active Users change compares active users, the trend chart groups days over 30 instead of dropping them, Top Contributors includes authors without a profile row, and the legend dots match the chart colours.
  • Email Digest status reflects the real schedule, the first run is one interval after enabling, and subscriber counts are faster.
  • Custom Fields enforces Required topic fields on the server (drafts exempt), rejects values of only spaces or an empty multi-pick, and removes the Delete button that only disabled the field.
  • White Label saves before the menu is built so the new name shows on the confirmation page, and an empty Brand Name keeps Jetonomy and says so.
  • The Auto-Rules type select no longer lists membership types that do not belong, and Scope shows the space title.
  • Polls count voters, not choices, and the "Closes in" or "Closed" note stays visible after voting.
  • Messaging and the email digest show member names by the Name display setting.
  • Message participant names read "and 1 other" instead of "and 1 others".
  • Every user-facing string is now translatable, counts use each language's real plural forms (including poll voter counts), and the language files are updated.
  • Custom Fields and Auto-Rules lists, and Analytics, use admin colour tokens so they follow dark and custom admin colours.
  • The Email Digest sends from the Email tab's sender unless you set its own, so a later site rename reaches digests.
  • The Polls list shows each poll's topic, a readable type and a relative date.
  • With a White Label brand name set, Pro headings and licence notices use it.
  • Badges count members who earned them, not award rows.

Fix

  • The email digest says "1 reply" instead of "1 replies".
  • The email digest command line stats show the next scheduled daily and weekly sends.
  • Enabling SEO Pro no longer lowers every space's sitemap priority; the default is Auto, and a chosen value now applies to the space page only, not its topics.
  • Switching off an extension (wp-admin toggle, WP-CLI or license lapse) now cancels its background jobs, so they no longer pile up as failed "no callbacks" jobs in Action Scheduler.
  • Custom Badges stored with the old demo shape no longer show "(none)" and are converted once so they are awarded.
  • The Anonymous Posting Reveal author button now stays on one line.
  • Integrations status reports WooCommerce as "Not detected" when only core WooCommerce is installed, and no longer adds a membership rule type for it.
  • Poll results: the radio now sits above the result bar and the bar follows the reading direction.
  • The Automator remove action always removes the member, even from a space's last admin role.
  • Attachments now follow the Upload media permission, and Attach buttons are hidden for members who cannot upload.
  • Uninstall now removes all pending Pro background jobs and one-time migration flags.
  • A poll started in the topic composer with fewer than two options now stops the post and says what is missing, instead of vanishing.
  • A once-only badge can no longer be awarded twice, and existing duplicate awards are removed once.
  • The analytics dashboard, widget and CSV export use your Terminology for topics.
  • Visitors see reaction counts and a "Log in to react" link, instead of a picker that sent them to the login screen after they chose an emoji.
  • A poll option you voted for shows its real share of the votes instead of looking 100% full.

Security

  • Site moderators can no longer add or change polls or custom fields on topics in private spaces they cannot read.
  • Webhooks can no longer be pointed at internal or private network addresses.
  • Space tabs for SEO, Anonymous Posting, WP Fusion and SureMembers now check capability and nonce before saving.
  • Private messages: someone who left a conversation could still open it by URL and read messages sent after they left; that is refused now, and opening it no longer marks it read for them.
  • The AI thread summary no longer reads private replies and is rebuilt when a reply is edited; summaries cached before this are purged once.
  • Attachment downloads on a private reply are refused to anyone who cannot read the reply.
  • Custom Fields no longer reveals required field names to a request from someone who may not post in the space.
  • Webhooks no longer send private topics or private replies, and anonymous content is sent with author id 0.
  • The private messages conversation header shows the other member's public handle instead of their username, which on some sites is an email address.

Dev

  • Pro REST error codes now carry the `jetonomy_` prefix (Reply by Email, Web Push, Webhooks, Site Announcements).
  • Pro now documents every hook with a description and `@since` version.

Compat

  • Aligned with Jetonomy 2.0.2. Install both updates together.

v2.0.1

October 6, 2026
Improve 3 Fix 17 Security 3 Dev 1 Compat 1

Improve

  • The free-course spaces option is offered only for an LMS where Jetonomy can tell which courses are free, and names the jetonomy_pro_course_is_free filter for other LMS plugins.
  • Direct messages notify by web and app push and by email, following each member's notification preferences and blocks. A conversation notifies once, then stays quiet until the member opens it, while the Messages unread count still shows every message, and muted conversations send nothing.
  • Pro stylesheets and scripts are versioned by file, so an update never serves an old cached copy.

Fix

  • Hiding the free-course spaces option can no longer switch a saved setting off.
  • A community manager who can manage Jetonomy settings can now save the Integrations tab, not just open it.
  • Reply by Email answers a malformed or expired reply token with a 400 error instead of a server error, so uptime monitors are not triggered.
  • Pro settings screens show one save confirmation, the same way the main settings do, and the License tab no longer shows it twice.
  • Admin text in Integrations, Moderation, Badges, Analytics, and anonymous posting can now be translated.
  • Badges and Moderation rules confirm every save with one notice instead of reloading silently.
  • Course spaces created for an LMS always get a valid space type.
  • Outgoing webhooks no longer send post.created, post.updated, reply.created, or reply.updated for content still waiting for approval or marked as spam.
  • Outgoing webhook payloads carry the real author_id for topics and replies instead of 0.
  • The Conversations admin screen scrolls its tables on phones instead of overflowing the page.
  • Opening a private conversation, or replying in it, now marks its notification as read.
  • Attach files and Add Poll sit side by side in the new-topic composer.
  • Messages and profile badges follow the community's colours and dark mode, and badge pills and poll counts are easier to read.
  • The PDF viewer, attachment chips, poll option placeholders, and push notification titles can now be translated.
  • The Messages empty state uses the community's icon set, and Pro text no longer uses dashes as separators.
  • Deleting a topic with a poll also removes the poll's options and votes.
  • The Messages pages show Messages as their browser tab title instead of only the site name.

Security

  • Deleting or toggling a custom field from its admin links now requires the settings capability.
  • Member names in the Award Badge search are shown as plain text.
  • SEO Pro metadata and AI summaries no longer reveal the author of anonymous topics and replies.

Dev

  • Removed calls that are deprecated in PHP 8.5.

Compat

  • Aligned with Jetonomy 2.0.1. Install both updates together.

v2.0.0

September 23, 2026
Improve 1 Fix 7 Compat 1

Improve

  • License grace period matches the 30 days the store promises.

Fix

  • The SEO Pro title template no longer repeats the site name when a space uses a separator other than a hyphen, en dash, em dash, or pipe.
  • Several settings across Pro tabs that said "saved" now actually apply: eight fields that were silently coerced to the wrong type, the email digest's From name and address, AI feature toggles and provider settings, LMS integration toggles, and the IMAP password field that was being mangled on save.
  • Pro settings tabs honour the delegated settings capability and confirm their saves instead of failing silently.
  • A pinned announcement now pins to the top of its own space, not just the community home.
  • A refused webhook delivery now says why.
  • Space-scoped custom fields no longer show up on the global create-space form.
  • Three admin UI defects: buttons that wrapped awkwardly, an alert dialog rendering behind its modal, and a stray Cancel button.

Compat

  • Aligned with Jetonomy 2.0.0. Install both updates together.

v1.9.7

September 10, 2026
Dev 1 Compat 1

Dev

  • Corrected the Free vs Pro comparison document, which listed the WooCommerce, Restrict Content Pro and LearnDash integrations as available in the free plugin. All three are Pro, and the customer-facing documentation already said so.

Compat

  • Aligned with Jetonomy 1.9.7. Install both updates together.

v1.9.6

September 3, 2026
Dev 2 Compat 1

Dev

  • The Spam_Detector guard now checks that the plugin itself loads the class, rather than loading it inside the test and then asserting it exists.
  • Test runs no longer count skipped checks as passes, so a disabled extension no longer inflates the pass count.

Compat

  • Aligned with Jetonomy 1.9.6. Install both updates together.

v1.9.5

September 3, 2026
Improve 1 Fix 7 Compat 1

Improve

  • Site owners are now warned when AI moderation cannot reach any provider. Content still publishes rather than the site locking up, but the gap in spam coverage is no longer silent.

Fix

  • Deactivating Jetonomy Pro no longer triggers a critical error and leaves the plugin stuck active. The AI extension referenced a class that had not been loaded during deactivation, so the plugin could not be switched off at all.
  • PDF attachments now open in the built-in viewer. A scripting error meant every PDF silently fell back to a raw browser tab, so the viewer was never actually reached.
  • Activating Jetonomy Pro no longer writes a duplicate-key database error to the log. The AI cache index did not match its schema, which also let repeated AI summaries pile up as new rows instead of replacing the old one.
  • wp jetonomy-pro ai spam-check now runs. It failed on every invocation because the detector class was never loaded.
  • wp jetonomy-pro email-digest stats now reports a real timestamp instead of just the year, so it is possible to tell whether the digest ran an hour ago or last spring.
  • Renamed Topic, Reply and Member labels now apply across Pro surfaces, including digest emails and the AI reply controls, which previously reverted to the built-in words.
  • A REST self-test now reports a missing digest frequency instead of crashing while building its own failure message.

Compat

  • Aligned with Jetonomy 1.9.5. Install both updates together.

v1.9.4

August 31, 2026
Improve 1 Fix 5 Security 6 Dev 5 Compat 1

Improve

  • Analytics "Top Spaces" now ranks on all activity in the period, not new topics alone. Established spaces that mostly collect replies were being pushed off the board by brand-new empty ones.

Fix

  • Saving custom profile or post fields now returns an error when none of the submitted fields is recognised, instead of reporting success while silently discarding the data.
  • Membership adapters no longer keep their own roster sync. Roster writes are now owned by the core listener with provenance, so a lapsing plan can only ever remove members it added and never someone who joined the space directly.
  • The message-restriction notice is now identical in the recipient picker and the send path. The two used different wording and error codes for the same trust requirement.
  • The email-digest preferences link now stays on the community profile even when member profiles are pointed at another profile plugin.
  • Enabling or disabling an extension from WP-CLI now reports what was actually saved. Where another plugin takes over a feature, the command says so by name instead of appearing to do nothing, and disabling such an extension now takes effect.

Security

  • Reply by Email now rejects any inbound webhook it cannot verify. A request that simply omitted the signature skipped the check entirely, so anyone who saw a reply-to address could post as that member. Genuine Mailgun deliveries are now verified the way Mailgun actually signs them.
  • File attachments are no longer downloadable by link id without permission. Files on posts in private or hidden spaces could be fetched by anyone walking sequential ids.
  • Custom field values on a post now follow that post's visibility, instead of being readable for any post id.
  • Attaching a file now requires that the post or reply is yours. Previously only the file had to be yours, so an upload could be attached to somebody else's content.
  • Leaving a group conversation now ends access to it. The conversation disappeared from the inbox but could still be read and replied to by id.
  • Replies arriving by email are now subject to the same rules as replies posted on the site, including the ban, closed-topic and archived-space checks.

Dev

  • Corrected the plugin manifest version and provenance stamps, and added the reconciliation entries 1.9.2 and 1.9.3 never received.
  • Consolidated the QA gate to read its expected total from the free plugin's config rather than restating it.
  • Rewrote the docs index, which pointed at a plans directory that was never part of this project.
  • Collapsed four parallel plan archives into one dated archive; no plan was deleted.
  • Removed an unused licence-tier field from every extension. It was never read - any valid licence unlocks every extension - and its values had drifted out of step with the documentation.

Compat

  • Aligned with Jetonomy 1.9.4. Install both updates together.

v1.9.3

August 19, 2026
Fix 4 Dev 2 Compat 1

Fix

  • A Q&A topic no longer carries two conflicting schema.org types when SEO Pro is active, so search engines get one clear answer about what the page is.
  • Every space page likewise carried a duplicate CollectionPage entity; SEO Pro now adjusts free's markup instead of emitting its own.
  • The og:author tag and the message-log Sender column showed a raw or empty name; both now use the same name free renders on the page.
  • Private message screens and the email digest greeting now show the same member name as the rest of the community.

Dev

  • SEO Pro hooks free's new jetonomy_schema filter rather than printing a second JSON-LD block, so only the canonical URL is Pro's contribution.
  • attachments.css now declares the shared token stylesheet as a dependency on the admin Content screen as well as the front end, so a rule added to it later cannot render unstyled there.

Compat

  • Requires Jetonomy 1.9.3. Install both updates together.

v1.9.2

August 11, 2026
New 1 Improve 1 Fix 6 Compat 1

New

  • A Learnomy Space's discussion room links back to the Space, and a cohort's discussion links both ways.

Improve

  • A course discussion space is private by default; an admin chooses whether a free course's space is public.

Fix

  • A discussion turned on for a single course while the site-wide setting is off now creates the space when the course is published, instead of doing nothing.
  • Setting a course to draft no longer switches its discussion off. The choice is kept, and the space is created when the course is published.
  • A course, cohort or Space whose discussion was turned off no longer appears in the student dashboard or the account menu.
  • A learner enrolled before a course was given its discussion now sees it in the account menu and the dashboard, not only after they take part.
  • Turning a course discussion on now reports a clear error when the space cannot be created, instead of appearing to succeed while creating nothing.
  • A discussion space follows its course when the course price or visibility changes, so a space is never left public on a course that has become paid.

Compat

  • Aligned with Jetonomy 1.9.2. Install both updates together.

v1.9.1

August 6, 2026
New 2 Improve 4 Fix 8 Security 1 Compat 1

New

  • A Learnomy cohort or a Learnomy Space can have its own discussion space, the way a course already could.
  • "Your discussions" on the Learnomy student dashboard lists every discussion a learner can reach.

Improve

  • One Community switch turns a discussion on wherever it appears, replacing the separate Discussion panel that used to sit in the course editor.
  • A single course can have a discussion without turning the site-wide setting on.
  • The Learnomy integration settings screen explains what each option actually does.
  • Poll results, the unread-message badge, reactions and custom fields do less database work per page.

Fix

  • Learners enrolled before a course was given its discussion saw no link to it.
  • The lesson screen offered two different destinations both labelled "Discussion".
  • The discussion toggle in the course editor could never be saved.
  • The Community switch would not stay off on a cohort or a Learnomy Space.
  • Turning a discussion back on after its space had been deleted created nothing.
  • Deleting a Learnomy course, cohort or Space now drops the access rule that pointed at it, instead of leaving a space gated on something that no longer exists.
  • The instructor owns the discussion space, rather than whoever pressed the switch.
  • Attachment file-type options ran together with no spacing on the settings screen.

Security

  • Enrolling in a course, or gaining any membership level, could hand someone more than the rule allowed. Where a rule recorded people with a raised space role, every learner who enrolled was given that role on the space the rule opens, including the ability to edit and delete other people's posts. Enrolment now records people as members at most, whatever the rule stores, matching the rule that a plan can never make somebody a moderator. Rules already saved on your site are covered and no action is needed; to appoint a moderator, set the person's role on the space Members tab.

Compat

  • Aligned with Jetonomy 1.9.1. Install both updates together.

v1.9.0

August 2, 2026
New 6 Improve 3 Fix 1 Dev 2 Compat 1

New

  • Gate a Jetonomy space on a BuddyNext Pro membership tier. Holders get in while the subscription is active, including the period after a cancellation, and lose access when it lapses.
  • A visitor without the tier is sent to that tier's own plan page rather than a generic pricing page.
  • The same buy link works for WooCommerce Memberships, Restrict Content Pro, LearnDash, Tutor LMS, LifterLMS, Sensei, MasterStudy and Learnomy, sending people to the plan or course that opens the space. Where a plan is sold through several products, the requirement is stated without a link rather than guessing which one to sell.
  • A Learnomy course can have its own discussion space, created when the course is published, with students added to it automatically as they enrol.
  • Instructors turn a course's discussion on or off from the course editor or the course builder, and turning it off hides the links while keeping the space and everything posted in it.
  • Links to a course's discussion appear on the course sidebar, inside lessons and in the student's account area, and the space links back to the course it belongs to.

Improve

  • Private Messaging shows as Dormant, with no on/off switch, when another plugin handles direct messages, so the control no longer claims a state the extension is not in. Your setting is kept and returns if that plugin is deactivated.
  • The Conversations screen explains why it is dormant instead of showing a permissions error.
  • Every message the Pro extensions show can be translated, including private messaging, polls, badges, and the analytics dashboard.

Fix

  • Badge tier and category, and the licence tier, read in your language instead of always in English.

Dev

  • Membership adapters may implement get_level_url() to link a plan directly; the BuddyNext Pro adapter resolves to that tier's plan page.
  • New POST /jetonomy/v1/learnomy/course-discussion turns a course's discussion space on or off, with a WP-CLI journey covering it. A course space is auto-created through the shared provisioner, which fires jetonomy_pro_course_space_created.

Compat

  • Aligned with Jetonomy 1.9.0, which closes a permissions issue in space access rules. Install both updates together.

v1.8.0

July 17, 2026
Improve 2 Fix 2 Dev 1 Compat 1

Improve

  • Private messaging now respects blocking - you cannot start or continue a conversation with someone you have blocked, or who has blocked you.
  • Anonymous posting applies the space's own setting, so posts publish anonymously where the space allows it.

Fix

  • The attachment cleanup job only removes files this plugin created, never another forum plugin's media, so a migration can no longer lose files.
  • Pro refuses to run against an older free plugin instead of showing a blank screen; update both together.

Dev

  • Attachment storage moved to the free plugin's jt_attachments table (the previous jt_pro_attachments, renamed on upgrade with no data copied); Pro reads and writes the same table.

Compat

  • Aligned with Jetonomy 1.8.0. Install both updates together.

v1.7.0

July 10, 2026
New 2 Fix 3 Dev 1 Compat 1

New

  • Anonymous Posting: members can post topics and replies anonymously, enabled per space, with the real author masked on every surface (feed, topic, replies, search, notifications, RSS, profiles, and the app) and a site-admin-only reveal that is written to the activity log.
  • File Attachments: attach images, PDFs and Office documents to topics and replies, with server-rendered preview cards, a download chip for documents, and an inline PDF viewer loaded only when a PDF is opened. Allowed types, maximum size, and file count are configurable; SVG is never permitted.

Fix

  • Badge notifications now land on the badges section of the profile, which now carries the anchor the notification links to.
  • Uninstalling now drops the push devices table, instead of leaving it behind on the site.
  • Reaction control screen-reader labels and the Pro front-end script strings are now translatable.

Dev

  • Corrected the Pro table count in the manifest (18 to 19) to include the push devices table.

Compat

  • Aligned with Jetonomy 1.7.0. Install both updates together.