Developers · Releases and review

Releases and review

Every version, first or fiftieth, goes through the same steps: automatic checks in about a minute, then a person. Nothing reaches a merchant's shop unreviewed.

Numbers

Versioning

Versions are semver, and the kind of version decides what it may change. A merchant decides whether to take an update based on that number, so it has to mean what it says.

KindExampleMay change
Patch1.4.2 → 1.4.3Fixes. No new settings the merchant has to fill in, no removed sections.
Minor1.4.3 → 1.5.0New sections, settings and tokens. Nothing removed.
Major1.5.0 → 2.0.0May remove or rename sections, with migrations for every one.
"version": "2.0.0",
"migrations": {
  "sections": { "harbour.slideshow": "harbour.hero", "harbour.ticker": "drop" },
  "settings": { "headline": "heading" },
  "tokens": { "brandColor": "colorAccent" }
}

A section with no mapping is left on the merchant's page and flagged, never deleted, because the merchant's copy lives in its settings. That is why a removal without a migration is blocked.

Side by side

Building the next version

One shop per theme carries both: the live version, which is the demo, and the draft you are building. You can take 2.0.1 apart for a week on harbour.mywhizzy.com while merchants keep buying, installing and viewing the demo of 2.0.0 at the same address.

Changes when
The filesYou save, in the editor, the CLI or Claude.
The draft on the environmentEvery save stages it. You and a reviewer see it, through a link that puts a browser onto the draft for a day; nobody else does.
The live demo on the environmentA reviewer approves the version. The draft becomes live, page layouts and all, and the still on the theme's page is taken again.
Merchants' shopsEach merchant updates, when they choose to.

The demo's content, products, categories and copy, is yours to change at any time. Page layouts you arrange on the environment go live with the draft when it is approved, so a layout built on a new section is never published without the section.

Changed your mind? Start again from the published version: the button on the theme's page, whizzy-theme reset --yes, or ask Claude (reset_theme). Every change you never submitted is thrown away; submitted versions stay where they are.

Automatic

The checks

They run when you submit, and validate_theme runs the bundle checks at any time. A block stops the submission with reasons. A warning goes to you and to the reviewer.

CheckWhat it verifiesAt worst
validThe theme installs. Anything the validator would drop is listed; a theme that does not install at all is blocked.block
cssThe CSS survives sanitising and scoping. Dropped rules and more than 100 kB warn; more than 180 kB blocks.block
versionThe version is newer than the last one you submitted or published.block
sections-removedNo section type went away, unless this is a major version and migrations say where each one went.block
class-collisionsNo class name is styled by two different sections.block
pluginsEvery declared plugin is in the catalogue at a version inside your range.block
changelogThere is a changelog of at least 10 characters.block
rendersEvery page the theme lays out answers without an error on your development shop.block
screenshotsHome, collection and product are photographed at 390, 768 and 1440 pixels for the reviewer.warn
performanceThe home page HTML is under 600 kB and every image has a width.warn
Renders happen on the environment. The checks render the draft on the theme's own shop and photograph it for the reviewer, who can also walk the draft there. Preview once before promoting so the environment exists.

A person

What reviewers look at

The reviewer sees your screenshots beside the last published version's, a structural diff of sections, settings and CSS, the check results and your changelog. Then they go through this list.

  • The listing's claims are true: every feature it names is in the theme.
  • The theme looks right on a phone, a tablet and a desktop, on every page it lays out.
  • Demo content is licensed: the sample catalogue, or assets you can show a licence for.
  • No copying of another brand's or theme's design, name or trademark.
  • Text a merchant would reword is a setting, not a literal.
  • The changelog says what changed in words a merchant understands.
  • The support email works.
  • Warnings from the checks are explained or fixed.

How long

Review times

Our target is two business days from submission to a decision. The theme's page in your Developer area shows where your version is in the queue.

Back to you

When changes are requested

Most first submissions get at least one round. It is normal.

  1. Notes arrive

    Developers › Themes, email, get_release_status

    The reviewer writes what to change, with the page and width where they saw it.
  2. Fix in your workspace

    Your submitted version is not edited; you keep working on the files as usual.
  3. Bump the version

    Usually the patch number. A version number can only be submitted once.
  4. Submit again

    whizzy-theme submit -m "Addresses review notes"

    Say in the changelog what you changed.

You can withdraw a version that is still waiting for review from the theme's page. A version can also be rejected outright, for example for copied work; the notes say why.

Earned

Trusted developers

After a record of clean releases, staff can mark your account as trusted.

A trusted developer's patch release of a theme that is already listed is published automatically when every check passes with no warnings. Minor and major versions, and any release with a warning, still go to a person. Staff can pull an automatic release back, and a problem with one can cost the trusted status.

Delivery

How merchants receive updates

Publishing a version never changes a live shop by itself.

  • Shops on an older version see an update notice under Design › Themes, with your changelog.
  • The merchant chooses when to update. Nobody's shop changes under them.
  • Migrations run when they update, so their sections and settings follow your renames.
  • Updates are free for anyone who bought the theme. See pricing rules.
NextGetting paid →
Releases and review · WhizzyCommerce