The current article contains the latest version of the pre-release (hereinafter referred to as the hotfix) that includes all updates currently available for the Sitecore XP 10.3 version. Be aware that the hotfix was built for Sitecore XP 10.3 and must not be installed on other Sitecore XP versions. The hotfix can be applied both to XM and XP Sitecore Experience Platform topologies.
For more details about known issues fixed, refer to the Release notes section or to the "Sitecore 10.3.x rev. xxxxxx PRE/Documentation/Sitecore.Platform.Releasenotes 10.3.x rev. xxxxxx PRE.md" file found inside the hotfix package.
The latest hotfix package for Sitecore XP 10.3 can be downloaded from here: Sitecore 10.3.4 rev. 012594 PRE
Important note: Before applying the hotfix, check the corresponding Release notes in later updates available on https://dev.sitecore.net/ and make sure that your issue has not been fixed in the released updates. When fixed, upgrade your instance to the latest Sitecore XP 10.3.x minor update available. |
If you are experiencing problems while upgrading the instance or installing the hotfix, contact Sitecore Support.
To resolve the issue, use one of the following solutions depending on your deployment:
Note that the latest version of a hotfix always includes all changes released in its previous versions. Therefore, the latest version of the hotfix can be installed on top of an earlier version of the hotfix for the same minor version of Sitecore XP. For example, you can safely install the "Sitecore 10.3.3 rev. 22222 PRE" version on top of the "Sitecore 10.3.3 rev. 11111 PRE".
A hotfix is installed on top of the initial release or any other update release. To install the hotfix:
For example:
Note that all release numbers are fictitious and are given as an example only.
If the issue has not been fixed in Sitecore XP updates released on https://dev.sitecore.net/ (let's assume they are Sitecore XP 10.3.0-10.3.2), and at the same time, the issue has been fixed in the latest hotfix "Sitecore 10.3.3 rev. 333333 PRE":
|
A hotfix is installed on top of the latest update release. To install the hotfix:
For example:
Note that all release numbers are fictitious and are given as an example only.
If the issue has not been fixed in Sitecore XP updates released on https://dev.sitecore.net/ (let's assume they are Sitecore XP 10.3.0-10.3.2), and at the same time, the issue has been fixed in the latest hotfix "Sitecore 10.3.3 rev. 333333 PRE", installation steps could be the following:
|
Refer to the tables below for issues resolved in this hotfix.
Fixes released after 10.3 Update-3 (10.3.3 rev. 012336):
Ref. | Description |
---|---|
PDXP-11111, PDXP-9109 | Security enhancement |
623800 | High memory usage during index rebuild caused by SolrFullBatchUpdateContext |
PDXP-13381/484103 | SwitchOnRebuildSolrCloudSearchIndex should use Solr aliases to determine active and rebuild collections instead of local properties. This revises previous fix PDXP-697/484103 (below); please see the appliable instructions file. |
Fixes released between 10.3 Update-2 (10.3.2 rev. 010837) and 10.3 Update-3 (10.3.3 rev. 012336):
Ref. | Description |
---|---|
PDXP-7886, PDXP-7591/PDXP-1052/624115, PDXP-7180, PDXP-5517/629358, 628372, 619349 | Security enhancements |
PDXP-11391 | The installation of security patch Sitecore.Support.10.0-10.4.zip from Sitecore Security Bulletin SC2025-003 can fail to initialize with an uncaught exception. MembershipPasswordException: The user account has been locked out. |
PDXP-6822, 601123 | The /fieldtracking/register endpoint is incorrectly logged as a page view event in Experience Analytics when users interact with form fields. This inflates analytics data with non-navigational events, leading to inaccurate reporting and cluttered page view metrics. |
PDXP-6246/626523 | Search Operations ignore the quotation marks |
PDXP-5587 | Introduced a lightweight, secure tracking script to help us better understand how Sitecore’s management UIs are used. This will help us ensure future enhancements are guided by real-world usage patterns. No content, website data, or website visitor information is tracked. Tracking respects privacy settings and licensing controls. |
PDXP-697/484103 | SwitchOnRebuildSolrCloudSearchIndex should use Solr aliases to determine active and rebuild collections instead of local properties |
628079 | When a user edits an existing segment in a segmented list and modifies its rules, the "Save" button becomes inactive, preventing the user from saving the changes |
626450 | Incorrect Content-Type header returned by Media Library search request |
626064 | The <br> tag causes validation errors in the Rich Text Editor field |
625158 | ExperienceOptimization.ContentTesting throws a NullReferenceException when reference.RenderingItem is null |
624954 | An new log folder gets created when a new language is added in the Content Editor, instead of using the existing log folder. This issue occurs in Azure Web App deloyments of Sitecore XP |
624167 | Pages may disappear after publishing |
624166 | In Live Mode, Sitecore fails to resolve item paths correctly, leading to incorrect or broken URLs when rendering content |
623948 | The Sitecore OData API ( /sitecore/api/ssc/aggregate/content ) returns child items even when those items do not have a version in the requested language ( sc_lang ), resulting in inaccurate API responses |
622654 | When retrieving an item in Edit mode, Sitecore incorrectly stores the resolved version (typically the latest publishable version) in the main item cache instead of the FilteredItemsCache . This causes subsequent requests in Normal mode to return the wrong version (e.g., version 1 instead of version 2) |
621268 | Added the ability to enable Connection Strings in Microsoft's Azure Monitor - Application Insights feature, in response to Microsoft declaring end of support for Instrumentation Key Ingestion as of March 31, 2025; ref: KB1003554. To assist in implementing this change, a new set of ARM Templates are provided. See ARM Templates Sitecore 10.3.3. |
620439 | Due to a race condition in the Solr indexing process, the _content field may inconsistently omit text field values when indexing items in parallel. This leads to incomplete or inconsistent full-text search results, especially in large-scale content structures with many fields and high concurrency settings |
620009 | Checkbox and checklist fields unintentionally unchecked or marked as modified due to race condition in Content Editor Search navigation |
619146 | When using the RemovePrefix(string) method on a Sitecore.Caching.Generics.Cache<TKey> instance under high concurrency, significant lock contention can occur due to the use of GetCacheKeys() , which locks the cache |
618843 | Under high load, Sitecore's device detection engine can exhaust available threads due to low concurrency settings and disk-based lookups. This leads to unhandled exceptions and crashes the instance |
618639 | The MediaRequestHandler ignores the value of MediaResponse.Cacheability setting |
617089 | If the CM instance is restarted during email dispatch, the campaign remains stuck in the "Sending" state. Attempts to pause it show a confirmation, but the status doesn't update to "Paused", and the "Resume" button is missing, preventing recovery |
612595 | When a Droplist field uses a query-based source (e.g., with query axes or @@ syntax), selecting and saving a value results in a false broken link warning in the Content Editor |
605862 | English version is created after Remove Broken Links admin tool is used. Running the tool causes a new English version to be created unintentionally |
598738 | Added optional automation to simplify installing SXP 10.3.x PRE builds; includes automated application of binding redirects and patching of config files where applicable; see Documentation/Optional deploy automation/readme.md in the SXP 10.3.x PRE build package. |
592307, 592301 | Internal link to a versioned media item added in RTE contains the wrong language using Sitecore Link via Search when languageEmbedding setting to "always" |
580597 | Media URLs containing encoded characters (e.g. hyphens for spaces) are not properly decoded during resolution. This causes Sitecore to fall back on a slow traversal of the Media Library using MixedItemNameResolver , which significantly degrades performance in large, deeply nested media structures |
576714 | The ModularTrafficAllocation processor can cause a lock convoy under heavy load due to inefficient concurrency handling in its visit count storage mechanism |
559176 | Deleting a large number of archived items via the Recycle Bin UI or Archive API is slow and prone to SQL timeouts because it's done in a single large transaction, which rolls back entirely if interrupted |
536792 | Adding HTML cache records is not thread safe |
458558 | Anchor fragments (#) in links are stripped during email dispatch, causing links to ignore in-page anchors. This is due to the MapHostname processor not preserving the fragment when rewriting URLs |
438400 | When the RequireLockBeforeEditing setting is set to false, non-admin users with appropriate permissions still see the "Details" and "Reset" buttons in the Presentation ribbon disabled. This prevents them from editing presentation details, despite the configuration explicitly allowing edits without locking the item |
384689 | When a rendering that has been personalized is deleted without removing its references, attempting to open the associated page in Experience Editor results in a yellow error screen. This occurs because the editor fails to handle the broken link gracefully, throwing an exception due to a null ContentDatabase |
370121 | Under high load, frequent use of Sitecore.Globalization.Translate.TextByDomain(...) to retrieve dictionary values can cause a lock convoy, due to synchronized access to a shared Hashtable in DefaultTranslate.Domains |
356688 | Sitecore.XConnect.Segmentation.SegmentationEngine.PerformSearch lock statement blocks threads if the xConnect search response time is high |
290139 | Requests with illegal characters in the URL cause the XFrameOptionsHeaderModule to throw an unhandled exception, resulting in a 500 error instead of a proper 404 response |
Fixes released between 10.3 Update-1 (10.3.1 rev. 009452) and 10.3 Update-2 (10.3.2 rev. 010837):
Ref. | Description |
---|---|
617299, 609758, 606641, 590395, 588637, 483800 | Security enhancements |
618724 | The Links table does not include droplist links |
617539 | After selecting select all on a multi-list field in a situation causing a dialog to pop up containing a fatal error, upon closing this dialog the field in error does not display a red validation bar as it should |
616843 | Unable to remove items from Recycle Bin after applying pre-release 10.3.2 rev. 010586 PRE |
616751 | For Containers deployments, health checks can incorrectly report status as healthy; in healthcheck.ps1 ServiceMonitor was previously replaced by LogMonitor, but some ServiceMonitor code remains that can cause the issue |
616548 | When a multi-list field with a custom validation displays a pop-up dialog containing a fatal error, upon closing this dialog the field in error does not display a red validation bar as it should |
615909 | Increased lock contention when writing log messages during web requests |
615496 | Sitecore.Caching.RenderingParametersCache subscribes to some events without checking if it was already subscribed at creation time, which causes an incorrect behavior in LinkManager and performance degradation. |
614821 | A degradation in performance may occur when resolving Standard Values token value for a fallback version of a cloned item |
614709 | The input is not a valid base-64 string because it contains a non-base 64 character error during package installation |
613745 | Changing ChilkatDotNet48 to v9.5.0.93 or later blocks sending emails from EXM |
613337 | Device Detection fails in Containers deployments because C++ runtime is not installed in the XM1 topology |
610980 | If the URL contains spaces added before the item name, items are resolved without a space |
610854 | Slower MVC rendering can occur in environments with many sites, because disableBrowserCaching is ignored |
609660 | Sitecore log messages are not generated upon making configuration changes, with the file appender type set to RollingFileAppender |
609020 | The item fallback version provided in the processor argument is not respected |
607329 | After replacing an image source in the Media Library, the former image is still displayed in the Rich Text Editor field |
604409 | Email campaign description does not support special characters |
603638 | Upon saving a form with files from filestorage results in a *Unable to access a closed stream" error |
603381 | Increased CPU consumption when mapping Solr document fields to POCO class properties |
603209 | No detailed audit logs are added when item is unlocked via My Items > Unlock and My Items > Unlock All |
602502 | When using a container the user gets redirected to an instance, because a port number gets included in the URL |
602417 | No audit log record is added when user logs in to Sitecore |
601870 | No audit logs are added after creating a new item from the Experience Editor |
601454 | After adding a version to an item, the audit log captures the wrong version number |
601330 | No audit log is recorded when and item is locked/unlocked in the Experience Editor |
600934 | Publishing a new form, where the variable Is Ajax is unselected, results in the language being removed from the URL of the published form |
600651 | Validation on a multilist field does not get reflected immediately when the condition is met |
598796 | When publishing to Edge, multiple Cache created messages are displayed, one for each item rendered on the site |
597461 | The LeaderBoard is empty when choosing it from the Reports |
596216 | The Experience Editor Go button incorrectly resolves the site |
596145 | The date range virtual field is not resolved to the Solr field during search |
593927 | A System.AccessViolationException error related to the DeviceDetection database can cause the website to crash |
592211 | The Forms database experiences a communication error with a Timeout expired error message |
591676 | DateTime fields are rendered in UTC time instead of server time |
591674 | A .pdf file is opened for modification when its content is being read for indexing, which causes degraded performance; it should be opened in read-only mode for indexing |
590416 | Heavy usage of the LinkDatabase may lead to a System.OutOfMemoryException error |
589304 | SC_ANALYTICS_GLOBAL_COOKIE continues to remain active even after the site visitor has revoked permission for the site to collect cookies |
589212 | Increased resource consumption for indexed caches with millions of entries |
585622 | Your Changes have not been applied dialog appears in a Form's Email field, even when no change has been entered in the field, when applying non-English languages |
578068 | The Search API may return incorrect results when executed under heavy system loads |
577905 | Content item link generation using display names containing special characters does not work correctly |
576428 | Unable to re-use IQueryable<T> for concurrent search query executions |
573972 | Upon cloning an item, its standard value tokens do not present the actual field value in the fallback language version |
573497 | Duplicate renderings occur in the Experience Editor, add rendering dialog |
563054 | A copied or duplicated media blob gets deleted from the database if one of the copied/duplicated item is deleted |
561884 | The original Solr approach for deleting documents from a Solr core, delete by Id, was incorrectly removed and replaced with delete by query |
558081 | Media uploaded with Overwrite existing media items and Make uploaded media items versionable does not correctly clear Shared fields |
515248 | Value of the Search.ContentTreeSearch.MaxResults setting is ignored |
412499 | Simultaneous launch of Experience Editor in two browsers after restarting Sitecore instance can cause a crash in one of them |
398289 | After adding text in a multi-line text field, paragraph p tags display in a single line instead of displaying text in multiple lines |
366194 | The link from EXM to the intended item in the Content Editor gets corrupted if the item display name contains Danish characters, for example: å æ ø |
97020 | Unable to use Solr soft commits |
Fixes released between 10.3 Initial (10.3.0 rev. 008463) and 10.3 Update-1 (10.3.1 rev. 009452):
Ref. | Description |
---|---|
586117, 584731, 582720, 576660, 568150, 563856 | Security enhancements |
587814 | When selecting the Edit the related item context menu button, the embedded Content Editor does not appear as expected. |
585529 | Inefficient ID parsing can cause slow publising performance. |
583106 | Sitecore Installation Assistant 1.5.1 supports Sitecore XP 10.3.1. |
580538 | The installation of Sitecore XP fails on a machine with SQL Server PowerShell Module version 22.0.xx or later. See KB1003015 |
579558 | A TreeList field unexpectedly translates the selected item name when the item's DisplayName exists in the Core DB dictionary |
575842 | In Mozilla Firefox, the test item does not move to the next workflow state when using the Approve with test option |
575839 | The status of an email campaign job from a first CM instance is not correctly synchronized with EXM in a second CM instance |
575660 | The Traefik container image has been updated from version 2.5.3 to 2.9.8 |
575565 | The installation of Sitecore XP using SIF fails due to the retired WebPI 5.1 installer. See KB1003017 |
569444 | When publishing site definitions for multiple managed websites, the StartItem setting is ignored when resolving the sites, causing a site to have an incorrect URL |
565698 | Cross-site links are incorrect when sites have the same rootPath |
563054 | When a media blob is referenced by multiple duplicated media items, deleting one of these duplicated items will result in the deletion of the media blob |
554564 | An intermittent error causes the ribbon in the Content Editor to collapse for a virtual user, for example, after several publishing operations |
513277 | Unexpected behavior with multi-page forms on submit when the session is expired |