Version 6.1.0 release details
Last updated: 1st May 2020
Released: 1st May 2020
When upgrading your website to the latest version of Acquia Cohesion, database updates will be applied and therefore you can't roll back to the previous version of Acquia Cohesion once upgraded.
It is recommended applying updates on your development environment and backing up your website including your database before upgrading Acquia Cohesion.
Known issues
There are no known issues with version 6.1.0 of Acquia Cohesion.
Highlights
Cohesion Component machine name support
What is it?
When adding form fields to Cohesion Components you will now be required to specify a machine name for them. The machine name will be used to link the field to elements in your component layout.
When you first add a field, the machine name will be auto-generated using the title for your field. This can be edited manually if you prefer.
The syntax for adding the machine name to your element has also changed. Previously the field would be linked by entering [Field 1], [Field 2] etc. Now, the new syntax is [field. followed by the machine name you specify e.g. [field.my-machine-name].
What impact will there be?
- The workflow for the creation of components has changed. You must set/use a unique machine name for every field you add. Existing components will be updated with an auto-generated machine name based on the field title. As an example, a field with the label "Heading text" would be assigned a machine name of field.heading-text. And the token used to link the field to an element would be [field.heading-text].
- Now that fields use machine names, it is possible to delete a field from a component and then add it back without losing any connection with content, as long as you know the machine name. Previously, if a field was deleted from a component, there was no way to recover the connection because there was no way to know and add back the UUID of the field.
- Cohesion stores a history of the machine names used in a component. If a field is deleted and another field is added with the same machine name, the history is used to establish the previous connection. You will be alerted via a modal that the machine name was previously used and may be connected to content.
- If a field is deleted from a component, instances of the component will retain the field content until the component instance is opened, applied and the node is saved. At this point, the content for the field will be permanently deleted.
What actions do I need to take?
A rebuild is required to ensure existing form fields are updated to use machine names.
Are there any risks I should be aware of?
None.
Prefixes in the Style tree now support all selector types
What is it?
Adds the ability to use all CSS selectors types in the style tree when adding a Prefix selector.
This includes Class, ID and Attribute CSS selectors.
What impact will there be?
Any prefix CSS Class selectors already added in the Style tree without the CSS class selector (.) will automatically be prefixed with the CSS class selector.
What actions do I need to take?
drush cohesion:rebuild
Are there any risks I should be aware of?
None.
Drupal core media library compatibility
What is it?
Adds the ability to use the core media library to browse for media entities on the image, picture and entity browser elements.
A new option for the media library is available in the image browser system settings and within the entity browser element and field settings.
What impact will there be?
You can now use the core media library within supported Cohesion elements.
What actions do I need to take?
The media library module will need to be installed to use within Cohesion.
Are there any risks I should be aware of?
None.
Blocks in the block element select list are now alphabetical
What is it?
The blocks within the block element select list are now alphabetical based on the block label.
What impact will there be?
The blocks will now be ordered alphabetically and easier to find in the select list.
What actions do I need to take?
None.
Are there any risks I should be aware of?
None.
Cohesion "Component content" entity now implements a view mode
What is it?
Previously, the Cohesion component content entity did not implement a Drupal core view mode. This caused some issues with modules attempting to render this entity programmatically.
This issue has been resolved by implementing a default view mode for this entity.
What impact will there be?
Third-party modules that attempt to render the Cohesion component content entity programmatically will be able to do so via its default view mode. This includes Acquia Lift via Acquia Content Hub 2+
The display settings for this entity have not been enabled, so it will not be possible to access the display settings or add additional view modes for this entity. This fix is hidden from the point of view of the site administrator.
What actions do I need to take?
Performing a drush updb as part of the standard upgrade will deploy this fix.
The fix ID 8800 and will appear as "Add Cohesion view mode to Component Content entity type"
Are there any risks I should be aware of?
None.
Entity browser Element and Entity browser component field now include the ability to browse with a Typeahead
What is it?
Adds the ability when using the Entity browser element or Entity browser component field to browse Entities using a Typeahead.
What impact will there be?
The typeahead has been added to the 'Entity browser element' and 'component field' because they provide greater control over the view mode used to display the entity than the 'Entity reference element' and 'component field'. We recommend using the Entity browser element and field for all new websites.
What actions do I need to take?
drush cohesion:import
Are there any risks I should be aware of?
No.
Component/SGM forms - breakpoint icon support
What is it?
When adding breakpoint-specific fields to component or SGM forms you can now display breakpoint icons in the form, on field groups or tabs.
What impact will there be?
The Field group and Tab item form elements have a new setting called Breakpoint icon, a select field that provides options for multiple breakpoint options. The default setting is None.
The Tab container form element has a new setting called Responsive mode, a toggle which when enabled causes tabs to collapse into a dropdown menu with an ellipsis button (below a screen width of 768px). The default setting is ON.
What actions do I need to take?
When enabling breakpoint icons on tab items: - Tab text is visually hidden. Make sure it is still meaningful for screen reader accessibility. - It is recommended you disable responsive mode on the tab container when four or less breakpoint tabs are defined, as these tabs are smaller and don't need to stack.
Note: A rebuild is required to ensure existing form fields are updated.
Are there any risks I should be aware of?
Existing tab items will not be responsive until a rebuild is completed.
Stream wrapper cohesion:// deprecated
What is it?
We have deprecated the use of the cohesion:// stream wrapper in all Cohesion modules
What impact will there be?
There will be no part of Cohesion using the cohesion:// stream wrapper and it will now use the public:// one, storing everything in public://cohesion There is no impact on existing site or sync package from a previous version of Cohesion.
What actions do I need to take?
drush updb drush cohesion:rebuild
Are there any risks I should be aware of?
If you were using the cohesion:// stream wrapper in a custom module you should plan to use public://cohesion instead as it will be removed in future release.
Blocks in the block element can now be filtered by theme
What is it?
A new select option is now available in the block element that allows a site builder to filter blocks by theme. The blocks select list is then filtered to show only blocks in the selected theme. By default, the "All themes" option will be set, and existing blocks will continue to work.
What impact will there be?
Blocks can be filtered by theme and easier to find in the block select list.
What actions do I need to take?
None.
Are there any risks I should be aware of?
No.
Content templates list, only show view modes that have been enabled in "manage display"
What is it?
In the Cohesion content templates list only view modes that have been enabled for that bundle in the "manage display" will appear in the list.
What impact will there be?
If a view mode has been enabled for a bundle in the "manage display" a content template can be created for that view mode.
On existing sites where the view mode might not be enabled, but a template was created, the existing template will appear in the list.
What actions do I need to take?
None.
Are there any risks I should be aware of?
No.
Field group form element - new Enable padding toggle setting
What is it?
When adding a Field group field to a component or SGM form, there is now a new toggle option called Enable padding. This option removes the padding and background color of the field group.
Previously, if the Show heading toggle was off, the field group heading, padding and background color were all removed together.
With some form designs, it is desirable to remove the heading or padding separately.
What impact will there be?
Greater flexibility with component and SGM form design.
What actions do I need to take?
A rebuild is required so that existing field groups are updated with the new settings, to ensure no visual change to existing forms.
Are there any risks I should be aware of?
If a rebuild is not completed, forms that have field groups with Show heading disabled will be padded and have a background color, as per a default field group added to a form. The heading will still be disabled.
Help text form field improvements
What is it?
You can now customise your component and style guide help text in the following ways:
- set a type (help or warning style)
- set/unset close button
- add formatting to help text to output headings, ordered lists, unordered lists and links.
When enabled, the close button will show in the top-right corner of the help dialog. Clicking this will remove the help text and set a cookie to stop the help text showing when the component or style guide form is opened again.
Note: the browser cache will need to be cleared to clear the cookie and restore the help text.
Help text formatting supports all CommonMark markdown syntax.
What impact will there be?
Greater flexibility with help text on component and style guide forms.
What actions do I need to take?
None - existing help text will only need to be updated if the new options are needed.
Are there any risks I should be aware of?
No.
Menu button element - button text
What is it?
A new setting on the Menu button element that allows button text to be specified.
This generates a child <span> element for the button with a class of coh-menu-button-link-text. The span has been added around the text to provide flexibility with CSS styling.
What impact will there be?
The form interface for the Menu button element will have an extra section called Button text with a text input.
What actions do I need to take?
For existing Menu button elements that have been added to a menu template, the new setting will need to be enabled in Properties > Settings > Button text.
New elements added will have the setting in the form by default.
Are there any risks I should be aware of?
No, as a new option existing settings will be unaffected.
Cohesion no longer supports Drush 8
What is is?
To support the upcoming release of Drupal 9, Cohesion has dropped support from Drush version 8.
What impact will there be?
If you use Drush 8 and Cohesion together, the Cohesion drush commands will no longer work.
What actions do I need to take?
Upgrade to Drush version 9 or higher wherever you use Cohesion Drush commands including cohesion:import cohesion:rebuild and sync:import
Are there any risks I should be aware of?
Failing to upgrade could result in your deployments or CI failing.
Bug fixes
Disabled styles no longer appear as a blank option in the Custom styles select
What is it?
Fixes an issue when disabling a Custom style it would appear blank in the Custom select where it had been used.
What impact will there be?
If a style has been selected in the Custom styles list and is subsequently then disabled, it will now show "Selected style is disabled."
What actions do I need to take?
drush cohesion:import
Are there any risks I should be aware of?
No.
Cohesion Import batch failing when used inside hook_update
What is it?
Fixes a bug where cohesion_base_styles_process_batch $context param was typed as an array which prevented using Object extending ArrayObject, more specifically DrushBatchContext.
What impact will there be?
You can now use the Cohesion import batch process inside a hook_update.
What actions do I need to take?
None.
Are there any risks I should be aware of?
None.
Tokenizing Opacity in Styles results in an invalid value
What is it?
When tokenizing Opacity on Base, Custom or Element styles it would return an incorrect value.
What impact will there be?
You can now tokenize opacity in Base, Custom or Element styles.
What actions do I need to take?
If you have already tokenized Opacity on a Base, Custom or Element style you will need to run drush cohesion:rebuild or resave the style.
Are there any risks I should be aware of?
No.
Component content throwing an error when translating
What is it?
Fixes a bug when saving a new translation of a component content the page was returning an error.
What impact will there be?
You can now use component content with translations.
What actions do I need to take?
None.
Are there any risks I should be aware of?
No.
Content moderation for Cohesion component in-context editing
What is it?
Previously, when editing a component on a content entity via the front end in-context editor, Cohesion was applying changes to the component to the latest revision regardless of which entity was being viewed and edited.
What impact will there be?
It's now possible to switch between moderation states on the front end (using moderation toolbar for example) and edit Cohesion component field data for that specific revision.
What actions do I need to take?
None.
Are there any risks I should be aware of?
None.
Steps before upgrading
As with any version of Acquia Cohesion, we recommend that you backup your websites database and code before upgrading the version of Acquia Cohesion. There are no other specific steps to carry out before upgrading to this version.
Upgrade
It is recommended that you backup and upgrade your website on a development environment before applying to a production website. You can upgrade your version of Acquia Cohesion by following our upgrade guide.