Skip to content

MaxiCorrea/java-spring-boot-semantic-versioning

Repository files navigation

Java Spring Boot Semantic Versioning

Example Project: Using Semantic Versioning with Spring Boot

This repository is an example of using Semantic Versioning in a Spring Boot application, following the Angular Commit Messages conventions and using semantic-release for automated version management.

Commit message format

semantic-release uses the commit messages to determine the consumer impact of changes in the codebase. Following formalized conventions for commit messages, semantic-release automatically determines the next semantic version number, generates a changelog and publishes the release.

By default, semantic-release uses Angular Commit Message Conventions. The commit message format can be changed with the preset or config options of the @semantic-release/commit-analyzer and @semantic-release/release-notes-generator plugins.

Tools such as commitizen or commitlint can be used to help contributors and enforce valid commit messages.

The table below shows which commit message gets you which release type when semantic-release runs (using the default configuration):

Commit message Release type
fix: stop graphite breaking when too much pressure applied Patch Fix Release
feat: add 'graphiteWidth' option Minor Feature Release
perf: remove graphiteWidth option

BREAKING CHANGE: The graphiteWidth option has been removed.
The default graphite width of 10mm is always used for performance reasons.
Major Breaking Release
(Note that the BREAKING CHANGE: token must be in the footer of the commit)

Packages

No packages published

Contributors 2

  •  
  •