9.5.0RC1 Release Notes

Improvements?

Let us know by posting here.

New Features

  • Added support for the Twig templating languages in block views, page templates, single pages and more.

Behavioral Improvements

  • We now give user’s notice if their updates are locally available (which they should be, for example, if composer is being used to manage the Concrete CMS upgrade process.) We will also no longer let admins use the updater if this setting is set to true (thanks mlocati)
  • Hero Image block now reports its height setting on immediate change of the slider (Thanks mehl)
  • If a site is configured to store their logs in files (instead of the database), the logs Dashboard page now informs administrators. (thanks ounziw)
  • ccm_paging_p page parameter is now no longer included in the canonical URL specified by the Search block (Thanks ccmEnlil)
  • You can now control whether the Page List block’s pagination parameter is added to the page’s canonical URL via a block setting (thanks ccmEnlil)
  • More core blocks are cached in more situations (thanks hissy)

Bug Fixes

  • Fixed bug where page type defaults were not editable by anyone but the super user even if other groups were added to the “Access Page Type Defaults” permission.
  • Fixed inability to select a new image or file when using the Concrete File Input component if that file had been deleted (thanks mlocati, danklassen)
  • Fixed bug where, if an Express form block was configured to upload files to a specific folder, and that folder was deleted, an error was thrown (thanks dimger)
  • Fixed bug where a file might appear in the Dashboard search results multiple times if it had a special character like an ampersand in it (thanks straatrakker)
  • Fixed log notice about polls feature not being available when rendering core blocks that use the polls feature (thanks biplobice)
  • Fixed bug where a site that used multi-site and had a site name with a special character in it would result in a broken multisite selector in the Dashboard (thanks patej)
  • Fixed typos and strings that could not be translated in the Concrete interface (thanks wtflm)
  • Fixed bug where attributes like Tags would not be properly displayed in the Document Library results table (thanks JohnTheFish)
  • Fixed: ability to activate page templates in a theme was missing in our Dashboard Page themes since the shift to the new Configure page.
  • Fixed erroneous description in the Tags block (thanks JohnTheFish)
  • Fixed error when searching by user group in some situations (thanks TMDesigns)

Developer Updates

  • Concrete’s email functionality now depends on Symfony/Mailer instead of Laminas/Email. All simple use cases should be covered with no backward compatibility concerns.
  • Mail importing functionality has been removed from Concrete CMS. This functionality is not used by the core and is unlikely to be used by many third party packages. If this affects you, please get in touch.
  • Updated all PHP dependencies where possible.
  • Added more granular controls to block controllers to determine their caching behaviors (including btCacheBlockOutputOnEditMode) (thanks hissy)
  • ConcreteFileManager.getFileDetails in JS now returns null if the file cannot be found. Some blocks that use custom JS may need to be updated to handle this (thanks mlocati)
  • We now show MySQL max_connections in environment details (thanks mlocati)
  • Built-in Concrete console commands for php cs fixer will now route to an external version of the library for greater control (thanks mlocati)

Backward Compatibility Notes

  • When dragging blocks out of a stack or from the clipboard panel into the page, we used to create pointer to the original block, in order to save space and potentially make the block “updateable”. This was not ideal, and would lead to some weird edge cases where deleted versions of completely unrelated pages might change the contents of pages that had copied content from the original page. Instead, we now always create a copy when copying out of the clipboard or a stack. If you’d like to maintain a pointer to the original content and update content of a block on a separate schedule from the page, drag the entire stack into the page, and keep the stack updated separately.