> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superoffice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What's new in SuperOffice 11.2

> Release notes. What's new in SuperOffice 11.2

# API changes

Changes from v11.1.447 to v11.2.664.0.

## Web services

These changes are observed in both NetServer SOAP and WebAPI (REST) APIs.

### Assembly: SuperOffice.Services

### New types

* `SuperOffice.CRM.Services.RagAnswer`
* `SuperOffice.CRM.Services.RagResult`
* `SuperOffice.CRM.Services.TableManager`
* `SuperOffice.CRM.Services.WorkflowStepDistributeToOwner`

### Modified types

#### SuperOffice.CRM.Services.IAIAgent is Modified

* New items
  * Method `AnswerAcceptedAsync(String, CancellationToken)`
  * Method `AnswerAsync(String, String, RagType, Int32, CancellationToken)`
  * Method `AnswerFeedbackAsync(String, Boolean, CancellationToken)`
  * Method `SearchAsync(String, String, RagType, Int32, CancellationToken)`
  * Method `StartRagIndexingAsync(String, String, CancellationToken)`

#### SuperOffice.CRM.Services.IContactAgent is Modified

* New items
  * Method `EnrichContactEntityAsync(ContactEntity, String, CancellationToken)`
  * Method `GetPreviewEnrichContactAsync(String, CancellationToken)`

#### SuperOffice.CRM.Services.IDiagnosticsAgent is Modified

* New items
  * Method `GetNextTableNumberAsync(CancellationToken)`

### Assembly: SuperOffice.Services.Implementation

### Deleted types

* `SuperOffice.CRM.Services.Implementation.BL.Contracts.ITimeZoneDataImplementation`

### New types

* `SuperOffice.CRM.Services.Implementation.BL.Contracts.IRagAnswerImplementation`
* `SuperOffice.CRM.Services.Implementation.BL.Contracts.IRagResultImplementation`
* `SuperOffice.CRM.Services.Implementation.BL.Contracts.ITableManagerImplementation`
* `SuperOffice.CRM.Services.Implementation.BL.RagAnswerImplementation`
* `SuperOffice.CRM.Services.Implementation.BL.RagResultImplementation`

### Modified types

#### SuperOffice.CRM.Services.AIAgent is Modified

* Deleted items
  * Method `AIAgent(ITextServicesImplementation, ICategorizationStatusResponseImplementation, ICategoryGuessImplementation, IChatbotTurnImplementation, ISentimentImplementation, ISummarizerImplementation, ISoRequestItemsAccessor)`
  * Method `AIAgent(ITextServicesImplementation, ICategorizationStatusResponseImplementation, ICategoryGuessImplementation, IChatbotTurnImplementation, ISentimentImplementation, ISummarizerImplementation, ISoRequestItemsAccessor, IDebugUser, IServiceCallsRepository)`
* New items
  * Method `AIAgent(ITextServicesImplementation, ICategorizationStatusResponseImplementation, ICategoryGuessImplementation, IChatbotTurnImplementation, ISentimentImplementation, IRagAnswerImplementation, IRagResultImplementation, ISummarizerImplementation, ISoRequestItemsAccessor)`
  * Method `AIAgent(ITextServicesImplementation, ICategorizationStatusResponseImplementation, ICategoryGuessImplementation, IChatbotTurnImplementation, ISentimentImplementation, IRagAnswerImplementation, IRagResultImplementation, ISummarizerImplementation, ISoRequestItemsAccessor, IDebugUser, IServiceCallsRepository)`
  * Method `AnswerAcceptedAsync(String, CancellationToken)`
  * Method `AnswerAsync(String, String, RagType, Int32, CancellationToken)`
  * Method `AnswerFeedbackAsync(String, Boolean, CancellationToken)`
  * Method `SearchAsync(String, String, RagType, Int32, CancellationToken)`
  * Method `StartRagIndexingAsync(String, String, CancellationToken)`

#### SuperOffice.CRM.Services.ContactAgent is Modified

* New items
  * Method `EnrichContactEntityAsync(ContactEntity, String, CancellationToken)`
  * Method `GetPreviewEnrichContactAsync(String, CancellationToken)`

#### SuperOffice.CRM.Services.DiagnosticsAgent is Modified

* Deleted items
  * Method `DiagnosticsAgent(ICacheImplementation, ICacheInvalidationImplementation, IEntityCountsImplementation, ILoggingImplementation, IUsageStatsImplementation, ISystemMessageListImplementation, IInstallationImplementation, IWebAppUsageImplementation, ISoRequestItemsAccessor)`
  * Method `DiagnosticsAgent(ICacheImplementation, ICacheInvalidationImplementation, IEntityCountsImplementation, ILoggingImplementation, IUsageStatsImplementation, ISystemMessageListImplementation, IInstallationImplementation, IWebAppUsageImplementation, ISoRequestItemsAccessor, IDebugUser, IServiceCallsRepository)`
* New items
  * Method `DiagnosticsAgent(ICacheImplementation, ICacheInvalidationImplementation, IEntityCountsImplementation, ILoggingImplementation, IUsageStatsImplementation, ISystemMessageListImplementation, ITableManagerImplementation, IInstallationImplementation, IWebAppUsageImplementation, ISoRequestItemsAccessor)`
  * Method `DiagnosticsAgent(ICacheImplementation, ICacheInvalidationImplementation, IEntityCountsImplementation, ILoggingImplementation, IUsageStatsImplementation, ISystemMessageListImplementation, ITableManagerImplementation, IInstallationImplementation, IWebAppUsageImplementation, ISoRequestItemsAccessor, IDebugUser, IServiceCallsRepository)`
  * Method `GetNextTableNumberAsync(CancellationToken)`

#### SuperOffice.CRM.Services.Implementation.BL.Contracts.IContactEntityImplementation is Modified

* New items
  * Method `EnrichContactEntityAsync(ContactEntity, String, CancellationToken)`

#### SuperOffice.CRM.Services.Implementation.BL.Contracts.IPreviewContactImplementation is Modified

* New items
  * Method `GetPreviewEnrichContactAsync(String, CancellationToken)`

#### SuperOffice.CRM.Services.Implementation.BL.PreviewContactImplementation is Modified

* New items
  * Method `GetPreviewEnrichContactAsync(String, CancellationToken)`

## NetServer core

The following represent changes to assemblies SoCore, SoDatabase, SoLicense and SuperOffice.Plugins.

### Assembly: SoCore

### New types

* `Microsoft.Extensions.DependencyInjection.IgnoreNetServerValidateAttribute`
* `SuperOffice.Data.RagSchedule`
* `SuperOffice.Data.RagType`
* `SuperOffice.Diagnostics.AggregatedServiceCall`

### Modified types

#### Microsoft.Extensions.DependencyInjection.NetServerServiceCollectionExtensions is Modified

* New items
  * Method `ValidateNetServerTypes(IServiceCollection)`

#### .StringExtensions is Modified

* New items
  * Method `IsHtml(String)`

#### SuperOffice.Configuration.VersionPropertyNames is Modified

* New items
  * Field `AggregateApisInSnapshot`

#### SuperOffice.CRM.UserPreferenceStrings is Modified

* New items

##### SuperOffice.CRM.UserPreferenceStrings.Copilot is New

#### SuperOffice.Data.WorkflowStepType is Modified

* New items
  * Field `DistributeToOwner`

#### SuperOffice.Diagnostics.IServiceCallsRepository is Modified

* Deleted items
  * Property `All`
* New items
  * Property `ActiveServiceCalls`
  * Method `GetAggregatedServiceCalls(String)`

#### SuperOffice.Exceptions.ExceptionHelper is Modified

* New items
  * Method `DeepMessageStack(Exception, String)`

#### SuperOffice.Globalization.RC is Modified

* New items
  * Field `SR_BOARD_LANE_NO_PROJECT_STATUS`
  * Field `SR_BOARD_LANE_NO_SALE_LINK`
  * Field `SR_BOARD_PROJECT_NO_END_DATE`
  * Field `SR_CRITERION_PREV_MONTH`
  * Field `SR_CRITERION_PREV_WEEK`
  * Field `SR_NOTIFY_NEW_COMPANY_FROM`
  * Field `SR_NOTIFY_NEW_CONTACT_FROM`
  * Field `SR_NOTIFY_SETTINGS_ASSIGNMENT_HEADING`
  * Field `SR_NOTIFY_SETTINGS_notifyContactOwnership`
  * Field `SR_PD_Copilot_allowWebAccess_DESC`
  * Field `SR_PD_Copilot_allowWebAccess_NAME`
  * Field `SR_PD_Copilot_autoGenerateReply_DESC`
  * Field `SR_PD_Copilot_autoGenerateReply_NAME`
  * Field `SR_PD_Copilot_DESC`
  * Field `SR_PD_Copilot_NAME`
  * Field `SR_PD_Copilot_showAiReplyTool_DESC`
  * Field `SR_PD_Copilot_showAiReplyTool_NAME`
  * Field `SR_TICKET_REPLY_TEMPLATES_SERVICE_COPILOT`
  * Field `SR_TICKET_REPLY_TEMPLATES_SERVICE_COPILOT_GENERATE_REPLY`
  * Field `SR_TICKET_REPLY_TEMPLATES_SERVICE_COPILOT_SELECT_ACTION`
  * Field `SR_TICKET_REPLY_TOOLS_NO_SUGGESTIONS`
  * Field `SR_TICKET_REPLY_TOOLS_SUGGESTED`
  * Field `SR_WORKFLOWSTEP_INVALID_MISSING_ASSOCIATES`
  * Field `SR_WORKFLOWSTEP_INVALID_MISSING_DEFAULT_ASSOCIATES`
  * Field `SR_WORKFLOWSTEP_INVALID_MISSING_USER_GROUPS_AND_ASSOCIATES`
  * Field `SR_WORKFLOWSTEPTYPE_DISTRIBUTE_TO_OWNER`

#### SuperOffice.Security.Principal.ISoTimeZone is Modified

* Deleted items
  * Property `IsSet`

#### SuperOffice.Security.Principal.SoTimeZone is Modified

* Deleted items
  * Property `IsSet`

#### SuperOffice.Util.HttpHelper is Modified

* Modified items

##### SuperOffice.Util.HttpHelper.HttpServiceJwtConfig is Modified

* New items
  * Property `.HttpServiceJwtConfigRagAI`

### Assembly: SoDatabase

### Modified types

#### SuperOffice.CRM.Rows.RowValidator is Modified

* New items
  * Method `ValidateField(RagSchedule&, FieldInfo)`
  * Method `ValidateField(RagType&, FieldInfo)`

#### SuperOffice.Data.SystemEventHelper is Modified

* New items
  * Field `ChangeDbModelEventName`

### Assembly: SoDatabase.BusinessLogic

### New types

* `SuperOffice.CRM.AI.RAGAnswer`
* `SuperOffice.CRM.AI.RAGResult`
* `SuperOffice.CRM.Lists.EnrichContactProvider`
* `SuperOffice.CRM.Workflow.DistributeToOwnerSettings`
* `SuperOffice.CRM.Workflow.WorkflowStepDistributeToOwner`
* `SuperOffice.Util.RagAIConfiguration`
* `SuperOffice.Util.RagAIHelper`

### Modified types

#### SuperOffice.CRM.ArchiveLists.ContactExtenderBase is Modified

* New items
  * Property `TicketPriority`

#### SuperOffice.CRM.ArchiveLists.DynamicContactExtender is Modified

#### SuperOffice.CRM.ArchiveLists.DynamicPersonExtender is Modified

#### SuperOffice.CRM.ArchiveLists.PersonExtenderBase is Modified

* New items
  * Property `TicketPriority`

#### SuperOffice.CRM.ArchiveLists.TicketExtenderBase is Modified

#### SuperOffice.CRM.TicketMessage.TicketMessageHelper is Modified

* New items
  * Method `GetQuotedMessageContentAsync(Int32, Int32, CancellationToken)`

#### SuperOffice.Data.Cache.CacheFlusher is Modified

* Deleted items
  * Method `CacheFlusher(ILogger<CacheFlusher>, ISoListProviderFactory, IServiceProvider)`
* New items
  * Method `CacheFlusher(ILogger<CacheFlusher>, IServiceProvider)`

## Continuous database

The following represent changes to SuperOffice database schema.

### Assembly: SuperOffice.CD.DSL.Database

### New types

* `SuperOffice.CD.Database.RagSchedule`
* `SuperOffice.CD.Database.RagType`

### Modified types

#### SuperOffice.CD.Database.WorkflowStepType is Modified

* New items
  * Field `DistributeToOwner`

## Assembly: SuperOffice.WebApi

### New types

* `SuperOffice.WebApi.Data.AI_AnswerAcceptedRequest`
* `SuperOffice.WebApi.Data.AI_AnswerFeedbackRequest`
* `SuperOffice.WebApi.Data.AI_AnswerRequest`
* `SuperOffice.WebApi.Data.AI_SearchRequest`
* `SuperOffice.WebApi.Data.AI_StartRagIndexingRequest`
* `SuperOffice.WebApi.Data.Contact_EnrichContactEntityRequest`
* `SuperOffice.WebApi.Data.Contact_GetPreviewEnrichContactRequest`
* `SuperOffice.WebApi.Data.Diagnostics_GetNextTableNumberRequest`
* `SuperOffice.WebApi.Data.RagAnswer`
* `SuperOffice.WebApi.Data.RagResult`
* `SuperOffice.WebApi.Data.RagType`
* `SuperOffice.WebApi.Data.TableManager`
* `SuperOffice.WebApi.Data.WorkflowStepDistributeToOwner`

### Modified types

#### SuperOffice.WebApi.Agents.AIAgent is Modified

* New items
  * Method `AnswerAcceptedAsync(String, RequestOptions)`
  * Method `AnswerAsync(String, String, RagType, Int32, RequestOptions)`
  * Method `AnswerFeedbackAsync(String, Boolean, RequestOptions)`
  * Method `SearchAsync(String, String, RagType, Int32, RequestOptions)`
  * Method `StartRagIndexingAsync(String, String, RequestOptions)`

#### SuperOffice.WebApi.Agents.ContactAgent is Modified

* New items
  * Method `EnrichContactEntityAsync(ContactEntity, String, RequestOptions)`
  * Method `GetPreviewEnrichContactAsync(String, RequestOptions)`

#### SuperOffice.WebApi.Agents.DiagnosticsAgent is Modified

* New items
  * Method `GetNextTableNumberAsync(RequestOptions)`

#### SuperOffice.WebApi.Agents.IAIAgent is Modified

* New items
  * Method `AnswerAcceptedAsync(String, RequestOptions)`
  * Method `AnswerAsync(String, String, RagType, Int32, RequestOptions)`
  * Method `AnswerFeedbackAsync(String, Boolean, RequestOptions)`
  * Method `SearchAsync(String, String, RagType, Int32, RequestOptions)`
  * Method `StartRagIndexingAsync(String, String, RequestOptions)`

#### SuperOffice.WebApi.Agents.IContactAgent is Modified

* New items
  * Method `EnrichContactEntityAsync(ContactEntity, String, RequestOptions)`
  * Method `GetPreviewEnrichContactAsync(String, RequestOptions)`

#### SuperOffice.WebApi.Agents.IDiagnosticsAgent is Modified

* New items
  * Method `GetNextTableNumberAsync(RequestOptions)`

#### SuperOffice.WebApi.Data.UserPreferenceStrings is Modified

* New items

##### SuperOffice.WebApi.Data.UserPreferenceStrings.Copilot is New

#### SuperOffice.WebApi.Data.WorkflowStepBase is Modified

#### SuperOffice.WebApi.Data.WorkflowStepType is Modified

* New items
  * Field `DistributeToOwner`
