• Document Up to Date
  • Updated On 4.2.2

Breaking Changes in CrafterCMS 4.2.x

This section covers changes that might affect your CrafterCMS projects, as well as other considerations before upgrading. Please review the following and apply changes as required:

  • CrafterCMS 4.2.x requires Java 21.
    See Requirements for more information on CrafterCMS requirements.

  • CrafterCMS 4.2.x now uses Jakarta EE.
    The jakarta.* namespace is now used instead of javax.*. To update your project, find and replace javax with jakarta in your Groovy code or Java if you are bringing in jars with Grab.


Breaking Changes in CrafterCMS 4.2.2

CrafterCMS uses TinyMCE version 7 for the RTE control. The following properties were removed from the RTE control in CrafterCMS version 4.2.2:

  • Force Root Block p Tag

    This property uses the forced_root_block option in TinyMCE to set it to a true/false value. Starting in TinyMCE version 6, this option no-longer accepts the false value or an empty string value. Setting forced_root_block to false is not compatible with Real-time Collaboration and also blocks various editor functions from working correctly and causes non-semantic HTML to be generated. Newer options are now available for handling line breaks and paragraphs, like the newline_behavior.

  • Force br New Lines

    This property uses the force_br_newlines option in TinyMCE version 3 and 4. Starting with TinyMCE 5.x, the handling of line breaks and paragraphs became more standardized, and newer options like newline_behavior were introduced to provide greater flexibility for managing line breaks. The force_br_newlines option is no longer actively recommended in newer versions due to potential issues with content formatting and compatibility with modern HTML standards, hence the removal of the Force br New Lines property.

To customise the new behaviours mentioned above, use the TinyMCE config in the User Interface Configuration ui.xml


Breaking Changes in CrafterCMS 4.2.0

The following APIs are removed from CrafterCMS 4.1 to 4.2:

  • /api/1/services/api/1/publish/publish-items.json

  • /api/1/services/api/1/publish/reset-staging.json

  • /api/1/services/api/1/dependency/calculate-dependencies.json

  • /api/1/services/api/1/content/content-exists.json

Below are the APIs that are now removed from CrafterCMS 4.2. Note that most of the APIs in the list has been deprecated in previous versions:

API

URL

New API

Clear Configuration Cache

/api/1/services/api/1/site/clear-configuration-cache.json

clearConfigurationCache

Get Available Blueprints

/api/1/services/api/1/site/get-available-blueprints.json

availableBlueprints

Get Configuration

/api/1/services/api/1/site/get-configuration.json

getConfiguration

Write Configuration

/api/1/services/api/1/site/write-configuration.json

writeConfiguration

Add Remote

/api/1/services/api/1/repo/add-remote.json

addRemoteRepository

List Remote Repositories

/api/1/services/api/1/repo/list-remote.json

listRemoteRepositories

Pull From Remote

/api/1/services/api/1/repo/pull-from-remote.json

pullFromRemoteRepository

Push To Remote

/api/1/services/api/1/repo/push-to-remote.json

pushToRemoteRepository

Rebuild Database

/api/1/services/api/1/repo/rebuild-database.json

syncFromRepo

Remove Remote

/api/1/services/api/1/repo/remove-remote.json

removeRemoteRepository

Get Audit

/api/1/services/api/1/audit/get.json

getAuditLog

Publish Items

/api/1/services/api/1/publish/publish-items.json

operation/workflowPublish

Publish Status

/api/1/services/api/1/publish/status.json

getPublishingStatus

Reset Staging Publishing Target

/api/1/services/api/1/publish/reset-staging.json

Get dependencies

/api/1/services/api/1/dependency/get-dependencies.json

getSimpleDependencies

Get Deployment History

/api/1/services/api/1/deployment/get-deployment-history.json

getDashboardPublishingHistory

Get Scheduled Items

/api/1/services/api/1/deployment/get-scheduled-items.json

getPublishingScheduled

Crop Image

/api/1/services/api/1/content/crop-image.json

Set Item State

/api/1/services/api/1/content/set-item-state.json

setItemStates

Unlock Content Item

/api/1/services/api/1/content/unlock-content.json

itemUnlockByPath

Content Exists

/api/1/services/api/1/content/content-exists.json

contentExists

Get UI Resource Override

/api/1/services/api/1/server/get-ui-resource-override.json

Transcode

/api/1/services/api/1/aws/elastictranscoder/transcode.json

AWS S3 Upload

/api/1/services/api/1/aws/s3/upload.json

uploadItem

MediaConvert

/api/1/services/api/1/aws/mediaconvert/upload.json

uploadVideo

Get User Activity

/api/1/services/api/1/activity/get-user-activities.json

getDashboardMyActivities

Post Activity

/api/1/services/api/1/activity/post-activity.json

Copy Item

/api/1/services/api/1/clipboard/copy-item.json

Cut Item

/api/1/services/api/1/clipboard/cut-item.json

Get Items

/api/1/services/api/1/clipboard/get-items.json

Paste Item

/api/1/services/api/1/clipboard/paste-item.json

Get User Roles

/api/1/services/api/1/security/get-user-roles.json

getUserSiteRoles

Get user permissions for project/site and space (path)

/api/1/services/api/1/security/get-user-permissions.json

Login

/api/1/services/api/1/security/login.json

Logout

/api/1/services/api/1/security/logout.json

List WebDAV

/api/1/services/api/1/webdav/list.json

Upload to WebDAV

/api/1/services/api/1/webdav/upload.json

Create Jobs

/api/1/services/api/1/workflow/create-jobs.json

workflowCreatePackage

Get Go Live Items

/api/1/services/api/1/workflow/get-go-live-items.json

getDashboardContentPendingApprovalDetail

Get Workflow Affected Paths

/api/1/services/api/1/workflow/get-workflow-affected-paths.json

getWorkflowAffectedPaths

Go Delete

/api/1/services/api/1/workflow/go-delete.json

contentDelete

Go Live

/api/1/services/api/1/workflow/go-live.json

bulkGoLive

Reject

/api/1/services/api/1/workflow/reject.json

workflowReject

Request Publishing

/api/1/services/api/1/workflow/submit-to-go-live.json

workflowRequestPublish

Calculate Dependencies

/api/1/services/api/1/dependency/calculate-dependencies.json


Upgrading 3.1.x Sites

  • MongoDB in CrafterCMS Social and Profile has been updated. To upgrade MongoDB in your installation, see Upgrading MongoDB

  • CrafterCMS 4.1.x onward requires Git.
    See Requirements for more information on CrafterCMS requirements.

  • CrafterCMS 4.1.x onward has a new Studio UI. To get the same Sidebar you’re used to, update the User Interface Configuration

  • Update ICE to move to XB

  • Studio and Engine SAML configuration now uses a key and certificate for configuration instead of using keystore.
    See Engine SAML2 Configuration and Studio SAML2 Configuration for more information.