Skip to content
New Features
* #3529730 Add support for string_long field type in content suggestions
* #3529802 Don't hardcode 'value' key for textual field translation
* #3528684 Add processor and field widget assist plugin system to AI Content Suggestions
* #3523336 Add AI Content Suggestions on 'Add Block' and custom 'Taxonomy Term' pages
* #3533603 Add discoverability of requests for AI Test module
* #3532873 Create alt text automator field widget
* #3531028 Make vector databases abstracted and installable for recipes - Part 2
* #3533738 Enhance description of entity reference properties with example format
* #3531134 Create Base Class for OpenAI based clients
* #3506391 Alter PreGenerateResponseEvent response
* #3507459 "Access Denied" shown when no VDB provider is available
* #3496915 Missing documentation for loadModelsForm()
* #3533133 Improve AiApiExplorer Table Content Display for Better UX
* #3535399 Stricter unserialize()
* #3535381 Create an automator that can rewrite image filenames
* #3519692 Create tools (function calls) plugin finder/browser
* #3534640 Add Field Widget Action for llm_link Automator on link_default widget
* #3534653 Field Widget Action for llm_number Automator on number widget (integer, float fields)
* #3535627 Make it possible for AI Test to catch requests and store as test files
* #3534727 Add support for groups in the widget dropdown
* #3509235 Add AI Prompt management functionality within AI core
* #3531717 Add text extractor plugins for image, file, text_with_summary and link field types
* #3534675 Field Widget Action for llm_summary Automator on text_textarea_with_summary widget

Tasks
* #3525311 Fix gitlab CI FFI issue
* #3525289 Add CI job that builds the CKEditor JS in Gitlab CI
* #3525289 Add CI job that builds the CKEditor JS in Gitlab CI
* #3479913 Move the external moderation module into AI Core
* #3529835 Add amazee.ai as an AI provider
* #3530220 Document the AI Automator Types
* #3512100 Create AI DataTypeConverter for complex data types
* #3512100 Create AI DataTypeConverter for complex data types
* #3530603 Separate Gin theme-specific styles into dedicated CSS file
* #3529313 Add `getStructuredOutput()` method to ExecutableFunctionCallInterface for returning parsed output
* #3528674 Raise minimum version to 10.4
* #3532517 Remove AiDataTypeConverterPluginManager from Base class and load via trait
* #3533075 AI Content Suggestion: Change the message when no provider is available
* #3533917 Fix the AI Search documentation link in README.md
* #3533890 Create "Try out the AI module" documentation pages
* #3535312 Tests are breaking due to phpcs updates
* #3535822 Document AI Test replay possibilities
* #3535847 Remove provider and vdb provider stubs
* #3479913 Move the external moderation module into AI Core
* #3535961 Set maxEmbeddingsInput and embeddingsVectorSize in EmbeddingsTraint and use in with default values in OpenAiBasedProviderClientBase
* #3535963 Use $this->pluginDefinition['provider'] for getConfig and getApiDefinition
* #3535044 Add basic documentation for Field Widget Action with automators
* #3534990 Add basic documentation for Field Widget Action submodule
* #3536117 Add link to ECA field widget action in documentation

Bugs
* #3526710 [Error] The Prompt is unsafe: The prompt was flagged by the moderation model. It is stopping the Search API indexation
* #3528431 Only show agent assistant form, if AI Agents 1.1.x+ is available
* #3528446 AI Automators CKEditor plugin is broken
* #3527899 sourceEditing plugin no longer gets enabled automatically in 1.1.x
* #3528404 AI Translate: controller override not triggered if installed via recipe
* #3531593 ai_content_suggestions no label on suggestions button when the configured label is an empty string
* #3504908 WSOD when saving an assistant with an invalid model
* #3532682 Spelling error in API Explorer - Chat Generation Explorer
* #3532220 Change the messenger on Automators to interface
* #3525900 Access check is making page to be uncacheable
* #3532936 The ajaxGenerate() of Translate.php does not handle taxonomy terms
* #3529089 Undefined array key "tone_prompt" in Drupal\ai_content_suggestions\Plugin\AiContentSuggestions\Tone->saveSettingsForm()
* #3512540 Remove previously implemented ContextAwarePluginInterface from FunctionCall(Interface/Base) in AI module
* #3518498 AI search indexing expects entities to be always bundles
* #3517604 Fix duplicate deep chat intro message after clearing history on front-end themes
* #3533935 Forwarding of documentation doesn't work
* #3532535 sourceEditing plugin no longer gets enabled automatically in 1.1.x - followup
* #3533339 AI Automators with CKEditor does always require selection
* #3534670 Typo in Default Information Tools example code
* #3511090 PHP Error: Null check needed in RuleBase::getProvider() when no default provider is configured
* #3534436 AI search tests should check if CommonMarkConverter is present
* #3534827 When Field Widget worker is selected, Direct also fires (?)
* #3535810 Fix phpunit tests for Max Version

Support Requests
* #3530912 Add Docker Model Runner provider to AI providers list in documentation

Contributors:
scott_euser, gxleano, marcus_johansson, breidert, kevinquillen, mrdalesmith, prashant.c, annmarysruthy, arthur_lorenz, dan2k3k4, matthews, svendecabooter, sarvjeetsingh, anjaliprasannan, valthebald, apmsooner, leo pitt, davidlfg, michaellander, andrewbelcher, narendrar, arisha, emacoti, efpapado, a.dmitriiev, akhil babu, bisonbleu, kristen pol, prabha1997, sundflux, arkener, rajab natshah, jan kellermann, emma horrell, rszrama, g.rocchini, doxigo, adwivedi008, ankitsingh0188, shalini_jha, sayyedhali, lukasfischer, yautja_cetanu, jurgenhaas, lussoluca, sijumpk, arwillame