> Caution: > All themes published before May 15, 2025 on the Shopify Theme Store must be updated and submitted for review. To keep your themes published: > > • Review and meet new [requirements](/docs/storefronts/themes/store/requirements) for your themes and presets > > • Update your theme zip with the [new file structure](#adding-theme-presets) by June 22, 2025 > > • Edit your preset [listing pages](/docs/storefronts/themes/store/review-process/listings) by July 1, 2025 After you've first published a theme on the Theme Store, you begin the iterative process of considering merchant feedback, persistently innovating your build through regular quality assurance testing, and actively integrating the updates required by Shopify. To avoid update fatigue for merchants, you must have a minimum of four weeks between updates. New themes on the Shopify Theme Store are an exception, and can have an update every two weeks for the first two months. As a Shopify Theme Partner, you're required to provide ongoing updates to your theme to remain on the Shopify Theme Store. The following sections describe the theme update process, the types of updates, and adding theme presets. ## Theme update process You can submit your updates for review as ZIP files through your Partner Dashboard. Each update should have a [version number](#versioning), determined by the content of the update, and [release notes](#release-notes). The theme review team primarily reviews theme updates during Eastern Standard Time (EST) hours, Monday through Friday. If you need to make a crucial update, then try to submit it earlier in the week, and earlier in the business day. Submitting a theme update outside of EST business hours might impact how quickly merchants receive and apply your updates. Updates mandated by Shopify might be required by a deadline to accommodate a feature’s release date. After your update has been successfully reviewed and published, you receive an automatic notification email. > Note: > The Theme Store only lists the latest version of your theme and presets. Reviews from all previous versions appear under the same listing. You can’t charge different prices per version. ## Update types Depending on the contents of the new theme version, a merchant's theme can be updated in the following ways: - A [manual update](#manual-updates) - An [automated update](#automated-updates) Because each update type uses a unique update process, you should group changes based on update types as much as possible. Specifically, automated updates are more merchant-friendly as they require no manual action. Therefore, grouping changes can help to ensure that a greater number of merchants who have purchased your theme receive as many automatic updates as possible. ### Manual updates The theme review team publishes a theme update as a manual update if it contains at least one of the following code changes: - A setting ID is changed or removed - A setting type is changed or removed - The `min` value for a setting of type `range` is increased - The `max` value for a setting of type `range` is decreased - A section or block is removed These changes can significantly impact the merchant's experience, because they can invalidate current settings, or require the merchant to review and adjust their theme configuration. For example, changing the ID of a setting is equivalent to removing the current setting and adding a new one with the default value, which can lead to a poor merchant experience and should be avoided. When an update is published as a manual update, merchants are shown a notification on the **Online store** > **Themes** page letting them know that they can update their theme. The updated theme is installed as an unpublished theme in their theme library. Merchants can review this unpublished theme before they publish it in their store. The parent theme is not modified.  ### Automated updates If a theme update doesn't contain any changes that would categorize it as a manual update, then it's published as an automatic update. In this case, the new version of the theme replaces the current published version that merchant has installed, without creating a new theme. A theme is automatically updated only if all theme files, except `settings_data.json` and any JSON files in the `/templates` directory, are in their original state. If a theme can't be automatically updated, then merchants are shown a notification on the **Online store** > **Themes** page letting them know that they can apply the update to an unpublished copy of their theme to be reviewed and published. ## Considerations for new versions Consider the following, and the associated merchant impact, when creating new versions: - If you change an existing setting so that the merchant's value is no longer valid, then the merchant's value will be reset to the default, as specified in your new version. To create less friction for existing merchants, you should keep the same default settings when possible. - If you change the class of a section or change a CSS class name, then a merchant's [custom CSS](https://help.shopify.com/manual/online-store/themes/theme-structure/extend/add-css) might be invalidated. You should avoid renaming existing classes unless necessary, and document any of these changes in your release notes. > Caution: > Reducing certain limits or section availability can break and invalidate existing themes, and make themes ineligible for an update. Theme versions can't be submitted to the Theme Store if they include any of the following updates: > > - Reducing the number of instances to any section file by changing the section [limit](/docs/storefronts/themes/architecture/sections/section-schema#limit). > - Reducing the limit of blocks in a section. > - Adding section restrictions to section groups using `disabled_on` or `enabled_on`. > - Adding restrictions that prevent sections from appearing on certain templates. ## Versioning Theme versions help merchants easily identify which theme they have, so that they can determine which features are available, or if there are more recent versions to update to. When building your version string, you should use [semantic versioning](https://semver.org/) in the format of `X.Y.Z`.
Component | Description |
---|---|
X |
Represents a major version that introduces or modifies features that aren't backwards compatible, such as the following:
For example, you might move from |
Y |
Represents a minor version that introduces or modifies features that are backwards compatible, such as the following:
For example, you might move from |
Z |
Represents a maintenance version that fixes bugs or security issues, or makes non-visual code improvements. For example, you might move from |
Component | Description |
---|---|
Description | A summarized description of the most important changes in this version. |
List of changes |
A list of changes contained in the version. Changes can fall under one of the following headings:
Changes should be listed in bullet point under their respective heading. Each heading should be treated as an H3, so needs to be preceded by
If there are specific changes that you want to bring attention to, then you can prepend the change with
When the release notes are rendered, these important changes will be visually highlighted. |