[Dashboard] Added Database Notifications Summary widget to the Cluster Dashboard
Server
[AI] Abstracted AI error handling and refactored ChatCompletionClient settings
[AI] Added ability to pass agent parameters to GenAI tasks
[AI] Added support for tracing and expiration in GenAI execution
[AI] Added validation for mandatory fields in GenAI configuration
[AI] Added validation on message JSON form and debug info in ChatCompletionClient
[AI] Added validation to ChunkingOptions in EmbeddingsGenerationConfiguration
[AI] Added validation to EmbeddingsTransformation
[AI] Changed AI usage token counts to use long to prevent integer overflow
[AI] Enriched HttpOperationException with response content for Embedding Generations failures
[AI] Fixed comparison logic for Embeddings Generation configuration
[AI] Fixed failure in "Generate context objects" step for GenAI Tasks
[AI] Fixed GenAI expiration update
[AI] Fixed NullReferenceException in GenAI when a document is deleted between model call and update
[AI] Handled Azure OpenAI refusal format
[AI Agents] Added support for Artificial Actions and Responses
[AI Agents] Added support for disabling AI Agents
[AI Agents] Included the full query in the "Exceeded Token Threshold" alert
[Backup/Restore] Ignore license validation for disabled features when restoring a database
[Backup/Restore] Restore fails on ongoing tasks that are unsupported by the license instead of disabling them
[Cluster] Reintroduced HardResetToPassive method to be available in Admin JS console
[Cluster] Retrieve database names from the cluster storage instead of the online databases cache
[Cluster] Skipped rehab checks when deleting the entire database
[Compare Exchange] Return index 0 when deleting a non-existent compare exchange
[Configuration] Added new configuration options for HTTP/2: Http.Http2.Profile, Http.Http2.LatencyHint and expert option to configure windows and frame sizes
[Corax] Adjusted memoization match retrieval to evaluate the Fill method first
[Corax] Applied Min instead of Sum for duplicates in MultiVectorSearch query distance calculation
[Corax] Ensured container IDs and entry IDs cannot be mixed
[Corax] Improved exception message in IndexEntryBuilder for invalid vector operations
[Corax] Set the maximum number of OrderBy statements to 16
[Corax] VectorSearch results are now sorted and deduplicated in SortingMatch
[Dashboard] Clarified that syscr and syscw represent the number of read/write syscalls, not IOPS, in Thread Info
[Database] Fixed the calculation of additional database idle time
[ETL] Added license validation for Snowflake ETL
[ETL] Fixed SqlException when using dots in field names defined in an ETL script
[Import/Export] Fixed enum overflow causing import/export to ignore unchecked items
[Indexing] Added configuration to force the use of the default search analyzer for dynamic fields
[Indexing] Added support for optional chaining and template literals in JS indexes and queries
[Indexing] Fixed index type assignment for test indexes
[Indexing] Fixed regression issue with missing pointer update in optimized index reference processing for MultiTree in the storage
[Querying] Fixed NullReferenceException when handling null values in queries with loads
[Replication] Fixed handling of silent connection drops in Pull Replication Sink
[Replication] Throwing exceptions on attempt to use forbidden methods in conflict resolution script
[Revisions] Fixed revisions count calculation after restoring an incremental backup
[Security] Fixed AccessViolationException on encrypted database queries by clearing the loaded documents cache during pulsed transactions