Hi all SpatialOS devs,
In the past, some of you have expressed concerns about the SpatialOS Runtime changes causing development issues with your games and projects. We’ve taken on board all your feedback and are now taking measures to address these concerns. Therefore, we will be giving you full control over which version of the Runtime to use. As part of this, going forward, the SpatialOS Runtime will switch to semantic versioning similar to the SpatialOS SDK.
SpatialOS Runtime releases will be categorised as major, minor or patch using standard semantic versioning (major.minor.patch):
- Major releases (e.g. 14, 15) will include new features and breaking changes for deprecations that we’ve warned about previously.
- For major releases, we will provide an upgrade guide as well as release notes.
- Minor releases (e.g. 14.1, 15.1) will include new features and no breaking changes.
- Minor releases won’t require an upgrade guide, but we will provide release notes.
- Patch releases (e.g. 14.0.1, 15.0.2) will contain only bug fixes and no breaking changes.
- Patch releases also won’t require an upgrade guide but we will typically provide release notes.
The Runtime’s first semantic version is 14.4.0, which was released on the 20th February 2020. Each major version of the Worker SDK is only compatible with the same major version of the Runtime. For example, you can’t use version 15 of the Worker SDK with version 14 of the Runtime.
Some features might require you to use a specific minor version of the Worker SDK and the Runtime, e.g. you might need version 15.3 of the Worker SDK and version 15.2 of the Runtime. You can find which versions you need in the release notes and documentation for those features.
In the interest of facilitating everyone’s transition to the new semantic versioning, there is one exception to the above: the Worker SDK versions 13 and 14 is compatible with the Runtime version 14. As such, if you are using the Worker SDK version 13, you can still use version 14 of the Runtime.
The above will be implemented in two stages:
- Changing the Runtime versioning to semantic versioning. Some of you may have noticed that this is already done, and it should be transparent to you. You’ll notice that now, in the Console, the “Runtime Version” field will show something like “Runtime Version 14.4.0” instead of something like “Runtime Version 11-20191022T111811Z-8f5c0ef”.
- Making it mandatory to select a Runtime version. This will come into effect in a few months with the next major release of the SpatialOS platform. After that you will no longer be able to use SpatialOS without selecting a Runtime version.
With all the above in mind, there are key things you’ll need to do on your side, regarding specifying the Runtime version. Please do the following as soon as possible:
- If you use the SpatialOS CLI tool directly, please use this argument “–runtime_version=14.4.0” as described in these documentation pages about launching cloud deployments, project deployments and local deployments.
- If you use the Platform SDK to create deployments via an Online Service, the RuntimeVersion field must be set to a specific Runtime version (for example 14.4.0) as described in the CreateDeploymentRequest Class documentation.
- If you use the GDK for Unreal or the GDK for Unity, then this will be automatically set for you to in version 0.9.0 and 0.3.4 respectively of the GDKs. These versions will also offer you the ability to override the version of the Runtime with any version that suits your needs.
With the Runtime switching to semantic versioning, we’ll also be updating the Runtime’s support policy to align with the Worker SDK’s, as described in our support window documentation.
Do let us know on this thread if you have any questions at all on any of the information above.