← Back to all sparks
S

Sulu

MKT AUTO
Velocity5.0

Symfony-based content management platform for business websites

Sulu ships 2.6 and 3.0 in lockstep, and the 3.0 line still reads like a maintenance branch.

symfony-cmsdual-branch-releasesckeditordoctrine-migrationssmart-contentframework-compatibility
Current state
Sulu is a Symfony-based CMS for developer-built sites, and its release process is a synchronised pair: every 3.0.x patch ships within a minute of the matching 2.6.x patch, carrying largely the same pull requests. Six releases in five months — 3.0.8/2.6.25, 3.0.7/2.6.24, 3.0.6/2.6.23 — are almost entirely fixes, editor upgrades and framework compatibility work. A security advisory was patched across both branches in March.
Where it's heading
Three threads run through the pairs. Editor upkeep is constant, with CKEditor moving to 47 LTS and then 48 and the fallout — table widgets, webpack font builds — fixed release by release. Framework compatibility is the second: Request->get calls replaced for Symfony 8, PHPUnit 13 and PHPStan kept green on lowest dependencies. The third and most interesting is data-model cleanup on the 3.0 side, where tags migrated from names to IDs behind a newly added DoctrineMigrationsBundle, with smart-content filters reworked to match. What is not visible is any capability that exists on 3.0 and not on 2.6 — a major version that is not yet behaving like one.
Prediction
Expect the paired-release rhythm to continue with more Symfony 8 preparation and CKEditor 48 fallout. The open question is when 3.0 starts receiving work that is not upmerged from 2.6; until then the major version number is not buying users anything.

Recent moves

  1. 15d ago

    Sulu 3.0.8 validates selection filter params at build time

    Selection filter parameters were renamed and are now validated at build time rather than failing later, which turns a class of configuration mistakes into a build error. The rest is fixes — searchable fields inside global blocks indexed for article and page search, navigation for link pages with unresolvable targets, property names containing a slash, and a migration rollback that no longer throws.

    View source ↗
  2. 15d ago

    Sulu 2.6.25 adds a redirect after SSO login

    The 2.6 half of the same July release, and it carries the one clearly user-facing change of the pair: a redirect after successful SSO login, plus URL auto-generation for items with an id. Everything else is search-index fixes and JavaScript test tooling shared with 3.0.8.

    View source ↗
  3. 2mo ago

    Sulu 3.0.7 fixes smart-content filtering and speeds up indexing

    Smart content gets two correctness fixes — group and template-key filtering no longer returns unrelated results, and category and tag filters work for taxonomy-only dimension contents — which continues the cleanup started when tags moved to IDs in 3.0.6. FileVersionMeta indexing was also sped up, and CKEditor 48's table widgets fixed.

    View source ↗
  4. 2mo ago

    Sulu 2.6.24 upgrades CKEditor to version 48

    The editor jump from 47 LTS to 48 lands here, with the table widget and webpack font build fixes that follow it. Live workspace orphans are now cleaned up for unpublished locales, and the sulu:build password prompt got better developer ergonomics — small operational fixes that accumulate for teams running multi-locale sites.

    View source ↗
  5. 2mo ago

    Sulu 3.0.6 migrates tag names to IDs with Doctrine migrations

    The most structural release in this window: DoctrineMigrationsBundle is added and tags migrate from names to IDs, with smart_content tag filtering and tag_selection reworked to match. Route URLs are now derived from the route entity rather than template data, and Symfony 8 compatibility work begins in the CSV handler. This is the data-model cleanup the following two 3.0 patches spend their time correcting.

    View source ↗
  6. 2mo ago

    Sulu 2.6.23 moves to CKEditor 47 LTS and preps Symfony 8

    The 2.6 twin of 3.0.6, sharing the CKEditor 47 LTS upgrade and the Symfony 8 compatibility work but not the tag migration — the clearest example of how the branches diverge, with structural changes landing only on 3.0. It adds a customisable admin password during sulu:build and sorts webspaces by name in the collection and page overlay.

    View source ↗