Development

Changelog

BricksMembers is actively developed. Here you find the latest updates.

2026

v1.3.2
Latest

Improved

  • Improved video tracking and analytics, including resume behavior, watch summaries, reporting screens, and safer report fallbacks.
  • Improved Content Fields and the Structure Content Editor with cleaner layouts, more consistent controls, and more reliable location rules.
  • Improved the Migration Assistant recommendations and the checkout and profile form field-mapping experience.
  • Improved SCORM assignment controls across post and structure editing screens.
  • Improved Choice Unlock Credits with optional per-item costs and clearer balance information.
  • Improved profile image handling with better removal and replaced-image cleanup options.
  • Improved Bricks video playlist setup with ready-made Template Assistant layouts and updated documentation.
  • Improved frontend query handling, background automation lookups, and translation update reliability.

Fixed

  • Fixed video resume and analytics issues, including the analytics preset toggle and stale reporting data.
  • Fixed certificate form scope handling, logged-out certificate verification tags, and Korean, Japanese, and Chinese text in certificate PDFs.
  • Fixed Content Fields action button styling and several field-group layout inconsistencies.
  • Fixed Protected Downloads so descriptions are preserved, native Content Fields save correctly, and image previews resolve more reliably.
  • Fixed structure saving and cleanup issues involving numeric structure IDs or unrelated numeric post metadata.
  • Fixed profile and avatar forms so mapped removal controls and replacement cleanup behave correctly.
  • Fixed progress reset and video-completion edge cases that could leave stale progress information.
  • Fixed quiz editor title controls and several smaller spacing and admin-interface issues.
v1.3.0

Added

  • Native custom fields via the Content Fields module: BricksMembers now adds first-party custom fields for posts, pages, lessons, courses, resources, events, structures, and taxonomy terms. This reduces the need for a separate custom fields plugin on BricksMembers sites, keeps sites leaner, and lets custom field data integrate more directly with BricksMembers and Bricks Builder. The module focuses on custom field use cases that matter for membership and LMS sites rather than trying to replace every advanced field-builder feature from plugins like ACF. Field groups can target specific content contexts, values save as native WordPress post meta or term meta, and fields can be used in the WordPress editor, Structure Content Editor, Bricks dynamic tags, Content Field query loops, opt-in Bricks Filter elements, opt-in native Query Loop controls, optional Bricks conditions, Bricks Forms, headless output, AI/MCP abilities, and ACF migration workflows.
  • SCORM module: BricksMembers now supports SCORM Cloud-backed package imports, package-to-post assignments, learner launch through the native brm-scorm-player Bricks element, provider registration sync, SCORM Cloud postbacks, event retention, and completion mapping back into the canonical BricksMembers progress system.
  • Structure Content Editor: BricksMembers now includes a dedicated Structure Content Editor for moving through a structure and editing lesson/page content in one focused workflow. Open it from the Content tab in a structure or from the Edit Content row action on a specific item. It replaces the old pattern of trying to fit serious content editing into the Structure Quick Edit popup, while still letting editors move quickly from item to item. The normal WordPress edit screen remains available as its own WordPress-icon row action. The editor supports body content, settings panels, compatible custom fields, and BricksMembers Content Fields without forcing editors back into the normal WordPress post editor for every update.
  • Access Control session limits and device management: BricksMembers can now limit concurrent logins by global, WordPress role, or BricksMembers level policy. Sites can use Soft gate mode with the native BRM Session Management Bricks element so members choose which old device session to end, or Auto oldest mode to remove the oldest non-current session automatically. Optional new-device login alerts can email users when a new device is detected.

Fixed

  • Production package dependency isolation: BricksMembers now scopes bundled Composer libraries in release packages so they load independently from older global vendor runtimes in other plugins. This prevents activation fatals such as Safeclass_alias() conflicts when another plugin has already loaded an older Safe runtime.
  • Scoped-vendor release verification: Release builds now include a scoped-vendor verifier that checks production packages for high-risk unscoped vendor symbols and confirms the package autoloader still works when another plugin has already loaded an older Safe runtime.
  • BRM admin field preservation: WordPress profile, post-edit, term-edit, and menu-visibility saves now replace BRM-owned values only when the matching BRM field group was submitted with a valid nonce. This prevents unrelated or partial saves from accidentally clearing existing user access levels, post required levels, term required levels, menu visibility requirements, member profile fields, or Content Fields values.
  • BRM Video resume prompts for Bunny Stream and Gumlet: Fixed certain configurations where a provider-side autoplay setting or an existing autoplay=true embed parameter could start playback behind the resume prompt. BRM now waits to create the provider iframe until the viewer chooses Resume or Start over.

Changed

  • Structure Quick Edit focus: Structure Quick Edit is now scoped back toward fast edits for fields users may want to change quickly. Full content editing and heavier field editing belong in the new Structure Content Editor, which uses the same Content Fields value renderer as the WordPress post editor for scalar, link, media, relationship, gallery, group, and repeater controls.
  • BRM Video chapter input: BRM Video Chapters in the post editor now accept plain timestamp lines such as 0:00 Intro, while JSON input remains supported for existing workflows.
  • PHP compatibility documentation: BricksMembers is documented as requiring PHP 8.1 or higher and tested with PHP 8.1 through 8.5.
v1.3.1

Improved

  • Improved frontend query performance by avoiding unnecessary SCORM schema probes, completion/progress snapshot reads, liker-list preloads, and repeated automation hook workflow reads on pages that do not need them.

Fixed

  • Fixed an activation fatal caused by conflicting Composer dependency loading in some plugin stacks.
  • Improved production package dependency isolation.
  • Fixed language loading issues that could affect some installations.
v1.2.0

Drip Content And Bricks Controls

  • Choice Unlock Credits: Drip rules can now grant scheduled credits that a member spends on one eligible post from the rule scope, a selected post type, or manually selected posts.
  • Drip Ancestor conditions, tags, and query filters: Bricks can now check whether a configured ancestor is unlocked, whether that unlock came from normal drip logic or a choice-credit unlock.
  • Native Bricks Button choice unlocks: A Bricks Button can now spend a drip choice credit for the current post or a specific target post, without custom JavaScript.
  • Cleaner parent/course choice behavior: Choosing a parent or course now writes only that exact selected unlock. Child visibility is handled by the new Drip Ancestor tools instead of creating hidden descendant unlock rows.
  • More reliable drip maintenance: Drip rebuild flags now survive the async batch handoff, so maintenance-triggered recomputes do not get lost during queued processing.

BRM Video And Watch Tracking

  • Playback Access controls: The BRM Video element can now block the player itself by login state, selected user levels, post required levels, enrollment, prerequisites, drip, or all BRM access gates.
  • Signed watch-session tokens: Logged-in watch tracking now saves only for videos that rendered as playable for the current user and source.
  • Default captions: Video Tracking settings can now enable default captions and set the caption language for supported providers, including Bunny Stream, YouTube, Vimeo, and Wistia.
  • Richer learner controls: BRM Video now supports per-render playback speed, native Picture-in-Picture where available, focus-scoped keyboard shortcuts, off-screen/floating behavior, lazy loading, HLS bootstrapping, chapter timeline markers, watermark styling, and timed actions.
  • Better resume data: Video watch dynamic tags now expose both actual last position and resume-safe position, including formatted variants for learner dashboards and resume prompts.
  • Safer resume prompts: Bunny Stream, Gumlet, YouTube, Vimeo, Wistia, Mux, and HTML5 players no longer autoplay behind the "Resume from previous position" prompt. Bunny and Gumlet autoplay parameters are also suppressed until the viewer chooses Resume or Start over.
  • Video analytics reliability: Video analytics settings no longer reset when saving the General tab, and dashboard reports now read the daily rollup tables consistently, including empty-rollup states.
  • Video playback and rendering fixes: Video auto-advance, muted autoplay parameters, empty video meta reads, and video image dynamic tags used as background images now behave more reliably.

Content, Structures, And Downloads

  • Structure CSV Sync: Structure editors now have a CSV Sync workflow for previewing and applying structure updates through the existing structure mutation and projection services.
  • Structure cleanup controls: Structure editors can now delete unassigned structure entries more safely from the admin UI.
  • Reading-time dynamic tags: {brm_post:reading_time} and {brm_post:reading_time:minutes} now work on single posts and inside Bricks query loops. Structure and scope reading-time totals can also include saved BRM Video duration with :with_video, :include_video, or :video.
  • Protected Downloads settings: Assignable Post Types selections now persist after saving, showing the success notice, and reloading the page.
  • Nonce refresh for cached pages: Frontend like, quiz, drip, progress, and refresh flows can recover from expired nonces on full-page-cached anonymous pages through the shared nonce refresh-and-retry path.

Checkout, Access, And Admin Reliability

  • Checkout and tax preview fixes: Atomic Checkout now handles customer details, separate billing fields, profile-field fallbacks, missing tax preview URLs, and tax-readiness state more consistently.
  • Access redirect fixes: Required-level pages and login-only access targets now resolve the intended redirect behavior again.
  • Quiz reliability fixes: Quiz answer selector submissions and maintenance-triggered quiz actions are more reliable.
  • Admin diagnostics: Site Health, Environment Doctor, and license diagnostics now surface runtime status more consistently for troubleshooting.
  • Like System admin loading: The Like System admin route now autoloads reliably from the admin navigation.

AI Abilities And MCP

  • New AI Abilities / MCP module: BricksMembers can now expose guarded ability catalogs and MCP-ready tools for external AI assistants that connect through a compatible WordPress MCP bridge.
  • Opt-in access controls: AI/MCP access is disabled by default. Site admins can separately enable MCP access, read-only catalogs, write abilities, destructive actions, and public MCP exposure.
  • Safer AI planning workflow: Write abilities can use dry-run plans, batch limits, allowed post-type controls, Bricks provider selection, and audit history before service-backed changes are committed.
  • Bricks-aware AI setup: The module includes provider status checks, an MCP setup guide, an agent bootstrap prompt, and a built-in conservative Bricks fallback when no richer Bricks provider is available.

Privacy And Runtime Reliability

  • WordPress privacy export and erasure coverage: BricksMembers personal-data exporters and erasers now cover the plugin's PII tables more completely, including billing, email jobs, chat, groups, gifts, enrollments, progress, quiz attempts, certificates, submissions, likes, drip history, events, download logs, and video watch data.
  • Bricks compatibility warning: Sites now get a clearer warning path when the detected Bricks version is not compatible with the active integration.

Security And Runtime Hardening

  • Commerce intent hardening: Tax-inclusive captures now go through stronger commerce-intent fulfillment checks before access is granted.
  • Webhook preset persistence: CopeCart and other Webhook Field Mapping and Billing Synchronization presets now remain active after saving or reloading the settings page.
  • Headless REST hardening: Headless REST responses now avoid locked-item disclosure issues, apply structure-id filtering more consistently, and include stronger throttling behavior.
  • Outbound HTTP hardening: Provider HTTP calls now have stronger policy checks, response-size limits, content-type expectations where appropriate, and broader redaction for cookies and provider secrets in diagnostics.
  • Safer cache flushing: Runtime code now guards WordPress object-cache group flush behavior so environments without wp_cache_flush_group() support do not fail unexpectedly.
v1.1.12

Added

  • Structure Quick Edit slugs: Added a Slug field to the shared structure Quick Edit modal so structure and Content Bank items can update their URL slug without opening the full WordPress editor.
  • Completed-item progress tags: Added completed-item progress dynamic tags for rendering the latest completed item by boundary or structure, including URL, title, ID, and default linked output modes.
  • Module flag diagnostics: Added a module flag audit trail and canonical module flag catalog so settings saves can distinguish explicit module changes from partial settings submissions.
  • Structure-assigned downloads: Added structure-level Protected Download assignments in the individual content structure interface, with a compact header action for selecting existing downloads.

Improved

  • Architecture alignment: Refined the internal plugin architecture with clearer canonical service owners for progress, structures, quiz, content requirements, video source state, public API exposure, and runtime read/write paths.
  • Download assignment scopes: Extended Protected Download elements, dynamic tags, and native Bricks brm_download post query loops so they can read downloads assigned to the current post, a specific post, the current structure, or a specific structure.
  • Automations provider availability: Centralized Automations connection provider definitions so provider availability, including Brevo when the Emails module is disabled, is enforced consistently across the admin UI and save path.
  • Brevo sync idempotency: Improved Brevo automation contact syncing so removing a contact from lists treats already-removed Brevo responses as successful cleanup while still surfacing real provider errors.
  • Quiz score conditions: Replaced the legacy quiz score condition key with one canonical editable Bricks condition that can compare best score or latest attempt score, with a background migration for saved legacy conditions.
  • PDF Designer reuse: Moved certificate PDF rendering and designer reuse onto shared PDF Designer services instead of certificate-specific compatibility shims.
  • Billing model output: Added {brm_billing:item:billing_model_label} for readable billing model output such as one-time, while {brm_billing:item:billing_model} remains the raw value for conditions and machine-readable comparisons.

Removed

  • Deprecated internal bridges: Removed deprecated internal bridge wrappers and compatibility gateways that were replaced by canonical service owners.
  • Deprecated checkout compatibility: Removed BillingCheckoutElement, BRM_Element_Billing_Checkout, the brm-billing-checkout element slug, and the saved-page renderer for that old element. Atomic Checkout remains the canonical checkout implementation.
  • Certificate compatibility shims: Removed certificate PDF/designer compatibility classes.
  • Runtime video fallback: Removed the old BRM Video tag contract notice and request-time video source compatibility fallback. Missing source projections are handled by the backfill service instead.
  • Legacy storage migration UI: Retired the old normalized-storage migration admin page, WP-CLI command, migration notices, and write-lock tooling. Current installs assume the normalized storage runtime directly.
  • Compatibility-only tests: Removed wrapper/existence tests that only proved deleted compatibility classes or billing checkout surfaces existed.

Fixed

  • Login redirect templates: Updated the Bricks login/register hub template so the login form accepts either a username or email address, and preserved the requested destination when BRM redirects logged-out visitors to the configured Bricks login page.
  • EU OSS presets: Applying EU OSS-style tax presets now fills the Payments admin Rates table with bundled EU VAT rows so merchants can inspect and edit generated rates immediately.
  • Checkout preview fallback: Fixed Atomic Checkout preview rendering when the builder has not selected a provider yet.
  • Module flag saves: Fixed partial settings saves so module flags are preserved unless the request is an explicit module toggle submission.
  • BRM Video source persistence: Fixed BRM Video persistence so authored video field values stay canonical while provider hints and normalized source projections remain synchronized.
  • Bunny Stream IDs: Fixed Bunny Stream opaque IDs by honoring the saved provider hint and configured library ID when resolving embeds and thumbnails.
  • Structure slug commits: Fixed structure Quick Edit and staged structure creates/updates so edited slugs are carried through the commit path.
Get BricksMembers

Start Building Your Membership Site Today

Create, sell, and manage your content without limits. BricksMembers gives you everything you need to build membership and LMS sites with Bricks Builder.

Lifetime updates & bug fixes • Premium support • 0% transaction fees • 60-day money-back guarantee