## Embedded Engine release versioning

The Embedded Engine is released as a package of multiple libraries, wrappers and scripts. As such, defining typical semantic versioning (e.g. based on discrete API changes) can be a challenge.

Currently the Embedded Engine package adheres to the following semantic-esque versioning:

`<major>.<minor>.<patch>`

e.g.

`Release 16.1.0` (or shortened to `R16.1.0`)

- `major` - A new software component is added or a known breaking change to major public APIs and/or associated functionality. A customer will need to make significant changes to integrations
- `minor` - New functionality and/or collection of fixes for individual components that is configurable - e.g. additional content management policies. A customer may only need to make configuration changes to adopt new functionality (unless otherwise explicitly stated in release notes) 
- `patch` - A minor fix or security patch. A customer will not need to make changes to integrations in between patch releases (unless otherwise explicitly stated in release notes)