Daily Digest
Sprint Digest – 17 June 2026 – 1 July 2026
2026 Capabilities Progress
- Page generation — Development progressed on Canvas AI agent foundations, including fixes to component generation prompts, exposure of block component properties to agents, and test fixtures for page-builder workflows [384][427][470][499][550]. Agent skills for configuring AI settings and automators are in development to support page creation automation [43][50][51].
- Context management — Context Control Center (CCC) advanced significantly toward beta3 with merged improvements to context item display, listing UI, documentation, conditional subcontext controls, and an experimental Document Loader for importing from PDFs and URLs [220][252][274][602][690][692][693][706]. Integration with AI CKEditor is in progress to inject context into content editing workflows [640][717].
- Background agents — Progress was made on automator queue processing and workflow integration, including fixes for queue item limits per cron run, error handling, and generalized Field Widget Actions behavior [62][118][208][209]. Agent skills for setup tasks are in development [42][50][51], and conditional subcontext capabilities were introduced to support automated relevance-based context selection [611][706][712].
- Design system integration — Canvas advanced symmetric translation and component versioning, ensuring design system components propagate correctly across all translations when updated [359][482][528]. Canvas AI component generation reliability improved with fixes for deprecated imports, prop/slot collisions, and JSX compilation [384][452][574].
- Content creation and discovery — AI CKEditor received context injection support [640][717], Field Widget Actions gained interactive refinement capabilities [22][160][747][757], and the AI reranking processor for Search API was delivered [74][198]. Batch embeddings support advanced across multiple providers to improve indexing performance [37][155][176][285][297][302][733][744]. Rich-text image description support was added to Automators [21][134][135].
- Advanced governance — Canvas conflict detection and resolution capabilities progressed with backend detection during auto-save and publishing, rudimentary resolution UI with side-by-side comparison, and feature flag controls, though several core components remain in progress [385][392][487][488][494][498][514][522][548][567]. A Moderation Guardrail plugin is under development [27][139], and guardrail evaluation consistency was improved [39][120][212].
- Intelligent website improvements — Token usage and observability infrastructure improved with correct preservation in streaming paths, GenAI semantic conventions in spans, and expanded token types [33][114][123][125][187][188][189][190][191][192][215][217]. AI agent Views integration advanced with fixes for display overrides [319][320][342][343].
- Multi-channel campaigns — No direct progress today, though the translation infrastructure saw improvements with chunking for large content, HTML preservation work, and batch field translation proposals in AI Translate [763][765][766][770], and Canvas symmetric translation foundations now support multi-language content workflows [359][482][528].
Shipped
- AI Core: Structured output for Automators — Automators are being refactored to use structured output for field value generation, with work in progress to improve reliability when AI models populate content [28][141].
- AI Core: Token usage preserved in streaming chat — The Fiber execution path for streaming chat now correctly tracks token counts, ensuring accurate usage reporting [33][187][188][189][190][191][192].
- AI Core: OpenTelemetry GenAI semantic conventions — Observability spans now emit standardized GenAI metrics, enabling external monitoring tools to consume usage data in a consistent format [123][214].
- AI Core: Search API reranking processor — A reranking processor is in development to make the rerank operation type available to any Search API backend [74][198].
- AI Core: Field Widget Actions generalized for Automators — Field Widget Actions integration with Automators is being refactored and ported to 2.x to reduce code duplication across widget types [30][142][143].
Ongoing
- AI Core: Symfony AI Component adoption for 2.0 — A large architectural refactor to adopt Symfony AI Component v0.8 as the platform provider is progressing through multiple merge requests, introducing new plugin types [132].
- AI Core: CKEditor context unavailable in off-canvas dialogs — The ai_json_schema element does not render correctly inside off-canvas dialogs, blocking configuration workflows [31][152].
- AI Core: Taxonomy automator strips HTML-encoded entities — The taxonomy automator clears valid term values when the language model returns HTML-encoded entities such as ampersands [4].
- Canvas: Symmetric translation propagation — Component version updates now propagate to all translations automatically, preventing translation drift [359][482][528].
- Canvas: Conflict detection for external entity updates — Work is in progress to detect when an auto-save diverges from a published entity that has changed externally, with UI indicators planned for selective publishing [385][392][487][488][494].
AI (Artificial Intelligence)
During the past two weeks, the AI module made significant progress across core infrastructure, user experience, and ecosystem maturity, positioning the project closer to a stable 1.5.0 and 2.0.0 release.
Core Infrastructure and Architecture
The module laid important foundations for version 2.0. A long-running architectural refactor to adopt the Symfony AI Component (v0.8) as the platform provider advanced through multiple merge requests, introducing new inference provider, model router, and platform plugin types. Separately, the Automators subsystem was migrated to structured output, improving reliability when AI models generate field values. Token usage reporting was strengthened: the Fiber execution path—used for streaming chat—now correctly preserves token counts, and observability spans emit OpenTelemetry GenAI semantic conventions alongside existing ad-hoc metrics, so external monitoring tools can consume a standard shape. A new reranking processor for Search API was contributed, making the existing rerank operation type available to any search backend. Field Widget Actions integration with Automators was generalized and ported to the 2.x branch, reducing code duplication across widget types.
Quality, Testing, and Documentation
Multiple functional JavaScript tests were added for the AI CKEditor plugins, covering tone adjustment, translation, and summarization workflows. A commit-message validation rule was merged to enforce issue references on main branches without restricting feature-branch workflow. Several merge requests removed deprecated bundled submodules (AI Content Suggestions, Field Widget Actions) and clarified upgrade paths to their standalone contrib counterparts. Documentation received a last-modified timestamp via the mkdocs git-revision-date plugin, and planning began on a deterministic script to auto-generate the provider/operation-type matrix from live GitLab data.
User Experience and Configuration
The Prompt Library menu link was moved out from under Vector Database Configuration into the top-level AI Infrastructure section. The AI CKEditor status indicator ("AI Writer: Idle") became optional through a new settings toggle. Work is underway to allow chatbot access control to rely solely on Assistant entity roles, removing the redundant "access deepchat api" permission. A regression in the 1.4.x line—commits present in 1.3.3 but missing from 1.4.2—was identified and closed. The guardrail "RegExp" plugin label was renamed to "RegEx" for consistency. Several UX issues were reported and remain open: the chatbot closing on modal events, missing submit buttons in certain tool configuration forms, and rendering problems in dark Gin themes.
Risks and Blockers
No critical blockers were reported. A handful of open bugs—CKEditor context unavailable in off-canvas dialogs, taxonomy automator stripping HTML-encoded entities, non-streaming requests broken inside Fibers—have proposed fixes under review. The 1.5.x and 2.0.x branches remain in active development; no dates for stable releases were announced.
How can I help on this project?
- Champion the completion of the Symfony AI Component adoption (MR !1619 and its dependencies) by ensuring architectural review capacity and alignment on the 2.0 roadmap.
- Support ecosystem documentation work: the auto-generated provider matrix and the curated related-modules list both need resourcing to stay current as new providers and companion modules arrive.
Contributors: Abhisek Mazumdar (abhisekmazumdar) [1], Ahmad Khader (Ahmad-Khader), Ahmad Khalil (ahmad-khalil-imagex), AKHIL BABU (AkhilBabu) [1], Alphons Jaimon (AJV009), Ann Mary Sruthy (annmarysruthy), Arnaud Willame (arwillame), Artem Dmitriiev (a.dmitriiev) [3], Avinash jha (avinash.jha), Bryan Sharpe (b_sharpe), David Galeano (gxleano), Dimitar Rupov (mrupal), Eric Homanchuk (erichomanchuk), George Kastanis (zorz) [2], Hrishikesh Dalal (hrishikesh-dalal), Javier Destefanis (javierdestefanis), Joshua Fernandes (joshua1234511), Juan Martinez (jcmartinez), Jérôme Tchania (codeitwisely) [1], Levente Besenyei (LeventeB), m4olivei, Marcus Johansson (Marcus_Johansson) [2], Mukeysh, Omar Mohamad - El Hassan Lopesino (omarlopesino), Paul Sheldrake (paulsheldrake), Prabhavathi Vanipenta (prabha1997), Pravesh Poonia (Pravesh_Poonia), project update bot (Project-Update-Bot), Ricardo Castañeda (cadence96), Rob Loach (robloach), Ronald te Brake (ronaldtebrake), Scott Euser (scotteuser), scott falconer (scottfalconer), Shivam Sen (shivamsen_12579), Sujal Kshatri (sujal_31), Sven Decabooter (svendecabooter), Thomas Werthmüller (weri), velmir_taky (root_emarketing), Wolfgang Ziegler (fago)
Drupal AI Initiative
The Drupal AI Initiative made significant progress across multiple workstreams during this period, with a strong focus on user experience design, demonstration infrastructure, and partnership growth.
A complete set of AI roadmap feature mockups was delivered, covering eight key editorial workflows including AI-assisted page creation, content review notifications, search, field automation, translation, and dashboard configuration. These interactive prototypes establish a shared design reference for the initiative's direction and were closed as completed during the period.
The foundation for an AI CMS Demo System was established, including repository setup, technical architecture, and proof-of-concept deployment. The demo will showcase AI capabilities built on Drupal CMS in a production-ready format, with hosting-specific configurations to support different deployment environments. This work closed as complete and provides a critical asset for showcasing the initiative's technical capabilities.
Planning advanced for an AI Content Review Workflow, with user experience design and technical architecture both in progress. Once delivered, this will enable editors to trigger AI-powered content quality checks, compliance validation, and brand consistency reviews directly within Drupal's editorial interface.
A new Gold partner, Reading Room, was onboarded during the period, expanding the initiative's contributor and funding base. The Enterprise AI Summit continued planning, with case study sourcing, sponsor updates, and mobile site improvements underway.
New concepts were introduced for a Cost & Usage module to give site owners visibility into AI spending and usage patterns, and for hosting provider skills that would allow developers to control deployment through conversational instructions.
How can I help on this project?
- Allocate resources to support the AI Content Review Workflow technical build now that design and architecture are defined, ensuring timely delivery of this flagship editorial feature.
- Champion adoption of the new demo system with key stakeholders and potential users to maximize visibility and feedback once deployment is complete.
- Approve partnership outreach to additional hosting providers beyond DevPanel to expand the reach of deployment automation skills.
AI Integration - ECA
The AI Integration - ECA module is working toward a stable 1.0.0 release by expanding coverage of AI operations that can be automated through low-code workflows. The module currently supports five AI operation types; over the past two weeks, work has been organised to add actions for nine additional operations, including summarisation, text classification, text-to-image generation, audio-to-audio processing, image classification, image-to-image and image-to-video transformations, object detection, and speech-to-speech conversion. Proposals were also opened for simplifying how structured data formats are configured in chat workflows and for adding an interceptor submodule that will let administrators monitor or modify AI requests and responses as they flow through the system.
Three merge requests have been submitted covering text classification, summarisation, and a broader set of new operations. Automated compatibility updates for Drupal 12 are also in progress. All open issues are part of normal feature development for a pre-release module; no blocking concerns have been identified.
How can I help on this project?
- Ensure capacity is available for code review so the pending merge requests covering nine new operation types can be evaluated and merged promptly.
- Clarify the release timeline and any outstanding decisions needed to reach the 1.0.0 milestone.
Contributors: Joshua Fernandes (joshua1234511), Marcus Johansson (Marcus_Johansson), project update bot (Project-Update-Bot)
AI Agents Test
AI Agents Test is a module that helps site builders validate whether their AI configurations are working as expected. Over the past two weeks, activity focused on planning improvements to testing workflows and clarifying the module's future direction.
A research issue was closed that explored whether this module should be merged with a related evaluation tool, ai_eval. This decision provides clarity on the project's scope and helps avoid duplication of effort across the Drupal AI ecosystem.
Work also progressed on a proposal to allow users to run more than one test group in bulk. This would make it easier for teams to test multiple AI models or configurations at once, rather than running tests individually. The capability would be particularly valuable when comparing different model performance or validating prompt engineering changes across several scenarios.
How can I help on this project?
- Confirm whether bulk test execution is a priority feature that warrants dedicated development resources, as it would improve efficiency for teams comparing multiple AI configurations.
- Clarify strategic positioning now that the module's scope has been separated from other evaluation tools in the ecosystem.
OpenAI Provider
The OpenAI Provider module made steady progress during this period, with two enhancements merged and three additional improvements under review.
Support for image-to-image capabilities was added, expanding the range of AI-powered image operations available to users. The default image generation model was also updated to remove the deprecated Dall-E 3 option, ensuring the module aligns with current provider offerings.
Three open merge requests are awaiting review: moderation skip functionality with test coverage, batch embeddings support for more efficient processing of multiple text inputs, and routine automated maintenance updates.
Overall, the module is progressing with incremental feature additions and maintenance work typical of active development.
How can I help on this project?
- Ensure reviewer capacity is available to assess and merge the three pending improvements, particularly the batch embeddings feature which may benefit users processing larger volumes of content.
- Consider whether formal testing resources could accelerate quality assurance for new features like moderation controls.
Anthropic Provider
The Anthropic Provider module made significant progress during this period with the delivery of prompt caching capabilities. A merge request adding prompt caching and SDK improvements was completed and merged, giving administrators new tools to optimize performance and reduce costs. Users can now enable prompt caching through a simple toggle in the provider settings and select cache durations of either five minutes or one hour. This feature allows frequently-used prompts to be reused without reprocessing, potentially reducing API costs and improving response times for repetitive workflows.
Additionally, work is underway to address a compatibility issue with multi-agent conversations. A proposed fix for conversations ending with non-user messages remains open. This issue affects scenarios where AI agent handoffs result in message sequences that the Anthropic API does not accept, causing errors in tools like Drupal Canvas AI.
How can I help on this project?
- Prioritize review and testing of the open multi-agent conversation fix to unblock AI agent workflows and improve user experience.
- Allocate resources for documentation or user guidance on prompt caching benefits to drive adoption of the new cost-saving feature.
Contributors: Carlos Ospina (camoa), Rajab Natshah (RajabNatshah)
Fireworks AI
The Fireworks AI module saw focused maintenance activity during this period. Three commits were made to address requirements and improve the module's underlying structure. The work included fixes to module requirements and a refactoring of the rerank functionality to use standardized base components, which should improve consistency and maintainability going forward.
No issues were updated and no merge requests were completed during this period, indicating a quiet fortnight focused on incremental improvements rather than major feature development or bug resolution.
How can I help on this project?
- Clarify the project's strategic priority and resource allocation to determine whether this module should receive sustained development effort or remain in maintenance mode.
- Support community engagement by encouraging user testing and feedback to identify the most valuable next features or improvements.
Contributors: Marcus Johansson [3]
MCP Client
The MCP Client module saw minimal development activity during the reporting period. An automated maintenance update was initiated to keep the project aligned with current standards, though no work was merged or completed during this time.
The module remains in an early stage of development, and the lack of substantial progress may indicate limited active development resources or that work is occurring outside the main repository.
How can I help on this project?
- Clarify whether this module remains a strategic priority and allocate dedicated development resources if continued progress is expected.
- Identify and engage potential contributors or partners who could accelerate development and bring the module to a stable release.
Contributors: project update bot (Project-Update-Bot)
amazee.ai Private AI Provider
This module provides integration with amazee.ai's private AI infrastructure. During the reporting period, two fixes were merged to address compatibility and configuration issues.
A missing database extension dependency was resolved, ensuring the module correctly declares its requirement for PostgreSQL functionality. Separately, validation was improved to prevent configuration errors when key identifiers are empty or invalid.
An automated compatibility update for Drupal 12 has been prepared and is awaiting review. This work ensures the module will remain functional as the platform evolves.
The module continues to mature with focused bug fixes that improve reliability and deployment safety. No blocking issues were reported during this period.
How can I help on this project?
- Review and approve the pending Drupal 12 compatibility update to ensure timely platform support.
- Confirm ongoing resourcing for maintenance as the module moves toward stable release.
Gemini Provider
The Gemini Provider module saw focused development activity over the past two weeks, advancing key capabilities for the platform's AI integration.
Work progressed on expanding the module's embedding functionality. A proposal for batch embeddings support is under review, which would allow the system to process multiple embedding requests more efficiently. Separately, development continues on image embeddings, which would enable the platform to index and search using images—a differentiating capability that few other providers offer.
Two issues address module stability. A fix for content blocking error handling is in progress, which would prevent the system from crashing when content safety filters are triggered. The team is also working through code quality checks to ensure the automated test suite accurately reflects the module's health. Additionally, automated compatibility updates for Drupal 12 are being prepared.
The module remains in active development with normal issue activity for this stage.
How can I help on this project?
- Prioritize which embedding capability—batch processing or image support—delivers greater business value, to help the team sequence work.
- Ensure testing resources are available to validate content blocking scenarios before release.
Contributors: Artem Dmitriiev (a.dmitriiev), Ishani Patel (IshaniPatel), Joshua Fernandes (joshua1234511), project update bot (Project-Update-Bot)
Huggingface Provider
The Huggingface Provider module saw focused development activity during this period. A merge request was opened to add extractive question answering capability to the module. This feature would enable the platform to automatically answer questions by extracting relevant information from provided text, expanding the module's natural language processing capabilities beyond its current functionality.
The module remains in active development with no critical blocking issues reported during this period. As an integration module connecting Drupal to Huggingface's machine learning services, steady feature additions like this help broaden the range of AI-powered content and user experience features available to site builders.
How can I help on this project?
- Provide clarity on which AI capabilities are strategic priorities for upcoming releases to help focus development effort.
- Ensure the team has access to stakeholders who can validate whether new features like question answering meet real user needs.
Microsoft Azure AI
The Microsoft Azure AI module saw focused development activity during this period, with improvements made to the text-to-image capabilities. This enhancement enables users to generate images from text descriptions more effectively, supporting content creation workflows and creative automation use cases.
The module continues to evolve as an integration point between Drupal sites and Microsoft's Azure AI services, allowing organizations to leverage cloud-based artificial intelligence features for content generation and media production.
How can I help on this project?
- Consider identifying internal use cases that would benefit from AI-generated imagery to validate the module's value proposition.
- Evaluate whether additional resourcing could accelerate development toward a stable release suitable for production deployment.
Contributors: Marcus Johansson [1]
Milvus VDB Provider
The Milvus VDB Provider project saw preparatory work this period, with no changes merged into the codebase. Two merge requests remain open for review.
A batching feature for indexing operations has been proposed. This enhancement would allow the system to process multiple indexing operations together rather than one at a time, improving efficiency when working with large volumes of data. This capability is particularly valuable for organizations managing extensive content libraries or knowledge bases.
Additionally, an automated maintenance update has been prepared to keep the project aligned with Drupal coding standards and infrastructure requirements.
Both changes are awaiting review before they can be incorporated. With no commits merged during this period, there are no immediate changes to functionality or stability.
How can I help on this project?
- Ensure reviewer capacity is available to evaluate the pending batching enhancement, which could unlock performance improvements for users with large-scale indexing needs.
- Clarify strategic priorities for the module's feature roadmap to help contributors focus effort on high-value capabilities.
Contributors: Artem Dmitriiev (a.dmitriiev), project update bot (Project-Update-Bot)
Postgres VDB Provider
During this period, a merge request was opened to address dependency management within the module. The work aims to remove the hard requirement on a specific database extension, which would provide more flexibility in how the module can be deployed and integrated into different environments. This change could reduce implementation barriers and make the module more adaptable to varying infrastructure setups.
No merge requests were completed during this period, and no open issues required attention. As an early-stage module, this level of activity is typical, with development progressing incrementally.
How can I help on this project?
- Ensure the team has capacity to review and finalize the pending dependency work, which could unlock broader adoption scenarios.
- Clarify strategic priorities for this module relative to other vector database integrations to guide future resourcing decisions.
Contributors: Emiel Bloem (emielb)
AI Image Alt Text
The module saw limited activity during this period, with one merge request opened to expand compatibility with newer versions of the AI module framework. This work aims to ensure the module can integrate with the latest AI infrastructure, which will help maintain its viability as the broader AI ecosystem evolves.
No issues were updated, no code was committed, and no merge requests were finalized during this two-week window. This suggests the project is in a quiet phase with ongoing but not yet completed work.
How can I help on this project?
- Assign capacity to review and finalize the AI module compatibility update to keep the module current with its dependencies.
- Consider whether this module aligns with strategic priorities and warrants continued investment or formal release planning.
Contributors: Peter Philipp (daspeter)
Model Context Protocol
The Model Context Protocol module is receiving automated compatibility updates to prepare for Drupal 12. A compatibility issue was opened to track the removal of deprecated code, with a corresponding merge request containing proposed fixes. No changes have been merged yet during this period.
This automated maintenance work ensures the module will continue functioning when Drupal 12 is released, reducing technical debt and avoiding future migration costs. The updates are being generated systematically to identify code that will no longer be supported in the next major version of Drupal.
How can I help on this project?
- Allocate developer time to review and test the pending compatibility updates, ensuring the module is ready before Drupal 12's release timeline becomes critical.
- Clarify the module's strategic importance and maintenance priority to help the team decide whether to invest in Drupal 12 support or sunset the project.
Contributors: project update bot (Project-Update-Bot)
AI Agents
The AI Agents module made steady progress during this period, with work focused on improving usability, fixing structural issues, and preparing for broader platform integration.
Several administrative refinements were addressed. The module's menu structure is being aligned with the updated AI 1.4.x navigation, moving AI Agents under a new "Tools & Automation" category to improve discoverability. A schema was added for the CKEditor integration to eliminate configuration warnings. Work also began to improve the structured-output schema editor, replacing a plain text field with a purpose-built JSON editor that provides validation and syntax highlighting.
Multiple bug fixes addressed runtime reliability. Issues that previously broke the user interface when tools encountered errors are now handled more gracefully. A fix was completed to ensure that tools marked as "return directly" properly track their identifiers in the conversation history. Work is in progress to resolve how Views agent updates are applied to non-default displays, ensuring that configuration changes appear correctly at runtime.
Strategic development included logging interface documentation and exploration of a plugin system to export or synchronize agents to external platforms such as Claude Code and VAPI, which would allow Drupal-configured agents to operate in external AI ecosystems. Work also continued on integrating agents with the chat processor architecture, enabling tighter parity with the AI Assistant layer.
Contributors: Ahmad Khader (Ahmad-Khader), Bharat Kelotra (bharatkelotra), David Galeano (gxleano), Jürgen Haas (jurgenhaas), Marcus Johansson [1], Nicolae Procopan (thebumikgmail.com), Prabhavathi Vanipenta (prabha1997), project update bot (Project-Update-Bot), Rajab Natshah (RajabNatshah), Sven Decabooter (svendecabooter)
How can I help on this project?
- Clarify priority and scope for the external platform integration work to inform resourcing decisions and avoid scope creep in a maturing codebase.
- Designate ownership for the Views agent display override issues to unblock validation and merge of fixes already in review.
Tool API
The Tool API module, which enables AI agents to invoke structured operations within Drupal, saw focused refinement work over the past two weeks. A critical usability issue was resolved: the command-line interface had been masking failure messages when tools encountered errors, making it difficult to understand what went wrong. This bug was fixed, ensuring meaningful error messages now surface correctly when operations fail.
Discussion continued on several enhancements that would improve how the module integrates with AI systems and developer workflows. Teams explored File Input Handling to understand how tools can securely accept and process files from AI agents. Work also progressed on Add skills for generating Tools, which was closed during the period, aiming to make it easier for AI coding assistants to generate new tool definitions. Proposals were discussed around Allow controlling Tool return format to support both human-readable and machine-readable outputs, and Proposal: make Tool's declarations introspectable over the CLI to help consumers better understand available tools before invoking them.
A serialization compatibility issue affecting REST endpoints received attention, with a merge request now under review. Additional planning issues remain open around preview capabilities and improved tool discovery for large-scale AI agent deployments.
How can I help on this project?
Consider allocating resources to review and finalize the serialization fix, which affects REST API integration. Support decision-making around tool discovery and execution patterns to clarify the roadmap for AI agent scaling. Advocate for user testing of the file input handling research once prototype work completes.
Contributors: Abhisek Mazumdar (abhisekmazumdar), Marcus Johansson (Marcus_Johansson), Matt Glaman (mglaman) [1]Drupal Canvas
During the reporting period, substantial progress was made on symmetric translation support for multilingual Canvas sites. A large merge introduced automatic propagation of component version updates to all translations of both content and config entities, preventing translation drift when code components evolve. The underlying data model now treats content and config translations uniformly through a new staged-config-override abstraction. Several bugs blocking the translation milestone were resolved, including a fatal error when an image reference pointed to a deleted file, and incorrect translatability of entity-reference inputs. The pending-changes review UI was refined to prevent accidental per-translation operations until the full langcode-aware publishing flow is in place.
Work continued on conflict detection and resolution. The back-end now recognizes when an auto-save diverges from a published entity that has changed externally, and the UI displays conflict indicators during selective publishing. This functionality is currently behind a feature flag while the resolution flow is refined. A rudimentary resolution interface was merged, offering side-by-side comparison and viewport selection.
Canvas AI improvements included a fix to the orchestrator agent's UUID persistence during post-updates, correct exposure of block component props to agents, and test fixtures for page-builder and template-builder agents. Several prompt bugs affecting component generation (deprecated imports, prop/slot collisions, hardcoded errors) were consolidated and resolved. In-progress chat messages now persist when page metadata changes mid-run.
The CLI was updated: deprecated upload and download commands were removed, media reconciliation now respects sync settings, and command output was cleaned up for improved readability and AI-agent consumption. JavaScript packages were updated, and the kernel test suite was split across four parallel CI jobs to reduce pipeline time. A regression causing boolean props to auto-enable when other fields changed was traced to falsy-value coercion and a Twig template quirk, and fixed. A full-screen "page" extension type was introduced, and test coverage for multi-translation component-instance updating was strengthened.
How can I help on this project?
- Prioritize review and feedback on the conflict-resolution feature flag and UI (still in draft/refinement) so it can move to stable and support production editorial workflows.
- Allocate resources to expand test coverage for content-entity-reference props and translation edge cases, reducing manual QA overhead as the feature set grows.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Abhishek Dhariwal (adaptative) [1], Adam G-H (phenaproxima), Ahmad Khalil (ahmad-khalil-imagex) [1], AKHIL BABU (AkhilBabu) [3], Alamgir Hossain (alamgir.hossain.cse), Andrew Belcher (andrewbelcher), Ben Mullins (bnjmnm) [3], Björn Brala (bbrala) [1], Bálint Kléri (balintbrews) [7], Chandan Singh (chandu7929), Christian López Espínola (penyaskito) [8], Feliksas Mazeikis (f.mazeikis) [2], Gábor Hojtsy (goba), Jakob P (japerry), Kunal Sachdev (kunal.sachdev) [2], Lauri Timmanee (lauriii) [1], Matt Glaman (mglaman) [2], Narendra Singh Rathore (NarendraR) [1], Oleksandr Antonchyk (Anton4yk), Priyanka Patel (priyankapatel), project update bot (Project-Update-Bot), Rajab Natshah (RajabNatshah), Ravi Maniyar (ravi.maniyar.123) [2], Sally Young (justafish), scott falconer (scottfalconer), Shubham Prakash (shubham.prakash), Ted Bowman (tedbow) [1], utkarsh_33 (Utkarsh_33) [1], Wim Leers (wimleers) [7], wotnak
Context Control Center (CCC)
Context Control Center shipped significant progress toward its beta3 milestone during this period, with a focus on documentation, UI improvements, and stabilizing core features ahead of the first release candidate.
Several important enhancements were merged to improve the user experience. Full view layout for context item pages was completed, replacing the default field list with a two-column design that surfaces scope and subcontext details more clearly. The context listing page was refined to merge separate Use Cases and Scope columns into a unified display with cascading filters, making it easier to browse and filter context items. The overview page description and subcontext feature documentation were updated to clarify their purpose and benefits.
A new experimental submodule, Document Loader: Context Importer, was introduced to allow users to import context from PDF, Markdown, text files, and URLs via an MDXEditor integration. Example context items from the Chicago Driesnote demo were added to help testers explore the module's capabilities.
Important API and configuration work included validation to prevent invalid global context limits, better support for scope value extension via hooks, a public API for scope subscription forms, and making the Scheduler feature optional. Conditional subcontext received a toggle, caching, and per-request limit to manage latency and provider costs. Usage tracking query inefficiencies were resolved by batching database operations.
Quality improvements included PHPUnit process isolation attributes on all kernel tests, eslint error fixes, and bundleless context item follow-ups. Developer resources were strengthened with GitLab issue and merge request templates, a SECURITY.md file, and API stability documentation distinguishing supported from internal interfaces.
Beta testing recruitment is underway, and planning for the beta3 release continues with remaining milestone work focused on scope plugin refinement, documentation consistency, and accessibility improvements identified through AI Best Practices review.
How can I help on this project?
- Support recruitment and onboarding of beta testers by sharing CCC resources and demo videos with relevant stakeholder groups or partner organizations.
- Allocate design and accessibility review time to help resolve open UX issues flagged for the release candidate.
- Help prioritize scope plugin and API stabilization work against other organizational commitments to keep the beta3 and RC1 timeline on track.
Contributors: Abhisek Mazumdar (abhisekmazumdar) [2], Ahmad Khader (Ahmad-Khader) [1], Anikó Viola (violaniko) [1], Daniel Rodriguez (danrod) [1], Eric Homanchuk (erichomanchuk) [1], Jesse Hofmann-Smith (jessehs), Joshua Fernandes (joshua1234511), Juan Correa (jucs7) [2], Kristen Pol (kepol) [9], Matt Glaman (mglaman) [5], Pravesh Poonia (Pravesh_Poonia), project update bot (Project-Update-Bot), Rob Loach (robloach) [2], Tamas Balog (tbalog)
AI Dashboard
The AI Dashboard project made progress on documentation and user experience improvements during this period. Work continued on expanding the AI ecosystem directory, which will help site administrators discover and browse available AI-related modules. A modal display issue affecting the recipe installation feature was identified and postponed for future resolution.
The most significant development is an open proposal to Improve AI Ecosystem, which includes plans to integrate a module directory directly into the Dashboard interface, allowing users to browse AI modules without leaving their site. The work also includes improving category detection and adding automated updates to keep the ecosystem listing current. This would streamline the module discovery process and reduce friction for teams looking to expand their AI capabilities.
A bug affecting the recipe installation modal was reported and postponed, which currently prevents users from installing AI features through the interface as intended.
How can I help on this project?
- Clarify whether the recipe installation feature is a priority for users, or if postponing this capability is acceptable for current adoption goals.
- Review the ecosystem integration proposal to ensure it aligns with your broader module distribution and user onboarding strategy.
Contributors: Rob Loach (robloach)
AI Search
The AI Search module made progress on indexing performance and search filtering capabilities during this period. A feature enabling long-running chunk indexing was completed and merged, allowing the system to handle larger content sets without breaking changes to existing installations. Work is underway on batch embeddings to further improve indexing speed.
A new approach to dynamic search filtering is in development through the FilterableRagTool feature, which would allow sites to filter search results by custom attributes (such as case studies or content types) at query time. An existing filter issue was closed during the period.
Four configuration and error-handling issues were opened late in the period, highlighting gaps in logging, parameter handling, and support for non-embedding search providers. These are typical of alpha-stage development and will need attention to improve reliability and clarity for site administrators configuring the module.
How can I help on this project?
- Prioritize resources to resolve the four recently opened configuration and error-handling issues, which affect admin experience and provider flexibility.
- Clarify the roadmap for the 2.0 stable release, particularly around compatibility with the AI Core 2.x integration work that is currently blocked.
Field Widget Actions
Field Widget Actions enables users to add action buttons (such as AI content generators) directly into content editing forms. Over the past two weeks, the project delivered several important refinements that improve usability, compatibility, and the reliability of AI-powered workflows.
Three fixes were completed and merged. A bug preventing unavailable actions from appearing in configuration menus was resolved, reducing confusion during setup. A compatibility issue affecting integrations like autosave was addressed so that when users select AI-generated suggestions, other form elements respond correctly. Automated compatibility updates for the upcoming Drupal 12 release were also applied.
A significant new capability was delivered: interactive refinement for AI content. Users can now iteratively improve generated content through a modal interface, submitting follow-up prompts to refine results before inserting them into the field. This feature is optional and does not affect existing workflows.
Three enhancements remain in progress. Work is underway to simplify how automated configuration recipes declare actions, to support additional third-party field widgets, and to extend action buttons to checkbox and radio inputs. A minor issue regarding button label translation was reported and is under review.
How can I help on this project?
- Ensure the configuration recipe enhancement receives review and testing resources so automated deployments can be simplified.
- Support testing and sign-off for the checkbox and radio button enhancements currently in review.
- Prioritize resolution of the translation workflow gap if multilingual deployments are planned.
Contributors: Artem Dmitriiev (a.dmitriiev) [1], Daniel Bosen (daniel.bosen), Edward Zwart (ezeedub) [1], project update bot (Project-Update-Bot) [1], Scott Euser (scotteuser), Volker Killesreiter (volkerk) [1]
AI translate
The AI translate module saw focused attention on content quality and scale challenges during this period. Work is underway to address timeouts when translating large pages (over 1,000 words) by splitting content into manageable chunks. A merge request has been prepared to resolve 504 Time out on large content, which should enable translation of larger documents without service interruptions.
Two significant content integrity issues were flagged: HTML markup is corrupted/not preserved when translating formatted text fields and HTML markup gets added after certain tags. These affect the reliability of translations for content containing rich text formatting, which is common in most content management scenarios.
Strategic development discussions include a proposal to batch field translations into single requests rather than translating each field separately, which would reduce redundant API calls and associated costs. A workflow refactoring plan was raised to support agent-driven translation. Compatibility work for Drupal 12 progressed with an automated update.
How can I help on this project?
- Prioritize resolution of the HTML markup preservation issues, as they affect content quality and may require prompt engineering or architectural decisions about how formatted content is processed.
- Review and approve the batching proposal for field translation to reduce API costs and improve efficiency before implementation begins.
Contributors: Miriam Nugent (Peacog), project update bot (Project-Update-Bot)
Pinecone VDB Provider
The Pinecone VDB Provider module, which enables integration with Pinecone vector database services, saw focused development activity during this period. Work centered on improving the efficiency of data indexing operations through a new batching capability, inspired by similar improvements in a related module.
Two proposals were prepared to add batching support for indexing operations, one targeting the current stable version and another for the next major release. This enhancement will allow the module to process multiple data items together rather than individually, which should reduce processing time and improve performance when handling large volumes of content. Both proposals are awaiting review.
No code was merged or deployed during this period. The module remains in active development with work progressing on performance optimization features.
How can I help on this project?
- Allocate technical review capacity to evaluate the pending batching proposals, enabling the performance improvements to move forward.
- Clarify versioning strategy: determine whether batching should be introduced in the stable release, the next major version, or both.
Contributors: Rob Loach (robloach)
AI powered Search Block
Development activity over the past two weeks focused on feature enhancement and maintenance. Work began on adding guardrail set selection capabilities to the search block, which will give administrators better control over content safety and quality standards in AI-generated search results. This addresses a need for more configurable content moderation in user-facing search experiences.
Two automated maintenance updates were also opened to keep the module's dependencies and coding standards current. No code was merged during this period, indicating work remains in review and validation stages.
How can I help on this project?
- Allocate review resources to assess and approve the pending guardrail selection feature and maintenance updates, accelerating their path to release.
- Clarify strategic priorities for content moderation features to guide decision-making on the guardrail implementation approach.
Contributors: Abhisek Mazumdar (abhisekmazumdar), project update bot (Project-Update-Bot)
FlowDrop
FlowDrop has begun preparing for compatibility with the upcoming Drupal 12 release. An automated compatibility fixes issue was opened to track removal of deprecated code that will no longer be supported in the next major version of Drupal. A corresponding merge request has been prepared containing the necessary updates.
This work ensures FlowDrop will continue to function when Drupal 12 is released, preventing disruption for sites that upgrade their core platform. The changes address technical deprecations introduced in earlier Drupal versions that must be resolved before the next major release.
No commits were finalized during this period, indicating the compatibility changes are still under review. This is normal preparation work for upcoming platform changes and does not represent any immediate risk to current users.
How can I help on this project?
- Allocate developer time to review and finalize the Drupal 12 compatibility updates so the module is ready before the core platform release.
- Clarify the project's timeline and priority for Drupal 12 support to guide resource planning.
Contributors: project update bot (Project-Update-Bot)
FlowDrop UI Agents
Work continued during this period to prepare the module for compatibility with Drupal 12. An automated compatibility update was opened to address deprecated code patterns that will no longer be supported in the next major version of Drupal. A corresponding merge request was created with proposed changes spanning over 230 lines of code.
This compatibility work is essential groundwork to ensure the module remains functional when Drupal 12 is released. Without these updates, the module would eventually break for users upgrading their systems. The changes are still under review and have not yet been integrated.
No commits were merged during this period, meaning no new functionality was delivered to users. The focus remains on ensuring long-term platform compatibility rather than adding features or fixing user-facing issues.
How can I help on this project?
- Allocate technical review capacity to evaluate and merge the pending Drupal 12 compatibility updates, preventing delays in platform readiness.
- Clarify the module's strategic priority and roadmap to determine whether active development should continue or resources should be redirected.
Contributors: project update bot (Project-Update-Bot)
Langfuse
Activity during this period was limited to automated maintenance. A merge request containing automated fixes was opened by the project update bot. This type of work helps keep the module aligned with Drupal coding standards and platform updates, reducing technical maintenance burden over time. No issues were updated and no code was committed to the main codebase during this window.
The module appears to be in a quiet phase with minimal development activity. With only automated maintenance in progress and no active issue resolution or feature development, the project may benefit from renewed attention to advance its roadmap.
How can I help on this project?
- Review and approve the pending automated maintenance work to keep the module's infrastructure current.
- Assess whether dedicated developer time should be allocated to move the project toward a stable release.
- Clarify the strategic priority of this module and communicate direction to potential contributors.
Contributors: project update bot (Project-Update-Bot)
Orchestration
The Orchestration module saw planning and design activity across three strategic initiatives during this period, though no code was merged. Work is underway to expand integration options and improve the module's flexibility.
Progress centered on integration with n8n, a workflow automation platform. This will enable two-way communication between Drupal and n8n, allowing Drupal events to trigger external workflows and n8n to create or update Drupal content in return. For organizations already using n8n, this would reduce manual bridging work and open new automation possibilities.
A proposal to adopt JSON Schema for defining inputs, outputs, and configuration is being explored. This would provide clearer contracts for how workflow components connect, making it easier to validate and document automations before they run.
Separately, work is planned to allow ECA workflows to invoke Orchestration services. Currently, Orchestration can call ECA, but not the reverse. Closing this gap would let teams use ECA's event system to trigger any registered Orchestration service.
How can I help on this project?
- Clarify strategic priority between n8n integration and the JSON Schema refactor to focus development effort.
- Confirm whether n8n is the right platform investment based on organizational automation roadmap and existing tooling.
AG-UI
Over the past two weeks, work began on preparing AG-UI for compatibility with the upcoming Drupal 12 release. An automated compatibility fixes issue was opened to track the removal of deprecated code patterns, with an associated merge request now under review. This proactive maintenance ensures the module will continue functioning when Drupal 12 becomes available, reducing future technical debt.
Separately, planning continued on the Drupal Assistant Implementation meta issue, which aims to evolve the current proof-of-concept assistant into a production-ready feature that could replace the existing chatbot functionality. This represents a strategic enhancement to how users interact with AI capabilities within Drupal.
No code was merged during this period, reflecting typical early-stage development activity where compatibility groundwork and feature planning are underway.
How can I help on this project?
- Prioritize whether the Drupal Assistant feature should be resourced for production development or remain experimental, enabling clearer roadmap planning.
- Ensure the team has capacity to review and merge the Drupal 12 compatibility changes before the next major Drupal release.
Contributors: project update bot (Project-Update-Bot)
References
[1] Regression in 1.4x release vs 1.3.x
[2] Add Summarization operation type support to the echoai test provider
[4] Taxonomy automator clears valid term values when the LLM returns HTML-encoded entities (e.g. &)
[5] Remove access deepchat api permission and use Assistant access as the single source of truth
[7] Create AI assistant API session only after the first message
[8] Add Extractive Question Answering operation type
[9] How to use AI file entity defined in file src/Entity/AiFile.php ?
[21] Add rich-text image description support to AI Automators
[22] Add interactive refinement capability to Field Widget Actions
[27] Add a Moderation Guardrail plugin (configurable moderation provider/model as a guardrail)
[28] Move Automators to Structured Output
[30] Generalize behaviour of FWA with Automators (AI Core v2)
[31] Support the `ai_json_schema` element inside off-canvas dialogs
[37] Batch embeddings for improved indexing performance
[39] Guardrail plugins only evaluate the last message
[42] Add a setup-guardrails agent skill to configure guardrails, guardrail sets, and global guardrails
[50] [2.x] Add a setup-automators agent skill to configure automators on fields
[51] [1.x] Add a setup-automators agent skill to configure automators on fields
[62] Implement Process System Integration for Automators
[74] Add an AI reranking processor for Search API (owned by the AI module)
[114] Add cache-write and tool-use prompt tokens to TokenUsageDto
[118] Only one AI Automator worker queue item is processed per cron execution
[120] InputLengthLimit guardrail does not consistently scan user messages
[123] [Layer 2] Align ai_observability OTel emission to GenAI semantic conventions (gen_ai.*)
[125] ai_observability: streaming OTel spans drop final token usage (span ended on un-consumed iterator)
[132] feat: #3586427 Adopt symfony/ai component v0.8 as platform provider
[134] Issue #3586478: "Add rich-text image description support to AI Automators"
[135] Issue #3586478: "Add rich-text image description support to AI Automators"
[141] feat: #3577170 Move Automators to Structured Output
[142] Issue #3586515: Port FWA/Automators generalization from !1536 to 2.0.x
[143] Issue #3586515: Port FWA/Automators generalization from !1536 to 2.x
[152] Issue #3586536 Support the `ai_json_schema` element inside off-canvas dialogs
[155] Batch embeddings for improved indexing performance
[160] Issue #3586468: "Add interactive refinement capability to Field Widget Actions Automation"
[176] Issue #3568648: Batch embeddings as a first-class operation type (follow-up to !1704)
[187] Issue #3586522: Keep token usage in the chat() Fiber branch
[188] Issue #3586522: Keep token usage in the chat() Fiber branch
[189] Issue #3586522: Keep token usage in the chat() Fiber branch
[190] Issue #3586522: Keep token usage in the chat() Fiber branch
[191] Issue #3586522: Keep token usage in the chat() Fiber branch
[192] Issue #3586522: Keep token usage in the chat() Fiber branch
[198] Issue #3586543: Add AI reranking processor for Search API.
[208] Issue #3571498: Rethrow queue worker exceptions
[209] Issue #3575190: Add configurable queue items per cron for AI Automators
[212] Resolve #3579088 "Guardrail plugins only"
[214] feat: #3586479 Add gen_ai.* semantic conventions to ai_observability
[215] fix: #3586473 Finalize streaming OTel spans on the terminal event
[217] Fix/token usage dto cached write tool use 3586576
[220] Drupal AI UX meeting 15 June 2026
[252] Start setting up AI Starterkit
[274] Automated Drupal 12 compatibility fixes for ai_integration_eca 1.0.x-dev
[285] add support for batch embeddings
[297] Add support for batch embeddings
[302] Support batch embeddings
[320] Views agent: style/row and filters/filter_groups must be overridden as pairs on non-default displays
[342] Issue #ai_agents-3582782: Fix AI agent
[343] Issue #ai_agents-3582781: review update AI agent
[359] Symmetric translation: component instance version updates must propagate to all translations
[385] Prevention of publishing on Conflict in Canvas UI
[392] Detect conflicts for Page entities during the handling of auto-saves/pending calls
[427] Canvas AI: Expose Props of Blocks to the Agent
[470] Canvas AI: Create tests for Canvas AI Page builder Agent and Canvas AI Template Builder Agent
[488] feat(Conflict detection): #3587526 "Detect conflicts during publishing of changes to Page entity"
[494] feat(Conflict detection): #3587526 "Client side prevention of publishing"
[498] Add conflict detection and resolution UI for selective publishing
[499] Create tools and update agents
[514] feat(conflict): Add conflict resolution UI with viewport selection and route integration
[522] feat(Conflict detection): #3589076 "Detect conflicts during auto-save polling"
[548] Put conflict detection behind feature flag
[550] Issues/3569120: Canvas AI: Expose Props of Blocks to the Agent.
[567] Draft: feat(Conflict detection): #3591723 "Add 'Conflict detected' toast message"
[574] fix: #3591751 Compile JSX server-side for AI-created code components
[602] UX improvements on new context listing page
[611] Conditional Subcontext Provider Calls
[640] Inject context into ai_ckeditor requests
[690] Issue #3586275: Add ai_context_document_loader submodule for MDXEditor imports.
[692] Issue #3586274: Merge Use cases/Scope columns and add cascading scope filter
[693] Issue #3586252: Update overview page help text and docs.
[706] Issue #3586207: Add conditional subcontext toggle, cap, and per-request cache.
[712] Issue #3586207: Ignore conditional context when disabled.
[717] Issue #3581955: Add EventSubscriber to inject context into ai_ckeditor tools.
[733] Batch embeddings for improved indexing performance
[744] Resolve "Batch embeddings for improved indexing performance"
[747] Add interactive refinement capability to Field Widget Actions
[757] Issue #3547306: Add interactive refinement capability to Field Widget Actions
[763] Aggregate a node's translatable field-columns into a single chat request (opt-in batch translation)
[765] HTML markup gets added after certain tags
[770] Issue #3545381 Split large HTML fields into chunks of a maximum number of characters
Shipped
- AI Core: RestrictToTopic guardrail uses ai_provider_configuration form element — The RestrictToTopic guardrail plugin was switched to the new ai_provider_configuration form element, standardizing provider and model selection across the admin UI [13][165][166][169].
- AI Core: Token usage preserved in streamed chat Fiber branch — Fixed OpenAiBasedProviderClientBase::chat() to reconstruct ChatOutput with TokenUsageDto when using Fibers, preventing token usage loss in streamed responses [33][187][188][189][190][191][192].
- AI Core: Long-running chunking backported to 1.x branch — Non-breaking support for long-running chunk processing was added to 1.x to align with AI Search 1.x requirements [23][136][168][170].
- AI Core: Automators migrated to structured output — Automators completed the switch from pseudo-JSON prompts to JSON Schema, improving validation and LLM accuracy [28][141].
Ongoing
- AI Core: Permissions work in progress for AI Assistant — Work to remove the "access deepchat api" permission and consolidate chatbot access checks onto Assistant role checks is in progress but not yet in progress [5][157].
- AI Core: Regression in 1.4x vs 1.3.x resolved — Issue tracking missing commits and behavioral regressions between 1.4.x and 1.3.x has been closed and resolved [1].
- AI Core: Multiple ai_prompt elements cause validation errors — AiPromptSubForm validates inline prompts against stale prompt types when multiple ai_prompt form elements exist on the same page [3][126].
- AI Core: Taxonomy automator clears valid term values on HTML-encoded entities — The Taxonomy automator plugin fails to preserve term values when LLMs return HTML entities like & in term labels [4].
- AI Core: AI CKEditor issue when creating content — Users report crashes or errors when clicking the AI Assistant button in CKEditor during new content creation [12].
- AI Core: Deprecated bundled field_widget_actions module needs removal — The bundled field_widget_actions submodule collides with the standalone project and should be deprecated in favor of requiring the standalone version [14][204].
AI (Artificial Intelligence)
The AI module saw significant structural activity during the reporting period, with work concentrated on preparing 1.5.x for release, streamlining configuration, and moving bundled submodules to standalone contrib projects.
On the core module side, the RestrictToTopic guardrail plugin was switched to use the new ai_provider_configuration form element, unifying provider/model selection across the admin UI. A mechanism for VDB providers to opt in as the default was merged, mirroring the existing pattern for operation-type providers. The regression discovered in 1.4.x vs 1.3.x was closed after cherry-picks reconciled missing commits across branches. Token usage tracking in streamed chat outputs was fixed in the Fiber branch via MR !1670, ensuring TokenUsageDto is preserved when ChatOutput is reconstructed from the stream.
Automators completed its migration to structured output (merged via MR !1291), replacing pseudo-JSON prompts with JSON Schema. Long-running chunking support was backported to 1.x to reach feature parity with AI Search 1.x. A configurable queue-items-per-cron setting was added after reports that only one automator queue item was processed per execution.
The AI Content Suggestions module was fully removed from Core and published as a standalone contrib project. The deprecated field_widget_actions bundled copy now has an open issue to remove it and require the standalone package, to avoid machine-name collisions. Several issues track further submodule spin-outs (AI Validations, AI Translate) and a research task explores a repeatable deprecate-and-switch playbook.
Observability was aligned to OpenTelemetry GenAI semantic conventions (gen_ai.*) in MR !1662, and streaming span finalization was fixed so token usage is captured on the terminal event. A Drupal Eval Commons umbrella proposes a shared eval-case format across ai_eval, ai_agents_test, ai_best_practices, and Core.
Two CKEditor bugs were addressed: the modal-form crash in ai_ckeditor is ready to be committed, and uninstall now cleans stale toolbar items. The access deepchat api permission removal MR is open, consolidating chatbot access onto Assistant role checks. Progress is blocked on UX and architecture discussions around unconfigured provider state and provider model upgrade notifications.
How can I help on this project?
- Review MR !1702 (Moderation Guardrail plugin) or MR !1680 (ai_json_schema off-canvas support).
- Test rich-text image description support (MR !1628 is open) or the interactive refinement feature (MR !1629).
- Pick up Summarization operation for echoai (no MR yet) or document how to use the AiFile entity.
Contributors: Abhisek Mazumdar (abhisekmazumdar) [1], Ahmad Khader (Ahmad-Khader), Ahmad Khalil (ahmad-khalil-imagex), AKHIL BABU (AkhilBabu) [1], Alphons Jaimon (AJV009), Ann Mary Sruthy (annmarysruthy), Arnaud Willame (arwillame), Artem Dmitriiev (a.dmitriiev) [3], Avinash jha (avinash.jha), Bryan Sharpe (b_sharpe), David Galeano (gxleano), Dimitar Rupov (mrupal), Eric Homanchuk (erichomanchuk), George Kastanis (zorz) [2], Hrishikesh Dalal (hrishikesh-dalal), Javier Destefanis (javierdestefanis), Joshua Fernandes (joshua1234511), Juan Martinez (jcmartinez), Jérôme Tchania (codeitwisely) [1], Levente Besenyei (LeventeB), m4olivei, Marcus Johansson (Marcus_Johansson) [2], Mukeysh, Omar Mohamad - El Hassan Lopesino (omarlopesino), Paul Sheldrake (paulsheldrake), Prabhavathi Vanipenta (prabha1997), Pravesh Poonia (Pravesh_Poonia), project update bot (Project-Update-Bot), Ricardo Castañeda (cadence96), Rob Loach (robloach), Ronald te Brake (ronaldtebrake), Scott Euser (scotteuser), scott falconer (scottfalconer), Shivam Sen (shivamsen_12579), Sujal Kshatri (sujal_31), Sven Decabooter (svendecabooter), Thomas Werthmüller (weri), velmir_taky (root_emarketing), Wolfgang Ziegler (fago)
Drupal AI Initiative
The past two weeks saw significant progress on UX design, demo infrastructure, and partner onboarding. A batch of eight interactive editorial AI mockups covering page creation, review notifications, search, field automation, search-and-replace, translations, and dashboard setup were delivered and closed. These mockups provide a shared reference for the initiative's editorial UX direction.
Two core AI UX meetings refined the Canvas AI build experience, introducing component-by-component generation with canvas locking during builds, planning-step placeholder boxes, and a quality/cost/speed model selector. The AI ecosystem page in the AI Dashboard module shipped with searchable, filterable module and recipe lists, plus GitLab API integration to discover modules requiring drupal/ai.
Infrastructure work advanced on the AI CMS Demo System: repository setup, technical concept documentation, the main-branch POC, and an amazee.io hoster branch were all closed, establishing the branching model and contribution workflow for partner-specific demo instances. A new Gold partner, Reading Room, was onboarded and added to mailing lists, Slack channels, and meetings.
New exploration issues opened around Module Finder beta testing, hosting-provider deployment skills (including DevPanel API research), an AI Cost & Usage module for local cost dashboards and opt-in community telemetry, and GitLab workflow automation for issue and MR housekeeping. Work continues on AI Review functionality (UX and technical concept phases), AI Validations and Automators recipes, and DrupalPod QA image setup.
How can I help on this project?
- Contribute to the technical concept for AI Review Functionality, defining the review pipeline architecture and validation rule framework.
- Help document best practices for creating DrupalForge-testable issues that span multiple dev module versions.
- Pick up research on the DevPanel API to scope what deployment and environment automation is feasible for agent skills.
AI Integration - ECA
The past two weeks focused on expanding ECA action coverage for AI operation types and improving developer experience. A meta issue tracking [Meta] Cover remaining AI operation types with ECA execute actions was updated as nine child issues were opened, proposing new action plugins for AudioToAudio, ImageClassification, ImageToImage, ImageToVideo, ObjectDetection, SpeechToSpeech, Summarization, TextClassification, TextToImage, and TranslateText operation types. Each would extend AiConfigActionBase following the pattern established by the existing Chat action. Three merge requests were opened: Summarization and TextClassification actions (each around 200 lines), and a larger 2375-line MR tackling nine different new actions together.
On the configuration side, Simplify structured output configuration in the Chat action proposes replacing the raw JSON text field in src/Plugin/Action/Chat.php with the AI module's '#type' => 'ai_json_schema' form element to improve validation and editor affordances. An automated Drupal 12 compatibility MR was also opened by the Project Update Bot.
How can I help on this project?
Review the three open merge requests for Summarization, TextClassification, or the combined nine-operation actions MR. Pick up unassigned issues like AudioToAudio, TranslateText, or structured output simplification that have no open MRs yet.
Contributors: Joshua Fernandes (joshua1234511), Marcus Johansson (Marcus_Johansson), project update bot (Project-Update-Bot)AI Agents Test
The AI Agents Test module saw limited activity during this period, with two issues receiving updates. The Research: merging ai_agents_test with ai_eval (and AiLlm test harness) issue was closed during the period, marking progress on the strategic question of consolidating three overlapping testing approaches in the Drupal AI ecosystem. This research addressed whether ai_agents_test should be merged with the ai_eval module and how the core AI module's tests/src/AiLlm harness relates to both.
The Run more than one test group in Bulk - Test Collections? task remains open, proposing bulk operations UI for running multiple test groups simultaneously, useful for prompt engineering and model comparison workflows. No merge requests were merged and no commits were pushed during this period.
How can I help on this project?
Review the open merge request (!11) related to bulk test execution. Pick up work on the Run more than one test group in Bulk issue if the MR needs additional development. Help document outcomes from the recently closed research issue to guide future consolidation efforts.
OpenAI Provider
Two significant merge requests landed during this period. Image-to-image transformation capabilities were added through the imagetoimage possibilities merge request, which was integrated on June 26. Additionally, the default image generation model was updated when the Dall-E 3 deprecation fix was merged on June 24, removing the deprecated model as the default option.
Three merge requests remain open and under review. Work continues on respecting skip_moderation with test coverage, which addresses moderation bypass functionality. The batch embeddings support merge request adds the ability to process embeddings in batches. An automated Project Update Bot fixes merge request is also pending.
How can I help on this project?
Review the skip_moderation merge request to validate test coverage and functionality. Test the batch embeddings implementation with real-world embedding workloads to verify performance improvements.
Contributors: Abhisek Mazumdar (abhisekmazumdar) [1], Marcus Johansson (Marcus_Johansson), Paul Sheldrake (paulsheldrake), project update bot (Project-Update-Bot), Scott Euser (scotteuser)
Anthropic Provider
A major update was merged bringing native SDK prompt caching support and PDF document input to the 1.3.x branch. The work landed via Bump SDK constraint and drop method_exists defensive check, adding an admin UI toggle for prompt caching with TTL selectors (5 minute and 1 hour options). System prompts are now sent as typed TextBlockParam objects with cache_control metadata when caching is enabled; the 1 hour TTL operates in general availability without requiring beta headers. The merge removes defensive method_exists checks that are no longer needed following the SDK constraint bump.
An open merge request addresses a conversation flow issue where chat requests are rejected when conversations end with a non-user role. Anthropic's API requires the final message to come from the user, but multi-agent handoff scenarios (such as Drupal Canvas AI) can produce trailing assistant or system messages. The proposed fix overrides the chat method to append a minimal "Continue." user message when needed.
How can I help on this project?
Review and test the trailing user message fix in multi-agent scenarios to validate the conversation flow patch. Check whether the prompt caching feature works correctly with your Anthropic API key and document any edge cases encountered.
Contributors: Carlos Ospina (camoa), Rajab Natshah (RajabNatshah)
Fireworks AI
The Fireworks AI module saw maintenance activity during the reporting period, with three commits pushed to the repository. Work focused on fixing requirements and implementing reranking functionality using a base class. The commits addressed requirement issues and integrated reranking capabilities with improved class inheritance.
No merge requests were opened or merged during this period, and no issue tracker activity was recorded. Development appears focused on direct commits to address specific technical improvements.
How can I help on this project?
Review the module's issue queue on drupal.org to identify any open bugs or feature requests that need attention. Test the recent reranking implementation and requirement fixes in a development environment to verify functionality. Consider contributing documentation for the reranking feature and base class usage patterns.
Contributors: Marcus Johansson [3]
MCP Client
Activity during this period was limited to automated maintenance. An Automated Project Update Bot fixes merge request was opened, containing 180 lines of automated project maintenance changes. No issues were updated, and no commits were pushed to the main branch during the reporting period.
How can I help on this project?
Review the pending Automated Project Update Bot fixes merge request to ensure the automated changes are appropriate. Check the issue queue for any unresolved bugs or feature requests that need attention.
Contributors: project update bot (Project-Update-Bot)
amazee.ai Private AI Provider
Two merge requests were completed during this period. A fix was merged to address a fatal error in PostgresPgvectorClient->getConnection() caused by a missing ext-pgsql dependency in composer.json. The chore: require ext-pgsql MR added the required PHP extension declaration.
A second merge request resolved an issue where empty or invalid key identifiers could cause errors when loading keys. The fix: check that key identifiers are non-empty strings before loading keys MR added validation to ensure key identifiers are non-empty strings before attempting to load them.
Work on Drupal 12 compatibility continues, with Automated Project Update Bot fixes currently open for review. This MR addresses deprecated API uses across 388 diff lines as part of Automated Drupal 12 compatibility fixes for ai_provider_amazeeio 2.0.x-dev.
How can I help on this project?
Review the Automated Project Update Bot fixes merge request to validate the Drupal 12 compatibility changes and test for regressions. Check the module's issue queue for unassigned bugs or feature requests that need attention.
Contributors: Dan Lemon (dan2k3k4), project update bot (Project-Update-Bot)Gemini Provider
The Gemini Provider module saw focused activity on embeddings and error handling during the reporting period, though no merge requests were completed.
Work continued on Add support for batch embeddings, with an open merge request implementing the batchEmbedContents method from the Gemini client to handle multiple embeddings efficiently. A related feature request for Image Embeddings remains in discussion, exploring support for Gemini's file embedding capabilities beyond text.
A critical bug fix is under review for ValueError: The `GenerateContentResponse::parts()` quick accessor only works for a single candidate,but none were returned. The proposed solution guards against empty candidates in GeminiProvider.php when Gemini blocks a prompt and returns zero candidates.
Fix pre-existing PHPStan failures (deprecation issues) was closed during the period, though an open MR remains to address upstream docblock issues. Automated Drupal 12 compatibility updates were also proposed.
How can I help on this project?
Review the open merge request for #3588223: Resolved value error to validate the error handling approach. Test the batch embeddings implementation in MR !37. Contribute technical design feedback on image embedding support for the feature request.
Contributors: Artem Dmitriiev (a.dmitriiev), Ishani Patel (IshaniPatel), Joshua Fernandes (joshua1234511), project update bot (Project-Update-Bot)
Huggingface Provider
Activity this period focused on extending the module's capabilities. A merge request for Resolve #3584375 "Add extractive question" was opened, introducing 113 lines of changes to add extractive question answering functionality to the provider. The merge request is currently awaiting review.
No commits were pushed directly to the main branch during this period, and no existing issues received updates or status changes.
How can I help on this project?
- Review the open extractive question answering merge request to help move it toward acceptance.
- Test the Huggingface provider integration with various models and report any compatibility issues or API inconsistencies.
Contributors: Ahmad Khader (Ahmad-Khader)
Microsoft Azure AI
The Microsoft Azure AI module saw continued development during the reporting period, with improvements to the Text To Image functionality committed in late June. No merge requests were merged or opened during this window, and no issues saw updates or status changes.
How can I help on this project?
Developers looking to contribute can review the issue queue for outstanding bugs or feature requests that need attention, test the recent Text To Image improvements against their Azure AI setup, or assist with documentation updates to reflect the latest API changes.
Contributors: Marcus Johansson [1]
Milvus VDB Provider
Development activity during this period focused on new merge requests rather than merged code. A new MR proposes add support for batching on indexing operations, introducing batch processing capabilities for index operations across nearly 300 lines of changes. This enhancement targets performance improvements when indexing vector data into Milvus collections.
Additionally, automated maintenance continues with automated fixes addressing routine project upkeep tasks. No commits were merged during the reporting period, leaving both MRs awaiting review.
How can I help on this project?
Review the batching support MR for code quality, performance implications, and API consistency. Test the batch indexing functionality against various data volumes to validate performance gains. Review the Project Update Bot MR to help maintain project standards.
Contributors: Artem Dmitriiev (a.dmitriiev), project update bot (Project-Update-Bot)Postgres VDB Provider
Activity this period focused on dependency management improvements. A merge request for Remove hard ext-pgsql dependency was opened, proposing substantial changes across 735 lines of diff. This work addresses the requirement for the PHP PostgreSQL extension, potentially improving installation flexibility and compatibility across different hosting environments.
No commits were merged during this reporting period, leaving the ext-pgsql dependency refactor pending review.
How can I help on this project?
- Review the open ext-pgsql dependency removal merge request, testing the changes against various PostgreSQL configurations to validate compatibility.
- Check the module's issue queue for bugs or feature requests that lack merge requests and could benefit from development work.
Contributors: Emiel Bloem (emielb)
AI Image Alt Text
Development activity in the past two weeks has been limited to a single open merge request. Support for newer versions of drupal/ai has been proposed to address compatibility with updated releases of the AI module. The MR remains open and awaits review, with no commits merged during this period.
No bugs were fixed, APIs changed, or releases shipped in this reporting window. The merge request targeting compatibility updates represents the only blocking work visible in the current pipeline.
How can I help on this project?
Review and test the open merge request for drupal/ai compatibility to help move it toward merge. Check the issue queue for unassigned issues that need patches or triage.
Contributors: Peter Philipp (daspeter)
Model Context Protocol
The Model Context Protocol module saw limited activity during this period, primarily focused on Drupal 12 compatibility preparation. An automated Drupal 12 compatibility fixes issue was opened to track the removal of deprecated API uses. A corresponding merge request was created automatically, containing compatibility changes across 254 diff lines. The merge request remains open and awaiting review. No commits were merged during this reporting period, leaving the Drupal 12 compatibility work as the primary item blocking forward progress on the module's compatibility with the next major Drupal version.
How can I help on this project?
Review the automated Drupal 12 compatibility merge request to validate the proposed changes and test them against Drupal 12 development builds. Help identify any additional deprecated API uses that may need manual intervention beyond automated fixes.
Contributors: project update bot (Project-Update-Bot)
AI Agents
Development activity over the past two weeks focused on menu organization, schema validation, and tool execution improvements. The AI Agents admin menu categorization was updated to align with AI 1.4.x's restructured menu, moving agent configuration under Tools & Automation. A schema definition for the CKEditor plugin was added to eliminate configuration errors.
Several tool execution bugs received attention. A fix for missing tool_id in return_directly results reached RTBC status. Work continued on exception handling to prevent UI breakage when tool definitions fail. Progress was made on deterministic tool usage limits and per-tool error catching to prevent agent crashes.
The Views agent saw bug fixes for display option inheritance and paired option overrides. A token replacement warning when values are arrays was identified and patched. An entity form validation issue preventing machine name collisions with code-plugin IDs reached RTBC. The ChatProcessor integration proposal also reached RTBC status.
How can I help on this project?
Review the open merge requests for menu categorization, UpdateViewPlugins display inheritance, or token array coercion. Test the streaming fix or pick up the unassigned admin menu naming consistency issue.
Contributors: Ahmad Khader (Ahmad-Khader), Bharat Kelotra (bharatkelotra), David Galeano (gxleano), Jürgen Haas (jurgenhaas), Marcus Johansson [1], Nicolae Procopan (thebumikgmail.com), Prabhavathi Vanipenta (prabha1997), project update bot (Project-Update-Bot), Rajab Natshah (RajabNatshah), Sven Decabooter (svendecabooter)
Tool API
A fix was merged to address tool:run masks the failure message: getOutputValues() throws on unset outputs of a failed tool. The drush tool:run command previously threw a ContextException when a tool returned ExecutableResult::failure(), masking the actual failure message. The command now guards getOutputValues() behind a success check, bringing it in line with the MCP bridge pattern.
Two issues were closed: Add skills for generating Tools and Change "Tools API" to "Tool API" in ToolsApi PHP attribute, addressing naming consistency across the API.
Active discussion continued on several fronts. MapDefinitionNormalizer and ContextDefinitionNormalizer break REST serialization has an open MR addressing getSupportedTypes() issues. Work is ongoing on Allow controlling Tool return format to separate raw results from textual output. Research continues on File Input Handling for secure file operations. Broader architectural discussions cover Introduce support for Discovery, Planning and Execute calls for MCP and Agents and Proposal: make Tool's declarations introspectable over the CLI, and enrich input schema.
How can I help on this project?
Review the open MR for MapDefinitionNormalizer and ContextDefinitionNormalizer break REST serialization to validate the getSupportedTypes() fix. Help define requirements for Allow controlling Tool return format, which has no assigned owner or MR yet. Contribute to architectural planning on Discovery, Planning and Execute calls.
Contributors: Abhisek Mazumdar (abhisekmazumdar), Marcus Johansson (Marcus_Johansson), Matt Glaman (mglaman) [1]
Drupal Canvas
Translation and Symmetric Translation
Major progress on symmetric translation: component instance version updates now propagate across all translations of both content and config entities. The new ComponentTreeSymmetricalTranslationConstraintValidator ensures that when a component schema changes—adding or removing props, changing types—all translations are updated atomically, preventing data drift. A new StagedLanguageConfigOverride subsystem treats config translations similarly to content translations, enabling uniform validation. Configuration schema for LanguageConfigOverrides is now validated even though core skips it, surfacing issues early. Entity-reference inputs (e.g. image src) are no longer marked translatable, fixing rendering crashes in non-default languages. The auto-save pending endpoint now returns only default-language entities, hiding per-translation rows that could trigger unsafe discard or publish flows. Language-aware indexing was added for ContentTemplate-rendered content. Several translation UI bugs were closed: the language switcher now shows actual titles for ContentTemplates instead of "Untitled page," and Canvas pages can no longer be created in non-default languages via the UI or API (enforced by validation). An endless redirect loop when using invalid langcode prefixes was fixed. Test coverage expanded to confirm multi-translation multi-component instance automatic version updating.
Conflict Detection and Resolution
Conflict detection during auto-save polling was merged (initially reverted, then re-landed after fixes). Conflicts caused by external entity updates are now detected and surfaced in the selective-publishing UI, which disables selection for conflicted changes and shows a conflict counter. The Rudimentary conflict resolution UI MR remains open, adding a paginated side-by-side viewport for resolving conflicts. Conflicted auto-save items can be marked as resolved via a new PATCH endpoint. The published entity's layout can now be fetched for comparison. All conflict-detection work is gated behind the canvas_dev_cd feature flag module pending UI finalization.
Data Model and Component Sources
The Coalescer was refactored to operate on EntityFieldBasedPropExpressionInterface objects instead of raw strings, improving maintainability. Reference fields consumed only via nested objects are now fully coalesced into single expressions. A fatal error when component instances reference deleted files was fixed by making ComputedUrlWithQueryString handle missing URLs gracefully. Boolean prop default values no longer flip when unrelated props change, fixing a rendering regression. Component inputs key order is now order-independent in tests to handle database-backend differences. The PageRegion::forAutoSaveData() brittle pattern and the "dangling component tree" concept are slated for refactoring. Deleting optional props from SDC/code components currently causes validation errors in config-defined component trees—a follow-up fix is planned. A new canvas_dev_er flag gates content-entity-reference prop UI.
Canvas AI
The orchestrator agent's UUID, previously lost by setData() in a post-update hook, is now preserved and repaired on affected sites. Hardcoded component source IDs were replaced with SOURCE_PLUGIN_ID constants. The component agent prompt was updated to support slots, restrict imports, use dynamic prompts, and fix hardcoded error messages. Block component props are now exposed to AI agents. Required-prop flags in component context metadata were restored. Layout fixture support was added so page-builder and template-builder agent tests run against realistic layouts. In-progress chat messages no longer disappear when page metadata is edited mid-run. AI-created code components now compile server-side, fixing [object Object] rendering.
CLI and Tooling
The deprecated upload and download commands were removed; push and pull are now the standard. CLI output was cleaned up across all commands, improving both human and LLM readability. The reconcile-media command now respects sync settings. Global asset library updates are merged into a single PATCH during push to avoid intermediate-state races. Flat named component ESLint entrypoint detection was fixed to catch sibling components. PHPCS now behaves identically locally and on CI with a dev dependency on drupal/coder and MissingShort excluded. JavaScript packages were updated. The PHPUnit-Kernel test suite is now split across four parallel CI jobs instead of three, reducing wall-clock time. LLM guardrails were refined in /AGENTS.md and /docs/adr/AGENTS.md based on real-world contributor experience.
Additional Fixes and Features
A "page" extension type was added for full-screen Canvas extensions. Draft asset library JS is now registered as external so locale's JS scan skips it, preventing file_get_contents() warnings. Content entity cache tags are added to the auto-save pending endpoint response. The pending endpoint response structure was refactored to wrap entries in a top-level data key, matching JSON:API conventions. Notifications cron cleanup now purges stale processing notifications and deletes expired entries. Tests pass on Drupal 11.3 after handling block config schema changes. Submodule info.yml core requirements were synced to ^11.2. The languageSelect.spec.ts test was stabilized. CODEOWNERS was simplified, requiring extra scrutiny only for data-integrity MRs. Rector CI job groundwork is underway to automate Drupal 12 compatibility.
How can I help on this project?
- Review the open content-entity-reference props CLI and Workbench support MR, which adds authoring, validation, and preview for this prop type.
- Review the open RegexConstraint JIT stack limit fix MR for
StringLongfields with large text. - Pick up discard URL langcode bug (unassigned, no MR) to fix translation-specific auto-save discard.
Contributors: **** (project_19391_bot_cb443e60680723bba08a5351bf595251), Abhishek Dhariwal (adaptative) [1], Adam G-H (phenaproxima), Ahmad Khalil (ahmad-khalil-imagex) [1], AKHIL BABU (AkhilBabu) [3], Alamgir Hossain (alamgir.hossain.cse), Andrew Belcher (andrewbelcher), Ben Mullins (bnjmnm) [3], Björn Brala (bbrala) [1], Bálint Kléri (balintbrews) [7], Chandan Singh (chandu7929), Christian López Espínola (penyaskito) [8], Feliksas Mazeikis (f.mazeikis) [2], Gábor Hojtsy (goba), Jakob P (japerry), Kunal Sachdev (kunal.sachdev) [2], Lauri Timmanee (lauriii) [1], Matt Glaman (mglaman) [2], Narendra Singh Rathore (NarendraR) [1], Oleksandr Antonchyk (Anton4yk), Priyanka Patel (priyankapatel), project update bot (Project-Update-Bot), Rajab Natshah (RajabNatshah), Ravi Maniyar (ravi.maniyar.123) [2], Sally Young (justafish), scott falconer (scottfalconer), Shubham Prakash (shubham.prakash), Ted Bowman (tedbow) [1], utkarsh_33 (Utkarsh_33) [1], Wim Leers (wimleers) [7], wotnak
Context Control Center (CCC)
The reporting period saw 24 merge requests merged across selection, UI, documentation, and progressive enhancement. Validation was added to enforce that max_global_items cannot exceed max_items. The ai_context_document_loader submodule was merged, enabling PDF, text, and URL imports via MDXEditor integration with the Document Loader module. Scheduler became an optional progressive feature, reducing mandatory dependencies. The hook_ai_context_scope_values_alter() bug was fixed—the hook now correctly affects both form widgets and scope matching via a new AiContextScopeManager::buildScopeValueOptions() method.
UX improvements included merging the Use Cases and Scope columns into a single cascading-filter interface on the context listing page (issue 3586274), and a redesigned full view layout for canonical and revision pages. Supported vs internal APIs were documented, clarifying AiContextRequestFactory, selector pipeline events, and internal services. A public API was added for contrib modules to build scope subscription forms without depending on internal managers. Conditional subcontext gained a toggle, cap, and per-request cache, with usage tracker N+1 queries batched. GitLab issue and MR templates, SECURITY.md, configure links, and PHPUnit test attribute updates rounded out the period.
Progress toward beta3 is blocked by open MRs for subcontext scope override (MR !159), conditional subcontext ignored-when-disabled (MR !194), and accessibility cleanup issues. Several follow-ups from the AI Best Practices review remain open under the meta issue 3586298.
How can I help on this project?
- Review open MR !194 (conditional subcontext ignored when disabled) or MR !159 (subcontext scope override).
- Pick up unassigned accessibility issues under meta 3586298, such as JavaScript filter feedback (no MR exists).
- Test the new Document Loader submodule and report integration issues.
Contributors: Abhisek Mazumdar (abhisekmazumdar) [2], Ahmad Khader (Ahmad-Khader) [1], Anikó Viola (violaniko) [1], Daniel Rodriguez (danrod) [1], Eric Homanchuk (erichomanchuk) [1], Jesse Hofmann-Smith (jessehs), Joshua Fernandes (joshua1234511), Juan Correa (jucs7) [2], Kristen Pol (kepol) [9], Matt Glaman (mglaman) [5], Pravesh Poonia (Pravesh_Poonia), project update bot (Project-Update-Bot), Rob Loach (robloach) [2], Tamas Balog (tbalog)
AI Dashboard
Activity over the past two weeks centered on documentation and ecosystem improvements. The Improve AI Ecosystem issue saw continued work on the AI ecosystem browser, with MR !24 remaining open for review. The CSS has been refined to improve readability of filters, and preparation work continues on integrating a JSON manifest directly into the module to enable browsing AI-related modules from within Drupal sites. Outstanding tasks include implementing a cron rebuild process to fetch module updates from Drupal.org and improving category detection logic, which currently falls back to "Utility" when it cannot classify modules appropriately.
The AI Recipe modal is missing the <path> argument bug was closed as postponed. The issue identified that recipe command modals were displaying incomplete commands, making the "View Commands" buttons non-functional without the required path argument.
No merge requests were merged and no commits were pushed during this period.
How can I help on this project?
- Review MR !24 for the ecosystem improvements, testing the AI module browser functionality and providing feedback on the category detection logic.
- Implement the cron rebuild process to synchronize AI module data from Drupal.org as outlined in the ecosystem issue.
Contributors: Rob Loach (robloach)
AI Search
The 1.x branch received support for long-running chunk indexing without breaking changes in #3584014: Resolve "Attempt long running chunk indexing for 1.x branch without BC", merged on 2026-06-22. This brings functionality previously added to 2.x while gracefully falling back when methods don't exist.
Work continues on Add FilterableRagTool to augment RagTool supporting dynamic metadata filtering via additional context definitions, with an open MR introducing a deriver-based FunctionCall plugin that generates one derivative per Search API index and exposes attribute fields as optional context definitions for LLM-driven filter queries. How to Apply Filters in VDB for RAG Chatbot was closed after discussion on query-time filtering approaches.
Several critical bugs were identified in late June: Logger not injected in `create()`, causing fatal error on error paths, PluginException from getSearchVectorInput() is not caught, returning empty results with no error, and Named argument spread into `querySearch()` includes keys it does not accept, causing PHP fatal all remain open. Progress on the 2.x branch remains blocked pending resolution of Fix 2.x branch integration with AI 2.x now that Symfony Platform is integrated, which awaits upstream AI Core changes.
How can I help on this project?
Fix one of the fatal error issues: add logger injection to SearchApiAiSearchBackend::create(), wrap getSearchVectorInput() calls in try/catch blocks, or correct parameter spreading in doSearch(). Review the open FilterableRagTool MR for API design and test coverage.
Contributors: Artem Dmitriiev (a.dmitriiev), m4olivei, Scott Euser (scotteuser)
Field Widget Actions
The Field Widget Actions module saw significant feature development and bug fixes during the reporting period. Three merge requests were completed, adding interactive refinement capabilities, fixing plugin availability filtering, and addressing missing JavaScript events.
The interactive refinement feature was merged, introducing an opt-in modal workflow that allows users to iteratively refine AI-generated content with follow-up prompts before inserting it into fields. The implementation uses server-side Form API modals (FieldWidgetFormActionBase) and is disabled by default to preserve existing behavior.
A bug preventing unavailable plugins from being filtered in the "Add New Action" dropdown was resolved via MR !21. Previously, plugins that failed isAvailable() checks appeared in the list but could not actually be added, causing confusion. Configuration forms now properly omit these plugins.
JavaScript event handling in suggestion.js was fixed through MR !18, which now dispatches input and change events when suggestion values are set, restoring compatibility with autosave, states, and libraries like Tagify. Automated Drupal 12 compatibility updates were also applied.
Two feature requests remain in progress: UUID generation for config actions to prevent collisions when multiple suggestion buttons are declared in recipes, and support for marking third-party widgets as childless to ensure FWA buttons display correctly. An open bug tracks that button labels are not translatable via the UI, as entity form displays lack a config translation page.
How can I help on this project?
- Review MR !24 for UUID generation in config actions to prevent button collisions in recipes.
- Test MR !26 or MR !25 for checkbox/radio and childless widget support.
- Investigate solutions for the button label translation bug, which currently has no patch.
Contributors: Artem Dmitriiev (a.dmitriiev) [1], Daniel Bosen (daniel.bosen), Edward Zwart (ezeedub) [1], project update bot (Project-Update-Bot) [1], Scott Euser (scotteuser), Volker Killesreiter (volkerk) [1]
AI translate
Development activity over the past two weeks focused on several technical challenges around HTML preservation, large content handling, and architectural planning.
Two key bugs were refined: HTML markup is corrupted/not preserved when translating formatted text fields (text_with_summary, text_long) and the related HTML markup gets added after certain tags issue, where LLM responses insert unwanted line breaks after block-level elements. For large content that triggers timeouts, a merge request splitting large HTML fields into chunks was opened to address 504 Time out on large content.
A planning issue for refactoring translation workflow to support Tool API and agent-driven translation was opened, proposing to abstract the translation logic currently duplicated across UI, Drush, and the planned Tool API entry points. A feature request for aggregating a node's translatable field-columns into a single chat request was discussed to reduce redundant prompt tokens. Additionally, automated Drupal 12 compatibility fixes were prepared.
How can I help on this project?
Review the chunking approach in MR !24 for handling large content. Help investigate and propose solutions for the HTML preservation bugs affecting formatted text fields. Consider the architectural approach for the Tool API refactoring and provide feedback on the planning issue.
Contributors: Miriam Nugent (Peacog), project update bot (Project-Update-Bot)
Pinecone VDB Provider
Work progressed on Support batching on indexing operations during this period. Two merge requests are now available for review: MR !32 targeting the 2.0.x branch and MR !33 targeting 1.1.x. Both implement batching functionality inspired by similar work in the Milvus provider. The feature remains in review with no merges completed during this period.
How can I help on this project?
Review and test the open merge requests for batching support (MR !32 for 2.0.x or MR !33 for 1.1.x). Validate the batching implementation against the Pinecone API documentation and test with various batch sizes to ensure performance improvements.
Contributors: Rob Loach (robloach)AI powered Search Block
The AI powered Search Block module saw several open merge requests during this period, though no commits were merged. feat: #3582452 Add guardrail set selection to ai_search_block was opened, introducing guardrail set selection functionality with 799 lines of changes. Two automated merge requests (MR !40 and MR !43) were also opened, containing automated fixes with 21 and 753 diff lines respectively.
No issues were updated during the reporting period, and no commits were merged to the main branch, indicating that pending merge requests are awaiting review before integration.
How can I help on this project?
Review the open merge request for guardrail set selection to help move this feature forward. The automated merge requests (!40 and !43) also need review to ensure compatibility and code quality standards are met.
Contributors: Abhisek Mazumdar (abhisekmazumdar), project update bot (Project-Update-Bot)FlowDrop
Activity this period centered on automated Drupal 12 compatibility work. The issue Automated Drupal 12 compatibility fixes for flowdrop 1.x-dev was opened to track removal of deprecated API uses. An associated merge request, Automated Project Update Bot fixes, was created containing automated compatibility changes spanning over 4,500 lines of diff. The MR remains open and unmerged at the end of the reporting period. No commits were pushed to the main branch during this window, indicating that progress is blocked pending review and merging of the compatibility fixes.
How can I help on this project?
Review the open Automated Project Update Bot fixes merge request to validate the Drupal 12 compatibility changes. Test the patched code against Drupal 12 to ensure deprecated API removals don't introduce regressions. Help move this blocking work forward so the module can ship a compatible release.
Contributors: project update bot (Project-Update-Bot)FlowDrop UI Agents
Activity this period focused on Drupal 12 compatibility preparation. An Automated Drupal 12 compatibility fixes for flowdrop_ui_agents 1.0.x-dev issue was opened to track automated removal of deprecated API uses. A corresponding merge request, Automated Project Update Bot fixes, was created containing compatibility changes across 232 diff lines. The MR remains open for review. No commits were merged during this period, leaving the Drupal 12 compatibility work as the primary item blocking forward progress on the 1.0.x development branch.
How can I help on this project?
- Review the pending Automated Project Update Bot fixes merge request to validate the Drupal 12 compatibility changes and help move it toward merge.
- Test the compatibility fixes in MR 27 against Drupal 12 to identify any issues introduced by the automated refactoring.
Contributors: project update bot (Project-Update-Bot)
Langfuse
Activity this period was limited to automated maintenance. A merge request titled Automated Project Update Bot fixes was opened, containing 179 lines of diff. The MR remains open and awaiting review. No issues were updated, and no commits were pushed during the reporting period.
How can I help on this project?
Review the open Automated Project Update Bot fixes merge request to validate the automated changes and help move it toward merge. Check the issue queue for unaddressed bugs or feature requests that need attention.
Contributors: project update bot (Project-Update-Bot)
Orchestration
The Orchestration module saw planning and design discussions during this period, but no merge activity or commits. Three feature proposals were updated in late June, all focused on expanding the module's capabilities.
Work continues on Using JSON Schema to define "input", "output" and "config", which proposes a portable contract system for workflow nodes with runtime validation and auto-generated forms. Separately, Integrate with n8n aims to add n8n as an automation provider alongside the existing Activepieces integration, enabling bidirectional communication between Drupal and n8n workflows.
The [orchestration_eca] Add "Execute Orchestration service" ECA action proposal addresses a gap in the orchestration_eca submodule: while ECA models can currently be exposed as Orchestration services, ECA cannot invoke registered Orchestration services. The proposed action plugin would enable ECA's event and condition system to trigger services from other providers.
No merge requests were opened or merged during the period, and forward progress appears blocked on implementation work for these three features.
How can I help on this project?
- Pick up the unassigned JSON Schema definition issue and draft an API proposal for input/output/config contracts.
- Review the technical approach for the ECA action plugin and provide feedback on the ServicesProviderInterface integration.
AG-UI
The AG-UI module saw minimal activity during the reporting period. An automated compatibility issue, Automated Drupal 12 compatibility fixes for agui 1.0.x-dev, was opened to address deprecated API uses in preparation for Drupal 12. A corresponding merge request containing automated fixes was opened but remains unmerged.
The meta issue [META] Improve Drupal Assistant Implementation was updated. This issue tracks work to refactor the Drupal Assistant proof-of-concept on the demo page to align with and potentially replace the ai_chatbot (Deepchat) module. The proposed approach involves integrating with the Polling service and emitting ag-ui events, with the goal of using a single, non-streamed request pattern.
No commits were pushed and no merge requests were merged during this period, indicating ongoing planning and review phases rather than active integration work.
How can I help on this project?
Review the automated Drupal 12 compatibility MR to verify the changes are safe and complete. Investigate the technical requirements for the Drupal Assistant refactor in the meta issue to help define implementation tasks.
Contributors: project update bot (Project-Update-Bot)References
[1] Regression in 1.4x release vs 1.3.x
[2] Add Summarization operation type support to the echoai test provider
[4] Taxonomy automator clears valid term values when the LLM returns HTML-encoded entities (e.g. &)
[5] Remove access deepchat api permission and use Assistant access as the single source of truth
[7] Create AI assistant API session only after the first message
[8] Add Extractive Question Answering operation type
[9] How to use AI file entity defined in file src/Entity/AiFile.php ?
[12] Issue when creating content and click on AI Assistant on Ckeditor
[13] Use ai_provider_configuration form element in RestrictToTopic configuration form
[23] Support long running chunking in 1.x branch for AI Search 1.x readiness
[28] Move Automators to Structured Output
[126] fix: Validates inline prompt against stale prompt type when multiple ai prompt elements exists
[136] Non-BC support for long running chunks
[141] feat: #3577170 Move Automators to Structured Output
[157] Remove access deepchat api permission and use Assistant roles as the single source of truth
[165] Issue #3586472: Use ai provider configuration form element and use proper...
[166] Issue #3586472: Use ai provider configuration form element and use proper...
[168] Non-BC support for long running chunks
[169] Issue #3586472: Use ai provider configuration form element and use proper...
[170] Non-BC support for long running chunks
[187] Issue #3586522: Keep token usage in the chat() Fiber branch
[188] Issue #3586522: Keep token usage in the chat() Fiber branch
[189] Issue #3586522: Keep token usage in the chat() Fiber branch
[190] Issue #3586522: Keep token usage in the chat() Fiber branch
[191] Issue #3586522: Keep token usage in the chat() Fiber branch
[192] Issue #3586522: Keep token usage in the chat() Fiber branch
[204] Issue #3586556: Remove deprecated bundled field_widget_actions and require standalone.