Daily Digest
Daily Digest – 20 May 2026
2026 Capabilities Progress
- Page generation — The Canvas module saw substantial activity directly relevant to this capability, including work on global layout region management via an HTTP API and a CLI tool [69][72], conflict detection during auto-save to protect editors working simultaneously [70], and fixes to prevent broken component output on published pages [94]. These collectively strengthen the reliability and completeness of the AI-assisted page building experience. Next milestone: merging the several significant features currently in review, including region management and conflict detection.
- Context management — No direct progress today.
- Background agents — The fix for AI agents entering infinite loops when unable to resolve a task was delivered today, along with a database update hook to ensure existing installations migrate cleanly [59][62]. Error visibility during background queue processing also progressed, with a merge request to rethrow exceptions from the queue processor under review [8][23]. A risk remains: two bugs affecting how agents interpret content structure and field types are open and unresolved [56][57], which could cause agents to act on incorrect information in complex content configurations.
- Design system integration — Active progress in Canvas, with work underway to expose content entity type and field endpoints needed for entity reference selection in the visual editor [64], and a configuration option for how code components interact with deployment workflows progressing through review [97]. Fixes were also merged to handle invalid component configurations gracefully [89] and to resolve schema validation inconsistencies between front and back ends [96][98]. These improve the stability of AI working within a structured component environment.
- Content creation and discovery — Meaningful progress across multiple workstreams. AI content suggestions can now be configured per entity type rather than appearing globally, giving administrators meaningful control over where AI drafting assistance surfaces [15][26]. Work is also progressing on enabling the MDX markdown editor on plain text fields [1][18] and on adding summarisation capabilities inside CKEditor [17]. AI Search received a stability fix preventing crashes when search servers are misconfigured [101][105][106], and batch embedding improvements for faster content indexing remain in progress [10]. A risk to note: a compatibility issue is currently causing automated tests to fail on the AI Search 2.x line [99], which must be resolved before the module can reach a stable release.
- Advanced governance — The guardrail fix addressing the critical gap where safety rules only evaluated the most recent message — rather than the full conversation — is progressing through review [3][21]. A semantic topic matching mode for the RestrictToTopic guardrail also advanced [12], which strengthens policy enforcement on AI outputs. The propagation and validation of user identity through the AI request pipeline is under review [5][22], which is foundational for audit trail completeness. Conflict detection and resolution for selective publishing in Canvas also progressed [82]. The Drupal Eval Commons umbrella proposal [9][13] introduces a longer-term initiative to standardise how AI features are tested and evaluated across projects — early stage, but strategically relevant to governance confidence.
- Intelligent website improvements — No direct progress today.
- Multi-channel campaigns — No direct progress today.
Shipped
- AI Content Suggestions Now Configurable Per Content Type — Site administrators can now control which content types display AI suggestions for editors, replacing the previous all-or-nothing behaviour after installation [15][26].
- AI Agents Infinite Loop Fix Completed — A follow-up update was merged ensuring existing sites automatically receive the fix for agents getting stuck in infinite loops, with no manual intervention required from administrators [59][62].
- AI Search Crash Fix Shipped for Both Release Lines — A bug causing crashes when a search server is inactive or misconfigured was resolved and delivered across both the current and previous supported versions [101][105][106].
- Data Integrity Fix for amazee.ai Search Indexes Under Review — A merge request is open to fix a critical issue where clearing one search index was silently deleting data from all other indexes running in parallel [53][54].
- Drupal AI Summit NYC Concluded — The New York summit has been formally closed, with session recordings now being prepared for distribution through the Drupal Association's YouTube channel [48][49].
Ongoing
- Anthropic Provider: Prompt Caching and PDF Support Awaiting Review — A merge request is open that would reduce API costs through prompt caching and add PDF document support, but has not yet been merged [51].
- Safety Guardrails Only Checking the Last Message — A correctness gap where content safety checks ignore earlier messages in a conversation is under active work but not yet resolved [3][21].
- Anonymous Chat Users Losing Conversation History — A fix is under review for a problem where anonymous visitors to the AG-UI chat widget lose their conversation history between messages, making coherent conversations impossible [108][109].
- Rotterdam Dev AI Summit Planning Underway — Full planning is in progress for the developer-focused event co-located with DrupalCon Rotterdam in September, covering speaker confirmation, registration, promotional assets, and press outreach [33][44][45][46].
- AI Initiative Governance Document Awaiting Leadership Endorsement — A formal document defining how the initiative plans its work and makes decisions is ready for review but has not yet received leadership approval, which is blocking clearer coordination across teams [28].
AI (Artificial Intelligence)
Activity over the past 24 hours shows steady forward momentum across several capability areas, with one feature delivered and a number of improvements progressing through review.
Delivered
The most significant development is the merge of work allowing AI content suggestions to be configured per entity type. Previously, AI suggestions appeared across all content types and structures automatically after installation, with no way for administrators to control where they appeared. This change, contributed by Artem Dmitriiev (a.dmitriiev), gives site administrators meaningful control over where AI assistance surfaces for editors. The related issue, Configure AI content suggestions settings for different entity types, is now closed.
In Progress
Several other workstreams are active. A UI toggle to enable the MDX markdown editor on plain text fields is under development, alongside a companion bug fix addressing how the editor handles markdown formatting. Work is also continuing on improving the reliability of safety guardrails, which currently only check the most recent message in a conversation rather than the full history -- an important correctness gap. Separately, improvements to how the AI module handles errors during background processing, and how it identifies which user account is executing AI requests, are both in review. A significant architectural improvement to move the Automators feature to structured output is also progressing.
Emerging Initiative
George Kastanis (zorz) has opened an umbrella proposal, Drupal Eval Commons, aimed at establishing a shared framework for testing and evaluating AI features across multiple Drupal projects. This is early-stage planning work with meaningful long-term implications for quality assurance.
How can I help on this project?
- The Eval Commons initiative is at a critical early design stage where cross-project alignment is needed. Sponsoring a facilitated conversation between the teams involved could prevent duplicated or incompatible work.
- Several open workstreams are unassigned. Encouraging your team or partners to claim and prioritise these would help maintain delivery pace.
Drupal AI Initiative
Summary
Activity over the past 24 hours was concentrated in planning and marketing, with no code changes merged. The most strategically significant item is the Align on AI Initiative Governance and Roadmap issue, which is seeking leadership endorsement of a formal document defining how the initiative plans its work, coordinates with maintainers, and makes decisions. Formalising this will give partners and stakeholders a reliable foundation to build on.
A significant cluster of new issues was opened around the Rotterdam Dev AI Summit, a dedicated developer-focused event co-located with DrupalCon Rotterdam in September. Matthew Saunders (jmsaunders) has structured the full planning lifecycle, covering the call for sessions, speaker confirmation, registration, promotional assets, press outreach, and post-event recordings. Alongside this, the team is actively promoting the AI Summit London in June and the broader Enterprise AI Summit in Rotterdam. The Drupal AI Summit NYC tracker was formally closed, marking the conclusion of that event, with session recordings now being prepared for wider distribution via the Drupal Association's YouTube channel.
An early-stage idea was also raised by Marcus Johansson (Marcus_Johansson) for an AI Cost and Usage module that would give site owners visibility into their AI spending and optionally contribute anonymised usage data back to the community. This is a concept at this stage, not yet in active development.
How can I help on this project?
- Endorse the governance document: The governance and roadmap alignment is awaiting leadership approval. Reviewing and endorsing it would unblock clearer decision-making across the initiative.
- Champion event visibility: The Rotterdam and London summits need reach. Executive advocacy through organisational networks or partner channels can drive registrations and speaker submissions that the team cannot generate alone.
- Signal appetite for the cost transparency concept: Letting the team know whether visibility into AI usage and costs is a priority for your organisation would help determine whether the AI Cost and Usage idea warrants resourcing.
Anthropic Provider
Summary
Activity over the past 24 hours has been focused on a single but meaningful contribution. Carlos Ospina (camoa) has opened a merge request, Bump SDK constraint and drop method_exists defensive check, representing the second phase of a broader effort to strengthen the module's integration with Anthropic's underlying technology.
This phase introduces two notable capabilities: a prompt caching feature, which allows the system to reuse previously processed instructions rather than repeating work on every request, and support for PDF documents as inputs. Prompt caching in particular has direct cost and performance implications, as it reduces the volume of processing sent to Anthropic's service. An admin interface is included, giving site administrators control over caching behaviour and timing. This builds on work already merged in phase one and continues to move the module toward a more capable and production-ready state.
No issues were updated and no commits were pushed directly during this period. The merge request is awaiting review. For a module at this stage of development, this level of focused, incremental progress is healthy and expected.
How can I help on this project?
- Ensure a qualified reviewer is available to assess the open merge request promptly, so this phase of work is not left waiting.
- Consider whether broader organisational interest in cost reduction through prompt caching warrants prioritising this module's progress on the roadmap.
amazee.ai Private AI Provider
Summary
Activity over the past 24 hours has been focused on quality and data integrity improvements for the module's vector database (VDB) functionality, which powers AI-driven search and content indexing capabilities.
The most significant development is a fix now under review for a critical data integrity issue: VDB: Clearing all indexed data of search index A drops indexed data of others. In practical terms, when a site administrator cleared the indexed data for one search index, it was inadvertently wiping out the indexed data for all other search indexes sharing the same database. A merge request authored by m4olivei is open and awaiting review to resolve this. This is a meaningful fix for any organisation relying on multiple AI-powered search indexes running in parallel.
A separate, lower-priority issue remains open: VDB: Ignored fields should not have database column, reported by mxr576 (mxr576). This concerns unnecessary database storage being allocated for fields that are intentionally excluded from AI processing -- a housekeeping concern rather than an urgent problem.
Both issues are flagged for backporting to an earlier supported release, indicating the team is maintaining compatibility across versions.
How can I help on this project?
- Ensure the open merge request fixing the data integrity issue is reviewed promptly -- advocate for dedicated review time from a qualified team member if bandwidth is constrained.
- Consider whether additional developer resource is needed to work through the backlog of open issues alongside new feature development.
Model Context Protocol
Activity on the Model Context Protocol module over the past 24 hours has been focused on expanding what the tool can do for end users. A new merge request, Write (Create/Update) Operations Support, has been opened by Shubham Goel (shubhamgoel). This is a substantial contribution that would allow AI-connected tools to not just read content from a Drupal site, but also create and update it. That is a meaningful capability milestone, moving the module from a read-only integration toward a more fully featured two-way connection between Drupal and AI assistants.
No issues were updated and no commits were merged during this period, so the work is in review and has not yet landed. This is normal for a module at this stage of development, and the contribution represents healthy forward progress on a key feature.
How can I help on this project?
- Encourage colleagues or partners with Drupal expertise to review the open merge request, as timely code review helps contributors stay engaged and keeps momentum going.
- Consider whether your organisation has use cases for AI-driven content creation in Drupal, and share that feedback with the project team to help prioritise the roadmap.
AI Agents
Progress This Period
Activity over the past 24 hours focused on stability improvements and bug resolution. The most notable delivery was the closure of a previously reported issue where AI agents could get stuck in an infinite loop when unable to complete a task. A supporting fix was merged today by AKHIL BABU (AkhilBabu), ensuring that existing installations will be smoothly updated with the new behaviour without requiring manual intervention from site administrators.
Two additional bugs were surfaced and are now under active review. The first, reported by Marc Orcau (budalokko), concerns incorrect field information being passed to the AI when a site's content structure includes relationship fields -- this could cause the AI to misinterpret content types. The second, raised by AKHIL BABU (AkhilBabu), addresses a related issue where certain tool configurations produce errors when agents try to act on content; a proposed fix is already in review under hide_property skips data-type conversion for forced values, breaking non-scalar context types, alongside a separate open fix for Proper value for entity__colon__node context?.
Overall, the project is progressing at a healthy pace for an early-stage module, with bugs being identified, triaged, and addressed in a timely manner.
How can I help on this project?
- Encourage your team to prioritise reviewing the two open fix proposals currently awaiting approval, as timely review helps maintain momentum.
- Consider allocating dedicated testing resource to validate bug fixes against real-world content configurations, which would accelerate the path to a stable release.
Drupal Canvas
Activity over the past 24 hours has been broad, covering user-facing bug fixes, developer tooling improvements, and meaningful progress on several larger features still in review.
Fixes Delivered
Several bugs were resolved and merged during this period. A fix by wotnak addressed a situation where components with invalid code would produce broken output on published pages. Sapnil Biswas contributed a fix ensuring that misconfigured content blocks are caught early and prevented from causing crashes inside Canvas, rather than failing at the point a user tries to view or edit a page. Christian López Espínola aligned the technical standards used to validate content structures across the editor's front and back ends, which reduces the risk of subtle inconsistencies when editors are working with complex content.
Developer Tooling and Quality
Wim Leers merged two improvements that reduce friction for contributors: a unified linting command and a fix that eliminates redundant automated checks, cutting local feedback times roughly in half. These changes help maintain development pace as the team scales. A drag-and-drop behaviour change was also reverted by Tim Plunkett after review, a routine part of iterative development.
Features in Progress
A significant body of work is advancing through review. Notable among open merge requests are: conflict detection during auto-save (by Feliksas Mazeikis (f.mazeikis)), which will protect editors from accidentally overwriting each other's work; global layout region management in the visual workbench (by wotnak); translation previews (by Ted Bowman (tedbow)); and a configuration option for how code components interact with deployment workflows (by Matt Glaman (mglaman)). These collectively represent material improvements to the editorial and deployment experience.
How can I help on this project?
- Several substantial features are in review simultaneously. Ensuring dedicated reviewer capacity is available to assess and merge these in a timely way would help maintain momentum.
- Some merge requests, such as global region management and translation previews, may benefit from early input from editorial stakeholders to confirm the workflows meet real-world needs before they are finalised.
AI Search
Summary
Activity over the past 24 hours has been focused on stability fixes and forward planning for the AI Search module's path toward a stable 2.0 release.
The most concrete delivery in this period was a bug fix merged by Scott Euser (scotteuser) that prevents a crash occurring when a search server is inactive or misconfigured. This improvement, captured in Ensure valid server in boost plugins and delivered across both the current and previous release lines, means users are less likely to encounter unexpected errors during day-to-day search operations.
Alongside this, two important issues have been opened to guide upcoming work. A compatibility issue with the broader AI platform is currently causing automated tests to fail on the 2.x line and will need to be resolved before further progress toward stable. A separate task proposes making the AI-powered search pipeline easier to customise, which would give adopters more control over the quality of responses returned by AI tools. Both are unassigned at this stage, which is typical for an actively developing module.
The 2.0 roadmap planning issue continues to be updated, reflecting ongoing effort to coordinate what needs to land before a stable release can be declared.
How can I help on this project?
- The compatibility issue blocking the 2.x release line is currently unassigned. Encouraging or resourcing a developer to prioritise this would directly unblock progress toward a stable release.
- If your organisation is a potential adopter, sharing requirements around AI search customisation needs would help contributors prioritise the right improvements in the roadmap.
LiteLLM AI Provider
Activity over the past 24 hours was focused on a single but meaningful reliability improvement. A new merge request, fixes streaming failures on some infra and in ddev, has been opened by wouters_frederik (Frederiek Wouters). This addresses a reported problem where streaming responses -- the ability to deliver AI-generated content progressively rather than all at once -- were failing in certain hosting environments and local development setups.
Streaming is important for user experience in AI-powered features, as it makes responses feel faster and more interactive. Fixing reliability issues across different infrastructure configurations broadens the range of environments where the module can be used dependably, which is relevant for teams evaluating or piloting the module in varied setups.
This is an early-stage module and the presence of open issues and work-in-progress contributions is entirely normal and expected at this point in development.
How can I help on this project?
- Encourage your team to test the module in your own infrastructure and report back on reliability, helping validate fixes like this one more quickly.
- Consider allocating reviewer time to help move open merge requests from submitted to merged, reducing bottlenecks for contributors.
- Advocate internally for dedicated time for developers interested in contributing, which helps sustain momentum on a project at this early stage.
AG-UI
Summary
Activity over the past 24 hours has been focused on a single user-facing issue. Takaya Hirose (takayahirose) has identified and opened a fix for a problem where anonymous users of the AG-UI chat widget lose their conversation history between messages. In practice, this means that every time an anonymous visitor sends a message, the system treats them as a brand-new user, making it impossible to hold a coherent conversation. A proposed fix is already under review via Issue 3590036: Fixed lost chat history across requests for anonymous users, addressing the Anonymous users lose chat history across requests issue.
This is a meaningful quality improvement for any deployment where the chat widget is intended to serve visitors who are not logged in. The fix is awaiting review and merge. Given the module is in early development, having a contributor both report and propose a resolution quickly is a positive sign of engagement.
How can I help on this project?
- Encourage your team to prioritise reviewing and merging the open fix so anonymous users benefit from a working chat experience sooner.
- Consider whether dedicated reviewer capacity is available to prevent open contributions from stalling, helping maintain contributor momentum.
- Advocate for broader testing with anonymous user scenarios to surface similar issues before a stable release.
AI Content Classification
Summary
Activity over the past 24 hours was light but meaningful. The one notable update was the closure of Error when saving new node, a bug originally reported by breidert (breidert) that caused an unexpected error when creating new content after installing the module. Resolving this improves the reliability of the core user-facing workflow: getting AI-generated content tags applied when new content is saved. No new commits or merge requests were recorded in this period.
As an alpha-stage module, having a small number of open issues under active triage is entirely normal. The closure of this bug is a positive sign that the team is keeping quality in check as the project matures.
How can I help on this project?
- Encourage colleagues or partners to install the module in test environments and report their experiences, helping surface real-world issues early.
- Consider whether dedicated testing or review time can be allocated to keep momentum going, particularly as the module moves toward a more stable release.
References
[1] Add UI toggle to enable MDXEditor on plain text field widgets
[3] Guardrail plugins only evaluate the last message
[5] Propagate server-resolved executor UID from /api/deepchat to AiAssistantApiRunner
[8] Rethrow exceptions from queue processor
[9] Drupal Eval Commons umbrella
[10] Batch embeddings for improved indexing performance
[12] RestrictToTopic guardrail: add semantic topic matching mode
[13] [Layer 2] Cross-project result envelope tracking (every_eval_ever 0.2.2 + additional_details)
[15] Configure AI content suggestion settings for different entity types
[17] Make it possible to use Summarize model in CKEditor
[18] Issue #3586451: Allow to use MDX Editor in Text plain widget
[21] Resolve #3579088 "Guardrail plugins only"
[22] Issue #3574877: Propagate and validate DeepChat execution principal
[23] Issue #3571498: Rethrow queue worker exceptions
[26] Resolve #3574169 "Ai content suggestions setting for enities"
[28] Align on AI Initiative Governance and Roadmap
[33] [META] Rotterdam Dev AI Summit
[44] Rotterdam AI Dev Summit - PLANNING - Confirm Speaker Commitments
[45] Rotterdam AI Dev Summit - PLANNING - Call for Sessions
[46] Rotterdam Dev AI Summit - CONTENT - Finalise Agenda and Schedule
[48] Drupal AI Summit NYC META
[49] Session recordings AI Summit NYC
[51] Issue #3590963: Bump SDK constraint and drop method_exists defensive check
[53] VDB: Clearing all indexed data of search index A drops indexed data of others
[54] Issue #3579517: Fix clearing index data destroying other indexes' data
[56] GetEntityFieldInformation leaks target_entity_type / target_bundle_type across fields
[59] Follow up #3547457. Add post update hook for max_loops_message
[62] Issues/3586024: Add post update hook.
[64] Draft: feat: #3585354 add content-entity-types / fields endpoints for entity reference selection UI
[69] feat(CLI Tool) #3576837 Prototype managing the global layout (aka regions) within Canvas Workbench
[70] Resolve #3589076 "Detect conflicts during autosave polling"
[72] feat: #3589801 Expose HTTP API for managing Page Regions
[82] Add conflict detection and resolution UI for selective publishing
[89] Issue #3580070: Reject invalid default block configs
[94] fix: #3591072 getFallbackCompiledJs() returns malformed JS
[96] Use draft-07 consistently in backend and frontend.
[97] Issue #3591147: Provide config sync toggle for code components
[98] fix: #3591133 strip draft-04 'id' keyword before sending schema to AJV v8
[99] Fix 2.x branch integration with AI 2.x now that Symfony Platform is integrated
[101] Ensure valid server in boost plugins
[105] Resolve "Ensure valid server in boost plugins"
[106] Resolve "Ensure valid server in boost plugins 1x"
[108] Anonymous users lose chat history across requests
[109] Issue 3590036: Fixed lost chat history across requests for anonymous users.
Shipped
- AI Content Suggestions: per-entity-type scoping merged — The MR allowing site admins to scope AI content suggestions per entity type rather than globally was merged [15][25].
- AI Agents: post-update hook for max_loops_message — A missing post-update hook for the
max_loops_messageconfig key introduced by the infinite AJAX loop fix was landed, preventing broken installs on upgrade [59][62]. - AI Search: boost plugin null-pointer fix shipped to 1.x and 2.x — A
hasValidServer()guard was added toDatabaseBoostByAiSearch::supportsIndex()to prevent fatals when a Search API server is inactive or missing, merged across both branches [101][105][106]. - Canvas: invalid default block configs now rejected at discovery —
BlockComponentDiscovery::checkRequirements()now rejects block plugins whosedefaultConfiguration()violates their own config schema, preventing invalid plugins from crashing Canvas [89]. - Canvas: JSON Schema draft-07 alignment across backend and frontend —
justinrainbow/json-schemawas bumped to^6.8.0,setDefaultDialect(DraftIdentifiers::DRAFT_7)was added inCanvasServiceProvider.php, and a sharedcreateAjv()helper was introduced in the frontend [96].
Ongoing
- Guardrail plugins evaluating only the last message — Both
RegexpGuardrailandRestrictToTopiccallend($messages)instead of iterating the fullChatInputhistory; a fix MR is open and awaiting review [3][21]. - AG-UI: anonymous user chat history lost across requests — TempStore owner initialisation inside the
StreamedResponsecallback fires after session persistence, generating a new owner key per request; a 134-line fix MR is open but unmerged [108][109]. - Canvas: ApiExceptionSubscriber blocks exception logging —
ApiExceptionSubscriberevent priority is set to 50 instead of -50, preventingExceptionLoggingSubscriberfrom running on Canvas API routes; MR with kernel test is open [65]. - AI Search 2.x branch broken by Symfony Platform integration — The Symfony Platform integration in AI Core 2.x is causing functional test failures on the AI Search 2.x branch, with no MR yet opened to resolve it [99][102].
- amazee.ai VDB: clearing one index destroys data in others — A fix overriding
deleteAllIndexItems()to filter byindex_idrather than dropping the entire collection table is in review but unmerged [53][54].
AI (Artificial Intelligence)
Merged and Shipped
The one merge landing in this period closes Configure AI content suggestion settings for different entity types. Artem Dmitriiev (a.dmitriiev) landed Allow all content entity types to be used (commit 2deab032), enabling site admins to scope AI content suggestions per entity type rather than applying them globally.
Active Work in Review
Several substantial MRs remain open. Alphons Jaimon (AJV009) has a fix up for Guardrail plugins only evaluate the last message -- both RegexpGuardrail and RestrictToTopic call end($messages) rather than iterating the full ChatInput history. Artem Dmitriiev (a.dmitriiev) has two open MRs refactoring the ai_content_suggestions submodule: moving getPluginResponse into AiContentSuggestionsPluginBase (tagged RTBC) and consolidating plugin settings into a single config object. scott falconer (scottfalconer) has open MRs covering propagating server-resolved executor UID from DeepChatApi.php to AiAssistantApiRunner and rethrowing exceptions from the queue processor. Christoph Breidert (breidert) opened two linked issues around MDXEditor: a UI toggle for plain text widgets and a bug where markdown characters are escaped rather than rendered.
How can I help on this project?
- Review the guardrail fix MR -- test that all messages in a multi-turn
ChatInputare evaluated, not just the last. - Review the RTBC AiContentSuggestionsPluginBase refactor MR to help it land.
- MDXEditor markdown escaping bug has no MR yet and is a good candidate to pick up.
Drupal AI Initiative
The past 24 hours saw no code merged or commits pushed to the ai_initiative project. Activity was entirely planning and coordination work across marketing and event tracks.
Rotterdam Dev AI Summit
Matthew Saunders (jmsaunders) opened a large cluster of issues under the [META] Rotterdam Dev AI Summit tracker, covering the full lifecycle of the September event in Rotterdam. This includes planning tasks such as Rotterdam AI Dev Summit - PLANNING - Call for Sessions and Rotterdam AI Dev Summit - PLANNING - Confirm Speaker Commitments, promotional deliverables including a call for sessions visual, event poster, and blog post, plus post-event tasks for recordings and social recap. Maria Fernanda Silva (mfernanda.silva) is listed as a collaborator on the majority of promotion and content work.
NYC Summit Wrap-up
The Drupal AI Summit NYC META issue was closed, marking the NYC event as complete. Outstanding follow-up work includes uploading and publishing session recordings to the Drupal Association YouTube channel, and assigning issue credits to speakers, both assigned to Paul Johnson (pdjohnson) and Matthew Saunders (jmsaunders).
Governance and Product Ideas
Christoph Breidert (breidert) updated Align on AI Initiative Governance and Roadmap, which remains open pending leadership endorsement. Separately, Marcus Johansson (Marcus_Johansson) filed an unassigned concept issue proposing an AI Cost and Usage module providing a local spending dashboard and optional opt-in community telemetry -- currently at the ideas stage with no assignee or MR.
How can I help on this project?
- The AI Cost and Usage module concept is unassigned with no MR -- if this is within your skill set, pick it up and prototype an initial module structure.
- Review and comment on the Governance and Roadmap document if you have a stake in initiative direction -- leadership endorsement is still needed.
Anthropic Provider
Activity on the Anthropic Provider module over the last 24 hours was limited to a single open merge request, with no commits landed or issues updated during the reporting period.
Open MR: Prompt Caching and PDF Input
Carlos Ospina (camoa) has an open merge request, Bump SDK constraint and drop method_exists defensive check, representing Phase 2 of the native-SDK migration work targeting the 1.3.x branch. It delivers a prompt caching admin UI with an "Enable prompt caching" toggle, a TTL selector (5 minutes or 1 hour), and a cache-diagnostics opt-in, all wired up via #states in the provider settings form. The system prompt is sent as a typed TextBlockParam with cache_control attached when caching is enabled, since caching a bare string is a no-op. The MR spans 1,580 diff lines and is reported as fast-forward mergeable against 1.3.x. No maintainer review or merge activity occurred within the reporting window.
How can I help on this project?
- Review the open Bump SDK constraint and drop method_exists defensive check MR -- test the prompt caching toggle, TTL selector, and
TextBlockParamcache_control behaviour, and leave feedback. - Check whether PDF document input (also in scope for Phase 2) is fully covered by the MR and comment on any gaps in the merge request thread.
amazee.ai Private AI Provider
Activity over the last 24 hours was focused on two open bugs in the Vector Database (VDB) backend, both carrying the "needs backport to 1.2.x" label and originally reported by mxr576.
Bug Fixes in Progress
The critical-priority issue VDB: Clearing all indexed data of search index A drops indexed data of others now has an open merge request. m4olivei opened Issue #3579517: Fix clearing index data destroying other indexes' data, which overrides deleteAllIndexItems() to filter deletions by index_id rather than dropping and recreating the entire collection table. This prevents data loss across indexes sharing a common collection. The MR is 114 diff lines and remains unmerged pending review.
The normal-priority issue VDB: Ignored fields should not have database column remains open and unassigned with no associated MR. It addresses wasteful schema generation where fields marked as ignored still receive dedicated database columns that are never populated.
How can I help on this project?
- Review the open MR Fix clearing index data destroying other indexes' data, focusing on the
deleteAllIndexItems()override logic and edge cases around shared collections. - Pick up the unassigned VDB: Ignored fields should not have database column issue and submit a patch to skip column creation for ignored field properties in the schema builder.
Model Context Protocol
Activity on the Model Context Protocol module was light over the past 24 hours, with no issue comments, no commits merged to the main branch, and no status changes recorded. The sole movement was the opening of a new merge request.
Write Operations MR Opened
Shubham Goel (shubhamgoel) opened Write (Create/Update) Operations Support, a substantial contribution spanning 1,211 diff lines. The MR targets branch 3551588-write-op-create-update and is intended to introduce create and update capabilities to the module, which has so far focused on read operations. The MR is open and awaiting review; no commits have landed on the main branch as a result of this work yet.
How can I help on this project?
- Review the open Write (Create/Update) Operations Support MR -- at 1,211 diff lines it needs thorough testing of create and update code paths, input validation, and access control handling.
- Check the module's issue queue for unassigned issues with no related MRs and consider picking one up to keep momentum going.
AI Agents
Shipped
The one merge in the reporting window closed out a follow-up to the Infinite AJAX request loop when the Agent is unable to resolve a job fix. That earlier work introduced a max_loops_message config key but shipped without a post-update hook, leaving existing installs with a missing value. AKHIL BABU (AkhilBabu) authored Follow up #3547457. Add post update hook for max_loops_message, and the fix landed in commit 3793b023 via MR !271, closing the issue. A backport to 1.2.x is still flagged.
Open bugs needing attention
Two related bugs around context handling remain open. Marc Orcau (budalokko) filed GetEntityFieldInformation leaks target_entity_type / target_bundle_type across fields, where GetEntityFieldInformation::execute() reuses the $information array across its field loop, causing entity_reference metadata to bleed into subsequent non-reference fields. No MR exists yet.
AKHIL BABU (AkhilBabu) also opened MR !270 to address hide_property skips data-type conversion for forced values, breaking non-scalar context types, which affects entity, list, JSON, and YAML context types when both force_value and hide_property are set. That MR is open and awaiting review. A related colon-escaping fix for AiAgentEntityWrapper::applyToolUsageLimitsToContext() is in MR !269 under Proper value for entity__colon__node context?, also still open.
How can I help on this project?
- Review MR !270 for the
hide_propertydata-type conversion fix and MR !269 for the colon-escaping bug -- both are open and need reviewer feedback. - Pick up the unassigned GetEntityFieldInformation field leak bug -- no patch exists yet, and the offending loop in
GetEntityFieldInformation::execute()is well-documented.
Drupal Canvas
A busy 24-hour window landed eight commits and merged six MRs, with activity split between bug fixes, DX improvements, and schema alignment work.
Merged and Shipped
The most impactful fix is the merge of Issue #3580070: Reject invalid default block configs, contributed by Sapnil Biswas (sapnil_biswas). The fix lands in BlockComponentDiscovery::checkRequirements(), rejecting block plugins whose defaultConfiguration() violates their own config schema at discovery time, preventing invalid plugins from crashing Canvas entirely.
wotnak landed a targeted fix for fix: #3591072 getFallbackCompiledJs() returns malformed JS, correcting the fallback JS output when a code component fails to compile in the editor. Alongside that, Christian López Espínola (penyaskito) merged Use draft-07 consistently in backend and frontend, bumping justinrainbow/json-schema to ^6.8.0, calling setDefaultDialect(DraftIdentifiers::DRAFT_7) in CanvasServiceProvider.php, and introducing a shared createAjv() helper in ui/src/utils/ajv.ts.
Wim Leers (wimleers) shipped two DX improvements: Resolve #3591245 "Linting contribution barrier" introduces composer run lint combining PHPCS and PHPStan, and Resolve #3591249 "Phpstan only twice on ci" eliminates redundant PHPStan runs, cutting four CI executions down to two and halving local run time. The large Resolve #3588837 "Alphabeticallysorteduses" (8813 diff lines) also landed, enforcing alphabetically sorted PHP imports to reduce merge conflicts. Tim Plunkett (tim.plunkett) reverted a folder drag-and-drop change via Revert "fix: #3580919 Align Folder Drag-and-Drop Behavior with Design Specs".
Open Work of Note
Matt Glaman (mglaman) has an open MR for Issue #3538825: ApiExceptionSubscriber prevents ExceptionLoggingSubscriber from running, which corrects ApiExceptionSubscriber event priority from 50 to -50 so exceptions on Canvas API routes are actually logged. A related AJV compatibility issue has an open fix from Zeeshan khan (zeeshan_khan) in fix: #3591133 strip draft-04 'id' keyword before sending schema to AJV v8, which extends stripNonStandardJsonSchemaKeys() to handle the id keyword that AJV v8 rejects, crashing all component forms.
How can I help on this project?
- Review the open ApiExceptionSubscriber priority fix from mglaman -- it includes a kernel test and is ready for feedback.
- Review fix: #3591133 strip draft-04 'id' keyword -- a small 19-line change that fixes AJV v8 crashes on component forms and needs a second set of eyes.
- Review fix(Component sources): clear reasons and re-enable when component becomes eligible, which addresses a silent re-enable bug and has no merged predecessor blocking it.
AI Search
Bug Fixes Shipped
The most notable activity in the past 24 hours was the resolution of a null-pointer bug in the boost processor plugins. When a Search API server was inactive or missing, calls to getBackendId() in DatabaseBoostByAiSearch::supportsIndex() would fatal. Scott Euser (scotteuser) fixed this by adding a hasValidServer() guard, landing the fix across both the 1.x and 2.x branches via Resolve "Ensure valid server in boost plugins 1x" and Resolve "Ensure valid server in boost plugins" (both merged 2026-05-21). MR !30 covering a grouping recursive retrieval backport was closed during the same window.
Blockers and Open Work
The 2.x branch remains broken following the Symfony Platform integration in AI Core 2.x (tracked in Fix 2.x branch integration with AI 2.x now that Symfony Platform is integrated), causing functional test failures. This is flagged as a major blocker in the [Plan] AI Search 2.0.x and roadmap to stable. Separately, m4olivei has opened Refactor EmbeddingBase and RagTool into smaller protected helpers to ease customization of chunk and search-result formatting, a quality-of-life task to expose protected helpers in EmbeddingBase and RagTool::execute() for downstream customization.
How can I help on this project?
Three concrete actions available right now:
- Reproduce and help fix the 2.x test failures described in Fix 2.x branch integration with AI 2.x now that Symfony Platform is integrated -- no MR exists yet, so there is room to open one.
- Pick up the unassigned EmbeddingBase and RagTool refactor task, which has no MR and no assignee.
LiteLLM AI Provider
Recent Activity
Activity in the last 24 hours was limited to a single open merge request. Frederik Wouters (wouters_frederik) opened fixes streaming failures on some infra and in ddev, a 27-line diff targeting streaming reliability issues across certain infrastructure setups and local DDEV environments. No commits were pushed and no issues received new comments during the reporting period. The MR is awaiting review and has not yet been merged.
How can I help on this project?
- Review fixes streaming failures on some infra and in ddev -- test it against a DDEV setup or other infrastructure, and leave feedback on the 27-line diff to help get it merged.
- Check the issue queue for unassigned issues with no related MRs and consider picking one up to keep momentum going.
AG-UI
Activity in the AG-UI module over the last 24 hours has been limited to a single open issue with a pending fix awaiting review.
Anonymous user chat history bug
Takaya Hirose (takayahirose) filed and submitted a fix for Anonymous users lose chat history across requests. The root cause is a session timing problem in AiAssistantApiRunner::getMessageHistory(): because the TempStore owner is initialised inside the StreamedResponse callback, it executes after kernel.response has already persisted the session. This means a new core.tempstore.private.owner key is generated on every request, so anonymous users always start with a fresh TempStore identity and no conversation history is carried forward. A fix has been proposed in MR Issue 3590036: Fixed lost chat history across requests for anonymous users (134 diff lines), but it has not yet been merged. No other commits or MRs landed during this reporting period.
How can I help on this project?
- Review the open fix in Issue 3590036: Fixed lost chat history across requests for anonymous users -- test the TempStore owner initialisation timing against an anonymous session and leave feedback.
- If you can reproduce the issue locally, add a test case covering
AiAssistantApiRunner::getMessageHistory()across multiple anonymous requests to prevent regressions.
AI Content Classification
Activity on the AI Content Classification module was minimal over the last 24 hours, with no merge requests opened or commits pushed during the reporting period.
Bug Closures
The only notable status change was the closure of Error when saving new node, a bug originally reported by breidert (breidert). The issue described an AssertionError thrown in EntityStorageBase.php (line 266) when attempting to save a new node after installing the recipe -- specifically a Cannot load the "node" entity with NULL ID assertion triggered during AI tag assignment on nodes that had not yet been persisted to the database. The issue was closed without a related MR or commit appearing in the reporting window, suggesting resolution may have landed just prior to this period or was handled upstream.
How can I help on this project?
- Verify the fix for Error when saving new node by reproducing the original steps and confirming the
AssertionErrorinEntityStorageBase.phpno longer occurs on a fresh install. - Check the issue queue for unresolved bugs with no assigned contributor or open MR and consider picking one up.
References
[3] Guardrail plugins only evaluate the last message
[15] Configure AI content suggestion settings for different entity types
[21] Resolve #3579088 "Guardrail plugins only"
[25] Allow all content entity types to be used.
[53] VDB: Clearing all indexed data of search index A drops indexed data of others
[54] Issue #3579517: Fix clearing index data destroying other indexes' data
[59] Follow up #3547457. Add post update hook for max_loops_message
[62] Issues/3586024: Add post update hook.
[65] Issue #3538825: ApiExceptionSubscriber prevents ExceptionLoggingSubscriber from running
[89] Issue #3580070: Reject invalid default block configs
[96] Use draft-07 consistently in backend and frontend.
[99] Fix 2.x branch integration with AI 2.x now that Symfony Platform is integrated
[101] Ensure valid server in boost plugins
[102] [Plan] AI Search 2.0.x and roadmap to stable
[105] Resolve "Ensure valid server in boost plugins"
[106] Resolve "Ensure valid server in boost plugins 1x"
[108] Anonymous users lose chat history across requests
[109] Issue 3590036: Fixed lost chat history across requests for anonymous users.