New in Craft CMS 3.4

The most apparent new feature is the redesigned control panel. However, if you are interested in all the minor improvements, you should read the complete changelogs.

Saving posts and drafts

Saving complex posts with many custom fields and matrix blocks takes less time because only the changed values are submitted.

Drafts now show the fields that have changed and which fields have changed since the original draft. Outdated field values can then be merged into a draft at any time, and the merging happens automatically when a draft is published.

Assets

Assets now have their edit page in the control panel, like entries, users, and categories.

Preview of text files and PDFs is now possible. Plugins can now support other file types as well. Craft now logs which user uploaded which files. There are also new access rights to view and edit files uploaded by other users.

Others

Extended elements export: 
When exporting, you can now choose between the export types "Raw data" and "Extended" and whether you want the results as a CSV, JSON, or XML file. Plugins can also use these new export types.

GraphQL improvements:

  • GraphQL schemas are now stored in the project configuration file.
  • GraphQL access tokens are now managed separately.
  • Plugins and modules can customize GraphQL schemas at runtime and register new schema permissions.

Queue Manager: 
Queues can now be monitored and managed using Queue Manager under Tools in the Control Panel.

Better collaboration in the project configuration file: Keys in project.yaml are now sorted alphabetically to reduce merge conflicts if working with multiple people on the same project.

Interactive shell: The interactive shell for the craft project is started using ./craft shell .

Photo from  Thomas Sausen<

Self-employed web developer from Germany who started with WordPress websites in 2005, then moved to ExpressionEngine and lost his heart to Craft CMS in 2013. As the founder of Craftentries, he has been covering the Craft ecosystem since 2015.

Thomas Sausen Web Developer