Update a plugin

To publish a new version of a plugin, you can update manually or use the deprecated skpm tool.

1. Update manually

Similar to publishing the initial release, follow the steps below to release a new version of your plugin.

  1. Update the version number in the plugin manifest
  2. Create a ZIP archive of the plugin bundle, e.g. select-shapes.sketchpluginselect-shapes.sketchplugin.zip.
  3. Upload the archive to a location where it can be downloaded from.
  4. Add a version entry to the updating JSON file on the server as shown in the following example for a new version 1.1.0 of the Select Shapes plugin.
    {
      "itemName" : "Select Shapes Sketch Plugin",
      "versionID" : "1.1.0",
      "downloadURL" : "https://selectshapes.com/select-shapes.sketchplugin.zip",
      "downloadFileSize" : 68487516,
      "creationDate" : "Fri, 02 Jun 2023 14:00:00 +0000"
    }
    

Note: Sketch expects the versionID attribute to be of the form X.X.X.

Note: The only two required properties of the updating JSON file are downloadURL and versionID.

2. Use skpm

Updating a plugin using skpm does four things:

  1. Update the plugin version specified in the plugin manifest
  2. Create a downloadable ZIP archive.
  3. Create a GitHub release.
  4. Update the .appcast.xml with the latest release information.

Run the following command providing either a specific version number or bump the existing version by patch, minor or major. For more available options see skpm publish --help.

skpm publish <version>

Note: If the previous version was not included in the official listing before skpm will also open a pull request on plugin-directory to submit it unless the command is run with the --skip-registry command-line argument.

Note: If you are using semantic updates with skpm you can only use “major”, “minor”, or “patch”. Using “prerelease” would add a dash to the end (X.X.X-X) and Sketch won’t recognize the update.

Note: skpm is no longer supported and updated. skpm generates the previously used RSS/XML appcast file for updating plugins. This format has been replaced in Sketch 97 with the updating JSON file. Sketch 97 includes a converter from the RSS/XML format and will continue to work with the previous format.