From e4a8617927d4d43b3fc9af7f34069453449f761a Mon Sep 17 00:00:00 2001 From: Alexander Lyall Date: Fri, 26 Dec 2025 21:33:13 +0000 Subject: [PATCH] docs(release): v1.9 - Add initial CHANGELOG.md (Keep a Changelog format) - Group historical commits by Conventional Commit type - Stabilise git-cliff configuration for automated changelog generation - Fix template issues to support first run with no tags - Align changelog wording with Computing:Box branding Signed-off-by: Alexander Lyall --- CHANGELOG.md | 68 +++++++++++++++++++++++++++++++++++++++++ cliff.toml | 85 ++++++++++++++++++++++------------------------------ 2 files changed, 104 insertions(+), 49 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..5bfaeeb --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,68 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Conventional Commits](https://www.conventionalcommits.org/). + +## [Unreleased] + + + +### Added + + +- migrate CS:Box content to Computing:Box branding + + +### Bit + + +- Box Feature Migration + + +### CI + + +- add Gitea Actions workflow for site publishing + + +### Chore + + +- update CODEOWNERS and remove exported site artifacts + +- reorganise project files and add exported pages + +- add git-cliff config + +- standardise analytics, branding, and licensing across exported pages + + +### Documentation + + +- apply Creative Commons licence to V1 exported site + + +### Reverted + + +- revert 268a82f17c00792b8e678b5fb93383ae36200dfc + +revert ci(deploy): add Gitea Actions workflow for site publishing + +- Add publish workflow to deploy main branch via SFTP +- Configure workflow dispatch and push-to-main triggers +- Use repository variables and secrets for SSH credentials +- Update README logo markup for consistent sizing + +Signed-off-by: Alexander Davis + + +### Signed-off-by + + +- Alexander Davis + + diff --git a/cliff.toml b/cliff.toml index a2715a4..827daa2 100644 --- a/cliff.toml +++ b/cliff.toml @@ -1,69 +1,56 @@ -# git-cliff ~ configuration file -# https://git-cliff.org/docs/configuration +# git-cliff configuration +# Keep a Changelog compatible +# Safe for first run with no tags [changelog] -# A Tera template to be rendered as the changelog's header. -# See https://keats.github.io/tera/docs/#introduction header = """ -# Changelog\n +# Changelog + All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Conventional Commits](https://www.conventionalcommits.org/). """ -# A Tera template to be rendered for each release in the changelog. -# See https://keats.github.io/tera/docs/#introduction + body = """ -{% if version -%} - ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} -{% else -%} - ## [Unreleased] -{% endif -%} +{% if version %} +## [{{ version }}] - {{ timestamp | date(format="%Y-%m-%d") }} +{% else %} +## [Unreleased] +{% endif %} + {% for group, commits in commits | group_by(attribute="group") %} - ### {{ group | upper_first }} - {% for commit in commits %} - - {{ commit.message | split(pat="\n") | first | upper_first | trim }}\ - {% endfor %} -{% endfor %}\n +### {{ group }} + +{% for commit in commits %} +- {{ commit.message | trim }} +{% endfor %} +{% endfor %} """ -# A Tera template to be rendered as the changelog's footer. -# See https://keats.github.io/tera/docs/#introduction + footer = """ -{{#if release.previous}} -[{{release.version}}]: {{remote_url}}/compare/{{release.previous.version}}...{{release.version}} -{{/if}} -""" """ -# Remove leading and trailing whitespaces from the changelog's body. + trim = true [git] -# Parse commits according to the conventional commits specification. -# See https://www.conventionalcommits.org conventional_commits = true -# Exclude commits that do not match the conventional commits specification. filter_unconventional = false -# An array of regex based parsers for extracting data from the commit message. -# Assigns commits to groups. -# Optionally sets the commit's scope and can decide to exclude commits from further processing. +split_commits = false commit_parsers = [ - { message = "^[a|A]dd", group = "Added" }, - { message = "^[s|S]upport", group = "Added" }, - { message = "^[r|R]emove", group = "Removed" }, - { message = "^.*: add", group = "Added" }, - { message = "^.*: support", group = "Added" }, - { message = "^.*: remove", group = "Removed" }, - { message = "^.*: delete", group = "Removed" }, - { message = "^test", group = "Fixed" }, - { message = "^fix", group = "Fixed" }, - { message = "^.*: fix", group = "Fixed" }, - { message = "^.*", group = "Changed" }, + { message = "^feat", group = "Added" }, + { message = "^fix", group = "Fixed" }, + { message = "^docs", group = "Documentation" }, + { message = "^style", group = "Styling" }, + { message = "^refactor", group = "Changed" }, + { message = "^perf", group = "Performance" }, + { message = "^test", group = "Tests" }, + { message = "^build", group = "Build" }, + { message = "^ci", group = "CI" }, + { message = "^chore", group = "Chore" }, + { message = "^revert", group = "Reverted" } ] -# Prevent commits that are breaking from being excluded by commit parsers. -filter_commits = false -# Order releases topologically instead of chronologically. -topo_order = false -# Order of commits in each group/release within the changelog. -# Allowed values: newest, oldest + +protect_breaking_commits = false sort_commits = "oldest"