This page will describe the basic process for managing feature inclusion within a release, and the associated versioning strategy.

Features

Features proposed for inclusion in a release may be categorized as follows:

Process

Whether user driven or implementation team driven, proposed features with user impact and/or those requiring significant internal resources will be logged in the WMDA Share under the Match-Connect Release Management page as part of a release candidate package.  In the immediate term, the Match-Connect Steering Committee will assist with determination of impact and effort in order to assign features to a given release candidate.  Each candidate feature will be given a disposition (Approved, Rejected, moved to RFC).  Implementation actions (updating code, updating the semantics, updating swagger, etc) will be recorded on the release candidate page and tracked for completion.  

The implementation team will leverage Azure Dev Ops for more detailed tracking of their software development work.  The Match-Connect Product Owner will take responsibility for ensuring synchronization of feature inclusion into the detailed work items in Azure Dev Ops.

Feature Impact Categorizations

Example(s) of Candidate Features

The following snapshot is pulled from the MC v1.01 Release Candidate.


Versioning

The semantic versioning scheme will be utilized for Match-Connect releases going forward.  It can be summarized as follows:

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes
  2. MINOR version when you add functionality in a backward compatible manner
  3. PATCH version when you make backward compatible bug fixes

Release candidates will be tagged according to this strategy both in the WMDA Share, Match-Connect Semantics and Azure Dev Ops.

Following the pilot, we will align the versioning of the semantics with the public versioning of the apis and keep them in step going forward.  In the meantime, a change log (manifest) will be used to tie the versions of the semantics and the apis together.

Release Timing

Major changes must be coordinated with the community and should only be made on a periodic basis (e.g. once / year).  Minor changes and patches may occur at the discretion of the Match-Connect implementation team, with an aim towards continuous delivery.

Coordination of Major Releases


@startgantt
printscale weekly
[Develop new apis] requires 17 weeks
[Community informed of breaking changes] happens at [Develop new apis]'s start
[New apis deployed to test environment] happens at [Develop new apis]'s end
@endgantt


Release Notes

Release notes shall be generated coincident with each release of Match-Connect.  Depending upon the audience, these notes may be generated from the release candidate page(s) in WMDA Share OR directly from Azure Dev Ops.  The implementation team will have a change log (manifest) for each release (major / minor / patch).  Release notes may be published for the benefit of end users when there are major changes.