Skip to main content

Extension version is semver compliant and updated

ab-001344 · extension-store-readiness.store-listing.version-semver
Severity: highactive

Why it matters

Chrome Web Store requires the version field to use a dot-separated numeric format (e.g., 1.0.0). A version string prefixed with v or using fewer than three segments is rejected by the store validator. Beyond compliance, a version at 0.0.1 signals an untested pre-release to both reviewers and users, reducing install confidence even after approval. Proper semver also enables the store's update delivery mechanism — malformed versions cause update notifications to fail, leaving installed users on stale builds.

Severity rationale

High because a malformed version string triggers store validator rejection and breaks the auto-update delivery mechanism for installed users.

Remediation

Set a proper three-segment numeric version in manifest.json. Never prefix with v.

{
  "version": "1.0.3"
}

Increment correctly: MAJOR for breaking changes, MINOR for new features, PATCH for bug fixes. If your extension is genuinely pre-release, use 0.x.x intentionally and note it in your store listing description. The Chrome Web Store rejects versions like 1.0, v1.0.0, or non-numeric segments.

Detection

  • ID: extension-store-readiness.store-listing.version-semver

  • Severity: high

  • What to look for: Check the version field in manifest.json and count the number of dot-separated segments. It should follow semantic versioning (e.g., 1.0.0, 2.3.1). Verify the version number makes sense given the extension's maturity (should not be 0.0.1 for a production-ready extension, unless explicitly pre-release).

  • Pass criteria: The version field follows semantic versioning format with at least 3 numeric segments (MAJOR.MINOR.PATCH), uses valid integers, and the version number is reasonable for the extension's release stage. Quote the actual version string found.

  • Fail criteria: The version field is missing, has fewer than 3 segments (e.g., 1.0), is prefixed (e.g., v1.0.0), or unreasonably low for a production extension (e.g., 0.0.1 without indication it's a beta).

  • Skip (N/A) when: Never — every extension needs a version.

  • Detail on fail: "Manifest version is missing" or "Version format is '1.0' (should be '1.0.0')" or "Version is '0.0.1' but extension appears production-ready".

  • Remediation: Use semantic versioning in your manifest. Increment properly:

    {
      "version": "1.0.3"
    }
    
    • MAJOR: Incompatible API changes or major feature rewrites
    • MINOR: New features, backward compatible
    • PATCH: Bug fixes, minor improvements

External references

Taxons

History