{"id":25764815,"url":"https://github.com/schpet/changelog","last_synced_at":"2026-06-09T13:31:47.342Z","repository":{"id":277715052,"uuid":"933286283","full_name":"schpet/changelog","owner":"schpet","description":"manage your changelog from the command line","archived":false,"fork":false,"pushed_at":"2025-08-19T16:20:52.000Z","size":145,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-31T05:08:53.400Z","etag":null,"topics":["cli","keep-a-changelog"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/schpet.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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}},"created_at":"2025-02-15T15:47:07.000Z","updated_at":"2025-11-24T08:22:39.000Z","dependencies_parsed_at":"2025-02-15T16:31:17.036Z","dependency_job_id":"a257ade1-b3d1-49fb-b753-d01ce3fe904e","html_url":"https://github.com/schpet/changelog","commit_stats":null,"previous_names":["schpet/changelog"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/schpet/changelog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schpet%2Fchangelog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schpet%2Fchangelog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schpet%2Fchangelog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schpet%2Fchangelog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schpet","download_url":"https://codeload.github.com/schpet/changelog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schpet%2Fchangelog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34110011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"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":["cli","keep-a-changelog"],"created_at":"2025-02-26T21:26:53.217Z","updated_at":"2026-06-09T13:31:47.335Z","avatar_url":"https://github.com/schpet.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# changelog\n\na command line tool for managing changelogs following the [keep a changelog](https://keepachangelog.com) format.\n\n## why\n\ni like the idea of keeping a changelog but it's a bit of a pain. you need to know what changed, know what version you are on, know how to compare the changes between those, know the [keep a changelog format][kac], manually add the right markdown headers and links for each release.\n\nthis tool is aims to make it easy and fun to keep your changelog up to date. it offers commands to review your changes in an interface similar to a git interactive rebase, allowing you to select and reword commit messages into meaningful changelog entries. there's a comand to add `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, and `Security` changes in a structured way. and a command to make a release with easy semver bumping.\n\n[kac]: https://keepachangelog.com/en/1.1.0/\n\n## install\n\n### homebrew\n\n```\nbrew install schpet/tap/changelog\n```\n\n### binaries\n\n[https://github.com/schpet/changelog/releases/latest](https://github.com/schpet/changelog/releases/latest)\n\n### shell completions\n\ngenerate and install shell completions:\n\n```bash\n# bash\nchangelog completions bash \u003e ~/.local/share/bash-completion/completions/changelog\n\n# zsh\nchangelog completions zsh \u003e ~/.zsh/completions/_changelog  # ensure dir exists and is in fpath\n\n# fish\nsource (changelog completions fish | psub) # in ~/.config/fish/config.fish\n\n# alternatively:\nchangelog completions fish \u003e ~/.config/fish/completions/changelog.fish\n```\n\n## usage\n\nmanage your project's changelog from the command line.\n\n### adding entries\n\nadd a new entry to the unreleased section:\n\n```\n$ changelog add \"new api endpoint for users\" --type added\n+ ### Added\n+ - new api endpoint for users\n\n$ changelog add \"improved error messages\" --type changed\n+ ### Changed\n+ - improved error messages\n\n$ changelog add \"fixed login bug\" --type fixed --version 1.0.1\n+ ### Fixed\n+ - fixed login bug\n\n# attribute a commit's PR when adding an entry\n$ changelog add \"handle nil config values\" --type fixed --attribute-pr abc1234\n\n# exclude maintainer/bot users from automatic attribution\n$ changelog add \"fix race in parser\" --type fixed --attribute-pr def5678 --exclude-users maintainer,project-bot\n```\n\n`--exclude-users` only applies when `--attribute-pr` is set.\n\n### releasing versions\n\nrelease the unreleased section to a new version:\n\n```\n# automatically increment the version\n$ changelog release major  # 1.0.0 -\u003e 2.0.0\n$ changelog release minor  # 1.0.0 -\u003e 1.1.0\n$ changelog release patch  # 1.0.0 -\u003e 1.0.1\n\n# or specify an explicit version\n$ changelog release 1.0.0\nReleased version 1.0.0\n\n$ changelog release 1.0.0 --date 2025-01-01\nReleased version 1.0.0\n```\n\n### reviewing changes\n\ninteractively review git commits and add them to the changelog (similar to `git rebase -i`):\n\n```\n$ changelog review\nSelect commits to include in changelog (press 'a' to select all):\n\u003e [ ] abc1234 add user authentication\n  [ ] def5678 fix typo in docs\n  [ ] ghi9012 update dependencies\n```\n\nAfter selecting commits, you'll be dropped into your editor to categorize and reword the changes, just like an interactive rebase.\n\n### version information\n\nget version information:\n\n```\n$ changelog version latest\n1.0.0\n\n$ changelog version list\n1.0.0\n0.9.0\n0.8.0\n\n$ changelog version range 1.0.0\nv0.9.0..v1.0.0\n```\n\n### other commands\n\nshow a specific version's entries:\n\n```\n$ changelog entry 1.0.0\n## [1.0.0] - 2025-01-01\n\n### Added\n- Initial release\n```\n\nformat the changelog:\n\n```\n$ changelog fmt\nFormatted CHANGELOG.md\n```\n\ninitialize a new changelog:\n\n```\n$ changelog init\nCreated CHANGELOG.md\n```\n\n## alternatives\n\n- https://github.com/miniscruff/changie\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschpet%2Fchangelog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschpet%2Fchangelog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschpet%2Fchangelog/lists"}