Automate your changelog generation with ease! Retrieves the commit history between two tags for Gitea, Forgejo, or GitHub, and formats it into a Conventional Commits-style changelog. Customize the output to fit your project's needs, and keep your CHANGELOG up-to-date without the hassle.
  • Go 93.6%
  • JavaScript 5.3%
  • Dockerfile 1.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-16 10:40:48 -04:00
.forgejo/workflows chore(deps): update https://vc.maxkaya.com/maxpeterkaya/changelog action to v1.7.2 2026-08-24 21:59:29 +00:00
.gitignore fix: gitignore binary 2026-08-21 12:30:56 -04:00
.goreleaser.yml fix: remove tls verify in goreleaser 2026-08-16 22:12:02 -04:00
action.yml docs(action): document rollup input 2026-09-16 09:52:41 -04:00
api.go refactor(api): replace tag getters with GetTags 2026-09-16 09:51:45 -04:00
changelog.go feat(changelog): add detailed and summary styles 2026-09-16 09:32:52 -04:00
changelog_test.go test: cover detailed and summary rendering 2026-09-16 09:34:25 -04:00
config.go fix(config): only warn when no tag inputs are set 2026-09-16 10:31:48 -04:00
Dockerfile chore(deps): update golang docker tag to v1.27 2026-08-19 20:20:32 +00:00
Dockerfile-releaser feat: create dockerfile for goreleaser 2026-01-31 19:35:46 -05:00
Dockerfile-snapshot chore(deps): update golang docker tag to v1.27 2026-08-19 20:20:32 +00:00
go.mod build(deps): promote hashicorp/go-version to direct 2026-09-16 09:50:41 -04:00
go.sum build(deps): sync go.sum for go-version 2026-09-16 09:51:04 -04:00
index.js feat: create index js 2026-02-01 16:04:16 -05:00
LICENSE Initial commit 2026-01-31 12:18:54 -05:00
llm.go feat(llm): add prose prompt builders and response helpers 2026-09-16 09:32:11 -04:00
llm_test.go test: cover prose prompts and truncation helpers 2026-09-16 09:34:00 -04:00
main.go fix: informational tag log 2026-09-16 10:40:48 -04:00
ollama.go refactor(ollama): generate from prompt with dynamic context 2026-09-16 09:32:33 -04:00
openai.go refactor(openai): generate from prompt and report truncation 2026-09-16 09:32:45 -04:00
openai_test.go test(openai): cover prompt-based generation 2026-09-16 09:34:11 -04:00
output.go feat: use output file instead of env var 2026-08-16 22:10:26 -04:00
package.json init package json 2026-02-01 16:04:23 -05:00
README.md docs: readme changes to wiki 2026-09-16 10:15:31 -04:00
renovate.json Add renovate.json 2026-02-12 19:25:19 +00:00
tags.go feat(tags): honor explicit tag range inputs 2026-09-16 10:30:40 -04:00
tags_test.go test(tags): cover explicit tag range selection 2026-09-16 10:31:57 -04:00
Taskfile.yml feat: create taskfile 2026-01-31 19:04:05 -05:00
write.go feat: write, commit, and push ability 2026-09-08 10:34:48 -04:00

changelog

Generate a structured changelog for a tagged release and attach it to the release on your Forgejo instance.

Quickstart

- uses: https://vc.maxkaya.com/maxpeterkaya/changelog@latest
  with:
    server_url: https://vc.maxkaya.com
    repository: owner/repo
    token: ${{ secrets.PAT }}

This creates or updates the release for the newest tag with a changelog grouped by Conventional Commit type.

Required inputs

  • server_url - Forgejo instance URL.
  • repository - Repository in owner/name form.
  • owner - Repository owner. Optional when repository is owner/name.
  • token - Token with read access to the repository and write access to releases and tags.

Outputs

  • changelog - The generated changelog.
  • version - The tag the changelog was generated for.

Documentation

Full documentation lives in the wiki:

License

Apache-2.0. See LICENSE.