New Features * #3543876 Extend exceptions from AiExceptionInterface * #3543584 Allow to add guardrails to agents * #3586027 Use the new ai_tools_library form element for 'Default information tools' in the agent form Tasks * #3585986 Add the possibility to turn off url whitelisting * #3583912 Minor typo in field description * #3546513 Set deprecation warnings of programmed agents Bugs * #3553458 Agents failing to determine solvability forever stuck in "started" state * #3584634 AiAgentOverrideApplier assigns NULL to typed-array $tool_settings — 3 kernel tests fail * #3583901 Missing option dependency * #3585982 AI Agent Explorer throws BadRequestHttpException when token context fields are present * #3515986 Prompt ignored in vision plugin * #3547457 Infinite AJAX request loop when the Agent is unable to resolve a job * #3586021 AiAgentManager merges config entities in __construct(), causing stale plugin definitions after ai_agent save * #3586016 "ai_agent" config entity does not handle dependencies well * #3586024 Follow up #3547457. Add post update hook for max_loops_message * #3586028 Default agent configs in config/install are outdated * #3584463 getDefaultInformationTools() should escape single quotes in token replacement values to prevent YAML parse failures * #3584132 AiAgentEntityWrapper::$aiConfiguration is not initialized * #3574181 AI Assistant to AI Agents required fields mismatch Contributors: mglaman, ajv009, marcus_johansson, akhil babu, vbouchet, gxleano, mrdalesmith, annmarysruthy, vishal choudhary, codebymikey, ashley george, m4olivei, ajits, abhisekmazumdar, joaopauloc.dev, abarrio, a.dmitriiev