Time flies! It’s been a month since 4.0.0-beta2, and we’ve addressed over 80 bugfixes and enhancements since then. While there’s still a lot of polishing to the UI going on, we’re shifting into bugfixing mode as we gear up towards a stable release. Thanks to everyone’s feedback on the SilverStripe Slack channel and Github. Keep it coming! Here are a few of our highlights for this release.
The campaigns section is growing up. You can create campaigns in context, from “Pages” and “Assets” screens. We’ve also caught up on some basics: You can now remove items from a campaign. If you declare ownership for any dependent models in your code, they can now cascade deletion and unpublish actions through the whole chain.
In the assets section, you can batch publish files and images - which should come in handy since new uploads will be drafts by default with SilverStripe’s new asset abstraction layer. To help with batch tasks like these, we’ve added group mouse selection for files and folders that works similarly to desktop file managers.
Apart from the new sections, we’ve also had a broader look at the CMS UX details. CMS search results show in the list view by default, which we’ve found more useful than the tree view due to more sophisticated navigation abilities like pagination, sorting and column-based data display. The shiny new TreeDropdownField is applied everywhere: This makes it easier to select pages in complex or deeply nested trees, and creates a more mobile/touch-friendly selection interface. Finally, we’ve addressed some performance regressions across the board, but specifically in the CMS loading performance since beta1.
You can check what’s planned for a (much smaller) 4.0.0-beta4 release in our Github milestones as usual. Since those milestones are now spread over nearly two dozen repositories, we’ve prepared a nice aggregate view: All issues flagged for the 4.0.0-beta4 release and the 4.0.0 stable release (which will feed into release candidate milestones soon). We’re triaging new issues pretty much every day (inbox zero!), but encourage you to ping us via @silverstripe/core-team on Github for any blockers that you think might fall through the cracks otherwise.