All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
When a new release is proposed:
- Create a new branch
bump/x.x.x
(this isn't a long-lived branch!!!); - The Unreleased section on
CHANGELOG.md
gets a version number and date; - Open a Pull Request with the bump version changes targeting the
main
branch; - When the Pull Request is merged, a new git tag must be created using GitHub environment.
Releases to productive environments should run from a tagged version. Exceptions are acceptable depending on the circumstances (critical bug fixes that can be cherry-picked, etc.).
- added tests for various components
- updated code to satisfy various golangci-lint linters
- removed redundant release pipeline
- fixed a null pointer dereference when opening repositories
- fixed SAST tool warnings
- fixed a typo in authentication method selection
- added the feature to automatically fix incorrect section heading levels
- added the workflow to have a complete pipeline with security and quality checks
- changed to increment the version number only by one since it is the most common practice and eliminates discontinuity in the version numbers
- fixed the error where
-
characters are not replaced with_
in the project names - fixed the issue where some sections are left out in the
CHANGELOG.md
file
- added the feature to read project names from the language's configuration file
- refactored the project to eliminate warnings from golangci-lint
- automatically try all authentication methods for Git cloning and pushing
- exit with an error code when batch processing fails
- fixed incorrect logic in the project processing phase that causes the program to quit early
- downgraded
go-git
to v5.9.0 so the GitHub Actions pipeline can compile the program
- created the feature to add the new version when the
CHANGELOG.md
doesn't have a previous version
- changed the main method to create the
CHANGELOG.md
file if it doesn't exist - corrected the breaking change prefix (it hasn't been detected before)
- made changelog processing adhere to keep a changelog version 1.1.0 standard
- upgraded all libraries to the latest version avoiding security issues
- corrected the issue with the regex for C# projects in the
.vdproj
files (final fix)
- corrected the issue with the regex for C# projects in the
.vdproj
files
- corrected the configuration merging without the
reflect
library
- added Go support with a nonexistent version file (because Go doesn't have a version file)
- added support to Azure DevOps and support to have Azure DevOps token in a file
- added the
.editorconfig
file to handle the file formatting - added the
CHANGELOG.md
file to make the releases clearer - added the feature to download the default configuration when the language detection is not present
- added the feature to read the GPG keys from the default keyring
- added the feature to read the configuration from the default repository URL
- changed the
Makefile
to use build when the installation command is called - changed the configuration file finding and reading to accept from the repository default configuration
- removed the
Makefile
unnecessaryinstall
command
- added feature to append next version to bump branch name
- fixed
CHANGELOG.md
patch number calculations
- added the feature to avoid empty bumps
- BREAKING CHANGE: changed to add support for C# and JavaScript/TypeScript
- fixed the errors in incrementing the version numbers
- added support for per-file version patterns
- fixed
CHANGELOG.md
key section orders
- fixed the error when a wrong version file path is given
- added support for
DCO sign-off
to commit messages
- added support for reading GitLab tokens from file
- changed to assume an empty GPG key password when the interactive terminal is unavailable
- added support for the project access token
- fixed the issue of not using
CI_JOB_TOKEN
while pushing over HTTPS
- added the feature to load version files and patterns from the configuration
- fixed GitLab CI job token authentication
- fixed configuration argument for batch subcommand
- fixed configuration finder conflicting with argument parser and corrected pipeline commands
- added CI token reading, auto cloning, and a release pipeline for use in the scheduled pipeline
- added Java support and fixed package version update
- added configuration validation
- added documentation in the configuration file and
README.md
- added language detection and batch processing mode
- added the Git commit and push functions
- added the feature to allow GPG signing
- added the feature to create GitLab Merge Request
- changed to use
Cobra
to parse arguments - fixed newline creation in
CHANGELOG.md
- fixed the issue of getting the incorrect GitLab project ID
- fixed the skipping of signing if the signing format is SSH
- updated
.gitignore
from GitHub reference file - updated configuration example to match the new parser
- updated the MR title to comply with naming standards
- removed Git commit author overwrite
- removed unnecessary GitLab username and email definition