• Document Under Review

CrafterCMS 4.0.3

Released March 24, 2023

This release includes fixes for issues with the release version 4.0.2

New Features

  • Crafter Studio now uses zxcvbn for password strength management
    See here for more information

    For more information on configuring the password requirements, see Configure Studio Password Requirements

  • Added support for adding headers to responses when there are matched configuration patterns in the Engine Project Configuration file

    Crafter Engine now supports configuring Cache-Control headers via the Engine Project Configuration file, using the headerMappings property. By default, it will follow the cache policies configured, where before, it was set to no-cache.

    If you’re using a reverse-proxy or a CDN, no changes are required since caching is done by the reverse-proxy/CDN.

    See Engine Project Configuration for more information on configuring response headers

    See here for more information

  • Added support for displaying item paths in Crafter Studio’s PreviewDialog
    See here for more information

  • Added support for capturing output of the crafter.sh script in a log file
    See here for more information

    To learn how to capture the output of the crafter.sh script, see here

Updates

  • Updated Studio and Engine SAML to use the new Spring Security
    See Engine SAML2 Configuration and Studio SAML2 Configuration for more information.

  • The property studio.cache.assets.maxAge in the Studio configuration file is changed from minutes to seconds

    ##################################################
    ##                    Cache                     ##
    ##################################################
    ...
    # The max age in seconds that the browser should cache responses for requests matching `studio.cache.assets.maxAge.includeUrls`
    studio.cache.assets.maxAge: 3600
    # The urls that should include max-age=<studio.cache.assets.maxAge> in Cache-Control header. Other urls will be set to default max-age=0, must-revalidate
    studio.cache.assets.maxAge.includeUrls: /static-assets/**,/1/plugin/file/**
    ...
    
  • Added support for previewing PDF assets in Studio
    See here for more information

  • Updated Group management dashboard to sort groups alphabetically
    See here for more information

  • Updated Moment Timezone library
    See here for more information

  • Added support for sorting assets by Name/Recently uploaded
    See here for more information

  • Fixed issue with image cropper for existing images
    See here for more information+

  • Fixed issue with session inactivity timeout
    See here for more information

    For more information on session timeouts, see Changing the Session Timeout

  • Improved logging for script not found errors
    See here for more information

  • Fixed issue with Sidebar not loading properly due to a broken/missing content type
    See here for more information

  • Fixed issue with log console errors
    See here for more information

  • Added support for viewing and editing Sass files
    See here for more information

  • Improved Dashboard performance
    See here for more information

  • Fixed typo in Dashboard publishing message
    See here for more information

  • Fixed issue with Component and Shared Content node selectors
    See here for more information

  • Fixed issue with decryption of data containing new lines
    See here for more information

  • Fixed issue with assigning users to groups
    See here for more information

  • Fixed issue with selecting items via search in item selector
    See here for more information

  • Improved Group/User forms
    See here for more information

  • Fixed issue with groups when using LDAP authentication

  • Fixed issue while performing cache warming

  • Upgraded the following dependencies:

    • Spring to version 5.3.23

    • Spring Boot to version 2.7.6

    • Spring Security to version 5.7.5

    • Tomcat to version 9.0.71

    • GraphQL to version 20.0

    • Groovy to version 3.0.14

    • Jackson (and related) to version 2.14.2

    • JGit to version 6.4.0.202211300538-r

    • Apache CXF to version 3.4.10

    • Google protobuf to version 3.19.6

    • The embedded MariaDB library to version 2.6.0

    • Apache Commons Text to version 1.10.0

    • Various Studio UI libraries

  • Added support for editing text files|br| See here for more information

  • Fixed issue with Video Transcode form control
    See here for more information

  • Fixed issue with the disabled bit not updating properly when content changes through git
    See here for more information

  • Fixed issue with XB targets not honoring multiple “Components” data sources
    See here for more information

  • Fixed issue with Javascript SDK’s ContentInstance interface not exposing the orderDefault_f field used by pages
    See here for more information

  • Fixed issue with extracted internal-name field on save when embedded content data source is used
    See here for more information

  • Fixed issue when pasting from a Word document with a link in the RTE
    See here for more information

  • Fixed issue with form not saving when form contains a repeat group that contains a checkbox field with a default value set to false
    See here for more information

  • Fixed issue with LDAP authentication while creating group

  • Fixed issue with Publish All failing when blob is missing
    See here for more information

Lots of other small enhancements and bug fixes :)

For a full list of tickets, please visit: GitHub 4.0.3 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 (applies to 4.0.2), please see Upgrading CrafterCMS

When using private key SSH authentication in the init-site.sh script, the private key path must be set explicitly.
Please see Setup Project for a Delivery Environment for more information on using the -k option of init-site.sh to set the private key path

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