• API Hub
  • Search loading...

    API Hub

    Explore and Make use of Nationally Defined Messaging APIs

     

    Specification versioning

    An overview of how the specification (and other technical assets) are versioned

    Introduction

    GP Connect specification releases are assigned a single version number from 23 February 2018 onwards.

    The automated test suite, demonstrator and other artefacts released in line with the specification are also assigned the same single version number.

    This supersedes the previous scheme whereby the constituent capability packs (Access Record HTML, Appointments etc) were released and versioned independently.

    Version number standard

    The specification version number is based on the Semantic Versioning 2.0.0 standard.

    Semantic versioning diagram

    When a specification is released, the version number is incremented as follows:

    • Major version when breaking changes are made
    • Minor version when larger non-breaking changes or unsubstantive breaking changes are made, for example a new capability; or a signficant number of smaller non-breaking changes or unsubstantive breaking changes are made
    • Patch version when smaller non-breaking changes or unsubstantive breaking changes are made

    Types of change

    Breaking changes

    Breaking changes are those changes made to the specification that require a provider to update their GP Connect API implementation and would cause a consuming system built to any minor or patch version of the same major version of the specification to break.

    Breaking changes are therefore issued in a new major version of the specification, in order to allow consuming systems built to previous versions to continue to operate at the previous major version without breaking.

    Unsubstantive breaking changes

    An breaking change may be classified as an unsubstantive breaking change where:

    • providers and consumers have not built against any minor or patch version of the same major version of the specification, and therefore the change is not breaking in practice

    • or in consultation with providers and/or consumers, where providers and/or consumers are in the process of building against any minor or patch version of the same major version of the specification

    Where this occurs, previous minor or patch versions of the specifications will either be discontinued (see below), or will be amended to include warnings regarding the changed functionality, to ensure consuming (and providing systems) do not build against the changed functionality in the future.

    Non-breaking changes

    Non-breaking changes are:

    • changes made to the specification that do not require a provider to update their API implementation
    • changes made to the specification that do require a provider to update their API implementation but do not cause a consuming system built to any minor or patch version of the same specification to break
    • or other types of guidance or supporting material not classified above

    Stylistic changes and clarifications

    The version number may not be incremented when stylistic changes are made for example, section renumbering, broken links, style corrections, typos, and improvements to the clarity of wording that do not change the meaning of the specification.

    Pre-release (draft) labels

    When a pre-release label is appended to the version number with a hypen it indicates the specifaction is still in draft, or has been discontinued.

    The pre-release labels used are as follows:

    Pre-release Label Example Description
    alpha 1.1.0-alpha The version of the specification is being authored and is subject to frequent and or major changes.
    beta 1.1.0-beta The version of the specification is being internally reviewed and is subject to change.
    rc 1.1.0-rc The version of the specification is being reviewed by external parties including providers and consumers and is subject to corrections and minor change.
    (no label) 1.1.0 The version of the specification is now fixed (immutable). Further changes (excluding stylistic change) require a new version number.
    discontinued 1.1.0-discontinued The version of the specification is no longer relevant and has been discontinued.

    Associated technical artefacts

    The following GP Connect artefacts are released as part of or alongside the specification, taking the same version number as the specification:

    The following GP Connect artefacts are released alongside the specification, but use their own version number scheme:

    SDS interaction IDs

    SDS interaction IDs change only when a new major version of the specification is released and are are suffixed with the major version number, except for GP Connect versions 0.x.x where there is no suffix.

    Service Root URL format

    Service Root URL formats contain the major version number of the specification.

    Tags: development

    All content is available under the Open Government Licence v3.0, except where otherwise stated