Santa brought you 3.1.0 beta 1

Posted by Ingo Schommer on 18 December 2012

It’s been about six months since we released 3.0 stable into the world, and the whole team is proud to see it being adopted so well by the community at large. Since then, we've had over 500 pull requests to our core, mostly targeted at the new version, which is a fantastic result. 

Typically, you had to wait for at least a year to get to the next major stable version. In the spirit of continuous delivery, we want to shorten this time frame a bit, and provide you with slimmer, but more frequent releases. Accordingly, the 3.1.0 beta 1 release has a lot of incremental, but less visible improvements. With the release being in beta status, we don’t expect any further API changes, and encourage you to download it and try the codebase (changelog, upgrading guide).

Even after extensive peer review on early CMS designs on the community mailing list, our major focus is still on interface usability, and ensuring that we provide adequate feedback on user actions. In SilverStripe 3.0 (like in most CMSes), you had to switch between the editing interface and a preview of the actual website. In 3.1, you can see the two side-by-side, provided you have a decent screen resolution. There are new options for previewing at different widths, and more useful controls for switching between draft and live content.

Image: Side-by-side view

Image: Preview modes

Talking to many CMS users, we also found that they are commonly overwhelmed by the various buttons to affect a page, e.g. to save its content to draft. So we’ve moved the minor actions into a flyout, alongside some useful metadata about the page itself. There’s an API for that, so you can add your own minor actions as well. In addition, the CMS change detection now highlights if a page needs saving by changing the button style.

Image: Grouped buttons

On the framework side, we’ve made some architectural changes to DataList and ArrayList, ensuring that they are consistently immutable, meaning they’ll always return copies rather than modifying themselves. This means that you can pass DataLists to other parts of your application without worrying that they will get modified, making code more modular and maintainable. We’ve removed a whole bunch of legacy APIs which were previously deprecated, most prominently the TableListField and ComplexTableField classes which are now replaced by the infinitely more awesome GridField class (there’s a legacy support module if you really can’t switch to GridField right now).

We’re also pleased to announce support for the Composer dependency manager, which makes installing a SilverStripe project as well as new modules much easier (see docs). Modules can define their own dependencies programmatically, which should make it effortless to create modular solutions and share nicely decoupled code between modules. Over 50 SilverStripe modules managed by Composer are already listed on, a common repository for PHP modules.

To stay tuned and help out, keep an eye on our 3.1.0 milestone in the bugtracker. And read through our changelog overview to get a more detailed understanding of the release.

Post your comment

Note: Comments are moderated and won't show until they are approved


  • I've clarified with @feejin via IRC: I've falsely referred to SiteTree.MetaDescription being removed, which is still an important SEO feature in core. Instead, we did remove SiteTree.MetaKeywords, where we both agree its irrelevant for SEO these days.

    In terms of SiteTree.MetaTitle, @kinglozzer started a poll on the dev mailinglist about this:!topic/silverstripe-dev/dOB7_rAHCuc

    Posted by Ingo, 2 years ago @chillu

  • We deal with SEO a fair bit and for us. having control over <title> and meta description are important features.

    I quite often work with designs where Page Name will be <H1> but want something different for <title>.

    Yes we can add the code into every site, but "too much noise for a core feature", really? It's hidden in the meta description dropdown, hardly getting in the way of anything.

    Glad to see everything on my 3.0.x niggle list has been cleared up though :)

    Posted by Colin Richardson, 2 years ago @feejin

  • Wonderful!

    Posted by Joel Grøndrup, 2 years ago

  • Hello Hendrik, the "irrelevant for SEO" was referring to the MetaDescription.

    If you look in the standard, MetaTitle was used as follows:
    <title><% if $MetaTitle %>$MetaTitle<% else %>$Title<% end_if %> &raquo; $SiteConfig.Title</title>

    Without the presence of $MetaTitle, you still get to tweak the standard $Title to your heart's content in terms of SEO, but it will show in the same way as on the page headline (assuming you're using $Title there in your template).

    SEOMoz recommends 70 chars max for title, which can easily be exceeded when appending $SiteConfig.Title as well. $MetaTitle was good for tweaking that, but frankly it would be better handled by custom template logic which checks for character counts.

    So, MetaTitle still has its merits for SEO-heavy websites, its just a bit too much noise for a core feature. Its a ~10 LOC extension/module to re-add it if required.

    Posted by Ingo, 2 years ago @chilu

  • SilverStripe v3.0.x is much slower than previous release.

    Is there any news about performance optimization?

    Posted by Lone Shooter, 2 years ago @LoneShooterCom

  • Thanks for this Pre-Christmas present. It really looks&feels good!

    I like the modified Save&Publish Buttons.

    Sometimes I wish an easy option to "totally preview" a page like in SS2.4 - just a button to the real url of the page in stage mode.

    What I really don't understand is the removal of the MetaTitle.

    Your explanation is: "irrelevant in terms of SEO", but I believe that is just a misunderstanding.

    It is described as the "single most important on-page SEO element" - on this page - the same document you reference to state the opposite.
    Please reread and reconsider!

    Have a wonderful Christmas,

    Posted by Hendrik Schaper, 2 years ago

  • Great work! I really like the new preview mode.

    Posted by memdev., 2 years ago @memdev

  • Changing the preview between desktop/tablet/mobile is pretty cool!

    Posted by Frank, 2 years ago @frankmullenger

  • Hello Thierry, you should be able to backport to a 3.0 installation without any problems. There should be a closed pull request discussing the details if you can find it :)

    Posted by Ingo, 2 years ago @chillu

  • awesome job guys keep up the good work

    Posted by Felipe Skroski, 2 years ago @felipeskroski

RSS feed for comments on this page | RSS feed for all comments

Want to know more about the company that brought you SilverStripe? Then check out

Comments on this website? Please give feedback.