NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #4450 most downloaded on Packagist
Site Studio
Last release 21 days ago
17 Sep 2026
Ships fairly regularly
a new release about every 6 weeks
Most releases are documented
notes for 37 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
90 releases · first in 2020
One column per quarter.
Adds a new column to the "Component categories" entity list named "Machine names (id)" that contains each category "machine name" (id) used by Drupal.
Adds a new column to the "Component categories" entity list named "Machine names (id)" that contains each category "machine name" (id) used by Drupal.
It is possible now to quickly find category machine name without having to edit it.
None.
None.
Adds a new feature to Site studio where developers can create their own components by coding them with Javascript/HTML/CSS or Twig/Javascript/CSS. Refer to the user guide for more detailed documentation on how to create and use custom components.
Custom component examples can be found in a submodule (example_custom_component). This module is intended for demonstration purposes only and should not be enabled on production.
Developers will be able to extend Site studio capabilities by defining their own custom components. This will enable Site Studio to have functionality that previously could not be built with Site Studio elements.
Javascript developers with limited knowledge of Drupal will be able to add custom component to Site Studio without the need for a Drupal developer. A Drupal developer will only be required for creating a module and file structure. Refer to the user guide for more information.
None.
None.
A new drush command that takes package list file as an argument and imports multiple packages at once with a combined rebuild process based on imported changes.
This will allow specifying multiple packages to be imported into a site in a specific order with a single optimised rebuild process.
There is also a PackageImportHandler (cohesion_sync.package_import_handler) service available to access such functionality via PHP and Drupal services.
The new command is sitestudio:package:multi-import --path=<path/to/package_list.yml.
Package list needs to follow specific format for the command to work, more information is available here.
Only new format packages (exports containing multiple yaml files, rather than single aggregated yaml file) are supported. Strict format of package list file needs to be followed. Import happens in the same order as listed in a package list. If multiple package import the same entity, only the last import will be taken into consideration. Reading documentation before attempting to use the new command is strongly recommended
Adds the ability to use Next generation images such as .avif and .webp images when using the Picture Element (subject to Drupal supporting these image formats).
This will fix an issue where the fallback image was the first image added to a Picture Element. The last image added to the Picture Element will now be used as the fallback.
drush cohesion:rebuild
None.
The "Save" option allowed a user to save the layout canvas (or an item on it) both as Helper and as Component even if the user did not have permission to do so.
Users will now need the 'administer helpers' and/or 'administer components' permissions to use the Save functionality on layout canvases.
You may need to update user permissions if you were relying on this functionality.
None.
Any stylesheet generated by Site Studio will now be aggregated with the rest of the website styles
All styles will now be aggregated increasing frontend performance.
None.
None.
Fixes an issue where component contents were not rendering after reverting to a previous revision or publishing a draft.
Component contents will now render as expected.
Run a rebuild as part of upgrading to this version.
None.
In the event where one or multiple fields attached to a style on a specific media query are not populated when the component is used, the media query will not render at all.
This will fix an issue where empty media query css would render, having no effect on the page
drush cohesion:rebuild
None.
Some improvements made to the link auto complete endpoint used in the link element, which should improvement performance and use less memory. When inserting an external link the endpoint won't continue to look for content.
The auto complete functionality used in the link element should use less memory. When using the entity type selection within the link element, it now correctly displays the supported types. These types include: nodes, views, taxonomy terms, users, media and files.
None.
None.
Fixes a bug when editing a component on a layout canvas, the sidebar editor would throw a console error. If aggregation was enabled the sidebar browser did not load as expected.
This error will no longer appear and the sidebar editor will load as expected if aggregation is enabled.
None.
None.
When using WYSIWYG field on a component and linking to both a WYSIWYG element and a hide if not data field, it would add extra for each line break
When using WYSIWYG field on a component and linking to both a WYSIWYG element and a hide if not data field, it would add extra <br> for each line break
Rendered WYSIWYG will not longer output extra <br>
You need to re-save effected entities or perform a rebuild
None.
When exposing filters on a view and utilising a module/library such as Select2 the select2 library was not attaching as expected on page load
Following a cache rebuild the select2 library will attach to select elements as expected
Cache rebuild
None.
Fixes a bug where a modal that had the autoload functionality enabled was not autoloading as expected and a browser console error was displayed.
Modals that should autoload will now automatically load as expected.
Run an API import drush cohesion:import when upgrading.
None.
When editing a translated page, the edit buttons would not show when using the Visual page builder
You can now edit component on translated pages
None.
None.
When exporting single entities (like components) via UI, full package settings for entity type restrictions were applied. This has been fixed and full package export settings now only apply to full package exports.
Individually exported entities will no longer follow full package export settings. This will resolve some unexpected behaviour, such as files with zero bytes content being exported when single entity packages export would contain items restricted by full packace export settings.
If you have single entity packages exported with zero bytes content, exporting the same entities again
None.
Fixes a bug when attempting to upload font and icon font files would produce an error.
Fonts and icon fonts can be uploaded correctly without error on a path based multi-site.
Run a cohesion API import drush cohesion:import when upgrading.
None.
When importing Drupal config, if the Site Studio module has been initialised, templates generation will occur if relevant content types are imported.
Templates will be generated when Drupal config is imported.
None.
If templates are generated during deployments, CLI output will have additional output - we recommend additional testing of automation tools that rely on such output.
We have added new drush command sitestudio:templates:regenerate that will trigger templates regeneration manually. This is useful in case a non-standard workflow was used to introduce content type changes (for example direct database manipulation) or if Drupal is in a state of templates misalignment due to config import completed prior to Site Studio 6.8.2.
None.
None.
If templates are generated during deployments, there will be additional CLI output - we recommend additional testing of automation tools that rely on such output.
When exporting packages via UI using the new package management non super-admin role users would encounter "access denied" screen when trying to download generated package, even if they would have "access coheison_sync" permission assigned to their role.
Only users with "access cohesion_sync" permissions will be able to export packages via UI.
None.
None.
When deleting an item with a WYSIWYG in a Field repeater deletes the wrong item.
When deleting an item with a WYSIWYG in a Field repeater deletes the wrong item.
Components that have a Field repeater with a WYSIWYG, will now delete the correct item.
drush cohesion:import
None.
When creating a Component with the Minimum repeatable fields set to more than 1 the minimum number is not being rendered.
When using a Component the Minimum repeatable fields will match what is rendered.
drush cohesion:import
None.
When first adding a Component to the Layout canvas and not changing any settings before saving the page, when you then come back to the Component on the Layout canvas and Edit the Component the default Minimum number of fields is incorrect.
The minimum number of fields will now be shown correct when saving the page and then editing the Component settings.
drush cohesion:import
None.
Fixes a bug where a component dropped on the Visual page builder that would also contain a component would return an error ("Cannot read property of undefined (reading 'uuid'))
Components containing components can now be used in the Visual page builder
None.
None.
Fixes a bug where "no image browser defined" warning message would appear on the visual page builder, although an image browser had been defined.
This will resolve the warning appearing incorrectly, allowing the user to select an image as expected.
None.
None.
Fixes a bug where users were experiencing errors when attempting to add components to a layout canvas on a path base multi-site.
Components can now be added the to layout canvas without error.
A Site Studio API import should be run as part of the upgrade: drush cohesion:import
None.
Fixes a bug where Package entities would be processed during partial rebuild after package import.
This will resolve errors that were happening during package imports, if Package entities would be imported and partial rebuild triggered.
None.
None.
In context editing functionality is being deprecated in Drupal core, therefore support for in context editing on Components and Component content on t…
Adds a new feature to the layout canvas to allow you to undo changes to the layout canvas and redo. Two buttons are added to the top of a layout canvas allowing you to go back and go forward with your changes.
Two new buttons added to the layout canvas.
None.
There is the risk of manually deleting data by using the buttons inadvertently.
Adds a new feature to the layout canvas to allow you to copy the token value of the layout canvas node. This allows you to easily copy and paste tokens without having to type them manually any more.
A new button on layout canvas nodes. Improved usability.
None.
None.
We have updated the entity definition of Package config entities - config_prefix now matches entity id. Where previously entity id was cohesion_sync_package and config_prefix was package, now both are cohesion_sync_package.
There is no impact to packages exported via Site Studio package management mechanisms. Package entity definitions exported via Drupal should be renamed to use updated prefix.
If package entity definition was exported as an individual file via Drupal config, the file should be renamed in order for it to work correctly. For example, file exported as cohesion_sync.package.pack_test_package.yml should be renamed to cohesion_sync.cohesion_sync_package.pack_test_package.yml.
If Site Studio Package entity was exported via Drupal configuration management and package file is not renamed, importing such file will prevent the entity from behaving as expected, for example it will not appear in Package list.
Fixes a bug where an error would be thrown in the console when using menu template Uncaught TypeError: Cannot read property 'xl' of undefined on menu template.
Using template will not throw that error.
None.
None.
Fixes a bug where some components content was not rendering when within a patter repeater.
Components that use pattern repeaters and are not rendering content will start rendering as expected.
None.
None.
In context editing functionality is being deprecated in Drupal core, therefore support for in context editing on Components and Component content on the front-end has been removed in line with this.
Components and Component content in context editing will no longer be available. The Visual page builder can be used to edit a Site Studio layout canvas on the front end - please see using the visual page builder for building pages and editing content.
None.
None.
The permission "access contextual links" is no longer needed to use the Visual page builder.
Access contextual links permission is no longer needed to use the Visual page builder.
To use the Visual page builder these permissions are needed:
If the permission "access contextual links" was applied to a role specifically to allow access to the Visual page builder this can be removed.
None.
Fixes a bug when using a paragraph and entering some multilingual letters which included line breaks, were not breaking onto separate lines as expected.
Multilingual letters will now line break as expected within paragraph elements.
You should perform a drush cohesion:import & drush cohesion:rebuild.
None.
Custom elements can now be containers, this allows other elements to be placed inside them. This gives developers more flexibility when creating custom elements.
There is no impact on existing custom elements.
To make a custom element a container you need to implement a few extra bits of code.
Please see an example in the example element module of how to implement: example_element/src/Plugin/CustomElement/ContainerExample.php.
None.
When a rebuild operation is run, an event is dispatched at the time the operation starts and completes. This allows developers to write event subscribers to listen for these events and trigger further actions if required.
Events will be dispatched during a Site Studio rebuild.
To take advantage of these events, event subscribers will need to be created in custom code.
Events that can be subscribed to:
Pre Rebuild: Drupal\cohesion\SiteStudioEvents::PRE_REBUILD
Post Rebuild: Drupal\cohesion\SiteStudioEvents::POST_REBUILD
See module readme for more information on these events.
None.
The visual page builder would not work and return an error if the page contains a block that has a layout canvas. This could be a custom block or a view rendering entities with layout canvases.
No impact but it is worth noting that only the layout canvas of the page can be edited with the Visual page builder. Any entity rendered by a layout canvas that itself contains a layout canvas would need to be edited in the admin.
You should clear cache: drush cr.
None.
Adds the relevant data handler to enable component_content entities to be utilised with the views module.
It will now be possible to create custom views listing component_content entities.
None.
None.
A message will appear when installing Site Studio via composer suggesting to install the node revision delete module. If the node revision module isn't installed a message will also appear on the Drupal status page.
None.
None.
None.
Fixes a bug where modals used on an Ajax enabled view, would not open after the Ajax action had been triggered.
Modals loaded with Ajax will now work as expected.
You should perform a drush cohesion:import.
None.
Fixes a bug where inputting a Youtube no cookie URL was still using the normal embed URL.
Youtube no cookie URLs will now work as expected.
You should perform a drush cohesion:import.
None.
Fixes a bug where templates that are more specific would not be deleted and still be selected as the template to render.
Only deleting all templates and run a drush cohesion:rebuild would fix the issue.
There is not impact, follow the instructions below to resolve the issue.
You should perform a drush cohesion:rebuild.
None.
Fixes a bug when changing the Base font size is Base unit settings from 16px, CSS media queries were being incorrectly calculated into rem units.
All Site studio generated CSS styles will now use pixel (px) units on CSS media queries.
drush cohesion:rebuild
None.
A new drush sync command drush sitestudio:package:list which lists available sync packages created using the package manager.
Running the command will list out available sync packages names and IDs in the CLI.
None.
This fixes a bug where some PHP notices were appearing when using Better exposed filters on a view.
No PHP notices will appear relating to Better exposed filters.
None.
None.
The package entity was appearing within the exclude entity types list when creating a package in the UI, this could produce a blank package export if "packages" was selected to be excluded.
The package entity can no longer be excluded from packages.
None.
None.
We are adding new Drush command that allows Site Studio Package export and import via individual files. This command no longer encodes Images and keeps Config files individually, allowing for better Developer experience. Config files are exported with pretty-printed Json, allowing for human readability and review of exported config. Images and other files exported with the package are now exported in their respective formats. Both individual files and full package export options are available.
The new commands will not be compatible with config exported by using old commands. Old commands are still available for use. The new Package export and import will behave in a way that is very similar to the Drupal config export and import via Drush.
We encourage trying new Import and Export commands as they significantly reduce the time required for Package import and export. Additional information about the new commands is available here.
Mysql settings for max_allowed_packet on the environment needs to be large enough to be able to handle whole package in a single Database transaction.
PHP 8 has added supported for named arguments. This can cause problems when using call_user_func_array() as is the case with batch operations - see ht
PHP 8 has added supported for named arguments. This can cause problems when using call_user_func_array() as is the case with batch operations - see https://wiki.php.net/rfc/named_params for the changes in question.
Site Studio batch operations will operate as expected on php 8.0 based environments as of 6.7.0.
None.
None.
When exporting Site Studio assets you can now set a setting to export all json values non serialised. This is to increase the readability of sync packages when doing diffs as it will output json values in multiple lines.
None.
To enable this functionality add $settings['site_studio_package_multiline'] = TRUE to your settings.php.
None.
This fixes a bug where config would be loaded before bootstrap causing side effects on other services.
None.
None.
None.
This fixes a bug where entity references inside field repeater would not be updated properly resulting in a broken reference.
There is no impact, entity references should now be linked to the correct entities.
drush cohesion:rebuild
None.
We are moving default functionality when using Acquia ContentHub into a new contrib module. The new module is called
"Sitestudio Contenthub" (sitestudio_contenthub) and contains two
new submodules sitestudio_contenthub_publisher and sitestudio_contenthub_subscriber.
They add additional Site Studio support for Content publishing and importing via ContentHub.
Customers leveraging Content hub for Personalization/Lift integration with Site Studio will be required to take manual action to ensure continued operation, Site Studio related entities will no longer be published and imported until the new "Sitestudio Contenthub" (sitestudio_contenthub) is downloaded and appropriate submodule is enabled. Once the submodules are enabled, the functionality will resume, but integration behaviour might be different, depending on how it was used until 6.7.0. Please refer to the documentation to find out more.
If integration with Acquia ContentHub is required, please read updated documentation, download the new "Sitestudio Contenthub" (sitestudio_contenthub) and enable submodules relevant to the Publisher and the Subscriber sites.
This update removes default integration with ContentHub. If no actions are taken, Layout Canvas entities will no longer be published and imported via ContentHub. Once the new module is downloaded relevant submodules are enabled, ContentHub integration with Site Studio will resume, but will behave differently compared to 6.6.0 and earlier versions. More information is available here.
Fixes a bug where nested components inside pattern repeaters with tokenized fields where not rendering.
Components that are nested inside another component and use a pattern repeater, that contain tokenized values will now render as expected.
Run a rebuild.
None.
Fixes a bug when using a components configure links on a layout canvas on a sub-directory multi-site setup, the URL returned was incorrect.
The component layout canvas configure links will now work for multi-sites that are configured in a sub-directory setup. For example: www.domain.com/site1 www.domain.com/site2
None.
None.
Fixes a bug where the edit page of a component content would throw a Call to undefined method isReusable() error when moderation is enabled.
Editing component content while having content moderation enabled will work as expected.
None.
None.
Component content that is placed on a layout canvas is now referenced by its UUID rather than ID. This makes it compatible with modules such as contenthub and default content.
There should be no impact from a users perspective. Any existing component contents on layout canvases will be updated to reference by UUUID, and new ones will be referenced by UUIDs.
When upgrading be sure to follow the upgrade guide and run a rebuild when stated.
None.
Fixes a bug where the warning "Tokens or token types missing name property." appears on the Drupal status page when using the template selector field.
This warning will no longer appear.
Run drush updb as usual when upgrading.
None.
Fixes an issue where if a context is missing it would appear as "undefined" in the context visibility select where it had been used.
If a context has been selected in the context visibility select and is subsequently then removed, it will now show "Selected context is missing."
drush cohesion:import
None.
Fixes a bug where a users account is cancelled and component content that they had created should be reassigned, unpublished or deleted, was not being re-assigned or deleted correctly.
When cancelling a user account that has created component content it will be re-assigned, unpublished or deleted correctly based on what the user selects when cancelling the users account.
None.
None.
Fixes a bug when installing Site Studio through a profile, would result in a 403 rather than being logged in as user 1.
Installing Site Studio through a profile will now log the user in after installation as expected.
None.
None.
Fixes a bug where Entity browser URLs don't respect sub-directory multi-site setup and the URL returned was incorrect for this setup.
The URLs are now correct for both sub-directory multi-site setup and standard Drupal setups.
None.
None.
Fixes a bug where the component builder elements category did not show in the sidebar browser as expected on component creation and edit forms, if certain referer policies were in place.
The component builder elements category will now appear as expected even if certain referer policies are in place.
None.
None.
Fixes a bug where the sync file chunk URL was hardcoded rather than generated through Drupal.
No error will be encountered when importing a sync file through the UI on a sub-directory site.
None.
None.
Fixes a bug where a call to an undefined method for entity types that do not use the trait EntityPublishedTrait and as such do not have a isPublished() method.
The error will no longer appear.
None.
None.
Fixes a bug that causes menu templates to be generated with an incorrect filename and therefore results in not rendering the template selected.
Fixes a bug that causes menu templates to be generated with an incorrect filename and therefore results in not rendering the template selected.
Menu templates are now generated with the correct filename and will start to render as expected.
A Site Studio rebuild or re-save the affected menu templates.
None.
Accessibility of the Site Studio Slider has been enhanced to include features from Accessible360's Slick replacement. These include:
Accessibility of the Site Studio Slider has been enhanced to include features from Accessible360's Slick replacement. These include:
aria-label for the Slider container, which also has a role="region" attribute/value.role="group" attribute/value with an aria-label value of slide x, where x is the numerical index in total number of slides.Autoplay is enabled the user can add a play/pause button to the Slider, add visually-hidden state labels and customise its appearance and position.Center mode is enabled, the aria-label of the centered slide will be appended with the text (centered).tablist, tab, presentation and tabpanel have been removed from pagination HTML and slide items.Customers using screen reader technology on your websites should have a better experience, providing configurable options are completed by site builder.
drush cohesion:import
Pagination or Slide item styles could be be broken if a site builder has used the now-removed tab roles as attribute css selectors.
Fixes a bug where components that rely on entity IDs where not rendering the referenced content as expected.
Components can rely on either entity UUIDs or IDs for rendering referenced content. If your components rely on entity IDs, upgrading will resolve referenced content not rendering.
drush cohesion:rebuild
None.
Fixes a bug where when creating a new piece of image media through the media library modal in Site Studio the modal failed to close when attempting to
Fixes a bug where when creating a new piece of image media through the media library modal in Site Studio the modal failed to close when attempting to insert.
Media can be created through the media library modal and it closes as expected when clicking insert.
None.
None.
Fixes an error where the drush sync:import command would not import all packages in the site_studio_sync folder but only one
All packages will be imported from the site_studio_sync folder
None.
None.
Some Site Studio assets were being loaded from /site/default/files when this directory may not exist.
The horizontal and vertical rulers in Base and Custom styles have now been removed from the style preview.
drush cohesion:import
None.
When setting the minimum number of repeatable fields this was not being set as a default when first using the form.
When setting a minimum number of repeatable fields this will now be used as the default number of fields shown.
drush cohesion:import
None.
Fixes an error thrown when installing a custom module that includes Site Studio components exported with the default_content module.
The custom module will install successfully.
None.
None.
Removes the default gray, white and black colors from the color palette on a clean install of Site Studio.
When installing Site Studio on a site there will be no colors in the color palette. Existing sites won't be effected.
None.
None.
Removes the default component and helper categories on a clean install of Site Studio.
When installing Site Studio on a site there will be no helper or component categories by default. Existing sites won't be effected.
None.
None.
Fixes a bug where selecting newly created media in Site Studio media library was not always selecting the media item the user selected.
When selecting newly created media the correct item is now selected.
None.
None.
Fixes a bug when creating a Hash URL for an Accordion item the page would not scroll to the open Accordion.
When creating a Hash URL for an Accordion item the page will automatically scroll to the open Accordion when the page first loads.
drush cohesion:import
None.
Fixes a bug where viewing content in the view mode "search result" resulted in an untrusted callback exception on Drupal 9.
Drupal\Core\Security\UntrustedCallbackException: Render #post_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was _cohesion_entity_clean_css. See https://www.drupal.org/node/2966725 in Drupal\Core\Render\Renderer->doTrustedCallback()
This error should no longer occur.
None.
None.
Fixes a bug where if you have the Configuration translation module enabled and clicked the "translate" link a fatal error occurred.
The fatal error should no longer happen.
None.
The fatal error has been resolved, but further research is required to make Site Studio and Configuration translation modules fully compatible.
When building a package from manage package, it would take a significant amount of time to return the list of entities. This has now been improved.
None.
None.
None.
Fixes a bug when adding new components to a node layout canvas, then using the preview and going back to the node edit the most recent changes/additions were lost.
When using the Drupal preview on a node unsaved changes to the layout canvas are no longer lost.
None.
None.
Fixes a bug when a non-accessible version of Drupal block used via Site Studio Block Element would be cached and cache would not refresh if block settings were updated making it accessible.
When updating block visibility settings, Block Element in Site Studio will have identical caching behaviour to a regular Drupal block.
None.
None.
A new module available as part of Site Studio that provides a front-end page building and content authoring experience using Site Studio drag and drop
A new module available as part of Site Studio that provides a front-end page building and content authoring experience using Site Studio drag and drop components. The visual page builder is a companion to the Layout canvas that is used in the back-end Drupal user interface.
When installed, the module will add a new ‘Page builder’ button to pages that have a Site Studio layout canvas. When the button is clicked, users enter the new page builder mode.
To use the Page Builder you will need to install the Visual Page Builder module.
There are no known risks.
Fixes a bug where a sync package contains entities that then have their dependencies updated, but the sync package contained both the original and new dependency. For example your component exists in a package, you then update that components default image, both images files were included in the sync package rather than the latest one.
Old entity dependencies should no longer appear in your sync package. Sync package files may also be smaller in size if there were multiple "old" dependencies.
You may need to re-save your sync package.
None.
By default the sync:import process will handle 10 items at a time to reduce the memory required to run this operation. This feature exposes a method for increasing that number via Drupal settings.
Where more memory is available the sync_max_entity can be set to a number greater than 10 to process the import faster.
Add a settings value such as:
`$settings['sync_max_entity'] = 20;`
Increasing the sync_max_entity value will require more memory to process each sync:import batch.
rel attributeThe rel attribute defines the relationship between a linked resource and the current document. Support has been added for three of the most important values:
nofollow - prevents backlink endorsement, so that search engines don't pass page rank to the linked resource.noopener - prevents linked resource getting partial access to linking page, something that is otherwise exploitable by malicious websites.noreferrer - similar to noopener (especially for older browsers), but also prevents the browser sending the referring webpage's address.For each of the following Site Studio elements:
LinkContainerSlide itemColumnCheckbox toggles for No follow, No opener and No referrer will appear when the following conditions are met:
Type is set to URLTarget is set to New windowWhen checked, they will be added to the created link HTML in the format rel="nofollow noopener noreferrer" (if all are enabled).
Existing components that you would like to use this feature on need to be updated, as these toggles are OFF by default.
Use of the No follow toggle will have an impact on SEO, given that it stops search engines passing page rank endorsement to the linked resource.
This is often used in blog comments or forums, as these can be a source of spam or low-quality links.
Google and other search engines require nofollow to be added to sponsored links and advertisements.
Use of the No referrer toggle will affect analytics, as it will report traffic as direct instead of referred.
<nolink> tokenWhen creating Drupal menus, it's possible to use a <nolink> token to render the link text only, which outputs as a span instead of an a tag.
This can be useful for creating headings for menu sub-levels.
Previously Site Studio menu templates would ignore the <nolink> token and still render an a tag with an empty href attribute.
Now as per Drupal behaviour, these are rendered as span tags.
If a different HTML element has been specified in the Site Studio menu template (Menu link settings), this setting will take priority.
This is recommended if you are using <nolink> for creating menu sub-level headings.
<nolink> token where needed.You many need to create additional menu template styles to account for the tag change from a to span, depending on how current styles are being applied.
The accessibility of Accordion tabs elements has been improved, when in the accordion display mode.
Accordion header links now have the aria-expanded attribute, which toggles between true and false when expanded and collapsed, respectively.
Accordion header links now have aria-disabled="true" set if the parent Accordion tabs container has the Collapsible setting toggled OFF. This is only applied when the item is expanded, to indicate to a screen reader that the panel cannot be collapsed manually.
When the panel is collapsed because a sibling accordion item is expanded, the aria-disabled attribute is removed.
Accordion header links now have aria-disabled="true" permanently set if the accordion item has been disabled through Navigation link settings.
font-display on Font libraries settings pageAdds the ability to set the font-display CSS property when uploading a new web font.
None.
drush cohesion:import
None.
Fixes bug where children of elements would not render in the layout canvas
Fixes bug where children of elements would not render in the layout canvas
None.
None.
None.
Fixes bug where custon elements had no context of what element it belongs to
Fixes bug where custon elements had no context of what element it belongs to
None
Re-save component using custom elements. It can also be done as part of a cohesion:rebuild
None.
Fixes a permissions issue limiting access to the add component content page.
Users with administer component content can access Site Studio > Components > Component content > Add component content
as expected.
None.
None.
Fixes an issue where creating a translation of component content could result an error and it was not appearing the sidebar browser.
Error: Call to a member function getCategoryEntity() on null in Drupal\cohesion\Services\CohesionUtils->getPayloadForLayoutCanvasDataMerge()
No further error messages should occur when creating a translation of component content, they should also now appear as expected within the sidebar browser.
As part of the upgrade make sure to run drush updb.
None.
When the TMGMT module is enabled users are unable to tokenize Styles in Style builder.
None.
drush cohesion:import
None
Fixes an issue where enabling the webprofiler module prevents some actions (eg. drush commands) from completing properly.
No code related issues will be observed relating to the webprofiler module being enabled.
None.
None.
Fixes an issue where if you have a component which applies styles to an element but the editor does not specify any value when using the component, an empty style in the head would be generated
No empty css selector will be printed on the page
drush cohesion:rebuild
None.
Fixes an issue where if you have a default language prefix, the component content edit link from the layout canvas contained two language prefixes and therefore resulted in an invalid link.
If the default language has a prefix, the component content edit links from the layout canvas are now correct.
None.
None.
Fixes an issue where unpublished content entities were appearing in typeaheads when searching for content. This meant that site editors could link to content that was not yet published and could lead to 404s.
Unpublished content entities no longer appear in typeaheads when searching for content in the Entity browser, Entity reference and link elements.
None.
None.
Fixes an issue where after using the filters in the Media Library you were not able to insert media, this resulted in an ajax error.
You will now be able to use the media library filters and insert media without error.
None.
None.
Adds new optional argument --no-rebuild to the sync:import drush command. When using the command with the argument, no entity rebuilds are triggered r
Adds new optional argument --no-rebuild to the sync:import drush command. When using the command with the argument, no entity rebuilds are triggered
reducing calls to the API. This is useful when a rebuild is likely to be run in a subsequent script during a deployment for example.
Reduce the time and memory required to run the sync:import process.
Usage:
drush sync:import --no-rebuild
Ensure a rebuild step is included as part of your scripts when employing this flag.
font-display on Font libraries settings pageAdds the ability to set the font-display CSS property when uploading a new web font.
None.
drush cohesion:import
None.
Fixes an issue where "This element requires the Entity browser or Media library modules enabled" error appeared even though users has either installed. Also resolves another issue where you could not select "Typeahead" without "Entity browser" module being installed.
When adding a new Entity browser element to a Layout canvas the default option is now set to Typeahead as this is not module dependent.
The Typeahead option in the Entity browser element can be used without Entity browser or Media library modules installed and users should no longer experience the any error messages appearing unexpected.
None.
None.
Fixes an issue when using the Link attributes module with Site studio.
This error would appear in the logs: User error: "0" is an invalid render array key in Drupal\Core\Render\Element::children() (line 97 of /var/www/drupal/standard/web/core/lib/Drupal/Core/Render/Element.php)
If using the Link attributes module and Site studio you should no longer see any errors on your site.
When upgrading an Site Studio import and rebuild should be run.
None.
By default the sync:import cli command will put the site into maintenance mode, this feature provides a --no-maintenance flag to optionally disable this action.
This is useful on platforms such as ACSF where this behaviour is handled by the internal update hooks.
More granular control on how/when a site enters and leaves maintenance mode.
Usage:
drush sync:import --no-maintenance
A site should be in maintenance mode during the sync:import procedure to avoid cache issues, ensure this is handled by either the platform or additional scripts
when employing the --no-maintenance option.
By default Site Studio will send data to its API using gzencode to reduce the traffic. It can be turned off by settings the config cohesion.settings compress_outbound_request to 0
If enabled, when saving an entity through the UI or via drush cohesion:rebuild, the process will be faster as less traffic will be necessary.
If your server does not have zlib you might want to turn this off by doing drush config-set cohesion.settings compress_outbound_request 0 or install zlib.
This is now turned on by default, make sure zlib is installed on your server or you might see some failures. See What actions do I need to take?
Fixes a bug when using IMCE and Media library integration with Site studio used relative URLS, where in a sub-directory multi-site setup, the URL returned was incorrect.
IMCE and Media library will now work for multi-sites that are configured in a sub-directory setup. For example: www.domain.com/site1 www.domain.com/site2
None.
None.
Deleting Components with inline styles in Drupal now removes the styles for such components from the stylesheet. Previously this would be done only during rebuilds.
Deleting Components with inline styles will reduce size of stylesheets immediately, without having to run rebuild.
None.
None.
A large number of twig cache file were created when rendering inline styles, causing the twig cache folder to grow overtime very quickly
The number of twig cache file will stop growing when using inline styles
If you want to clear the twig cache folder you should clear the cache
None.
The drush command for rebuild now has a new option --no-cache-clear which removes the cache clear from the batch it performs.
If the option is specified the rebuild will take less memory to run.
Usage
drush cohesion:rebuild --no-cache-clear
You will still need to run a drush cr after the rebuild
Reducing new lines within inline CSS style blocks that are generated by Site Studio.
Websites that use inline CSS styles generated by Site Studio, will now take up less space within the head of the page.
None.
None.
Fixed a bug where in certain situations where the browser was zoomed in and specific widths, the Site Studio inline editing pencil did not always appear.
The inline editing pencils should now always show.
None.
None.
Fixes a bug where an error appeared when attempting to translate content, that had a Layout canvas field and other Drupal fields through TMGMT. This resulted in some translated content values being returned as "null".
Translating content using TMGMT in this scenario will no longer return an error and return the translated content.
None.
None.
Fixes a bug where the translated:// stream wrapper and other hidden stream wrappers were being incorrectly passed into a Twig extensions function.
When saving a translated node you should no longer see these errors and it has been handled correctly.
None.
None.
The batch process has been reworked to hold less in memory
Large sync package will use less memory when imported via the UI and therefore will be less prone to out of memory errors
You might be able to decrease the memory limit needed to run a sync import via the UI if you had to increase it to overcome this issue
None.
By default the rebuild process will handle 10 items at a time to reduce the memory required to run this operation. This feature exposes a method for i
By default the rebuild process will handle 10 items at a time to reduce the memory required to run this operation. This feature exposes a method for increasing that number via Drupal settings.
Where more memory is available the rebuild_max_entity can be set to a number greater than 10 to process the rebuild faster.
Add a settings value such as:
$settings['rebuild_max_entity'] = 20;
Increasing the rebuild_max_entity value will require more memory to process each rebuild batch.
The ability to expose style properties as component form options.
The following style properties are no longer flagged and can now be tokenized:
Text shadow > HorizontalText shadow > VerticalText shadow > BlurText shadow > ColorPosition > PositionDisplay > DisplayBox shadow > HorizontalBox shadow > VerticalBox shadow > BlurBox shadow > SpreadBox shadow > ColorTransition > DurationTransition > DelayCreate component fields that are connected to relevant style properties in your layout canvas elements, which will enable configurable styles in your component forms.
text-shadow and box-shadow are both shorthand properties and support multiple values.
This means values for all fields should be entered, to ensure styles are built correctly. You can do this in a number of ways:
Range and Select).You can now add child elements to the Button element.
It will enable more advanced button styles, such as:
To update existing link elements, you will need to do a rebuild.
Both new and existing Button elements on the layout canvas will be collapsed by default.
None.
Adds the ability to save Component content with a Dropzone.
This will expose the Layout canvas when editing a Component content. Editors will not be able to edit / add to the top level Layout canvas only the Dropzone.
drush cohesion:import
None.
Component content can now be created directly through the Site Studio menu Site Studio > Components > Component content > Add component content rather than having to save a component from a node.
Component content doesn't have to be created from a node and can now be created separately just like you would with other content entities. The ability to create a component content from a node is still available
None.
None.
Two Google Map API keys can now be defined through the Site studio UI. One for the Google Maps Javascript API which is used for rendering maps and previews, another for the Geocoding API which is used to fetch the coordinates.
This allows for restrictions to be applied to API keys as explained by in Google's best practice document: https://developers.google.com/maps/api-key-best-practices#best_practice_list If a second API key for the Geocoding is not defined, it will continue to use the first one.
None.
None.
The Entity browser element now has the ability for more entity types to be used with the element. This allows more flexibility for site builders to create their own Entity browsers for other entities, and for contributed modules, such as content browser to be used with the Entity browser element.
Note that when using the contributed module content browser the browser modal uses the active front-end theme for styling.
The ability for the content or other entities to be selected within the Entity browser element.
Fixes a bug where attempting to upload an icon or font library file through the UI resulted in the error: Error occurred while uploading the file. and
Fixes a bug where attempting to upload an icon or font library file through the UI resulted in the error: Error occurred while uploading the file. and the file not being saved.
Icon and font library files can now be uploaded through the UI on Drupal 9 sites without error.
None.
None.
Fixes a bug where site editors could inject javascript and potentially other harmful markup, into the link to page field on the link element and link to page component form field.
A user without the Bypass XSS validation in element forms permission will not be able to inject Javascript or HTML into the link to page field on a link element.
If the value is not a valid link it will go through the XSS filter.
Where a link to page field on a component has been used and the value input is not a valid link the value will not render out.
Valid links values include: Using the autocomplete (node::1), /my-page, external links and mailto:.
None.
Any value that is not a valid link and been input into a component link field will no longer render out that value in the href.
Adds the ability to switch a template storage from the file system to the key value storage
If enabled Site Studio will be using the database more often as it will save all config templates in the database
To enable this feature you need to change the alias of the cohesion.template_storage services to point to cohesion.template_storage.key_value
You can do so by providing a site specific services.yml and provide the path to it in your settings.php
Ex:
env.services.yml
services: cohesion.template_storage:
alias: cohesion.template_storage.key_value
settings.php
$settings['container_yamls'][] = '/path/to/env.services.yml'
Database utilisation will increase especially during rebuild and sync operations, be aware that this will also increase the size of your database.
Fixes a bug when using IMCE and Media library integration with Site studio used relative URLS, where in a sub-directory multi-site setup, the URL returned was incorrect.
IMCE and Media library will now work for multi-sites that are configured in a sub-directory setup. For example: www.domain.com/site1 www.domain.com/site2
None.
None.
Fixes a bug where adding cache context to link inside a menu would prevent inline style on components living alonside the menu to render
Adding cache context should not impact the rendering of styles
None.
None.
Fixes a bug where Views and Image styles were not available to be excluded from the full sync package export.
Fixes a bug where Views and Image styles were not available to be excluded from the full sync package export.
Views and Image styles can be excluded from the full sync export, through the export settings page: admin/cohesion/sync/export_settings.
None.
None.
When adding a style with only a pseudo element the styles would not apply.
None.
drush cohesion:rebuild
None.
Fixes a bug where the Google Analytics events integration only supported the classic analytics and didn't support universal analytics.
Both classic and universal analytics are now supported by the element analytics tab.
None.
None.
Fixes a bug where in some cases clicking an accordion in the Site studio UI open/closes multiple times before applying the correct state.
None
None.
None.
Fixed a bug where configuring the sync directory in the settings.php was using $config_directories which is now deprecated in Drupal 8.8 and above. Th…
Fixes a bug when using Repeater fields in a Component content the content was not updating.
None
A Site studio import should be run after upgrading.
None.
Fixed a bug where components created from a layout canvas would fail to work when added to another layout canvas before their component form had been configured.
None
A Site studio import should be run after upgrading.
None.
Fixed a bug where Conditional Fields were always set to hidden on Style Guide Forms.
You can now use Conditional Fields on Style Guide Forms and they will show/hide correctly.
When implementing Conditional Fields on Style Guide Forms the syntax should be the same as on Components. E.g. use [field.select] and not [style-guide:style-guide-name:select]
None.
Fixed a bug where configuring the sync directory in the settings.php was using $config_directories which is now deprecated in Drupal 8.8 and above.
This has now been updated inline with Drupal core.
You can now set a custom sync directory by setting $settings['site_studio_sync'] in your settings.php.
For example $settings["site_studio_sync"] = "../config"
We recommend that you update your site to use $settings["site_studio_sync"] rather than $config_directories, if you don't update the fallback of sites/default/files/sync will be used.
None.
Fixed a bug where using tokens in content template and rendered in a view would retrun the default language instead of the current content language.
Fixed a bug where using tokens in content template and rendered in a view would retrun the default language instead of the current content language.
If a token is used in a content template and this content dipplayed in a view the correct translation will be displayed
Clear the cache of the affected templates for the tokens to be processed. You can do it by saving each individual template or a global drush cr
None.
Fixed a bug where translating a node using TMGMT that had multiple of the same Component resulted in incorrect translations being applied to components.
Translating a node with multiple of the same component using TMGMT will now apply the correct translation to the component.
None.
None.
Fixes a bug whereby a toggle value added to a template is not rendered correctly in a child node.
Toggle values will now be rendered correctly in all use cases.
None.
None.
Fixed a bug where inputting an incorrect token within a nested component with a dropzone caused twig errors.
Fixed a bug where inputting an incorrect token within a nested component with a dropzone caused twig errors.
If a token is input incorrectly it will be output as a string rather than displaying twig errors and stopping the page from rendering.
A Site studio import and rebuild should be run after upgrading.
None.
The content template machine name prefix has been shorten to ctn_tpl, so when creating additional full content templates the site builder has more fle
The content template machine name prefix has been shorten to ctn_tpl, so when creating additional full content templates the site builder has more flexibility.
Previously if your content bundle had a long name this could produce an error when attempting to create multiple full templates as the maximum characters for a machine name is 32 as enforced by Drupal core.
The ability to create content templates for bundles with long names and no get any errors about the length of the machine name. Existing templates will not be affected and continue to work as expected.
None.
None.
Components can now include repeating sets of fields within the component form. A new form element called a Field repeater allows the form builder to wrap one or multiple fields within a repeatable group. The field repeater includes a button which allows the content author to add another group of fields as an array. The field repeater can be limited to maximum number of repeats.
The field repeater form element is used with another new component layout element called a Pattern repeater. This allows a section of layout on the layout canvas to be repeated. When linked together, the field repeater will repeat the layout within the pattern repeater. The result is a component that can include a repeating set of fields that automatically repeats a corresponding layout.
There are many use cases for this functionality. Some examples include:
None.
drush cohesion:import
None.
You can now use Site Studio with TMGMT and translate content for each field of your components. By default all text based field in your components will be translatable, you can exclude fields from being translatable in a new section on the component form page named Translation settings. Suggestions have also been implemented, if you add a component content or have a component with a entity reference field or a entity browser field, TMGMT will suggest to translate the referenced entity if relevant
None.
None.
None.
When importing a file through Site Studio Sync where the UUID already exists, but the URI doesn't match an error message is displayed. The error message now displays more information to help debug which file is causing the error.
The error message will display some more useful information to help debug the file causing the error to display.
None.
None.
Fixes a bug where sites on Drupal 8.9.3 and 9.0.3 the WYSIWYG elements textarea width was incorrect.
The WYSIWYG elements textarea is now the correct width.
None.
None.
Fixes a bug where on a multilingual site, using the inline edit functionality to edit components on the frontend of a website was loading the incorrect translation.
Using the inline edit functionality now loads the correct translation.
None.
None.
Fixed a bug where importing a sync package containing components would not always categorize them correctly.
Importing components should now be categorized correctly.
None.
None.
Fixes a bug where an unsaved node containing components on a layout canvas, then previewing using Drupal preview caused the below error.
Symfony\Component\Routing\Exception\InvalidParameterException: Parameter "revision_id" for route "cohesion_elements.components.settings_tray_iframe" must match "[^/]++" ("" given) to generate a corresponding URL. in Drupal\Core\Routing\UrlGenerator->doGenerate()
When previewing an unsaved node containing a layout canvas, you should no longer get this error.
None.
None.
If a component is used on a custom block layout canvas field, the component will now show as in-use by the custom block.
Allows for components in-use on a custom block to be tracked.
None.
None.
Fixes an issue where attempting to clone a node with a Layout canvas field and component containing a file produced an error.
You can now use the quick clone module to clone nodes with components containing files without error.
None.
None.
Fixes an issue where the focal point module image widget did not load as expected on Drupal image fields.
You can now use the focal image widget on Drupal fields.
None.
None.
Nothing published for this version
Fixes a bug when adding a Component to the Layout canvas which has a Range slider with a default value, the values were not being applied correctly wi
Fixes a bug when adding a Component to the Layout canvas which has a Range slider with a default value, the values were not being applied correctly with the correct unit.
None.
None.
None.
Fixes a bug where linking an entity with parentheses in the title to an entity reference element did not render in the frontend.
You can now link an entity that has parentheses in its title in an entity reference element and it will render.
None.
None.
We changed the IMCE module version dependency from ^1.x to ^2.2 to solve a Drupal 9 incompatibility issues within IMCE.
Sites running Drupal 9 and Site Studio will use the latest version of IMCE which is fully Drupal 9 compatible.
While Site Studio will continue to work with the 1.x branch of IMCE, it's worth upgrading existing sites.
composer update drupal/imce:^2.2
From your docroot you can run the following to upgrade existing sites. New installations will install ^2.2 of IMCE automatically as part of the Site Studio dependencies.
None.
The Slider interactive element now works correctly when a RTL language is active. If enabled, the Previous and Next button positions will be reversed.
Logical CSS properties make directional styles easier to maintain, such as right-to-left (RTL) content.
To support this, some style builder properties now have extra options or values:
Start and End)Padding ellipsis menu (Padding block-start, Padding block-end, Padding inline-start, Padding inline-end)Margin ellipsis menu (Margin block-start, Margin block-end, Margin inline-start, Margin inline-end)Border width ellipsis menu (Block-start, Block-end, Inline-start, Inline-end)Border style ellipsis menu (Block-start, Block-end, Inline-start, Inline-end)Border color ellipsis menu (Block-start, Block-end, Inline-start, Inline-end)Slider: When an RTL language is active it will show the first slide as expected, instead of an empty slide.
Style builder: None, as existing styles will not be effected.
Slider: If you are using icons for your Previous and Next buttons, you will need to add styles to mirror these when RTL is active. You can do this by using a [dir="rtl"] prefix in your style.
Style builder: To access the new options for the Padding, Margin and Border properties, you will need to enable them through the respective properties' ellipsis menu on the right-hand side of the property group in the style builder.
The new style builder options and values are not supported in Internet Explorer 11 and below.
The following Drupal core config entities can now be included in your Site Studio Sync package. On the Sync package editor page, there is a new set of tabs in the package requirements accordion called “Site Studio entities” and “Drupal entities”.
Drupal core entities have been separated in the UI as they do not have any dependencies calculated for Site Studio entities. For example, if you export a content template for a content type, the Drupal content type is not included in the export automatically. This is a change to the way Drupal views will be included with Site Studio view templates. Views now need to be selected separately as they are now no longer a dependency of the view template.
When exporting a Drupal core entity using Site Studio sync, the associated fields with that entity can also be exported. For example, exporting a content type will also export all the fields attached to that entity. If the content type has an entity reference field referencing either media types or taxonomy vocabularies, the allowed types set on the field can also be exported.
This new functionality allows for "features" to be created as a Sync packages that contain both Drupal core and Site Studio configuration entities.
Site Studio sync packages can now include both Drupal and Site Studio configuration entities.
None.
None.
If you have a theme not set to use Site Studio (ie: the theme does not specify cohesion:true in its info.yml) you can now generate templates for it.
This is useful for AMP themes where there is the requirement to render the Layout Canvas field and supporting components.
You can now render Site Studio templates and layout canvas with any theme, making it compatible with AMP themes.
If you want a theme not using Site Studio like an AMP theme to generate and render the templates only, you need to enable it by going to the appearance page of the theme and check Generate templates only under the Site Studio section and perfom a rebuild to generate the templates for this theme.
You should be aware that this functionality will only build templates for Site Studio entities and Layout Canvas field, no styles will be generated and rendered. You should define your own stylesheet for these themes
Form elements on Site Studio Components can now be conditionally displayed based on user specified logic. The new "Show field if" field in the sidebar editor allows the user to enter custom conditional logic.
Conditional logic is evaluated in real time as users fill in the form which allows for fields to be shown or hidden based on the values of other fields within the form.
Conditional fields that are not shown by default will only have any default values assigned to them set when they are show (because the condition required to show them is met). Further to this, conditional fields can be set to be shown by default based on default values of other fields in the form.
In addition, to further leverage this new functionality, a new Hidden Input field has been added that allows users to enter static values that are only set when the field is conditionally shown.
Component Form Fields now have an addition setting in the sidebar editor that is used to set the conditional logic described above.
None
None
Keyboard accessibility has been significantly improved in several areas:
enter or space to add child elements.enter or space.enter or space.enter or space.tab keyenter or space keyescape key will close the current blade menu.Visual cue improvements when using keyboard to navigate through the Site Studio UI.
When creating components with Picture and Imageelements, but without specifying images, the HTML for these elements were still being generated on the front end.
If the Title and Alt text element settings were completed, this resulted in a broken image being displayed on the front end, alongside the image alt text.
If either Title or Alt text were left blank, there would be no visual indication of the <picture> or <img> HTML being generated.
Picture and Image elements will only generate HTML if an image is specified and therefore a src generated.
A rebuild will update the relevant twig templates and apply these conditions.
Whilst images that have no src specified usually have no size on the page, there is a chance that base styles that you've created for your site could generate whitespace for these empty elements.
Now that the elements will no longer be generated, this could cause some reflow of content.
Fixed a bug where select option values for a custom element could only be a string.
When creating a select list in a custom element you can now use both strings or numbers as values.
None.
None.
When saving as a component from the layout canvas, but not ever editing the component through the UI the components template wasn't generating as expected on rebuild.
This resulted in error message like this appearing on the site: Unable to find a template for suggestion matching component__cohesion_cpt_component_machine_name.
Saving a component in this way should now generate the component templates as expected.
None.
Components that have been previously created this way and never edited through the UI, need to be saved through the UI.
Fixed an issue where saving a helper with a long name from a layout canvas that contained files, caused a MYSQL error when trying to insert into the file usage table. If a helper already existed on the site, this also caused an error when running a site rebuild.
Customers should no longer see the error if they were previously experiencing it. If a helper is saved from the layout canvas with a long name, the machine name is created with a max length of 32 characters.
None.
None.
Nothing published for this version
There was an issue when adding additional Breakpoints to an existing style the values were not being saved correctly.
There was an issue when adding additional Breakpoints to an existing style the values were not being saved correctly.
Users should now be able to add additional Breakpoints and the values saved correctly.
None.
drush cohesion:import
After upgrading to 6.1.2 some customers reported that they were seeing the following error when importing Sync packages containing files such as icon font files:
An entity with theh UUID already exists but the URI does not match.
This error was incorrectly reported, blocking the import.
Customers will now be able to import packages that were previously throwing this error.
None.
None.
Fixes a bug where a URL tries to be generated in the in-use modal when an entity might not be available, stopping the in-use modal from opening.
You should no longer see the error "Call to a member function toUrl() on null" in your logs and the in-use modal should open as expected.
None.
None.
Fixed a bug where using a value that would return a string (usually a token) the pathRenderer twig function would return an error
Fixed a bug where using a value that would return a string (usually a token) the pathRenderer twig function would return an error
The error message should no longer appear and you will be able to use any value in a component link field
None.
None.
Fixes a bug when creating an existing select of Drupal blocks in the component form builder a server error message appeared.
Fixes a bug when creating an existing select of Drupal blocks in the component form builder a server error message appeared.
The error message should no longer appear and you will be able to create an existing select of Drupal blocks.
None.
None.
When enabling a theme which is using Site Studio (ie: it has cohesion: true in its info.yml file or the theme it inherits from has), assets such as styles and templates for this theme will not be generated unless you check the checkbox labeled Build Site Studio assets in the appearance settings of the theme
If you have any enabled themes using Site Studio that are not set as default, it will cease to generate the assets for these themes unless you explicitly check the Build Site Studio assets in the appearance settings of the theme under the Site Studio section
If you want Site Studio to generate assets such as styles and templates for any non default theme you might already have enabled, you need to check the the checkbox labeled Build Site Studio assets in the appearance settings of the theme under the Site Studio section
Your site might not render correctly unless you do what is describe in the What actions do I need to take? section above for any non default theme you might have enabled that is using Site Studio
When attaching a component link field token to a field that is not a link field (ex: to the analytics data layer or a data attribute in the markup tab) the rendered output would be the internal reference (ex: node::1) rather then the link to the page
Tokenising a link field to any type of field in a component will now render the link rather than the internal reference
A warning First parameter must either be an object or the name of an existing class _0027EntityUpdate.php:50 is thrown on certain cases when upgrading a site to 6.1 on the _0027EntityUpdate
The warning should not be thrown anymore
None.
Site Studio now requires Drupal core 8.8.0 as a minimum, due to some Drupal 8.8 specific functions being used.
This version of Site Studio and future versions can only be installed on Drupal core 8.8.0 and above.
If your website is running on an older version of Drupal core you will need to upgrade to 8.8.0 before upgrading to this version of Site Studio.
None.
Resolved issue when using a Picture element and enabling Lazy loading the image was not loading.
Users that reported this issue will see it has been resolved.
drush cohesion:import
drush cohesion:rebuild
None.
Fixes a regression introduced into 6.1.0 where a user could see an error like Error: Unable to build styles. StatusCodeError: 400 when saving or rebuilding styles. This was blocking some Site Studio rebuilds from completing.
Users will be able to save styles and rebuild successfully without this error.
drush cohesion:rebuild
None.
We have deprecated the use of the cohesion:// stream wrapper in all Site Studio modules
When selecting a different sibling Tab item in a Style Guide Manager form, it causes the selected tab to move to the first position.
This should only happen when Responsive mode is enabled on the parent Tab container (on by default).
Tab items will stay in place if responsive mode is disabled.
Note: Tabs will not stack if responsive mode is disabled.
When adding form fields to Components you will now be required to specify a machine name for them. When entering a title/label for your field, the machine name will be auto-generated but can be edited manually if you prefer.
This machine name will then be used to link the field to elements in your component.
The syntax for tokenizing fields has changed slightly. Previously your input would be linked by entering [Field 1], [Field 2] etc. The new syntax is [field. followed by the machine name you specify e.g. [field.my-machine-name].
As a result of this change it is now possible to add the token to fields on the layout canvas before you create the fields on the component form. Previously you had to add fields first.
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 "Paragraph padding top" would be assigned a machine name of paragraph-padding-top.
A rebuild is required to ensure existing form fields are updated.
None.
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.
Any prefix CSS Class selectors already added in the Style tree without the CSS class selector (.) will automatically be prefixed with a .
drush cohesion:rebuild
None.
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 media library is available in the image browser system settings and within the entity browser element and field settings.
You can now use the core media library within supported Site Studio elements.
The media library module will need to be installed to use within Site Studio.
None.
Fixes a bug where cohesion_base_styles_process_batch $context param was typed as array which prevented using Object extending ArrayObject, more specifically DrushBatchContext
You can now use the Site Studio import batch process inside an hook_update
None
None
The blocks within the block element select list are now alphabetical based on the block label.
The blocks will now be ordered alphabetically and easier to find in the select list.
None
None
Previously, the Site Studio 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.
Third party modules that attempt to render the Site Studio 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.
Performing a drush updb as part of the standard upgrade will deploy this fix.
The fix ID 8800 and will appear as "Add Site Studio view mode to Component Content entity type"
None
When tokenizing Opacity on Base, Custom or Element styles it would return an incorrect value.
You can now tokenie Opacity in Base, Custom or Element styles
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.
No.
Adds the ability when using the Entity browser element or Entity browser component field to browse Entities using a Typeahead.
drush cohesion:import
No.
When adding breakpoint-specific fields to component or SGM forms you can now display breakpoint icons in the form, on field groups or tabs.
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.
When enabling breakpoint icons on tab items:
Note: A rebuild is required to ensure existing form fields are updated.
Existing tab items will not be responsive until a rebuild is completed.
We have deprecated the use of the cohesion:// stream wrapper in all Site Studio modules
There will be no part of Site Studio 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 previous version on Site Studio
drush updb
drush cohesion:rebuild
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
Fixes a bug when saving a new translation of a component content the page was returning an error
You can now use component content with translations
None
No
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.
Blocks can be filtered by theme and easier to find in the block select list.
None
No
Previously, when editing a component on a content entity via the front end in-context editor, Site Studio was applying changes to the component to the latest revision regardless of which entity was being viewed and edited.
It's now possible to switch between moderation states on the front end (using moderation toolbar for example) and edit Site Studio component field data for that specific revision.
None.
None.
In the Site Studio content templates list only view modes that have been enabled for that bundle in the "manage display" will appear in the list.
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.
None
No
Field group form element - new Enable padding toggle settingWhen 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's desirable to remove the heading or padding separately.
Greater flexibility with component and SGM form design.
A rebuild is required so that existing field groups are updated with the new settings, to ensure no visual change to existing forms.
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 improvementsYou can now customise your component and SGM help text in the following ways:
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 SGM 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.
Greater flexibility with help text on component and style guide forms.
None - existing help text will only need to be updated if the new options are needed.
No
Fixes an issue when disabling a Custom style it would appear blank in the Custom select where it had been used.
If a style has been selected in the Custom styles list and is subsequently then disabled, it will now show "Selected style is disabled."
drush cohesion:import
No
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.
The form interface for the Menu button element will have an extra section called Button text with a text input.
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.
No, as a new option existing settings will be unaffected.
To support the upcoming release of Drupal 9, Site Studio has dropped support from Drush version 8.
If you use Drush 8 and Site Studio together, the Site Studio drush commands will no longer work.
Upgrade to Drush version 9 or higher wherever you use Site Studio Drush commands including cohesion:import cohesion:rebuild and sync:import
Failing to upgrade could result in your deployments or CI failing.
Resolved an issue where PHP warnings were thrown when changing and previewing style guide manager values
Resolved an issue where PHP warnings were thrown when changing and previewing style guide manager values
Removes all warnings when previewing style guide manager values
None
None.
Resolved an issue where multiple requests to the /select-options endpoint were not correctly cached when creating content entities. This led to the endpoint being hit an excessive number of times.
In-browser performance and server load will be improved when placing and editing components on content entities.
A Site Studio import via the UI or drush cohesion:import is required on existing websites.
None.
Resolved issue with drop-zones on layout canvas which was preventing them displaying as columns. This fix also includes improvements to the drop-zone
Resolved issue with drop-zones on layout canvas which was preventing them displaying as columns. This fix also includes improvements to the drop-zone layout, making them take up less space so that the layout canvas is easier to use for content editors.
A Site Studio import via the UI or drush cohesion:import is required on existing websites.
None.
Fixes an issue when using Generic custom styles in the WYSIWYG not showing the correct label.
Clear Drupal caches
No.
In some rare cases, a file entity's ID may contain a space at the start. When importing a Sync package containing this file, no changes were detected as the file could not be found.
If a file entity has a space in the ID, it will remove the space and find the correct file.
None.
None.
In certain circumstances, users were seeing the error "MySQL has gone away" after running drush cohesion:rebuild
In certain circumstances, users were seeing the error "MySQL has gone away" after running drush cohesion:rebuild
This was caused by a combination of MySQL configuration and/or a long running CRON or drush command process that running cohesion:rebuild command contributed to.
More information: https://www.drupal.org/node/259580
It was decided that developers working with Site Studio should be responsible for bringing the site into and out of maintenance mode if required and that Site Studio should not enforce this.
When running drush cohesion:rebuild note that your site will no longer go into and out of maintenance mode when running this command.
If you require this functionality, you will need to implement it yourself inside your build scripts.
More information: https://www.drupal.org/docs/user_guide/en/extend-maintenance.html
See above.
In certain configurations of Acquia Cloud and Acquia Cloud Site Factory hosting, it was possible that font and icon files were not being referenced on the front end correctly. This resulted in missing font and icons on the front end of the website.
Users that reported this issue will see it has been resolved.
A Site Studio import and rebuild is required after upgrading to the latest version of the module.
No
We've improved the time to build Site Studio layout canvas enabled pages for the first paint (before the cache has been built).
Users making changes to Site Studio powered content entities will see their page rendering more quickly.
No actions are required.
No
However, you should plan to update your usage of these commands as they will be deprecated and removed in a future version.
As part of the rebrand to "Site Studio", the existing drush commands have also been renamed.
drush dx8:import becomes drush cohesion:import
drush dx8:rebuild becomes drush cohesion:rebuild
Note that the dx8:import and dx8:rebuild commands are still in place, so your existing deployments will continue to work with no changes.
However, you should plan to update your usage of these commands as they will be deprecated and removed in a future version.
Change your drush commands to the new ones asap.
No
When you add a Tab container and at least one child Tab item to your component or style guide forms, these will collapse into a dropdown menu with an ellipsis button.
This is now consistent with how Drupal renders tabs responsively.
768px when completing a component form.Appearance settings and the preview is active (no breakpoint condition).Appearance settings, the preview is hidden and screen width is less than 768px.None - this behaviour happens automatically and is not configurable.
There are no backwards compatibility or upgrade requirements.
Fixed a bug where setting a image field to a background image on a lower breakpoint would render invalid CSS if this image was not populated instead of inheriting for the higher breakpoint.
Fixes a bug where a scale animation was being applied to a triggered modal that was set to have no animation (default setting).
Now the modal will instantly appear when triggered, if jQuery animation is set to None.
Machine name of Site Studio entities will now be not editable after you save even if they are not in use.
the dx8:import and dx8:rebuild commands are still in place, so your existing deployments will continue to work with no changes. However, you should plan to update your usages of these commands as they will be deprecated and removed in a future version.
If you import a package through the UI that contains a component and/or a style guide with missing fields that previously had content populated against it, you will see a system warning.
You can choose to override, in which case you would eventually lose the content, or keep the existing entity.
On drush sync:import (when using the option --overwrite-all) if you import a package with missing fields that previously had content populated against it, you will be prevented from importing and be given a summary of affected entities.
You can choose to ignore it by using the --force option, which will ignore the validation and overwrite all entities.
Reduces the opportunity to accidentally overwrite existing fields containing content. This prevents the loss of content on sites using a distributed design system and Site Studio style guide manager.
The Style guide manager now includes a real-time preview. Users can browse around the website, moving from page to page to see how their changes will affect the appearance of the site before applying them.
This new feature makes it much quicker and easier to apply styling changes globally to the theme of your website.
If a style guide field cannot show a preview because it is changing something other than a CSS style, an indicator displays next to the form field telling the user.
Teams using SGM can now see the changes being in realtime. This allows for faster, more accurate customisation of sites across large multi-site estates for non technical users.
The Site Studio API has been significantly refactored for this release to fix some legacy issues related to deploying and rebuilding sites at scale.
Network fault tolerance is improved, and error reporting back to the client is also now more descriptive and useful.
Less API errors, better reporting capabilities and faster rebuilding when required
This fixes a javascript error when no theme with cohesion enabled is installed and trying to preview a component.
You can set the stream wrapper of the temporary folder for cohesion to use by setting $settings['coh_temporary_stream_wrapper'] = 'mytemp://'; in you settings.php file.
More flexibility for developers and dev ops to control the configuration to meet the needs of their business
You can now add tooltips to your component and style guide manager fields.
When a field has tooltip text specified, a blue help icon will appear next to the label. Hovering over this icon or the label will display the tooltip.
Placement options Top, Right and Bottom are available.
Note:
Entity browser and Entity reference fields have multiple tooltip options as they have multiple fields.Google map marker field has a single tooltip option which is applied to the Address field in standard view and the Latitude, longitude field when in variable mode.Tooltips are available in more places improving UX.
If required these can be added retrospectively
Category 3 and Category 5 had the same color. Category 3 now has a different color.15fieldset and legend HTML)Significant improvements in accessibility. End users will see a different color when first using the updated version.
The region element has a new option, "All themes". When selected, all regions in the active themes are shown in the region select list and will render out the region, regardless of what theme is set as default.
More flexibility in the use of regions in components and templates for sites that use multiple themes and Style Guide Manager.
When attempting to delete a component that is in-use, the site builder will now see a list of entities where the component is in-use on the delete confirmation page.
If the component is in-use on component content and the site builder deletes it, the component content entities for the component will also be deleted.
It will be easier to detect potential data loss issues with package imports.
Your coding agent can read these notes before it upgrades. Set up the MCP server →