Skip to content

Releases: marblecms/admin

v1.4

19 Apr 18:19

Choose a tag to compare

What's new in v1.4

Plugin API

  • New MarbleAdmin facade for building installable Marble plugins without touching core
  • addNavItem — inject items into existing admin dropdowns (Content / Structure / Users / System)
  • addTopNavSection — register a new top-level nav dropdown (e.g. "Shop")
  • addAsset — inject CSS/JS into every admin page
  • addCkEditorPlugin — register CKEditor 4 external plugins and toolbar buttons
  • System → Plugins: searchable plugin marketplace backed by Packagist (type: marble-plugin) with verified/featured badges from the community registry

Two-Factor Authentication

  • TOTP-based 2FA for admin users (compatible with any Authenticator app)
  • Enable/disable from the user profile with QR code setup flow
  • Backup codes generated on enable, one-time use
  • Login automatically redirects to 2FA challenge when enabled

AI Writing Assistant

  • "AI Assist" button in the CKEditor toolbar on all rich text fields
  • Supports OpenAI (GPT-4o) and Anthropic (Claude) — configure in System → Configuration
  • Sends current editor content as context; inserts clean HTML output directly into the editor

Laravel Events

Marble now fires standard Laravel events you can listen to from any ServiceProvider:

Event Fired when
Marble\Admin\Events\ItemSaved Field values saved (includes changed fields diff)
Marble\Admin\Events\ItemPublished Item status set to published
Marble\Admin\Events\ItemTrashed Item soft-deleted
Marble\Admin\Events\PortalUserRegistered Portal user registers
Marble\Admin\Events\PortalUserLoggedIn Portal user logs in
Marble\Admin\Events\MarbleFormSubmitted Contact form submitted

Other

  • System → Packages: Export and Import merged into a single tabbed page
  • BlueprintInstaller helper for idempotent blueprint + field setup in plugin install commands
  • Laravel 13 support

v1.3

14 Apr 15:24

Choose a tag to compare

Traffic Analytics
Built-in first-party page view tracking — no third-party scripts. Enable with MARBLE_TRAFFIC_TRACKING=true. Each item gets a Traffic tab with a D3.js bar chart, session counts, and a referrer flow graph. Site-wide top-pages table in Admin → Traffic.

Collaboration: Comments & Tasks
Every item now has a Collaboration tab. Leave review comments, create tasks with assignees and due dates, and mark them done. Assigned users receive an email notification. Open tasks assigned to the logged-in user appear in a new "My Tasks" box on the dashboard.

A/B Testing: Conversion Tracking
ItemVariant now tracks conversions_a and conversions_b. Fire a conversion from JavaScript with MarbleAB.convert().

URL Alias Site Boundary
Aliases can no longer resolve items outside the current site's content tree — closing a potential cross-site content leak in multi-site setups.

Leaner MarbleSeeder
MarbleSeeder is now a minimal bootstrap (system blueprints, root item, site, admin user). Demo content has been moved out — extend it in your own application for a clean separation.

v1.2

13 Apr 17:04

Choose a tag to compare

What's New

A/B Testing

Create a Variant B for any item. Configure the traffic split, edit variant field values, and track impression counts per bucket. Visitors are bucketed via a 30-day cookie — templates require no changes.

Content Bundles

Group multiple items and publish them atomically in one click. Pre-publish status and revision snapshots are recorded for every item, enabling a full rollback if anything goes wrong after publish.

Media Blueprints

Assign a Blueprint to a MIME type pattern to attach structured metadata to uploaded media files — captions, alt text, photographer credits, or any custom fields. Field values are accessible via $media->field('alt_text').

Smart Crops

Define named crop presets (e.g. hero, thumbnail) with fixed dimensions. $media->crop('hero') returns a focal-point-aware cover-crop URL. Crop previews shown in the media field editor.

Item Subscriptions

Watch any item from the sidebar. Subscribers receive in-app notifications when the item is saved, its status changes, or it moves through a workflow step. Watched items appear on the dashboard.

Content Relations Graph

Click Relations Graph in the item sidebar for a D3.js force-directed graph showing the item's full connection map: parent, children, outgoing field relations, incoming references, and mount points.

Inline Children

Enable Inline Children on a blueprint to edit child items as collapsible accordion panels directly in the parent item editor — no page navigation needed.

Field History

Every field has a history button. Slide through all saved values with timestamps and the editor who made each change. Restore any previous value in one click.

Dashboard Improvements

  • Watched Items box for subscribed content
  • Workflow Deadlines widget for items approaching or past their step deadline
  • Upcoming Scheduled widget for items with future publish/expire dates

UI Improvements

  • Collapsible sidebar boxes with global localStorage persistence across all items
  • Standardised save/cancel button layout across all admin views
  • A/B Test sidebar widget with visual split bar, impression stats, and pause/resume
  • Bootstrap modals restyled globally to match the field history floating card aesthetic
  • A/B colour scheme aligned to the admin's blue/green palette

Migrations

7 new migrations included. Run after updating:

php artisan migrate

v1.0.1

01 Apr 17:47

Choose a tag to compare

Version 1.0.1