Versioning

General

When you develop and release a BC app, it’s likely not in its final form. You will receive feedback from customers, possibly find bugs, or have plans for new features. Eventually, you’ll need to make changes to your app and distribute them to existing customers.

This is where versions come in. During the life of your app, we allow you to update it when and how you see fit. We also provide you with the tools and processes to ensure you can update your app without damaging the experience of existing users.

App Updates

When a new version of an app is created it contains code differences from the previous version of the app. There are some important things to consider.

  • You should assume that the apps that we are updating are being used on live client sites, and handle app updates with the care they deserve.
  • You shouldn’t simply overwrite every file in the app when existing customers update to the latest version. This could cause loss of json setting, content holder code, or other important app code. This is dependant on the functionality of your specific app.
  • You should make the minimum changes necessary to get the user’s app install updated to the newest version. This minimizes the chance of causing an issue with their live client sites.

Our installer handles updates by applying one of 4 possible actions to each file in your app.

  1. Add or Update
  2. Do Nothing
  3. Copy and Move
  4. Delete

It’s the developer’s responsibility to provide instructions in the form of an update.json file that is packaged with your app version zip.

For detailed information see Creating the update.json File and Packaging Your App for Distribution

Version Number Standards

As the app developer you choose and set your own version numbers. We do recommend you follow the Semantic Versioning standard which you can learn about at semver.org.

Basically, the Semantic Version number format is MAJOR.MINOR.PATCH resulting in a version number that looks like this 2.2.1.

In the example of 2.2.1, the version number implies that the app is on its 2nd major release, has had 2 minor releases, and one patch.

For more information about the standard please read semver.org.

Version Change Log

When you are creating or editing a version of your BC App you can define the changes that were made in this version by editing the text area with the “Changes in This Version” label.

You should list any changes that fix bugs or alter the user experience. A short description of each change is all that is needed.

You can use markdown in your changelog and it should essentially be a bullet list of items.

Here’s an example:

  • Added new feature X
  • Fixed small bug X
  • Updated to version 0.1.0 of BC’s JavaScript API

This example uses markdown to create a list. The lines that begin with “*” will be converted to HTML li tags and wrapped in a ul tag.

http://en.wikipedia.org/wiki/Markdown

Version Statuses

The app versions you upload to the BC App Store developer dashboard may be in one of four possible statuses.

  1. Development (editable)
    1. You may edit and continue to develop this version of your app.
    2. This version of your app is not live in the store and can’t be installed by any customers.
  2. In Review (locked)
    1. Our staff is reviewing this version of your app to determine if it works correctly and meets the standards to be distributed to customers.
    2. You are unable to edit this version of your app in the developer dashboard.
    3. This version of your app is not live in the store and can’t be installed by any customers.
  3. Approved (locked)
    1. Our staff has completed the review of this version and it meets the standards to be distributed to customers.
    2. You are unable to edit this version of your app in the developer dashboard.
    3. This version of your app is not live in the store and can’t be installed by any customers.
  4. Released (locked)
    1. This version is live in our store and can be distributed to customers and installed on live BC sites.
    2. You are unable to edit this version of your app in the developer dashboard.

Editing Versions

You can edit an existing version if it is in Development Status.

See Version Statuses .

If a version is editable you can

Still need help? Contact Us Contact Us