Skip to main content

Module analysis

Module analysis 

Source
Expand description

Version bump analysis. Callers supply what Git observed about each unit and how to find the required bump, so the policy here stays pure.

Structsยง

Change ๐Ÿ”’
One proposed unit version.
History ๐Ÿ”’
What Git reports about one unit since its baseline tag, or since the root commit for a unit that has no tag and is still at 0.0.0.
Policy ๐Ÿ”’
The configured bump policy.
Proposal ๐Ÿ”’
Every change a proposal makes.

Functionsยง

analyze ๐Ÿ”’
Changed units receive their override or the larger of the bumps their commits and API analysis require. Applications take a patch bump when no commit asks for more. A breaking change is a minor bump below 1.0.0 and otherwise a major bump. Applications depending on a changed unit are bumped too. A unit at 0.0.0 without a tag takes the same bump rules from its whole history, ignoring API analysis, as a first release. A unit without history is a first release at its override or its current version.
first_version ๐Ÿ”’
The first version of a unit at 0.0.0: its override, or the largest bump its commits ask for. Applications count every commit and libraries only features, fixes and breaking changes.