From 2f628e79eb6570134cec786ade73a305023192ee Mon Sep 17 00:00:00 2001 From: Paulo Fidalgo Date: Wed, 22 Apr 2026 12:38:18 +0300 Subject: [PATCH] docs: add conventional changelogs --- CHANGELOG.md | 66 ++++++++++++++++++++++++++++++++++++++++++----- cliff.toml | 73 +++++++++++++++++++--------------------------------- 2 files changed, 86 insertions(+), 53 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9da2db0..e891987 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,16 +7,68 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.1.9] - 2026-04-21 -### 🐛 Bug Fixes -- publish built gem in release workflow +### Fixed +- Publish the built gem directly from the release workflow. +### Documentation +- Update the gemspec and README to match the current public positioning and release flow. -### 📚 Documentation -- update gemspec and readme +### Changed +- Standardize the gem release workflow and repository conventions. +- Stop relying on GitHub variables in the release setup. +## [0.1.8] - 2026-03-20 -### ⚙️ Miscellaneous Tasks -- standardize gem release workflow and repo conventions -- stop using github variables +### Added +- Filter GitHub-native resolved comments via GraphQL so exported review files stay focused on active feedback by default. +## [0.1.7] - 2026-02-08 +### Fixed +- Read the CLI version from `GitMarkdown::VERSION` consistently. + +## [0.1.6] - 2026-02-08 + +### Fixed +- Restore RubyGems publishing through the OIDC-compatible `rubygems/release-gem` workflow path. + +## [0.1.5] - 2026-02-08 + +### Fixed +- Publish by building and pushing the gem artifact directly instead of relying on the previous release action flow. + +## [0.1.4] - 2026-02-08 + +### Changed +- Stabilize the release line while iterating on the automated release process. + +## [0.1.3] - 2026-02-08 + +### Fixed +- Add `workflow_call` support to `ruby.yml` and configure RubyGems authentication for the release workflow. +- Allow changelog generation to be optional in the release workflow when needed. + +### Changed +- Move to a single-command release process with changelog generation built into release preparation. + +## [0.1.1] - 2026-02-08 + +### Added +- Add the `release:bump` task for automated version management. + +### Fixed +- Correct the gem bump flow and release version handling across the early automated release tasks. + +### Documentation +- Update the gemspec and changelog during the initial release hardening passes. + +## [0.1.0] - 2026-02-08 + +### Added +- Bootstrap the `git-markdown` gem and its CLI for exporting pull requests into local Markdown files. + +### Fixed +- Harden setup and credential handling, including the initial `git-cliff` configuration and CLI UX cleanup. + +### Documentation +- Improve the README, metadata, and local development guidance for the first public release. diff --git a/cliff.toml b/cliff.toml index 1211afc..8a40f75 100644 --- a/cliff.toml +++ b/cliff.toml @@ -1,53 +1,34 @@ [changelog] header = "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),\nand this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n" -body = "{% if version %}## [{{ version | trim_start_matches(pat=\"v\") }}] - {{ timestamp | date(format=\"%Y-%m-%d\") }}\n{% endif %}\n{% for group, commits in commits | group_by(attribute=\"group\") %}{% if commits | length > 0 %}### {{ group }}\n{% for commit in commits %}- {{ commit.message | trim }}\n{% endfor %}\n\n{% endif %}{% endfor %}" +body = """ +{% if version %}## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} +{% endif %} +{% for group, commits in commits | group_by(attribute="group") %} +{% if commits | length > 0 %}### {{ group }} +{% for commit in commits %} +- {{ commit.message | trim }} +{% endfor %} + +{% endif %} +{% endfor %} +""" trim = true [git] conventional_commits = true filter_unconventional = true -tag_pattern = "v[0-9]*" - -[[commit_parsers]] -message = '^feat(\(.*\))?:' -group = "Added" - -[[commit_parsers]] -message = '^fix(\(.*\))?:' -group = "Fixed" - -[[commit_parsers]] -message = '^docs(\(.*\))?:' -group = "Documentation" - -[[commit_parsers]] -message = '^refactor(\(.*\))?:' -group = "Changed" - -[[commit_parsers]] -message = '^perf(\(.*\))?:' -group = "Changed" - -[[commit_parsers]] -message = '^test(\(.*\))?:' -group = "Changed" - -[[commit_parsers]] -message = '^chore(\(.*\))?:' -group = "Changed" - -[[commit_parsers]] -message = '^build(\(.*\))?:' -group = "Changed" - -[[commit_parsers]] -message = '^ci(\(.*\))?:' -group = "Changed" - -[[commit_parsers]] -message = '^style(\(.*\))?:' -group = "Changed" - -[[commit_parsers]] -message = '^revert(\(.*\))?:' -group = "Changed" +commit_parsers = [ + { message = '^chore\(release\):', skip = true }, + { message = '^feat(\(.*\))?:', group = "Added" }, + { message = '^fix(\(.*\))?:', group = "Fixed" }, + { message = '^docs?(\(.*\))?:', group = "Documentation" }, + { message = '^perf(\(.*\))?:', group = "Changed" }, + { message = '^refactor(\(.*\))?:', group = "Changed" }, + { message = '^test(\(.*\))?:', group = "Changed" }, + { message = '^build(\(.*\))?:', group = "Changed" }, + { message = '^style(\(.*\))?:', group = "Changed" }, + { message = '^chore(\(.*\))?:', group = "Changed" }, + { message = '^ci(\(.*\))?:', group = "Changed" }, + { message = '^revert(\(.*\))?:', group = "Changed" }, +] +tag_pattern = "v[0-9].*"