{"id":21408565,"url":"https://github.com/release-plz/release-plz","last_synced_at":"2026-04-04T12:58:12.046Z","repository":{"id":37035235,"uuid":"439941981","full_name":"release-plz/release-plz","owner":"release-plz","description":"Publish Rust crates from CI with a Release PR.","archived":false,"fork":false,"pushed_at":"2025-05-11T22:55:50.000Z","size":24907,"stargazers_count":1043,"open_issues_count":69,"forks_count":116,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-11T23:26:41.065Z","etag":null,"topics":["ci","hacktoberfest","release","rust"],"latest_commit_sha":null,"homepage":"https://release-plz.dev","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/release-plz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","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},"funding":{"open_collective":"release-plz"}},"created_at":"2021-12-19T18:46:33.000Z","updated_at":"2025-05-11T21:52:19.000Z","dependencies_parsed_at":"2023-10-03T12:47:26.795Z","dependency_job_id":"8a3d0c1e-6ac3-482f-8b90-0881aa193f4f","html_url":"https://github.com/release-plz/release-plz","commit_stats":{"total_commits":1545,"total_committers":64,"mean_commits":24.140625,"dds":"0.46537216828478967","last_synced_commit":"7e6759fc4f1d0f3025b9f9d18246dd2d0b1ce9a2"},"previous_names":["release-plz/release-plz"],"tags_count":588,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/release-plz%2Frelease-plz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/release-plz%2Frelease-plz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/release-plz%2Frelease-plz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/release-plz%2Frelease-plz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/release-plz","download_url":"https://codeload.github.com/release-plz/release-plz/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253700547,"owners_count":21949694,"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","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":["ci","hacktoberfest","release","rust"],"created_at":"2024-11-22T17:17:09.411Z","updated_at":"2026-02-16T02:26:28.016Z","avatar_url":"https://github.com/release-plz.png","language":"Rust","funding_links":["https://opencollective.com/release-plz"],"categories":["Development tools","Rust","Recently Updated","hacktoberfest"],"sub_categories":["Deployment","[Nov 28, 2024](/content/2024/11/28/README.md)"],"readme":"[![release-plz-logo](website/static/img/release-plz-social-card.png)](https://release-plz.dev)\n\n[![Crates.io](https://img.shields.io/crates/v/release-plz.svg)](https://crates.io/crates/release-plz)\n[![CI](https://github.com/release-plz/release-plz/workflows/CI/badge.svg)](https://github.com/release-plz/release-plz/actions)\n[![Docker](https://badgen.net/badge/icon/docker?icon=docker\u0026label)](https://hub.docker.com/r/marcoieni/release-plz)\n\nRelease-plz helps you release your Rust packages by automating:\n\n- CHANGELOG generation (with [git-cliff](https://git-cliff.org)).\n- Creation of GitHub/Gitea/GitLab releases.\n- Publishing to a cargo registry (`crates.io` by default).\n- Version bumps in `Cargo.toml`.\n\nRelease-plz updates your packages with a release Pull Request based on:\n\n- Your git history, following [Conventional commits](https://www.conventionalcommits.org/).\n- API breaking changes (detected by [cargo-semver-checks](https://github.com/obi1kenobi/cargo-semver-checks)).\n\n## 🤔 What's a Release PR?\n\nRelease-plz maintains Release PRs, keeping them up-to-date as you merge additional commits. When you're\nready to create a release, simply merge the release PR.\n\n![pr](website/docs/assets/pr.png)\n\nWhen you merge the Release PR (or when you edit the `Cargo.toml` versions by yourself),\nrelease-plz:\n\n- Creates a git tag named `\u003cpackage_name\u003e-v\u003cversion\u003e` (e.g. `tokio-v1.8.1`).\n- Publishes the package to the cargo registry by running `cargo publish`.\n- Publishes a GitHub/Gitea/GitLab release based on the git tag.\n\n## 📚 Docs\n\nLearn how to use release-plz in the [docs](https://release-plz.dev/).\n\n## 🤖 Running release-plz\n\nThere are two ways to run release-plz:\n\n- [GitHub Action](https://release-plz.dev/docs/github): Run Release-plz from CI. The action both updates and releases your packages.\n- [CLI](https://release-plz.dev/docs/usage): Run release-plz from your terminal or other CI systems (Gitea and GitLab supported).\n\n## 💖 Users\n\nHere you can find the public repositories using the release-plz GitHub action in CI:\n\n- GitHub search [1](https://github.com/search?type=code\u0026q=path%3A*.yml+OR+path%3A*.yaml+MarcoIeni%2Frelease-plz-action%40)\n  and [2](https://github.com/search?type=code\u0026q=path%3A*.yml+OR+path%3A*.yaml+release-plz%2Faction%40)\n- Dependency graph [1](https://github.com/release-plz/action/network/dependents?package_id=UGFja2FnZS0zMDY0NDU2NDU0)\n  and [2](https://github.com/release-plz/action/network/dependents?package_id=UGFja2FnZS01NTY5MDk1NDUw)\n\n## 📽️ RustLab 23 talk\n\nIn RustLab 23, I showed how release-plz simplifies releasing Rust packages, why I created it, and what lessons I learned:\n\n[![RustLab 23 talk](https://github.com/release-plz/release-plz/assets/11428655/30e94b65-9077-454d-8ced-6f77d0344f0c)](https://www.youtube.com/watch?v=kXPBVGDkQSs)\n\n## 🌓 Similar projects\n\n- [release-please](https://github.com/googleapis/release-please): release-plz is inspired by release-please,\n  but instead of determining the next versions based on git tags, release-plz compares local packages with\n  the ones published in the cargo registry.\n  Plus, release-plz doesn't need any configuration and is optimized for Rust projects.\n- [cargo-smart-release](https://github.com/Byron/cargo-smart-release):\n  Fearlessly release workspace crates and with beautiful semi-handcrafted changelogs.\n\n## 🙏 Credits\n\nParts of the codebase are inspired by:\n\n- [cargo-clone](https://github.com/JanLikar/cargo-clone)\n- [cargo-edit](https://github.com/killercup/cargo-edit)\n- [cargo-release](https://github.com/crate-ci/cargo-release)\n- [cargo-workspaces](https://github.com/pksunkara/cargo-workspaces)\n- [git-cliff](https://github.com/orhun/git-cliff)\n\n\u003cbr\u003e\n\n\u003csup\u003e\nLicensed under either of \u003ca href=\"LICENSE-APACHE\"\u003eApache License, Version 2.0\u003c/a\u003e\nor \u003ca href=\"LICENSE-MIT\"\u003eMIT license\u003c/a\u003e at your option.\n\u003c/sup\u003e\n\n\u003cbr\u003e\n\n\u003csub\u003e\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n\u003c/sub\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelease-plz%2Frelease-plz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frelease-plz%2Frelease-plz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelease-plz%2Frelease-plz/lists"}