Version 3.0.0 Release Notes
This page highlights the changes in the 3.0.0 line.
Breaking Changes
Resource Module
- The
crestapps-bootstrap-selectstyle and script have been removed from theResourcemodule. Instead you should use thebootstrap-selectstyle and script which are registered by Orchard Core.
Omnichannel Management
-
The
OmnichannelContentTypeProviderservice is now registered as scoped instead of singleton, and its public query methods are now asynchronous and returnValueTask. Update any callers accordingly:Old (synchronous) New (asynchronous) bool IsSubjectContentType(string contentType)ValueTask<bool> IsSubjectContentTypeAsync(string contentType)bool IsContactContentType(string contentType)ValueTask<bool> IsContactContentTypeAsync(string contentType)IReadOnlyCollection<string> GetSubjectContentTypes()ValueTask<IReadOnlyCollection<string>> GetSubjectContentTypesAsync()IReadOnlyCollection<string> GetContactContentType()ValueTask<IReadOnlyCollection<string>> GetContactContentTypesAsync()The provider now caches its membership sets in a per-tenant
IMemoryCache, so the initialization is handled internally and callers should simplyawaitthe query methods.OmnichannelContentTypeProviderno longer implementsIContentDefinitionEventHandler; cache invalidation on content definition changes is handled by a separate internal handler.
Change Logs
Omnichannel Management
Contacts menu in the Interaction Center
The Interaction Center admin menu now includes a Contacts item. It opens the standard Orchard Core content list restricted to the Omnichannel contact content types by passing every content type that attaches OmnichannelContactPart as a comma-separated contentTypeId to the content List action. The contact types come from the cached content-type provider, so the menu stays in sync as the part is attached or detached. The item is guarded by the List content permission.
See Omnichannel Management for details.
AI Documents
File upload security scanning through Orchard Core
The AI Documents module now routes every uploaded file through Orchard Core's shared FileCreationService pre-storage pipeline before the file is stored or processed.
Highlights:
- Uploads from chat interactions, profiles, chat sessions, and widgets are scanned before storage.
- Enabling the
OrchardCore.Antivirusfeature adds ClamAV virus scanning to all AI document uploads with no additional code. - Rejections are fail-closed and logged at
Warninglevel.
See AI Documents for details.