Skip to main content
Version: Latest

Version 3.0.0 Release Notes

This page highlights the changes in the 3.0.0 line.

Breaking Changes

Resource Module

  • The crestapps-bootstrap-select style and script have been removed from the Resource module. Instead you should use the bootstrap-select style and script which are registered by Orchard Core.

Omnichannel Management

  • The OmnichannelContentTypeProvider service is now registered as scoped instead of singleton, and its public query methods are now asynchronous and return ValueTask. 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 simply await the query methods. OmnichannelContentTypeProvider no longer implements IContentDefinitionEventHandler; 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.Antivirus feature adds ClamAV virus scanning to all AI document uploads with no additional code.
  • Rejections are fail-closed and logged at Warning level.

See AI Documents for details.