After reviewing our API design and deprecations post M7, we determined that several significant changes would become breaking changes in an RC1 release. Therefore, we've introduced this additional milestone to provide developers with a transitional release where deprecated APIs coexist alongside their replacements, enabling a smoother upgrade experience before RC1.
You can automate the upgrade process to 1.0.0-M8 using an OpenRewrite recipe. This recipe helps apply many of the necessary code changes for this version. Find the recipe and usage instructions at Arconia Spring AI Migrations.
New Features
Chat Memory Enhancements
Enhanced Chat Memory Architecture
Improved ChatMemory API for more flexible conversation history management
New ChatMemoryRepository interface allows different storage strategies
Added MessageWindowChatMemory for maintaining a window of messages
Improved property naming for consistency across implementations
The ChatClient has been updated to ensure user and system prompts are always rendered before advisor execution. This change replaces the AdvisedRequest and AdvisedResponse APIs with ChatClientRequest and ChatClientResponse.
Classes and methods related to prompt creation and advisor customization are deprecated in favor of the builder pattern and the TemplateRenderer interface.
The DocumentPostProcessor API replaces deprecated APIs like DocumentCompressor, DocumentRanker, and DocumentSelector.
Chat Memory Deprecations:
@Deprecated List<Message> get(String conversationId, int lastN); is deprecated in ChatMemory.
Contributors
There were other refactoring, bug fixing, documentation enhancements across the board by a wide range of contributors. If we haven't gotten to your PR yet, we will, please be patient. Thanks to