Skip to content

nbbrd/heylogs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

807 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Heylogs - communicate changes at scale

Download Changes Reproducible Builds

Heylogs is a tool designed to automate the validation and the release of changes in a human-readable format.

Key points:

Features:

[ Usage | Features | Cookbook | Developing | Contributing | Licensing | Related work]

Usage

Heylogs is available in multiple formats to fit your workflow:

Features

Heylogs provides several commands to interact with changelog files:

  • init - Create a new changelog file with a template
  • check - Validate changelog format against an extensive set of rules
  • scan - Summarize changelog content and metadata
  • list - Display all available resources and rules
  • extract - Filter and extract specific versions
  • push - Insert a change entry to the Unreleased section
  • fetch - Fetch a change from a forge issue or pull request into Unreleased
  • note - Set or update the summary text after the Unreleased header
  • release - Convert unreleased changes into a new release
  • yank - Mark an existing release as yanked

Heylogs also provides some customizations to adapt to various workflows:

  • forge - Support for GitHub, GitLab, and Forgejo specific features
  • versioning - Validate version numbers using semver, calver, or custom regex patterns
  • tagging - Configure version tag prefixes (e.g., v1.0.0)
  • rules - Extensive set of rules to enforce changelog quality and consistency

Heylogs also has some quality-of-life features to make it easier to use and integrate into different workflows:

  • config file - Hierarchical configuration through heylogs.properties files, similar to Lombok's configuration system

See the feature matrix for a summary of feature support by usage mode.

Cookbook

  • badges - Generate badges for unreleased changes
  • gitflow - Automate the changelog release
  • tips - Tips and best practices for using Heylogs effectively

Developing

This project is written in Java and uses Apache Maven as a build tool.
It requires Java 8 as minimum version and all its dependencies are hosted on Maven Central.

The code can be build using any IDE or by just type-in the following commands in a terminal:

git clone https://github.com/nbbrd/heylogs.git
cd heylogs
mvn clean install

Contributing

Any contribution is welcome and should be done through pull requests and/or issues.

Licensing

The code of this project is licensed under the European Union Public Licence (EUPL).

Related work

This project is not the only one that deals with keep-a-changelog format.
Here is a non-exhaustive list of related work:

About

Heylogs - communicate changes at scale

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages