Skip to content

nbbrd/heylogs

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:

  • check - Validate changelog format against an extensive set of rules
  • scan - Summarize changelog content and metadata
  • extract - Filter and extract specific versions
  • release - Convert unreleased changes into a new release
  • push - Insert a change entry to the Unreleased section
  • list - Display all available resources and rules

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

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