← Back to all sparks
C

Craft CMS

MKT AUTO
Velocity6.3

Flexible content management system for custom digital experiences

Craft 6's alphas keep converting the plugin API, one removal at a time

cmslaravelplugin-apiinertiabreaking-changesphp
Current state
Craft is running two lines with very different energy. The 5.10 maintenance branch ships one-bug releases hours apart and nothing else. Craft 6 is in its seventeenth alpha, still migrating onto Laravel: alpha 17 removes Plugin::settingsHtml() in favour of a settingsForm() built on the Control Panel Form system, replaces the Pane.vue component with a craft-pane web component, and moves another management command onto Laravel's schema API.
Where it's heading
The pattern established at alpha 14 has not changed shape, only advanced: every alpha retires another Yii-era extension point and re-lands it on the new stack, with craftcms/yii2-adapter carrying the compatibility burden. Alpha 17 adds an Inertia-native slideout system that renders any CpScreenResponse as an in-page panel, which is the control panel moving from a legacy JavaScript layer to a genuinely Inertia/Vue one rather than wrapping it. The long fix list — stale permission trees, autosave firing on unchanged values, provisional drafts created on page open, queue jobs stuck reserved — reads as the cost of that churn being paid down alpha by alpha.
Prediction
Expect further alphas that remove specific Yii-era plugin APIs with adapter fallbacks, and the 5.10 line to keep shipping single-fix patches until a Craft 6 beta absorbs the team's attention.

Recent moves

  1. 11h ago

    Alpha 17 retires plugin settingsHtml and adds Inertia slideouts

    The largest alpha since 14, and it keeps pulling plugins onto the new foundation: Plugin::settingsForm() replaces settingsHtml(), which is removed outright with Yii-era settings HTML surviving only through the yii2-adapter. The Inertia/Vue control panel gains a slideout system rendering any CpScreenResponse in-page, Pane.vue gives way to a craft-pane web component, and craft:db:drop-all-tables moves to Laravel's schema API. Most of the length is bug fixes against the alpha.15 and alpha.16 surface.

    View source ↗
  2. 13d ago

    Alpha 16 fixes double-required migrations and a widget gap

    Two fixes: Yii-style migrations could be required twice, and the legacy Widget base class was not fully implementing the new widget interface. Cleanup behind the dashboard work from alpha 15.

    View source ↗
  3. 13d ago

    5.10.13.2 fixes a SQL error on empty Categories fields

    A single SQL error fix for elements with an empty Categories field, shipped about two hours after 5.10.13.1. The maintenance branch releases per bug rather than batching.

    View source ↗
  4. 14d ago

    5.10.13.1 restores rendering of sanitized SVGs

    One fix: sanitized SVGs would not render. A same-day patch on the 5.10 line, hours ahead of the next one.

    View source ↗
  5. 14d ago

    Craft 6 swaps its image pipeline to intervention/image and libvips

    The image stack changes hands: intervention/image replaces pixelandtonic/imagine, an optional libvips driver arrives, and BMP, HEIC, ICO, JPEG 2000, JPEG XL and TIFF become transform targets where the driver supports them. Markdown-based dashboard widgets and fluent field-layout APIs land alongside.

    View source ↗
  6. 27d ago

    Craft 6 alpha 14 breaks plugin providers and lifecycle hooks

    ⚡ SPARK

    The alpha that tells plugin authors to rewrite: extra.laravel.providers is out, automatic plugin trait lifecycle hooks are removed, and a full control-panel component library arrives in their place. This is the breaking edge of the Laravel rearchitecture.

    View source ↗