Install
Works with Drupal: ^11.2Using Composer to manage Drupal site dependencies
Alternative installation files
Release notes
Drupal Canvas has reached its second beta milestone! This release brings significant stability improvements and enhanced functionality as we continue progressing toward production readiness.
Content Templates have been moved out of experimental status and are now fully available. The AI assistant has been enhanced with better component generation capabilities, improved data fetching when creating components, and smarter handling of imports and prop generation.
Numerous stability improvements, bug fixes, and performance enhancements have been completed, including fixes for CKEditor integration, component prop linking, and error handling.
We'd love your feedback! As we work toward a Release Candidate, please test Canvas 1.0.0-beta2 and let us know about your experience. Your input will help shape future releases and ensure Drupal Canvas meets real-world needs.
Contributors (35)
AkhilBabu, IshaniPatel, NarendraR, Utkarsh_33, akhil babu, balintbrews, balsama, bnjmnm, cosmicdreams, edwardsay, effulgentsia, f.mazeikis, goba, gábor hojtsy, hooroomoo, ishani patel, jessebaker, kunal.sachdev, larowlan, lauriii, marcus_johansson, mherchel, mohit_aghera, narendrar, pameeela, penyaskito, shitalb, tedbow, thoward216, tim.plunkett, ultimike, utkarsh_33, vishalkhode, wim leers, wimleers
Changelog
Issues: 27 issues resolved.
Changes since 1.0.0-beta1 (compare):
Bug
- [#3546188] fix(Config management): Theme SDC instances cause fatal error after theme uninstallation due to core bug: keep in-use Components and switch them to the Fallback ComponentSource
- [#3549034] fix(Shape matching): Shape matching fails on `file` field instances targeting multiple MIME media types (multiple "MIME wildcards")
- #3547601 code component deletion redirects
- [#3548429] fix: Refine data fetching process when creating components with AI
- [#3547144] fix(AI): UUID of the selected component is not properly passed to the page builder agent
- [#3547666] fix(AI): AI should not generate props using Tailwind classes
- [#3543592] fix(AI): Component agent should be aware of imports possible
- #3548186 Resolve 500 error caused when editorFrameContext was lost during navigation
- [#3535983] fix: Canvas' component rendering robustness layer is too eager: catch all `\Throwable`s EXCEPT `EnforcedResponseException` and `FormAjaxException`, otherwise "form" components cannot work
- [#3550552] feat: AI image upload Playwright test often, but not always fails (flakey) - Removed 1 common case of test flake
- [#3548761] fix: Can't link (pick a DynamicPropSource) to populate an optional explicit input if that DynamicPropSource evaluates to `NULL` (typically: field is empty)
- [#3550334] fix(Shape matching): Text formatted with CKEditor within Canvas gets double escaped when output (update path in subsequent MR)
- [#3550334] Unbreak HEAD.
Feature
- [#3547862] feat(Page): Add `list_builder` handler to `Page` and update view at `/admin/content/pages` to show edit + delete operations
- #3546119 UX flow improvements, ensuring side menu is accessible when on root route.
Misc
- Fix ESLint config & make sure UI eslint job runs when package-lock changes
Task
- [#3550107] chore: PHPStan 2.1.30 broke CI
- [#3549568] chore: Fix CONTRIBUTION.md instructions after the rename
- [#3549226] docs: Canvas AI: Update README.md and add CONTRIBUTING.MD to canvas ai module
- [#3550012] chore: Remove `drupal:cl_editorial` and `drupal:sdc_examples` from `test_dependencies`
- [#3548320] fix: Contextual panel flickers when linking prop to field
- [#3543504] fix(AI): Do not include the CSS and JS from the component generation agent in the textual response to speed up generation
- [#3547160] feat(Extensions): Remove "Browse extensions" link which is a no-op
- [#3547598] feat(Shape matching): Update API response to provide a hierarchy of DynamicPropSource suggestions to provide better UX
- [#3550702] feat(AI): Create a custom event on message
- #3550746: Update `.gitlab-ci.yml` to remove CORE_STABLE to test against 11.2.5 and future core patch releases
- [#3548322] feat: Improve how list of field suggestions is displayed in the UI for `ContentTemplates` and remove `ContentTemplates` from feature flag
- [#3532514] chore(Component sources): Track `required` props of SDCs/code components in `Component` config entity, per version