All notable changes to the BricksSync plugin are documented in this file.
1.4.1-alpha
Added
- Network-Controlled Subsite Tab Visibility: Network admins can now control which tabs subsites see via Global Config and Group Config “Subsite Features” section. Dashboard and License are always shown; Library, Workflows, Config, Activity, Guides, and Bundles are toggleable. Settings cascade from global → group → site.
- Custom Tables Sync: New sync handler for plugins that store data in custom database tables instead of
wp_options. Enables full sync support for ACPT and similar plugins. - Auto-Export for All Integrations: Configure auto-export per integration type (templates, components, global classes, colors, typography). Previously only templates had auto-export.
- Simplified Multisite UI: Network admin now has 7 main tabs with logical sub-sections (down from 14). Subsite UI shows only relevant features.
- Demo Data CLI: New
wp brickssync demo seedandwp brickssync demo removecommands for testing.
Fixed
- ACPT Integration: ACPT sync now exports and imports all configuration data from its 27+ custom tables. Previously only version numbers were synced.
- Non-Latin Slug Preservation: Korean, CJK, and other non-Latin slugs are no longer percent-encoded during sync. Characters like
한국어now transfer correctly. - Library Sections on Subsites: Library content sections now load correctly on multisite subsites.
- Templates CLI Import: The
--overwriteflag (which was always on) has been replaced with--conflict(skip/overwrite) for proper control. - Integration Visibility: Disabled integrations (alpha/beta/untested) now properly hidden from Library when toggled off in settings.
- Group Push from Workflows: Group push action now works correctly when configured via the Workflows tab.
Changed
- Network Admin Structure: Consolidated tabs for better UX — Workflows now includes Running Jobs, Schedules, and Batch Settings as sub-sections; Sites tab includes Overview, Groups, and Global Config.
- Subsite Tab Defaults: Tab visibility now controlled by network admin. Defaults: Dashboard, Library, Activity, Guides, License on; Workflows, Config, Bundles off.
1.4.0-alpha
Added
- Workflow Notifications: Get notified when workflows need attention via email or webhook.
- Email notifications sent to admin email using
wp_mail(). - Webhook support for Slack, Discord, Zapier, n8n, and any HTTP endpoint.
- Auto-detection and rich formatting for Slack (attachments with buttons) and Discord (embeds).
- Configurable per-workflow: notify on approval required, completion, or failure.
- Notification settings UI in the Workflows tab.
- Extensible via hooks:
brickssync_notification_payload,brickssync_notification_recipients. - New action hooks:
brickssync_workflow_completed,brickssync_workflow_failed. - Template Versioning & Rollback: Automatically save version history for templates with easy rollback.
- Auto-save versions on template edit, before import overwrites, and on export.
- Version history UI in Templates tab with restore functionality.
- “Save Version Now” manual button for on-demand snapshots.
- Configurable max versions per template (1-50).
- Fully optional via settings flag (disable for Git workflows).
- WP-CLI commands:
versions,save-version,restore,clear-versions. - Conflict Resolution UI: Visual conflict detection when importing templates that already exist.
- Side-by-side comparison showing element counts and modification dates.
- Plain-language summaries (“Import has 3 more elements”).
- Keep/Replace per-template decisions with safe defaults.
- “Keep All” / “Replace All” bulk actions.
- Visual comparison: open current in Bricks, preview import as temp template.
- Auto-cleanup of preview templates after 1 hour.
- Maintenance Mode Integration: Automatically enable Bricks maintenance mode during sync operations.
- Per-workflow-step option to enable maintenance mode.
- Smart state tracking (won’t disable if already enabled).
- Safety timeout with auto-disable (configurable, default 30 min).
- Uses Bricks’ built-in maintenance page settings.
- Off by default – opt-in per workflow step.
- Template Dependencies: Detect media, plugins, and fonts used in templates.
- Plugin detection: warns when importing templates using elements from missing plugins.
- Media detection: identifies images/files used in templates with file sizes.
- Font detection: lists Google Fonts, Adobe Fonts, and custom fonts used.
- Pre-import warning modal for missing plugins with “Import Anyway” option.
- Supports Bricks Extras, Bricksforge, Bricksable, and other popular add-ons.
- Audit Trail & Compliance: Comprehensive audit logging for enterprise accountability.
- Logs all sync operations, workflow runs, and configuration changes.
- Records actor (user/system/API), timestamp, target, context, and result.
- Filterable Audit Log tab with search, date range, user, and status filters.
- Export to CSV or JSON for compliance audits (SOC2, GDPR).
- Configurable retention period (default: 1 year).
- Statistics dashboard showing activity by category and status.
- Performance & Security Improvements: Code audit fixes for production readiness.
- Integration detection caching: 1-hour transient cache with auto-invalidation on plugin/theme changes.
- REST API rate limiting: 60 requests/minute per user with proper 429 responses.
- Health check endpoints:
/brickssync/v1/health(public) and/health/detailed(authenticated). - Consolidated storage path functions for consistent multisite support.
- Can disable rate limiting with
define('BRICKSSYNC_DISABLE_RATE_LIMIT', true);. - Configurable Workflow Steps: Replace fixed 3-step workflows with dynamic 1-100 step support.
- Add/remove steps dynamically in the workflow editor.
- Approval gates: require manual approval before critical steps.
- Webhook steps: trigger GitHub Actions, Netlify, Slack, or any HTTP endpoint.
- Shell command steps: run git, npm, or custom scripts (with security sandbox).
- Workflow Runs dashboard: monitor execution, approve pending steps, view progress.
- Variable interpolation: use {{workflow_id}}, {{date}}, {https://brickssync.com} in webhooks.
- REST API for workflow runs, approvals, and execution.
- 4 new guides covering dynamic steps, approval gates, runs dashboard, and webhooks.
- Selective Global CSS Sync: Include global styles when syncing templates for portable, self-contained exports.
- Automatically detects global CSS classes, colors, and typography used by templates.
- “Include global styles” checkbox in Templates tab for export/import.
- Smart merge with conflict detection (skip, overwrite, rename).
- REST API endpoints for style analysis and merging.
- 4 new guides covering global styles sync.
- Bundles: Group templates and components together for selective sync operations.
- Create, edit, and delete bundles via the new Bundles tab.
- Items can belong to multiple bundles without duplication.
- “Load from bundle” dropdown in workflow steps to pre-fill integration checkboxes.
- REST API endpoints for bundle CRUD operations.
- 4 new guides covering bundle usage.
- Global Styles Section: Complete design system management in Library with 10 tabs in 3 groups.
- Styles Group: Classes, Colors, Typography, Custom CSS, Custom Code
- Presets Group: Element Defaults, Theme Styles
- Site Config Group: Breakpoints, Custom Fonts, Icon Fonts
- Grouped sub-navigation for easy access to all design system components.
- Site ⇄ Storage comparison view showing sync status per item.
- Selective export/import for array-based sections (classes, colors, typography, theme styles, fonts, icons).
- Full export/import for single-option sections (element defaults, breakpoints, CSS, code).
- Conflict resolution options: skip existing, overwrite, or rename imported.
- All storage consolidated under
global-styles/directory. - WordPress Widgets Section (alpha): New Library section for syncing sidebar widgets.
- Export widget configurations from sidebars.
- Import to another site with conflict resolution.
- Useful for staging → production deployments.
- Batch/Throttle Sync: Complete batch processing system for large-scale sync operations.
- Site-Level Batching: Process many subsites or remotes in configurable batches via WP Cron.
- Element-Level Batching: Handle large template libraries (50+ items) without timeouts.
- Scheduled Batch Jobs: Automate recurring syncs on hourly, daily, or weekly schedules.
- Remote Group Batching: Push to multiple external WordPress sites in a single batch operation.
- Progress Monitoring: Real-time progress bars, elapsed time, and estimated remaining time.
- Pause/Resume/Cancel: Full control over running batch jobs.
- Automatic Retries: Configurable retry logic for failed sites with exponential backoff.
- Failure Threshold: Automatically stop batch if too many failures occur.
- New Network Admin Tabs:
- Batch Jobs: Monitor running and completed batch sync operations.
- Schedules: Create and manage automated batch sync schedules.
- Batch Settings: Configure batch sizes, delays, timeouts, and retry behavior.
- New REST API Endpoints:
GET /bundles– List all bundlesGET /bundles/{slug}– Get single bundlePOST /bundles– Create bundlePUT /bundles/{slug}– Update bundleDELETE /bundles/{slug}– Delete bundleGET /bundles/{slug}/contents– Get bundle contentsPOST /bundles/{slug}/duplicate– Duplicate bundlePOST /bundles/{slug}/add– Add items to bundlePOST /bundles/{slug}/remove– Remove items from bundleGET /bundles/available-items– Get available templates/componentsGET /bundles/stats– Get bundle statisticsPOST /batch/start– Start a new batch jobGET /batch/status/{job_id}– Get job status and progressPOST /batch/pause/{job_id}– Pause a running jobPOST /batch/resume/{job_id}– Resume a paused jobPOST /batch/cancel/{job_id}– Cancel a jobPOST /batch/retry/{job_id}– Retry failed targetsGET /batch/jobs– List all batch jobsDELETE /batch/jobs/{job_id}– Delete a jobGET/POST /batch/settings– Manage batch settingsPOST /batch/remote-group/start– Start remote group batchGET /batch/remote-groups– List remote groupsGET/POST/DELETE /batch/schedules– Manage scheduled jobsPOST /batch/schedules/{id}/toggle– Enable/disable schedulePOST /batch/schedules/{id}/run-now– Trigger schedule immediatelyPOST /batch/elements/start– Start element batch jobGET /batch/elements/status/{job_id}– Get element job statusPOST /batch/elements/check– Check if batching will be used- Comprehensive Documentation: 30+ new guides covering batch processing, bundles, global styles, design system, and workflows:
- Batch Processing Overview
- Running Batch Jobs
- Configuring Batch Settings
- Scheduled Batch Jobs
- Batch Sync to Remote Groups
- Element-Level Batching
- Batch Processing API Reference
- Batch Processing Troubleshooting
- Bundles Overview
- Creating and Managing Bundles
- Using Bundles in Workflows
- Bundles REST API
- Global Styles Sync Overview
- Exporting with Global Styles
- Importing with Global Styles
- Global Styles API
- Dynamic Workflow Steps
- Workflow Approval Gates
- Workflow Runs Dashboard
- Webhook Steps in Workflows
- Global Styles Overview
- Syncing CSS Classes
- Syncing Color Palette
- Syncing Typography
- Syncing Custom CSS
- Syncing Custom Code (JavaScript)
- Syncing Element Defaults
- Syncing Theme Styles
- Syncing Breakpoints
- Syncing Custom Fonts
- New Guide Categories: “Batch Processing” and “Design System” categories added to Guides section.
Changed
- Network Workflows with multiple targets now show “Run Batch” button with confirmation dialog.
- Batch settings UI includes estimation calculator for planning sync operations.
- Element batching automatically activates when syncing more than 50 items (configurable).
- PHP minimum version updated to 8.0 (was 7.4) to support typed properties and modern features.
Fixed
- Uninstall cleanup: Plugin uninstall now properly removes all data.
- Cleans all 40+ plugin options (was only cleaning 6).
- Drops the
brickssync_audit_logdatabase table. - Clears all scheduled cron events.
- Removes all transients including dynamically-named ones.
- Proper multisite support with per-site and network-level cleanup.
1.3.2-alpha
Added
- Site Role setting in Config > General to control whether a site can receive remote pulls (Child/Receiver) or is protected from overwrites (Parent/Source Only).
Fixed
- Remote push/pull workflows now correctly sync all integrations including media.
- Remote connection “Last used” date now updates properly.
- Various UI fixes for transfers and backups.
Changed
- Debug logging is now optional (enable in Config > Debug & Logging).
Removed
- Legacy Parent/Child connection system has been fully removed and replaced by the new Remotes system.
1.3.1-alpha
Fixed
- Config > Storage: saving now keeps you on the Storage section (no redirect to General).
- Storage status checker now supports new UI storage location values (wp-content/uploads/theme/custom) while remaining compatible with legacy values.
1.3-alpha
Added
- Full Localization Support: Plugin is now fully translatable using WordPress standard i18n methods.
- Added
languages/directory with.pottemplate file - Included Dutch (nl_NL) translation as example
- Added
load_textdomain()for automatic translation loading - All UI strings wrapped in translation functions
- Integration Status System: Integrations now have status levels (stable/beta/alpha/untested) to indicate maturity.
- Stable: Templates, Components, Bricks Settings (always visible)
- Alpha: WordPress content types (Media, Pages, Posts, Menus, Categories, Tags)
- Untested: Third-party plugins (CSS frameworks, custom fields, Bricks plugins, Gutenberg)
- Experimental Integrations Toggles: Config > General now has toggles to show/hide beta, alpha, and untested integrations.
- Integrations Dashboard Widget: New widget on dashboard showing integration counts by status with quick access to settings.
- Dynamic Integration Examples: Config page examples auto-update based on actual integration status values.
- Library Menu Organization: Integrations grouped by category with headers and indented items, sorted by order field.
- WP-CLI configuration management:
wp brickssync config get/set [--network]wp brickssync config group get/setwp brickssync config site get [--effective]wp brickssync config site set [--validate-path]wp brickssync config set-file --file=... [--network] [--validate-path]- System Status pane moved to Debug & Logging (single-site and network admin views).
- Comprehensive in-app Guides system with 22 guides covering all use cases.
Changed
- Improved permission checks for admin actions.
- Debug log viewer now streams efficiently for large log files.
Fixed
- Various bug fixes for pull mode, webhook handlers, and cron jobs.
- WP-CLI robustness improvements.
1.2-alpha
Added
- Components tab as a first-class entity with bulk, single, and batch import/export.
- Name-based component identity (slug from label) to avoid cross-site ID collisions.
- components-manifest.json (slug, label, category, version, hash) for fast listing and integrity checks.
- templates-manifest.json at storage root (slug/title/type/status/id/hash).
Changed
- Templates and Components tabs: overwrite toggle for bulk/single imports; batch import selector.
- Direct transfers: include Components and report detailed counts (imported/updated/skipped).
Multisite
- Tabs respect effective storage path on subsites; behavior unchanged for network admin.
1.1.1
- Auto-export now respects global/group/site sync mode settings in multisite. Subsites inherit sync mode if not set locally.
- Fixed require_once path for effective config resolution on multisite.
- Fully tested with Bricks 2.0.1.
1.1.0
- Skips template export if slug is empty.
- Added full support for Bricks Components in settings export. Global CSS is already included in Bricks Settings.
- Documentation and code cleanup.
- Thoroughly tested with Bricks 2.0-rc2.
1.0.0
Major Changes
- Official 1.0 release!
- Compatibility fix for get_plugin_data() on older WordPress versions.
- Textarea fields (like excluded options) now preserve line breaks when saving.
- General documentation and version bump.
0.8.0-alpha
Added
- Multisite/Network Admin Support:
- BricksSync now fully supports WordPress Multisite installations. A dedicated Network Admin interface allows super admins to manage global, group, and per-site configuration for all subsites from a single dashboard.
- New “Sites & Effective Configuration” tab displays all subsites with their effective (inherited/overridden) configuration in a unified table.
- Site-specific overrides can be set and visualized for any subsite. Overrides are clearly indicated with a vertical badge at the start of each row.
- Reset Button: Instantly remove site-specific overrides and revert to inherited configuration. The UI updates immediately after reset.
- Group configuration: Manage shared settings for groups of sites, with inheritance logic for network > group > site.
Improved
- UI/UX Enhancements:
- Redesigned multisite tabs for clarity and consistency with single-site UI.
- Override status is visually prominent and easy to identify.
- Horizontal scrolling for large configuration tables.
- All admin tabs are now more accessible and visually unified.
- Security:
- Nonce verification and input sanitization for all multisite admin actions.
Compatibility
- Single Site:
- All multisite features are isolated—single site installs remain unaffected.
- WP Cron & WP CLI:
- Cron jobs and WP CLI commands work on both single-site and multisite. For multisite, use
--url=with WP CLI to target subsites. No network-wide CLI yet.
Documentation
- Added detailed documentation for multisite/network admin features to all docs and README.
0.7.7-beta
Fixed
- WP CLI functionality was fixed and expanded while at it.
0.7.6-beta
Fixed
- A path error inside the template import function.
0.7.5-beta
Fixed
- Another Error inside the licensing tab.
0.7.4-beta
Fixed
- Error inside the licensing tab.
0.7.3-beta
Added
- Expanded guides for Apache, Nginx, and lighttpd security in documentation.
- Added “Plugin Updates” section to documentation.
- Option to disable licensing checks via constant.
- General documentation and code cleanup.
Changed
- Unified and modernized the admin UI for all plugin tabs for a consistent user experience.
- Improved error handling and validation for storage path and licensing.
Fixed
- Syntax and layout issues in the configuration and debug tabs.
- Removal of duplicate or legacy UI remnants in all admin tabs.
0.7.2
Added
- Automatic
.htaccesscreation to block direct access to JSON files on Apache. - New recommendations for advanced server security and storing JSON outside web root.
0.7.1
Added
- Debug tab with real-time log viewer, log clearing, and logging toggle.
- Improved admin feedback and error handling.
0.7.0
Added
- Selective automation for settings and template sync.
- More granular configuration for file naming, subdirectories, and exclusion options.
- Improved WP-CLI integration for automation and advanced workflows.
- SureCart-based licensing system with activation and deactivation UI.
- Option to disable licensing checks via constant.
- Improved cron support for scheduled sync and automation.
0.6.0
Added
- Support for custom JSON storage paths outside web root.
Changed
- Improved error handling for unwritable directories.
0.5.0
Added
- WP-CLI support for export/import commands.
Changed
- Improved status messages and admin feedback.
- Added troubleshooting section to documentation.
0.4.0
Added
- Automatic and scheduled sync modes (manual, import-only, export-only, full sync).
- Option to exclude specific settings from export.
0.3.0
Added
- Support for exporting/importing Bricks templates (individual/all).
- Improved file naming options for settings and templates.
- Tabbed interface for Settings and Templates.
0.2.0
Added
- Ability to configure storage location (Child Theme, Uploads, Custom Path).
- Improved admin interface with configuration and licensing tabs.
0.1.0
Added
- Initial release: Basic plugin structure with admin interface and tab navigation.
- Manual export/import of Bricks Builder global settings to/from JSON.
- Basic admin tabs for configuration and settings.
