Oriflame's commit message guidelines and changelog structure. Now with more emojis!
This changelog accounts with azure devops PR message format. And will release accordingly to the following documentation.
The commit message format consists of a type, optional scope in parenthesis, and a required message:
<type>: <message>
<type>(<scope>): <message>
Merged PR 1: <type>(<scope>): <message>
Merged PR 1: <type>: <message>
⚠️ Azure devops message format is allowed but not required.
The type is a way to group commits and flag semver changes. The following types must be used when prefixing your commit message.
break
,breaking
- A major breaking change.release
- Not a breaking change but bumps the major version.
new
- Introduces a new feature.update
- Updates an existing feature.feature
- Both a new and update.
fix
- Fixes existing functionality.deps
- Bumps dependencies.docs
- Updates documentation.revert
- Reverts previous or broken code.style
- Updates visual styles, like CSS.security
- Improves security.type
,types
- Updates type system related syntax (TS/Flow).misc
- Catch all for commits that don't align with other types.
ci
- Changes to the CI pipeline.build
- Changes to the build system.test
,tests
- Changes to tests or the testing framework.internal
- Internal changes not critical for the consumer.
The scope is optional but useful in defining granularity in a commit message. Scope is ideally used
to target a specific feature or module within the project, for example:
new(Button): Add a new Button component
.
Scopes will appear in the changelog before each line item and accept the following characters:
A-Z
, a-z
, 0-9
, -
, .
, ,
, and spaces.
The message contains a succinct description of the change:
- Use the imperative, present tense: "change" not "changed" nor "changes".
- Capitalize first letter of message.
- Trailing punctuation (period) is not required, but preferred.
Given the following commit messages:
new(Button): Add new Button component
update(Modal,Tooltip): Refactor accessibility support
ci: Add DangerJS to pipeline
test: Add missing tests for a handful of files
fix(auth): Fixed a bug with the authentication flow
Would generate the following changelog:
- [Button] Add new Button component (a1b2c3d)
- [Modal,Tooltip] Refactor accessibility support (a1b2c3d)
- [auth] Fixed a bug with the authentication flow (a1b2c3d)