1.2.0-beta1

Michael Lander
2025-09-23T15:48:44+00:00

New Features
* #3537084 Update drush ai:translate-entity command to accept multiple ids
* #3542498 Provide an exception interface all exceptions implement
* #3531212 Create Image-To-Image operation type
* #3541284 Pass AI token usage data to the events
* #3525127 Make it possible to take the input as an interactive prompt
* #3525296 Add optional RAW vectors in RAG results
* #3540682 Simplify AI Event classes by using base classes
* #3528948 Add chat_history form element
* #3534716 Add a common method for suggestions in Field Widget Actions
* #3528549 Allow tool calling in streamed chat
* #3544954 Allow ContextDefinitionNormalizer::normalize properties to be hook/altered.
* #3525303 Create Plugin Action for Recipes to check for installed default provider
* #3528730 Create ShortTermMemoryPlugin

Tasks
* #3541471 Add finished reason to stream iterator
* #3541473 Add token usage to OpenAiProviderClientBase
* #3541470 Remove canChatStream
* #3538027 Support Fibers for collaborative multitasking on LLM io waiting
* #3544143 Add input, tags, provider id and model id to the stream
* #3491446 Solr 'boost' of results should find results that are not found by traditional Solr search
* #3488376 Create unit tests for the PromptCodeBlockExtractor
* #3546175 Implement error handling when the backend search is not available
* #3546653 Document the polling service in AI Agents
* #3539032 Consider implementing \Drupal\search_api\Backend\BackendSpecificInterface
* #3503947 Deprecate internal ECA-module in the AI module
* #3531279 Provide updated UI for AI Chatbot module

Bugs
* #3541933 Undefined array key "button_label" when configuring automator_text on form display
* #3541472 Return streamed message on the OpenAiBasedProviderClientBase
* #3542944 Wrong permission for ai.settings.menu route
* #3541931 Missing field_types and widget_types in automator_text field widget action
* #3545602 SetChatTokeUsage should only run when then response is not streamed in OpenAiBasedProviderClientBase
* #3545134 foreach in ToolsPropertyInput::renderPropertyArray unintentionally overrides $property
* #3541304 Unable to view a log entry
* #3525319 CKEditor Plugin Base Throws LogicException on Acquia Cloud
* #3546387 AI API Explorer outputs a wrong code snippet for structured output
* #3544949 Missing 'multiple' handling in ContextDefinitionNormalizer::normalize
* #3543253 Chatbot first message should be translatable
* #3541562 AiDataTypeConverters incorrectly handling multi value Contexts
* #3544206 AI Search tests is failing on next minor
* #3537126 Form validation missing for Vector Database Provider when creating Search API server with AI Search backend
* #3544206 AI Search tests is failing on next minor
* #3546646 Remove Group PHPunit attribute from test
* #3525540 Error: Call to a member function newInstance() with ActionPluginDeriver
* #3544206 AI Search tests is failing on next minor
* #3546744 RagTool uses chunks results only but in results set the id for full entity is used
* #3530683 Toolbar in ckeditor disappears when no plugins are selected in ai assistant.
* #3547369 Tool function input should be object when no parameters are passed
* #3542368 Reinstate PHP 8.1 tests (previous major) and check for any breaking code
* #3544189 AI Translate: LbFieldExtractor adds translations with default values for empty fields.
* #3541580 JsonDeserializer and YamlDeserializer incorrectly checking data type
* #3546590 Combination of 'Suggest taxonomy terms' and 'Use source vocabulary' does not use configured prompt

Contributors:
brunodbo, sijumpk, a.dmitriiev, marcus_johansson, gxleano, andrewbelcher, yautja_cetanu, kristen pol, claudiu.cristea, divyansh.gupta, ralkeon, anjaliprasannan, valthebald, b_sharpe, mglaman, d34dman, danharper, prashant.c, dan2k3k4, murz, svendecabooter, ishani patel, robloach, abhinesh, annmarysruthy, catia_penas, abhisekmazumdar, nikro, jofitz, scott_euser, jurgenhaas, michaellander, mandclu, jhedstrom, saxenaakansha30, koppie, damienmckenna, ambuj_gupta, seogow, nnevill, littlepixiez, mjb3141, spec0, mrdalesmith, j-barnes, lakhal, keiserjb, norbert-goco, merilainen, himanshu5050, ronraney, thejimbirch, codebymikey, narendrar, divya.sejekan, sarvjeetsingh, roshanibhangale, nireneko, danrod, kim.pepper, lpeabody, anmolgoyal74, lammensj, yannickoo, bbruno, breidert, akhil babu