CrafterCMS 4.0.0
Released May 12, 2022
New Features
New Studio UI for Content Authors
New Pluggable React-based UI
Improved Sidebar
Improved authoring search experience
Improved user management experience
Improved code editing
Improved configuration management
Improved My Projects experience
And more…
Experience Builder (XB) - a new In-Context Editing system:
Edit content in-place
Drag and drop components and assets to build and rearrange pages
Supports projects built with FreeMarker, React, and can easily be extended to support Vue, Angular and other UI frameworks
New Experience Builder package in the SDK here
See Experience Builder for more information
New configuration mechanics of the UI that allow plugins to wire to almost every aspect of the experience. This opens the door for having different authoring experiences per project.
Plugins!
New plugin system allowing developers to build plugins for a project (headless or templated) that provide:
Authoring side extensions allowing content authors new tools to build the desired experience. This includes extending Crafter Studio’s functionality with server-side code, UI widgets, third-party integration, pre-baked content model items and more. Learn all about it here
Delivery-side extensions that provide end-user widgets, server-side code, integration with third-party providers and more. Learn about it here
Host plugins are still supported, see here
Plugins are starting to appear on the marketplace here
Read the guide to building your own plugins here
Added support for a plugin to add servlet filters
See here for more informationFor more information on how to wire your plugin, see the section on a sample for a servlet filter here
Switched Crafter Studio’s authentication system to JWT
It’s now much easier to automate work with Crafter Studio APIs by issuing secure tokens for your automation jobs, see Working with Crafter Studio’s APIs
Remember to replace default values for all the variables used to control the access tokens (JWT) used for Studio’s API. See here for more information on default values used for JWT
Project Content Rules and Policy
Added a project-wide policy configuration that lets site administrators control:
File name patterns (permissioning and automatic renaming of files)
File mime-type
File size
See here for more information on the Project Policy configuration
New Crafter CLI
The CrafterCMS Command Line Interface (CLI) for DevContentOps, allows you to authenticate with CrafterCMS and exercise its APIs from a terminal or automation tools.
See here for more information on the Crafter CLIBetter locale support
CrafterCMS allows configuring a locale to be used for displaying dates and times in the Studio UI or, it can also be configured to respect the user’s locale settings
See Project Time Zone for more information on how to customize your project’s dates and times display
Updates
Upgraded Java to version 11
Upgraded Elasticsearch to version 7
Upgraded Tomcat to version 9
Unlock permission added and can be assigned to a role
See here for more informationAdded support for deployment mode for deployer processors
Supported modes currently arePUBLISH
andSEARCH_INDEX
. See here and here for more informationAdded support for deleting content types
See here for more informationUpdated the JavaScript SDK for in-context editing (ICE)
See https://npm.io/package/@craftercms/ice for more informationRTE improvements Added support for pasting from MS Word to RTE
Added friendly labels for content types and mime types on the search filter
See here for more informationFixed data source plugin failure when loading in content form
See here for more informationImproved visuals when search is running
See here for more informationThe entire project is now published (bulk publish) when an item is published for the very first time
See here for more informationFixed format for dates when copying
See here for more informationAdded support for regex patterns in CORS origins for Studio, Engine, Profile and Social|br|
Values in the CORS origins are split using
,
. Remember that commas inside patterns need to be escaped with a\
like:studio.cors.origins: 'http://localhost:[8000\,3000],http://*.domain1.com'
See here for more information
Lots of other small enhancements and bug fixes :)
For a full list of tickets, please visit: GitHub 4.0.0 Milestone
For information on upgrading 3.1.x sites, see here
Important
Please see Breaking Changes for breaking changes and other things to consider before upgrading
For instructions on how to update your CrafterCMS install to 4.0.0, please see Upgrading CrafterCMS
For Linux installs, the Studio upgrade requires the library libaio
which is not installed
by default in some Linux distributions. Please see the section on Linux Prerequisites
in Linux Prerequisite for instructions on how to install the library libaio