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