{"id":34065872,"url":"https://github.com/callowayproject/generate-changelog","last_synced_at":"2025-12-14T06:03:28.368Z","repository":{"id":37081348,"uuid":"466484182","full_name":"callowayproject/generate-changelog","owner":"callowayproject","description":"Use your commit log to make a beautiful changelog file.","archived":false,"fork":false,"pushed_at":"2025-11-24T20:03:11.000Z","size":2486,"stargazers_count":11,"open_issues_count":8,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-28T07:51:37.798Z","etag":null,"topics":["changelog","commit","git","python"],"latest_commit_sha":null,"homepage":"https://callowayproject.github.io/generate-changelog/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/callowayproject.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-03-05T14:59:33.000Z","updated_at":"2025-06-19T09:20:41.000Z","dependencies_parsed_at":"2023-02-10T15:15:45.211Z","dependency_job_id":"42042c46-5e2f-4815-9250-b8019fb79e61","html_url":"https://github.com/callowayproject/generate-changelog","commit_stats":null,"previous_names":["coordt/generate-changelog"],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/callowayproject/generate-changelog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fgenerate-changelog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fgenerate-changelog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fgenerate-changelog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fgenerate-changelog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/callowayproject","download_url":"https://codeload.github.com/callowayproject/generate-changelog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callowayproject%2Fgenerate-changelog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27719082,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-14T02:00:11.348Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["changelog","commit","git","python"],"created_at":"2025-12-14T06:03:23.650Z","updated_at":"2025-12-14T06:03:28.355Z","avatar_url":"https://github.com/callowayproject.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Generate Changelog\n\n\u003c!-- start badges --\u003e\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/callowayproject/generate-changelog/master.svg)](https://results.pre-commit.ci/latest/github/callowayproject/generate-changelog/master)\n[![codecov](https://codecov.io/gh/callowayproject/generate-changelog/branch/master/graph/badge.svg?token=IPRMV15D17)](https://codecov.io/gh/callowayproject/generate-changelog)\n\nUse your commit log to make a beautiful changelog file.\n\u003c!-- end badges --\u003e\n\n- [Documentation](https://callowayproject.github.io/generate-changelog/)\n- [GitHub](https://github.com/callowayproject/generate-changelog)\n\n\u003c!--start--\u003e\n\n`generate-changelog` does what it says: it generates a full changelog, or updates an existing one. Git tags and commits are the inputs by which `generate-changelog` performs its task.\n\nThe primary goal of this tool was to provide the benefits of [conventional commits](https://www.conventionalcommits.org/) without requiring a strict syntax. `generate-changelog` accomplishes this using configurable regular expressions or commit metadata matching. The thought is natural language is easier for developers to remember and requires less tooling to enforce.\n\n## Features\n\n### Commit and tag processing\n\n- Filter out commits and tags based on regular expression matching.\n- Classify commit messages into sections such as \"New\", \"Fixes\", and \"Changes\" using configurable regular expressions, metadata, or custom criteria.\n- Rewrite commit summary or commit body using pipelines of actions.\n- Extract parts of the commit summary or body into metadata available for templates and filters.\n- Built-in issue parsers for Jira, GitHub, Azure DevOps Board.\n- Built-in conventional commit parser\n\n### Changelog rendering\n\n- Templated using [Jinja](https://jinja.palletsprojects.com/en/3.0.x/) templates.\n- Each template has a large amount of metadata that allows linking to a commit, a version diff, and issue trackers.\n- Easily customize just the template you want.\n- Supports full or incremental changelog generation.\n\n### Release hints\n\n- Can use user-defined rules to suggest a release type for use in another part of your CI pipeline.\n\n### Git support\n\n- Supports your merge or rebase workflows and complicated git histories.\n- Supports of multi-authors for one commit through configurable [trailers key values](https://git.wiki.kernel.org/index.php/CommitMessageConventions).\n- Built-in parser for turning [trailers key values](https://zerokspot.com/weblog/2020/10/24/git-commit-messages-with-attributes/) into metadata.\n\n## Requirements\n\nPython 3.9 or higher.\n\n## Installation\n\n```bash\n$ pip install generate-changelog\n```\n\n## Usage\n\nCreate a default configuration file.\n\n```bash\n$ generate-changelog --generate-config\n```\n\nThis creates a file named `.changelog-config.yaml`. You can make changes to the default configuration.\n\nGenerate your changelog via:\n\n```bash\n$ generate-changelog\n```\n\n## GitHub Action\n\n### Inputs\n\n- `config_file` Path to the config file if it is not one of the defaults.\n- `starting_tag` Starting tag to generate a changelog from. Default is to start from the last tag in the current change log.\n- `skip_output_pipeline` Do not generate or update the CHANGELOG, but still return the release hint.\n- `branch_override` Override the current branch for release hint decisions.\n\n### Outputs\n\n- `release_hint` The suggested release type for the current or `branch_override` branch.\n\n### Generated files\n\nThe changelog file is written based on the configuration and value of the `branch_override` input.\nThis file is not added to your Git repo. \nYou must add and commit it if you want to keep it.\n\n### Example usage\n\n```yaml\non: [push]\n\njobs:\n  sample_job:\n    runs-on: ubuntu-latest\n    name: Just an example\n    steps:\n      - name: Generate changelog and release hint\n        id: changelog\n        uses: callowayproject/generate-changelog@v0\n        with:\n          config_file: .changelog-config.yaml\n      - name: Use the release hint\n        run: echo \"The release hint was ${{ steps.changelog.outputs.release_hint }}\"\n```\n\n\n\u003c!--end--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallowayproject%2Fgenerate-changelog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcallowayproject%2Fgenerate-changelog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallowayproject%2Fgenerate-changelog/lists"}