category: Application fundamentals

Different runtime versions are available for your server applications. This enables us to apply bugfixes and release new features without interrupting your applications, and often to deploy these updates to them fully transparently for you. However, server code built for a specific runtime version could fail when running on a new version of the runtime.

That's why we allows you to put restrictions on the runtime versions that your application is supporting. These restrictions are specified in the _app.json file at the root of your application:

{
    "host": {
        "type": "NET45",
        "version": "1.0.*"
    }, 
    "packages":[]
}

The star (*) character allows you to accept any versions of the runtime that matches the start of the version string. On application startup we will select the higher runtime version available that is compatible with the app's version string.

We follow the semantic versioning rules for the application runtime. Versions are composed of 4 numbers : {major}.{minor}.{patch}.{Build}

We increment the major version number whenever we introduce breaking changes to the runtime. Increments ofthe minor version number indicates new non breaking functionalities. Increments of the patch version number introduce bug fixes. Finally Build is incremented whenever we deploy a new Build of the runtime.

In order to avoid possible issues, we recommend you to target major+minor runtime versions (ie 1.0.* )