Configuration versioning

To ensure that the supplied configuration is backwards-compatible for any breaking changes, the configuration is versioned. There are two configuration versions. One for configuration defined by the framework and the other for configuration defined by application developers.

When a configuration with older framework configuration version or application configuration version than the ones supported by the framework and application respectively, is used with the newer Gateway application, the framework performs necessary conversions, upgrades it to the latest version that it supports and persists the upgraded version into the server. If the application is configured to persist configuration changes to the file, the upgraded configuration will also be persisted to the file. However, if configuration file persistence is disabled, either by setting gateway.config.auto-save-to-file system property/environment variable to false or by setting Application mode to be STATIC, then the upgraded config will not be persisted to the configuration file.

More details on what application developers must do to support backwards compatibility of application defined configuration, is presented here.
The framework does not support forward compatibility of configuration. This means that, the older version of Gateway application will not work as expected with newer version of configuration.