src/docs/releases/1.5.0.md
Release date: October 2022
This release contains security vulnerability fixes. It is recommended you update your existing Orchard Core deployments with this version.
The OrchardCore_Media_AmazonS3 config section was changed: RegionEndpoint was renamed to Region and extracted from Credentials section to the root section of OrchardCore_Media_AmazonS3, AccessKeyId was renamed to AccessKey, ProfileName was renamed to Profile. See this pull request for details.
Lucene breaking changes. See this pull request for details.
ISearchQueryService moved to OrchardCore.Search.Lucene.Abstractions module as ILuceneSearchQueryService. The OrchardCore.Search module now takes into consideration multiple search provider implementations.
Manual migration to get back Lucene Indices Settings, Deployment plans, and Queries. (Reference only)
UPDATE Document SET Content = REPLACE(content, '\"$type\":\"OrchardCore.Lucene.Deployment.LuceneIndexDeploymentStep, OrchardCore.Lucene\"', '\"$type\":\"OrchardCore.Search.Lucene.Deployment.LuceneIndexDeploymentStep, OrchardCore.Search.Lucene\"')
WHERE [Type] = 'OrchardCore.Deployment.DeploymentPlan, OrchardCore.Deployment.Abstractions'
UPDATE Document SET Content = REPLACE(content, '\"$type\":\"OrchardCore.Lucene.Deployment.LuceneSettingsDeploymentStep, OrchardCore.Lucene\"', '\"$type\":\"OrchardCore.Search.Lucene.Deployment.LuceneSettingsDeploymentStep, OrchardCore.Search.Lucene\"')
WHERE [Type] = 'OrchardCore.Deployment.DeploymentPlan, OrchardCore.Deployment.Abstractions'
UPDATE Document SET Content = REPLACE(content, '\"$type\":\"OrchardCore.Lucene.Deployment.LuceneIndexResetDeploymentStep, OrchardCore.Lucene\"', '\"$type\":\"OrchardCore.Search.Lucene.Deployment.LuceneIndexResetDeploymentStep, OrchardCore.Search.Lucene\"')
WHERE [Type] = 'OrchardCore.Deployment.DeploymentPlan, OrchardCore.Deployment.Abstractions'
UPDATE Document SET Content = REPLACE(content, '\"$type\":\"OrchardCore.Lucene.Deployment.LuceneIndexRebuildDeploymentStep, OrchardCore.Lucene\"', '\"$type\":\"OrchardCore.Search.Lucene.Deployment.LuceneIndexRebuildDeploymentStep, OrchardCore.Search.Lucene\"')
WHERE [Type] = 'OrchardCore.Deployment.DeploymentPlan, OrchardCore.Deployment.Abstractions'
UPDATE Document SET Content = REPLACE(content, '"$type":"OrchardCore.Lucene.LuceneQuery, OrchardCore.Lucene"', '"$type":"OrchardCore.Search.Lucene.LuceneQuery, OrchardCore.Search.Lucene"')
WHERE [Type] = 'OrchardCore.Queries.Services.QueriesDocument, OrchardCore.Queries'
UPDATE Document SET [Type] = 'OrchardCore.Search.Lucene.Model.LuceneIndexSettingsDocument, OrchardCore.Search.Lucene'
WHERE [Type] = 'OrchardCore.Lucene.Model.LuceneIndexSettingsDocument, OrchardCore.Lucene'
The module was renamed from OrchardCore.Lucene to OrchardCore.Search.Lucene. Update your recipe files and dependency declarations in extension manifests.
| Constant | Before | after |
|---|---|---|
| DisplayTextKey | Content.ContentItem.DisplayText | Content.ContentItem.DisplayText.keyword |
| ContainedPartKey + IdsKey (new) | Content.ContentItem.ContainedPart.ListContentItemId | Content.ContentItem.ContainedPart.Ids |
You can now access the term ids of a taxonomy field by using "{ContentTypeName}.{FieldName}.Ids".
Elasticsearch maps automatically the data which means that Text fields will always be Tokenized. You can now access the Stored value of that Text field by using .keyword as a suffix to your field name. This means that you can now use a TermQuery on that .keyword field and a MatchQuery on the basic field name. See Elasticsearch vs Lucene
ManageIndexes will be now ManageLuceneIndexes
| Before | After | Action |
|---|---|---|
| Indexed | Indexed | Indexed meant "Keyword" in Lucene so we migrated these to "Keyword" in the content index settings. |
| Analyzed | Keyword | The Analyzed option is removed. Everything that was set as analyzed doesn't need migration because it is now the default. |
| Stored | Stored | Nothing to do. Should work as before |
YesSql is now using the new SQL client which encrypts the connection by default.
If the SQL Server does not have a trusted SSL certificate and you would and want to continue using encrypted communicated using the untrusted server, add TrustServerCertificate=True to the connection string.
If you do not want to encrypt the communication at all, you can use Encrypt=false.