New Features * #3456973 AI integration for Views bulk operations * #3577469 Add possibility to record video of functional testing and to run all functional testing on tags * #3575594 Add css to make the mdxeditor slightly taller * #3579424 The tool category should fixed on Tool Library modal * #3582575 Add agent skill and drush generator for Guardrail plugins * #3582856 Add Input Length Limit guardrail plugin against DoW attacks * #3574519 Fix the tag-release to work on linux * #3584849 Allow InputInterface to hold and run multiple guardrail sets * #3582572 Add agent skill and drush generator for Automator Type plugins * #3582819 Add agent skill for creating new AI API Explorer plugins * #3582766 Create a skill that scaffolds new operation types for the AI module * #3582573 Add agent skill and drush generator for Field Widget Action plugins * #3582571 Add agent skill and drush generator for AI Provider plugins * #3581363 Add drupal:mdx-fill event support to MDX editor for external content injection * #3492940 Add ChatProcessor * #3584851 Add global guardrails setting applied to every AI request * #3540608 Special characters or trailing spaces are HTML-encoded in AI CKEditor selected text preview Tasks * #3578789 Release 1.3.0, and fix cspell * #3582170 Remove unnecessary 'my-classname' from MDXEditor app * #3577790 Add validation to regex guardrail configuration * #3582577 Remove duplicate entries from .cspell-project-words.txt * #3582585 Mock provider request matching breaks when new keys are added to input toArray() * #3566924 Add AI core release managers to MAINTAINERS.txt * #3572378 Fix Markdown for Communicating Releases * #3491351 Add schema validation tests ai.settings * #3582359 Fix broken links, dead nav entries, duplicate YAML keys, and orphaned pages in documentation * #3582361 Add documentation for the Tools Library form element * #3545551 Put documentation through AI to check for grammar * #3583725 Move the FJS skill and prepare for codex, claude etc. in gitignore * #3577970 Dispatch JS event when DeepChat completes agent calls * #3582366 Add documentation for PromptJsonDecoder and PromptCodeBlockExtractor services * #3581662 Add cshs widget support to ClassificationOptionsSelect FieldWidgetAction * #3582367 Add documentation for the Guardrails system * #3582363 Add documentation for the Tokenizer service * #3579480 Add CI job to validate MkDocs documentation formatting * #3582364 Add documentation for the Text Chunker service * #3542552 Allow link in allowedTypes * #3584415 Update full_patch_test docs for 1.3.x: cover guardrails and field widget actions * #3584421 Add OverridableFunctionCallInterface to support per-instance context definition overrides on function call plugins * #3582530 Update Documentation to Remove Vector Search Infrastructure and Move it under the AI Infrastructure Umbrella * #3582030 runAsAgent: Stable IDs Across Conversation Turns Bugs * #3580767 Use UTF-8 safe functions when summarizing request messages * #3581223 Change MimeTypeGuesser to core/lib/Drupal/Core/File/MimeType/MimeTypeGuesser.php * #3561693 Conflict with Canvas and Rename filename Automator * #3579967 StreamedChatMessageIterator buffer corrupts HTML when consuming streamed responses server-side (relative URLs split mid-attribute) * #3581842 AI Ckeditor test broken with Drupal 11.4 * #3579608 JS libraries need to state dependency on core/drupal library * #3575543 chat_tools always empty in AI log * #3571573 ImageAltText: "Edit when changed" doesn't overwrite existing alt text * #3574795 Fix premature return in RuleBase::decodeValueArray() * #3574811 ImageAltText field widget action fails in media library add form * #3541483 Unable to change assistant model, when current not available * #3582605 filter-functionaljavascript-tests.sh fails on none numbered branches * #3570159 Error 404 when trying to access ‘Submodules > AI Logging’ * #3574181 Client Challenge * #3577813 AI Chatbot block crashes entire site when placed without configured AI Assistant entity * #3555856 AI Chatbot blocks fail to render: Uninitialized $userMessage property in AiAssistantApiRunner * #3578846 AiGuardrailSet does not declare config dependencies on its referenced guardrails * #3583705 AiProviderConfiguration form element doesn't work in nested forms with subform states * #3583785 Fix: Guardrail and Guardrail Set config entities have incomplete config schema * #3547797 AI Assistant CKEditor button has regressed * #3574611 Forms are broken when automators or FWA are not configurable * #3582074 AssertionError: Cannot load the "key" entity with NULL ID * #3579079 Restrict Topic guardrail silently bypassed due to case-sensitive topic matching * #3573429 Processing automators does not catch all errors * #3584344 The handleApiException signature change from Exception to Throwable breaks downstream providers (e.g. Anthropic) that override this method. * #3578417 AI Automators uninstall leaves ai_automator_status field and related configuration behind * #3575592 Tools Explorer: force_value limit is only the first character * #3508503 Automators: "Edit when changed" ignored in "Advanced Mode (Token)" * #3577216 TypeError in AgentRunner::runAsAgent() when agent solve() returns null * #3570160 Error 404 when trying to access the link in Security issues fixed in the Changelog section. * #3586385 AgentRunner.php needs to set configuration Planning * #3560199 Apply proposed AI ecosystem hierarchy and naming conventions to the AI Overview page * #3456768 Interface suggestion for text classification operator type Contributors: breidert, a.dmitriiev, marcus_johansson, afoster, emma horrell, erichomanchuk, ahmad khader, scott_euser, heyyo, arianraeesi, ferran_bosch, ajv009, cadence96, jesus_md, increweb21, abhisekmazumdar, petar_basic, harivansh, fago, segovia94, mediabounds, scontzen, nickolaj, robloach, chewi3, scott falconer, credevator, littlepixiez, jibran, joshua1234511, bbruno, b_sharpe, hestenet, hrishikesh-dalal, kristen pol, dan2k3k4, bircher, shubham.prakash, jatingupta40, annmarysruthy, nikro, avinash.jha, ronraney, sirclickalot, kelly.m.jacobs, divya.sejekan, tushar1, brtamas, dany.almeida.kairouz, shivamsen_12579, merilainen, rob_e, ragnarkurm, mrdalesmith, ydahi, prashant.c, sijumpk, saidatom, abhinesh, bharat.kelotra, guido_s, brunaemerich, joaopauloc.dev, lussoluca, tolstoydotcom, unqunq, gxleano, anaconda777, svendecabooter, valthebald