Glossary · Automation software engineering and architecture
Interface version
Also known as: API version
German: Schnittstellenversion
In software and systems engineering, an interface version is an identifier that marks a specific, defined state of an interface's specification, so that components can declare which version they implement or require and changes can be managed and communicated.
- Software engineering
In one sentence
An interface version identifies a defined state of an interface specification, so components can declare what they implement or need.
Example
The machine's MES interface is at version 2.1; the MES checks the version at connection setup and uses the 2.x message set.
How it applies
- Engineering: Interface versions are often expressed with semantic versioning: the major number changes for incompatible changes, the minor number for compatible additions. Components can exchange their interface versions at runtime to detect mismatches early.
- Maintenance: Supporting several interface versions in parallel lets partners migrate at their own pace. A Deprecation path defines how long old versions remain supported.
- Documentation: Every piece of interface documentation should state which version it describes. Keep documentation for all supported versions available and publish a change log between versions.
Interface version vs. software version
The software version identifies a release of a product; the interface version identifies the state of one of its interfaces. A software release can change without changing its interface version, and a single release can support several interface versions. Keeping the two separate makes compatibility statements precise. See also Protocol version and Data model version.