close
Skip to content

Template Versioning: preserve active plugin/theme templates #70751

@gigitux

Description

@gigitux

Description:
When plugins or themes ship updated block templates (e.g., adding new blocks or making major changes), sites using the default (unmodified) template unexpectedly receive the new version on update. This can introduce breaking changes or unexpected content on the front end.

While minor changes, such as small design tweaks or typo corrections, can often be safely propagated to users who have not customized their templates, major changes, like introducing new blocks, significantly altering layout, or removing key components, pose a higher risk of disrupting site layouts or functionality. Automatically applying major updates can result in unexpected changes on live sites, potentially breaking layouts or introducing new features that site owners are not prepared for.

Desired behavior:

  • If a site is using a default template and an update introduces a new version, the current template in use should be preserved in the database, so the site continues using the previous version.
  • Optionally, surface a notification to the user/site admin that a new version of the template is available, allowing them to review and adopt it if desired.
  • Allow theme and plugin authors to flag changes as minor or major, so that only non-breaking (minor) changes are auto-applied, while major changes require explicit user action.

Related discussions:

Additional context:
Distinguishing between minor and major template changes helps minimize the risk of unintended disruptions and supports a more user-friendly update process, especially in production environments. This approach allows site owners to benefit from improvements while maintaining control and stability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    [Feature] Templates APIRelated to API powering block template functionality in the Site Editor

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions