The latest release of the SitecoreAI base image 1.9.20 includes the following improvements:
Recycle bin conflict restore conflict resolution
Recycle bin restore now handles item-version conflicts explicitly. If an archived item or version already exists in the target database, users and API callers can choose how to resolve the conflict. In the UI, when restoring from Recycle Bin and a conflict is detected, a Restore Conflict dialog is shown for that conflicting item/version, allowing the user to select the appropriate strategy. See the 'Recycle bin restore conflict resolution guide' below for more details.
Edge Connector now sends both item-name and display-name routes to Edge for layout entities.
During CM-to-Cloudflare worker communication in Publish V2, requests that receive a 502 response from the worker will now be retried automatically.
The latest release of the SitecoreAI base image 1.9.20 includes the following resolved issues:
Fixed defect where incremental publish did not publish changes in multiple languages when the language was specified per item in the publish options rather than as a common language for the entire publish operation.
Aligned multilist with search query logic with Content Editor’s access rights logic
Security enhancements.
Recycle bin restore conflict resolution guide
Recycle Bin restore now handles item/version conflicts explicitly. If an archived item (or version) already exists in the target database, users and API callers can choose how to resolve the conflict.
What end users will see in the UI
When restoring from Recycle Bin and a conflict is detected, a Restore Conflict dialog is shown for that conflicting item/version, showing the following available actions
Apply: Use the selected resolution for this conflict and continue.
Apply to all: Use the selected resolution for all remaining conflicts in this restore operation.
Skip: Skip this conflict and continue with others.
Abort: Stop the restore operation.
Strategy options in the dialog:
Option in Dialog | Available For | Behavior | Scenario Example (Original item versions: |
|---|---|---|---|
Restore as a new item | Item restore conflicts | Restores the archived item as a separate copy with a new item ID. The current live item is left unchanged. | original item |
Restore as a new version of the existing item | Item restore conflicts, Version restore conflicts | Restores archived versioned content as the next available version(s) on the existing live item instead of creating/replacing the item row. | original item |
Replace the existing item or version | Item restore conflicts, Version restore conflicts | Uses archived content to replace current content on the existing item/version (depending on whether the conflict is item-level or version-level). | Item-level: original item |
Shared/unversioned field handling:
Field Handling Option | Available For | Behavior |
|---|---|---|
Retain | Strategies that affect an existing item: Restore as a new version of the existing item and Replace the existing item or version | Keeps current shared and unversioned field values on the live item unchanged while applying the selected restore strategy for versioned content. |
Override | Strategies that affect an existing item: Restore as a new version of the existing item and Replace the existing item or version | Replaces current shared and unversioned field values on the live item with the corresponding values from the archived data. |
Restore-as-new naming behavior
When restoring as new, the restored item name gets a restore suffix so users can distinguish it from the live item. The suffix format is controlled by Archiving.RestoreAsNewNameFormat (default: "{0} restored {1:yyyy-MM-dd}"). In that format string, {0} is the original item name and {1} is the current UTC date/time at restore time. If the generated name already exists under the same parent, a numeric suffix is appended to make it unique.
Information for API consumers
New conflict-aware restore usage
API callers can now:
Detect conflicts before restore.
Provide explicit per-item/per-version conflict resolution.
Recommended flow
Check conflicts.
Build resolution input.
Call restore with resolution.