November 2019 – released Sitecore Experience Platform 9.3.0
This is a feature release. Sitecore recommends that you upgrade to this release if it includes features that meet the specific needs of your organization. This release contains significant new feature functionality, and we encourage you to evaluate it.
Highlights
Sitecore Experience Platform 9.3.0 includes:
- You can now publish a form from the forms list.
- To add file upload functionality to your forms, you can now use the
File upload
forms element. - We have introduced Sitecore Blob storage. Sitecore stores media items, such as documents or images, in a Sitecore database by default. Sitecore Blob Storage allows you to store these files in Azure Blob Storage, thereby reducing the hosting costs and improving performance.
- The performance of the reference data service has been improved.
- You can now use the Sitecore bot detection functionality to verify whether visitor is human. This removed the need for a
Captcha
element. - The performance of the session state providers has been improved by optimizing the amount of data that is saved to the session state.
- The performance of the web tracker has been improved by saving expired sessions to xConnect in batches.
- A new interaction aggregation pipeline that can handle batches of interactions has been added.
- We have implemented some GDPR improvements to support the right to be forgotten.
- We have introduced expand options for devices.
- The
Collection
database schema has been updated to store a shard key value. - We have refreshed the HTML templates and improved the template manager experience.
- The Sitecore Install Assistant now supports the optional installation of Solr and Sitecore Experience Accelerator.
New features/improvements
Context | Description | Customer ticket ID (or other) | TFS no. |
---|---|---|---|
Configuration | The XP platform counters are now disabled by default for cloud deployments just like the CMS counters. | 293114 | |
Email Experience Manager | We have added 2 new settings to the Sitecore.EDS.Core.config file:- EXM.DispatchProvider.RetryCount (default value: 3) - specifies the number of retries for transient exceptions. - EXM.DispatchProvider.RetryDelay (default value: 1000) - specifies the time to wait in ms between retries. This time is multiplied by the current retry number. These settings are used when a dispatch provider attempts to send an email. | 340051 | |
Email Experience Manager | EXM URLs are now case-sensitive. | 201065 | |
Email Experience Manager | The HTML templates have been refreshed and the template manager experience has been improved. | ||
Experience Analytics | The performance of Experience Analytics has been improved by removing redundant processing and introducing caches to improve memory consumption. | 324065 | |
Experience Analytics | The Conversion Rate and Bounce Rate calculations have been improved. | 308223 | |
Experience Editor | The General link with search , Date , and Datetime fields now have Clear buttons in the floating toolbar that you can use to clear the field values. | 415207, 415551, 444327 | 49564, 68761 |
Experience Editor | The Navigation and Control bars are now enabled by default. | 331562 | |
Experience Editor | In the inline Rich Text Editor, standard link texts are converted into links when you enter or paste the text. For example http://domain.com , https://domain.com or [[email protected]](/cdn-cgi/l/email-protection) are converted to the appropriate links. | 309417 | |
Experience Editor | We have added a new IsExploring property to Sitecore.Context.PageMode to detect if a page is in Explore mode. | 256914 | |
Experience Editor | In the Experience Editor, the image selection and link dialogs are now aligned with the functionality that is available in the Content Editor. | 412414 | 51621 |
Experience Editor | In the Experience Editor, when you create a new page, the first available template is preselected by default to improve usability. | 300587 | |
Installation | Sitecore XP 9.3.0 supports Windows Server 2019. | 256276 | |
Installation | In the Sitecore Install Assistant, we have added a minimize window button and improved the minimize behavior from the taskbar. | 339078 | |
Installation | We have added the Sitecore brand logo to the Sitecore Install Assistant. | 343338 | |
Installation | The Sitecore Install Assistant now prompts the user to run under Administrator credentials. | 319280 | |
Installation | In the Sitecore Install Assistant, you can now decide whether or not to install Sitecore Experience Accelerator. | 318518 | |
Installation | In the Sitecore Install Assistant, you can now decide whether or not to install Solr. | 318529 | |
Installation | In the Sitecore Install Assistant, the Install Complete page now contains a Launch Sitecore button that opens the installation in a browser. | 333676 | |
List Manager | New telemetry measurements are now available: - Number of times a new list is created. - Number of times a new segmented list is created. - Number of times a segmented list is saved. - Number of times a list is exported to a CSV file. - Number of times a segmented list is converted to a contact list. | 318355 | |
Marketing Automation | Marketing Automation now lets you specify date and time in the criteria for entering a contact in an enrollment plan. This new feature allows marketers to enroll contacts from a segment list based on a schedule, and configure an automation plan based on three criteria: a specific time of the day, a specific day of the week, or a specific date. | 307797 307798 | |
Marketing Foundation | We have introduced expand options for devices. The Tracker can now load information about the last known contact and the device in one request and use this information for personalization. | 339305 | |
Marketing Foundation | You can now customize the validation of the names of Marketing Definition Items . | ||
Marketing Foundation | You can now check the status of the xConnect search index rebuild process. In a command line, run the following command:Sitecore.XConnectSearchIndexer.exe - RebuildMonitor Or Sitecore.XConnectSearchIndexer.exe – rm | 166962, 289794 | |
Marketing Foundation | The xConnect search index rebuild process has been improved. The indexes are rebuilt in several parallel tasks. If one of the tasks fails with an error, the other tasks are cancelled and this allows you to identify and address rebuild issues earlier. | 166898 | |
Marketing Foundation | The SolrCloud search functionality now contains a retry feature. In the sc.Xdb.Collection.IndexReader.SOLR.xml file, in the Settings/Sitecore/XConnect/CollectionSearch/Services/Solr.SolrReaderSettings/Options section, the RetryCount and MaximumRetryDelayMilliseconds settings have been added to configure the behavior of the new feature. The setting can be configured on xConnect Collection Search service instances. | 220902 | |
Marketing Foundation | New settings have been introduced in the Sitecore.Analytics.config file to control the reporting dimensions cache:- Analytics.Aggregation.Dimensions.MaxCacheSize Determines the maximum cache size in bytes of the Dimension Key in the Cache Manager. Default value: 100000 - Analytics.Aggregation.Dimensions.EnableCaching Determines whether Dimension Key is cached by default. NOTE: You can also use the Dimension.EnableCaching property to change this setting programmatically.Default value: true The cache is only used for immutable dimensions - inherited from the Dimension , or Dimension classes, but not from the MutableDimensionDimension<TKey, TValue> class, or for implementing IMutableDimension . | 336135 | |
Marketing Foundation | A new interaction aggregation pipeline that can handle batches of interactions has been added. | 308302 | |
Marketing Foundation | A new command has been introduced to remove obsolete index data after you rebuild the index. .\Sitecore.XConnectSearchIndexer.exe -cri or .\Sitecore.XConnectSearchIndexer.exe -cleanuprebuildindex | 162236 | |
Marketing Foundation | The MongoDB database provider has been upgraded to Mongo Server 4.0.10. | 337277 | |
Marketing Foundation | We have implemented some GDPR improvements to support the right to be forgotten. The right to be forgotten now deletes every interaction, interaction facet, calculated facet, and executes the right to be forgotten for the whole tree of merged contacts. You cannot use the XConnect public API to delete interactions and interaction facets. This is only supported as part of the right to be forgotten. | 313231, 321543, 321550, 321556, 332352, 333162, 330419, 336116, 337599, 335175 | |
Media | The language parameter is now embedded in media links. | 95419 | |
Media | We have introduced Sitecore Blob storage. Sitecore stores media items, such as documents or images, in a Sitecore database by default. Sitecore Blob Storage allows you to store these files in Azure Blob Storage, thereby reducing the hosting costs and improving performance. | ||
Miscellaneous | The Collection database schema has been changed to store a shard key value. This is a requirement for the Microsoft Split-Merge service that is used to rebalance data between shards. The Database Deployment Tool has been extended with the new operations such as addShard , deleteShard , printMapping and registerSchema . These new operations are required for data rebalancing, to scale-out (add new shard), and to scale-in (delete existed shard). An upgrade tool that fills the shard key value for data that had been collected before Sitecore XP 9.3.0 has also been introduced. | 313239, 313274, 313275, 313281, 339243, 342128, 343302, 343739, 351316, 317885 | |
Performance | The performance of the Reference Data service has been improved. | 255280 | |
Performance | The number of calls made from the web tracker to Reference Data has been reduced by 50%. | 336373 | |
Performance | When you start a session, xConnect loads the last known contact by DeviceID in one request, thereby improving performance. | 336126 | |
Performance | The performance of the session state providers has been improved by optimizing the amount of data that is saved to the session state. | 311281 | |
Performance | The performance of the web tracker has been improved by saving expired sessions to xConnect in batches. | 309323 | |
Platform | Improvements to the Indexer. The stability and performance of indexing and index rebuilding has been improved. - Batching & parallelization during the rebuild process. - We have reduced the SplitRecordsThreshold from 25k to 1k. - We have reduced ParallelizationDegree of the rebuild by 50 <%> %.- The sync stage of rebuild can now finish if there is an indexing cycle where less than 25k of changes are detected. | 340608 | |
Platform | The XConnectSearchIndexer.exe file has been renamed to Sitecore.XConnectSearchIndexer.exe . | 235420 | |
Platform | We have implemented fault tolerance to the index rebuild process. Temporary infrastructure hiccups no longer make the rebuild to stop and it will now retry automatically. After a restart, the rebuild process now resumes where it left off. | 162809 | |
Publishing | The Sitecore.Publishing.HtmlCacheClearer method now takes the sites for which the html cache should be cleared from the sites section of the web.config file. | 96358 | |
Search | Sitecore now supports permission enabled search. Search queries now contain information about the Sitecore permissions of the user who initializes the search. | 312641 | |
Sitecore Forms | We have improved database performance by increasing our ability to prevent deadlocks. | ||
Sitecore Forms | You can now use the client-side API to retrieve form fields, for example when you build a custom submit action that needs to show all the form fields. | ||
Sitecore Forms | We have implemented a forms element that allows you to add email confirmation to a form. | ||
Sitecore Forms | You can now use the Sitecore bot detection functionality to verify whether visitor is human. This removed the need for a Captcha element. | ||
Sitecore Forms | You can now publish a form from the forms list. | ||
Sitecore Forms | You no longer need to rebuild the master index after you install Sitecore XP. | ||
Sitecore Forms | Users can now use the Redirect submit action to redirect to a URL and pass parameters to it. | ||
Sitecore Forms | Users can now delete submitted data for a particular form and specify a date range. | ||
Sitecore Security | Support has been added for Bearer tokens of Client Credentials flow. | 348633 | |
Sitecore Forms | To add file upload functionality to your forms, you can now use the File upload forms element. | ||
Solr | We have implemented two new ConnectionTimeout settings; one for the defailt Solr operations and one for performing queries. | 151181 | |
Solr | When you generate a Solr schema, we now add more languages. | 96387 |
Deprecated/Removed
Context | Description | Customer ticket ID (or other) | TFS no. |
---|---|---|---|
Experience Optimization | The ContactId column has been removed from the Fact_PageViews and Fact_Visits tables. | 333197 | |
Miscellaneous | Deprecated SQL Server data types have been replaced. | 250522 | |
Miscellaneous | All code that was marked as Obsolete in Sitecore XP 9.2.0 or earlier has been removed from the product. The code that will be removed in the next major release is now marked as Obsolete . | 301983 | |
Miscellaneous | The Sitecore.Data.Fields.WordDocumentField, Sitecore.Kernel type was marked as obsolete in Sitecore 9.2.0 or earlier and removed from the platform code in Sitecore 9.3.0. | 323293 | |
Multibrowser fixes | Support for Internet Explorer 11 has been deprecated in Sitecore 9.3.0 and will be completely removed in the next major release. | ||
Search | The ISearchIndexSummary , IsHealthy , and IsClean properties have been removed. | 331295 | |
Search | Support for Lucene has been removed. | ||
Templates | NVelocity has been removed. | 300371 |
Breaking changes
Context | Description | Customer ticket ID (or other) | TFS no. |
---|---|---|---|
Email Experience Manager | - The EXM URLs have changed and as a result, bookmarked URLs no longer work. - The updated EXM UI is no longer SPEAK-based and does not support EXM SPEAK UI customizations - in the list pages and the Campaign builder. In short: - Existing SPEAK customizations no longer work. - Existing SPEAK customizations cannot be adapted for new versions of Sitecore. - You cannot create new SPEAK customizations. - EXM URLs are now case-sensitive. | 201065 | |
Marketing Foundation | In Sitecore xDB Processing Queue: In Sitecore.Xdb.Processing.Queue.SqlServer , the reference to Sitecore.Xdb.Sql.Common has been replaced with a reference to Sitecore.Framework.TransientFaultHandling.Sql .The Sitecore.Xdb.Sql.Common.IRetryManager retryManager parameter has been replaced with Sitecore.Framework.TransientFaultHandling.IRetryerRegistry retryerRegistry in the constructors of the following classes:- Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerContactProcessingPool - Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerGenericProcessingPool - Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerInteractionHistoryProcessingPool - Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerInteractionLiveProcessingPool - Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerInteractionProcessingPool - Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerProcessingPool - Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerProcessingPoolFactory The IRetryerManager RetryManager protected property has been replaced with the IRetryer RetryPolicy protected property in the following classes:- Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerProcessingPool - Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerProcessingPoolFactory The string retryerName parameter has been added to the constructors and the new string RetryerName public property has been added to:- Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerProcessingPoolFactorySettings - Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerProcessingPoolSettings In the Sitecore.Xdb.Processing.Queue.SqlServer.SqlServerGenericProcessingPool class, the GetSqlMataDataForKey protected method has been renamed as GetSqlMetaDataForKey .In the App_Data/Config/Sitecore/Collection/sc.Xdb.Processing.Queue.SqlServer.xml configuration file, the Sitecore/XConnect/Collection/Services/Xdb.Processing.Queue.SqlServer.SqlServerProcessingPoolSettings/Options/RetryerName parameter has been added. | 328222 | |
Marketing Foundation | In Sitecore xDB: In Sitecore.Analytics.Sql , the reference to Sitecore.Xdb.Sql.Common has been replaced with a reference to Sitecore.Framework.TransientFaultHandling.Sql .The Sitecore.Xdb.Sql.Common.IRetryManager retryManager parameter has been replaced with the Sitecore.Framework.TransientFaultHandling.IRetryerRegistry retryerRegistry and string retryerName parameters in the constructors of the following classes:- Sitecore.Analytics.Aggregation.History.SqlHistoryCursorDataProvider - Sitecore.Analytics.Aggregation.History.SqlHistoryCursorDataProviderFactory - Sitecore.Analytics.Aggregation.History.SqlHistoryTaskDataProvider - Sitecore.Analytics.Aggregation.History.SqlRebuildProcessStateDataProvider - Sitecore.Analytics.Processing.SqlProcessingCursorDataProvider - Sitecore.Analytics.Processing.SqlProcessingCursorDataProviderFactory - Sitecore.Analytics.Processing.SqlTaskDataProvider - Sitecore.Analytics.SqlCursorDataProvider - Sitecore.Analytics.SqlDataProvider In the Sitecore.Analytics.SqlDataProvider class, the IRetryerManager RetryManager protected property has been replaced with the IRetryer Retryer protected property.In the App_Config/Sitecore/Marketing.xDB/Sitecore.Analytics.Processing.Aggregation.config configuration file:- The sitecore/aggregation/retryManager configuration node has been removed.- In the sitecore/aggregation/historyTaskManager/param[@desc='taskDataProvider'] and sitecore/aggregation/historyTaskManager/param[@desc='cursorDataProviderFactory'] configuration nodes, the <param desc="retryManager" ref="aggregation/retryManager" /> node has been replaced with the <param desc="retryRegistry" type="Sitecore.Framework.TransientFaultHandling.IRetryerRegistry, Sitecore.Framework.TransientFaultHandling.Abstractions" resolve="true" /> and <param desc="retryerName">Analytics.Aggregation.SqlServer.Retryer </param> nodes.In the App_Config/Sitecore/Marketing.xDB/Sitecore.Analytics.Processing.Aggregation.ProcessingPools.config configuration file:- In the sitecore/aggregationProcessing/processingPools/live, sitecore/aggregationProcessing/processingPools/history and sitecore/aggregationProcessing/processingPools/contact configuration nodes, the <param desc="retryManager" ref="aggregation/retryManager" /> node has been replaced with the <param desc="retryRegistry" type="Sitecore.Framework.TransientFaultHandling.IRetryerRegistry, Sitecore.Framework.TransientFaultHandling.Abstractions" resolve="true" /> node.In the App_Config/Sitecore/Marketing.xDB/Sitecore.Analytics.Processing.config configuration file:- In the sitecore/processing/TaskDataProvider and sitecore/processing/CursorDataProviderFactory configuration nodes, the <param desc="retryManager" ref="processing/retryManager" /> node has been replaced with the <param desc="retryRegistry" type="Sitecore.Framework.TransientFaultHandling.IRetryerRegistry, Sitecore.Framework.TransientFaultHandling.Abstractions" resolve="true" /> and <param desc="retryerName">Analytics.Aggregation.SqlServer.Retryer</param> nodes.- In the sitecore/processing/ProcessingPoolFactory configuration node, the <param desc="retryManager" ref="processing/retryManager" /> node has been replaced with the <param desc="retryRegistry" type="Sitecore.Framework.TransientFaultHandling.IRetryerRegistry, Sitecore.Framework.TransientFaultHandling.Abstractions" resolve="true" /> node. | 301891 | |
Marketing Foundation | In the Reference Data Service, the maximum size of the Moniker has been reduced to 300 characters. | 336131 | |
Marketing Foundation | We have removed a large number of redundant methods and classes from the MRSClient and merged the MRSClient into the Processing Engine. | 328970 | |
Marketing Foundation | In the Sitecore Xdb ReferenceData Service: In Sitecore.Xdb.ReferenceData.SqlServer , the reference to Sitecore.Xdb.Sql.Common is replaced with a reference to Sitecore.Framework.TransientFaultHandling.Sql .Breaking changes in the code: In the following classes: - Sitecore.Xdb.ReferenceData.SqlServer.Commands.DeleteDefinitionTypeCommand - Sitecore.Xdb.ReferenceData.SqlServer.Commands.DeleteDefinitionsCommand - Sitecore.Xdb.ReferenceData.SqlServer.Commands.EnsureDefinitionTypeCommand - Sitecore.Xdb.ReferenceData.SqlServer.Commands.GetByDefinitionTypesCommand - Sitecore.Xdb.ReferenceData.SqlServer.Commands.GetDefinitionTypeCommand - Sitecore.Xdb.ReferenceData.SqlServer.Commands.GetDefinitionsCommand - Sitecore.Xdb.ReferenceData.SqlServer.Commands.SaveDefinitionCulturesCommand - Sitecore.Xdb.ReferenceData.SqlServer.Commands.SaveDefinitionsCommand - Sitecore.Xdb.ReferenceData.SqlServer.Commands.SaveDefinitionsCommonDataCommand - Sitecore.Xdb.ReferenceData.SqlServer.Commands.SqlServerReferenceDataProviderCommand the: - public .ctor(string, ILogger, ITvpConverter, IRetryManager) constructor is replaced with public .ctor(string, ILogger, ITvpConverter, IRetryer) .- protected IRetryManager RetryManager { get; } property is replaced with protected IRetryer Retryer { get; } .In the Sitecore.Xdb.ReferenceData.SqlServer.SqlServerReferenceDataProvider class:- The public .ctor(IConfiguration, ILogger, IRetryManager) constructor is replaced with public .ctor(IConfiguration, ILogger, IRetryerRegistry) .- The public .ctor(string, ILogger, IRetryManager) constructor is replaced with public .ctor(string, ILogger, IRetryerRegistry, string) .- The public .ctor(IConfiguration, ILogger, ITvpConverter, IRetryManager) constructor is replaced with public .ctor(IConfiguration, ILogger, ITvpConverter, IRetryerRegistry) .- The public .ctor(string, ILogger, ITvpConverter, IRetryManager) constructor is replaced with public .ctor(string, ILogger, ITvpConverter, IRetryerRegistry, string) .- The protected IRetryManager RetryManager { get; } property is replaced with protected virtual IRetryer Retryer { get; } .In the App_Config\Sitecore\Marketing.Xdb.ReferenceData.SqlServer\Sitecore.Xdb.ReferenceData.SqlServer.config configuration file, in the configuration/sitecore/xdb.referenceData.sql/sqlDataProvider node, the <param name="retryManager" type="Sitecore.Xdb.Sql.Common.IRetryManager, Sitecore.Xdb.Sql.Common"resolve="true"> node is replaced with these two nodes:- <param name="retryerRegistry" type="Sitecore.Framework.TransientFaultHandling.IRetryerRegistry, Sitecore.Framework.TransientFaultHandling.Abstractions" resolve="true"> and- <param name="retryerName">Sitecore.Xdb.ReferenceData.SqlServer.Retryer</param> | 301889 | |
Marketing Foundation | The xConnect model has been updated - an AreaCode property has been introduced for PhoneNumber . | 211033 | |
Marketing Foundation | The SQL provider for the XConnect Collection database now uses the Sitecore.Framework.TransientFaultHandling library. The retryer configuration has been moved to the new sc.Xdb.Collection.Retryers.Sql.xml file. | 255421, 324968, 301888 | |
Marketing Foundation | The SQL provider for the Collection database has been updated to .NET Standard. | 313214, 315295, 332327, 337494, 332319 |
Resolved issues
The following issues have been fixed:
Context | Description | Customer ticket ID (or other) | TFS no. |
---|---|---|---|
Content Editor | In the Content Editor, when you click the folder tab it can cause an exception. | 163956 | |
Content Editor | When you preview an item, the wrong version is shown. | 418769 | |
Content Editor | URLs that contain fragment identifiers are resolved incorrectly. | 304977 | |
Content Editor | In the Media Library , in a media item, in the Media field, when you click Attach , Sitecore doesn`t prompt you to save your changes and all your changes are lost. | 348439 | |
Content Editor | In a content item that contains a field of the File field type, when you upload a media item from the File field, a version is created in the wrong language. | 328316 | |
Content Editor | The Screenshot functionality does not work. | 299347 | |
Content Editor | When the AllowDuplicateItemNamesOnSameLevel setting is set to false you can create multiple items with the same name but with different cases on the same level in the content tree. | 315775 | |
Device Detection | When a new updated device detection db is detected, the new db is downloaded and used but old unused db is not deleted. | 328306 | |
Device Detection | When deployed to the Azure Web Apps, the Device Detection databases are not moved from the shared file system to the local one. | 328319 | |
Experience Analytics | There is an arithmeticoverflow error in Experience Analytics reports. | 531334 | 331564 |
Experience Analytics | The Experience Analytics Goal report shows an incorrect value. | 532400 | 338284 |
Experience Analytics | You cannot drill down into the list control reports. | 345996 | |
Experience Analytics | There are some compatibility issues between the Reporting database and Azure SQL database. | 483153 | 158825 |
Experience Analytics | You cannot create a custom flexible dimension due to class protection level. | 528946 | 326385 |
Experience Analytics | Obsolete legacy dimensions are still available. | 338382 | |
Experience Editor | In the Experience Editor, you can edit the time in a Date field. | 401405, 401607, 430293, 453589 | 49526 |
Experience Editor | In some situations, you cannot modify a personalized Rich Text field for non default conditions. | 436907 | 60251 |
Experience Editor | When you use the Field Editor button, some fields are not updated immediately. | 443105 | 67861 |
Experience Editor | The Experience Editor doesn't encode HTML entities, such as, ® when they are saved. | 465276, 466489, 468164 | 114860 |
Experience Editor | If a field contains quotation marks ("") in the description, the floating toolbar doesn't appear. | 465935, 473397, 485999,489801, 493941 | 118340 |
Experience Editor | In the Experience Editor, the inline Rich Text Editor wraps the content with unnecessary <p> tags. | 479815, 499730, 511835 | 153508 |
Experience Editor | When you save a page that contains multiple RTE fields, new Regex instances must be compiled and this degrades performance. | 525443 | 314053 |
Experience Editor | On a multi-site solution, you cannot switch between the final and the shared layout. | 526371, 530698, 532566, 538820 | 315995 |
Experience Editor | The Experience Editor removes tags from single line and multi-line text fields if the field type is removed from the Rendering.HtmlEncodedFieldTypes configuration. | 528144, 529435, 536195, 537657 | 319982 |
Experience Editor | On Sitecore PaaS, when isPersistentUser is set to false in the configuration, a server error occurs in the Experience Editor. | 533548 | 341058 |
Experience Editor | In the RTE or in a Multi-Line Text field, if you click Enter, it breaks the fields in an MVC layout. | 534866 | 341988 |
Experience Editor | Field validation processes the values from the previous associated content item. | 535264 | 343755 |
Experience Editor | If you edit a General Link field that contains a text field, it is rendered incorrectly in the Experience Editor. | 537068 | 350189 |
Experience Optimization | If a page contains a large number of personalization rules, it generates a lot of server traffic when interactions are saved to the reporting database and this can degrade data aggregation. | 319956 | |
Federated Experience Manager (FXM) | The Reach and Effect personalization values are not calculated. | 494500 | 196927 |
Installation | On Cloud deployments, the same connection string is used both for collection and search requests. | 338268 | |
Installation | The Sitecore Install Assistant process remains active if you close the application from the Windows context menu. | 330125 | |
Installation | If you run the Sitecore Install Assistant from a command line, file path validation fails. | 341353 | |
Item buckets | A Checkbox field can be edited when Field Write permission is denied. | 169753 | |
Item buckets | Facets and the search result totals do not respect Sitecore security restrictions. | 96596, 93481 | |
Item buckets | If you search the __lock_s:[* TO *] index, the results contain entries where the __lock_s field is empty. | 150433 | |
Language fallback | The LanguageFallbackFieldValuesProvider.IsValidForFallback method ignores the standard value of the Enable Shared Language Fallback field. | 318506 | |
Language fallback | If the original item is changed, the Sitecore caches are not cleared for the language fallback version of a clone. | 211627 | |
Language fallback | The LanguageFallback value for deleted item versions is displayed in the Master database. | 214055 | |
Language fallback | An error occurs when Language fallback is enabled for the client language and AllowStandardValuesForSharedLanguageFallback is set to true . | 257222 | |
Links | The master database contains 6 broken links. | 222261 | |
Login | You cannot log in to Sitecore if you have already multiple open sessions as the same user. | 94909 | |
Marketing Automation | When you create a Marketing Automation plan in a language that is not the default language, errors occur. | 329905 | |
Marketing Automation | Marketing Automation campaigns are still active when the end date is in the past. | 296743, 349293 | |
Marketing Foundation | Indexing long strings that contain special UTF-8 characters that use more than two bytes can sometimes cause an exception like Field contains a term that is too large to process. The max length for UTF-8 encoded terms is 32766 bytes. | 332296 | |
Marketing Foundation | Two Sitecore XP 8.X gutters are missing in Sitecore XP 9.0. | 529746 | 327922 |
Marketing Foundation | Solr Cloud does not provide a retry feature. | 220902 | |
Marketing Foundation | On xConnect instances that are deployed in Azure and that use the Azure search provider, when you rebuild the xConnect search index, "Web client was changed/swapped" exceptions are written to the log files. | 525454, 529287 | 312499 |
Marketing Foundation | You can not select a profile key in the Where Contact Has Matched Profile Key Value in Profile rule. | 191318 | |
Marketing Foundation | When you rebuild the xConnect search index on an instance that uses SolrCloud, if the SolrCloud Zookeeper or the majority of the SolrCloud nodes are down, the log files are filled with exceptions and SolrCloud does not return a response. | 220901 | |
Marketing Foundation | The performance of the stored procedures in the Reference database is poor. | 312397 | |
Marketing Foundation | The Title field is empty in the following templates:- /sitecore/templates/System/Analytics/Vendor Specific Filter/Configuration/ConstructorParameters - /sitecore/templates/System/Analytics/Vendor Specific Filter/Configuration/FilteringKey - /sitecore/templates/System/Analytics/Vendor Specific Filter/Configuration/Type - /sitecore/templates/System/Analytics/Vendor Specific Filter/Mapping/FilterEntry | 223637 | |
Marketing Foundation | In the Sitecore Processing Engine, the host does not support the Sitecore:XConnect:Initialize configuration sections. | 334899 | |
Marketing Foundation | In the Sitecore Reference Data , Sitecore Processing , Sitecore Processing Queue , and Sitecore Processing Engine databases, the GrantLeastPrivilege stored procedure does not accept a domain user name as a parameter. | 331327 | |
Marketing Foundation | On scaled Cloud deployments, collection requests are redirected to the xConnect search instance instead of to the xConnect collection instance, and this degrades performance. | 338268 | |
Marketing Foundation | When empty RelatedInteractionsExpandOptions are specified, the XConnect client returns null instead of a contact. | 196480 | |
Marketing Foundation | ItemEventHandler does not check if media items have marketing assets before validation. | CS0127572, CS0137883, CS0144664, CS0146544, CS0147485, CS0147621, CS0147874, CS0148079, CS0150962, CS0151085, CS0151393, CS0153404, CS0156155, CS0156536, CS0159171, CS0159217, CS0162620, CS0166738, CS0167123, CS0168259, CS0168617, CS0168942, CS0180945 | 197107 |
Marketing Foundation | In the Media Library, item name validation is hardcoded. | CS0133485, CS0142535, CS0147861, CS0148397, CS0152643, CS0156155, CS0156936, CS0163316, CS0165778, CS0167353, CS0168942 | 211785 |
Media | If you use the Upload Files (Advanced) dialog and select the Unpack ZIP Archives option to upload zip file that contains MAC OS files to the Media Library , an exception occurs. | 91750 | |
Media | When you upload a media item, the fields contain incorrect media/exif data. | 326783 | |
Media | In the Sitecore.config file, if the Media.AlwaysAppendRevision setting is set to true , an Unrecognized Guid format error occurs. | 219261 | |
Miscellaneous | You can modify a versioned presentation without locking it. | 117110 | |
Miscellaneous | Profile cards are rendered for the incorrect item. | CS0162701 | 343324 |
Miscellaneous | The FatalError validator reverts unsaved changes instead of canceling the command/action. | 95852 | |
Miscellaneous | When you delete the last item version for a language, the link is not removed from the database when fallback language is on. | 187476 | |
Miscellaneous | If the Tracking field is empty, MediaRequestTrackingInformation.IsTrackedRequest returns false | 342784 | |
Path Analyzer | The Path Analyzer cannot deploy more than one map from the same map group. | 533364 | 214388 |
MVC | In the Views\web.config file, the MVC version is incorrect. | 325979 | |
MVC | The SwitchContextItem method uses original item in the rendering. | 526612 | 314879 |
Path Analyzer | The First Visits map does not display any data. | 528278 | 320393 |
Performance | The architecture of the LayoutField seriously degrades performance. | 325642 | |
Platform | When you tag content the wrong database is selected to retrieve the Tag Repository . | 258101 | |
Platform | Some security vulnerabilities have been fixed. | 342388 | |
Publishing | Sitecore.Publishing.DefaultPublishManager.AddToPublishQueue tries to retrieve clones even when clones are disabled. | 337643 | |
Publishing | If you are logged in as an administrator and reset the standard values on an item, your changes are not published the first time you republish the item. | 334586 | |
Publishing | You can preview an item that has Publish Restrictions set on it at item level when ItemCache indexing is enabled and the size of the filteredItemsCache is set to 0. | 257901 | |
Publishing | The scheme site property is ignored in media URLs when the AlwaysIncludeServerUrl setting is set to true . | 170025 | |
Rich Text Editor | In the RTE, when you click Accept an extra rel="noopener noreferrer" substring is added to the markup. | 223855 | |
Rich Text Editor | When you double click or select some words in an RTE field, the Cannot read property 'toUpperCase' of undefined error occurs in the browser and appears in the client log. | 325886 | |
Search | When indexing and generating a schema, the Sitecore XConnect Search Indexer adds fields with the _hasValue suffix for complex lists. | 201033 | |
Search | Sitecore uses different dynamicField names when generating a schema and updating indexes. | 96385 | |
Search | In the SPEAK Select Media dialog, if the default language is not English, Danish, Japanese or German, search does not work. | 95444 | |
Search | When a search index has more than one crawler, indexing dependencies are sometimes skipped. | 104301 | |
Search | A Multilist with Search field does not respect security restrictions when displaying search results. | 314476 | |
Search | Azure Cognitive Search index is updated in multiple threads even when ParallelIndexing is disabled. | 535535 | 348448 |
Search | Rule-based boosting does not work with Azure Cognitive Search. | 531608 | 332265 |
Search | In Azure Cognitive Search, the reference field type is not culture independent. | 532226 | 332958 |
Search | CompositeSearchService.cs can log the following message: Service \{searchService.Name\} is not available. Data from the commit can be lost on this search service. The message refers to the commit but does not contain any useful info about it. | 537524 | 351347 |
Search | Azure usage contains a memory leak. | 526765, 532705, 533228, 533931, 536021, 542931, 0170445 | 322151 |
Search | In Azure Cognitive Search, index rebuild fails because the boost_2 field is not in the configuration. | 529059, 529237, 531851 | 325955 |
Sitecore.ContentSearch | If Solr is down when you start Sitecore, the SwitchOnRebuildSolrCloudSearchIndex indexes are not initialized. | 171950 | |
Sitecore.ContentSearch | A NullReferenceException occurs when the Field name is not configured and the Context.ContentDatabase is set to null. | 160699 | |
Sitecore.ContentSearch | The Sitecore.ContentSearch.SolrProvider.Agents.IsSolrAliveAgent.Run method is implemented incorrectly. | 163850 | |
Sitecore.ContentSearch | Numeric value search does not work for all cultures. | 193751 | |
Sitecore.ContentSearch | Index update operations may never end if one of the indexing threads encounters an exception. | 257220 | |
Sitecore.ContentSearch | The number of index update threads created by the OnPublishEndAsynchronousSingleInstanceStrategy is not controlled. | 285903 | |
Sitecore.ContentSearch | When you use Solr search, bucket items are not searchable in the Media Library . | 333317 | |
Sitecore.ContentSearch | The Document Builder does not respect the language fallback settings for computed index fields. | 96931 | |
Sitecore.ContentSearch | If you rebuild a search index when the GetSitecoreItemChildren processor is disabled, you get a StackOverflow excpetion. | 334980 | |
Sitecore.ContentSearch | The IsOnline (TestConnection) check throws an exception when the connection fails. | 326866 | |
Sitecore.ContentSearch | When content search fails, it does not retry to create aliases. | 326759 | |
Sitecore Azure | When securing xDB data with Azure Key Vault, sending lots of emails in one dispatch throws a Request was not processed because too many requests were received error. | 410078 | |
Sitecore Forms | The ExportData functionality does not encode Danish characters. | 532588 | 333885 |
Sitecore Forms | A timeout on a multi-page form causes unexpected behaviour. | 520976 | 303423 |
Sitecore Forms | A number of fields that should be validated allow you to enter invalid values. | 176429 | |
Sitecore Forms | When a form is submitted, the Submit button is not disabled. | 527847 | 318918 |
Sitecore Forms | When you add conditions, the list of form elements does not show the correct elements. | 353299 | |
Sitecore Forms | Multi-region Sitecore deployments have a deadlock issue. | 534642 | 328777 |
Sitecore Forms | If the indexAllFields setting is set to false , forms are not displayed. | 532120 | 331742 |
Sitecore Forms | If you add an MVC form to a page in the Experience Editor, a Javascript error occurs. | 532326 | 333305 |
Sitecore Forms | If a form contains a next page navigation step, an incorrect website is resolved for the next page. | 528570 | 324029 |
Sitecore Forms | Sitecore Forms throws a JS error in an SXA site. | 530484, 538456 | 329236 |
Sitecore Forms | If you use a query string that contains parameter without a value to open a page that contains a form, the form is not rendered. | 529758, 537905 | 324457 |
Sitecore Forms | If you make a HEAD request to an item that contains a form, an exception occurs. | 519914, 525198, 527380, 530589, 533536, 535505, 536349 | 294567 |
Sitecore Forms | The CSS class value of a Radio button list field is not applied. | 526775, 532738, 533456 | 315905 |
Sitecore Forms | Forms lists are sorted incorrectly. | 528330, 528885, 532115 | 124756 |
Sitecore Forms | If an MVC form rendering contains an empty datasource, it throws a 404 status code error. | 524580 | 310438 |
Sitecore Forms | The Sitecore Forms RegularExpressionValidation class should not IgnoreCase. | 525583 | 312153 |
Sitecore Security | There is a potential CORS defect in Sitecore Identity. | 312831 | |
Sitecore Security | Web Browser XSS Protection is not enabled. | 313727 | |
Sitecore Security | The X-Content-Type-Options header is missing. | 313742 | |
Sitecore Security | There is a potential cross-site scripting defect. | 325648 | |
Sitecore Security | In Sitecore Identity , there is a potential application error disclosure issue. | 313719 | |
Sitecore Security | The PasswordRecoveryUrl is patched incorrectly during deployment. | 347183 | |
Sitecore Security | MembershipUserStore fails to create a user when the requiresUniqueEmail setting is set to true . | 531702 | 221700 |
Sitecore Security | When you start the application, a deadlock occurs in the RegExpExpander processor. | 531030, 531883, 532641 | 329897 |
Sitecore Security | Properties mapped from external users are stored in Sitecore. | 528038 | 322839 |
Sitecore Security | The Remove Inherit preset disables security inheritance for the __Everyone security role instead of the Everyone security role. There is no __Everyone security role. | 90446 | |
Sitecore Services Client | There is a potential risk with SQL injections. | 315824 | |
Sitecore Services Client | The lifetime of some services is registered incorrectly in DI. | 331759 | |
Solr | FirstOrDefault retrieves every record from SOLR. | 185485 | |
Solr | Sitecore uses different dynamic field names when you generate Solr schemas and update indexes for the Czech, Norwegian, and Indonesian languages. | 96385 | |
Solr | When Sitecore generates a Solr schema it only adds 30 languages. | 96387 | |
Solr | When Sitecore generates a schema.xml file for Solr, it doesn't add a dynamic field for Chinese. | 149901 | |
Solr | SolrFieldNameTranslator's use of Regex causes a performance degradation. | 160464 | |
Solr | You cannot define custom fields in the Solr managed schema. | 209851 | |
Solr | Sitecore starts very slowly if Solr is unavailable. | 314454 |