Sprout in developed on an evergreen branch (master). This contains the latest current version of Sprout, of which releases are made with a version tag, .e.g. v3.2.25
.
Old releases are maintained on version branched, e.g. v3.0
.
New features should only be developed from the master branch. Should old release require updates, these can then be backported into their respective branch.
Being itself versioned, only the latest (master) version of this document is relevant. When performing migrations - only the latest version.
This version is in maintenance-mode only.
Installing new modules is also not advised. Upgrade to the latest Sprout.
3.0 remains only because of dated hosting services. Therefore, Sprout 3.0 must continue to support PHP 5.6 and Composer-free environments.
Several components have been moved out of the main tree thanks to a hard-requirement for Composer autoloading.
- Minimum PHP 7.1
- Composer is required for autoloading
- Twig support
- Several components are now out-of-tree:
- Pdb
- Rdb
- Router
- PHPMailer
- TextStatistics
- FPDF + FPDI
One must update rewrites on any production server:
- restrict the
/vendor
folder - restrict
composer.*
files
This is a major shift in the structure of core Sprout. The clear separation of core from site modules creates a clear mindset when developing new features. Per-site hacks and patches are no longer an answer.
This migration can be significant depending on how old or extensive the existing project is. The benefits are also significant.
An overview and migration guide is available here:
- Minimum version 7.4
- Document root moves to
web/
- MediaController for serving assets
- Pluggable services; for authentication, users, error reporting
- Consistent environments (no more dev_hosts!)
- Sprout itself is a Composer dependency via
sproutcms/cms
- Available on packagist.org
The updated layout of a Sprout 3.2 application permits one to more rapidly and easily update any given site. To receive updates for core features or any dependencies, simply run: composer update
.
This is a gentle update, mostly support for PHP 8.
This requires PHP 8.1.
A few key upgrades for migrations and AI integrations.
Big changes.
- unified controller names
- external modules
- new events system