Logo
The SitecoreAI base image release 1.9.20 page has loaded.

SitecoreAI Changelog

Learn more about new versions, changes and improvements for SitecoreAI

SitecoreAI base image release 1.9.20

SitecoreAISitecoreAI
ResolvedImprovement

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: 1,2,3; archived item versions: 2*,3*,4*)

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 1,2,3 + new item 2*,3*,4*.

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 1,2,3,2*,3*,4*.

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 2*,3*,4*(The archived item will fully replace the original item.)

Version-level: original item 1,2*,3*,4*(The archived version will replace the conflicting version, while all non-conflicting versions will remain unchanged.)

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

  1. Check conflicts.

  2. Build resolution input.

  3. Call restore with resolution.