git-cliff
cargo-release
Our great sponsors
git-cliff | cargo-release | |
---|---|---|
33 | 11 | |
7,609 | 1,244 | |
- | 2.3% | |
9.7 | 9.1 | |
4 days ago | 12 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
git-cliff
-
Getting Started with CLI tools in Rust using Clap
git-cliff is a terminal tool that can generate changelog from the Git history by using conventional commits, as well as by using regex-powered parsers and you can even change the changelog template itself by using a configuration file. This tool is a great example of text parsing on the terminal and also uses clap_mangen which generates man pages. Useful for anyone who is serious about looking into making a production-ready terminal tool!
- Adding GitHub integration to git-cliff (need opinions/comments)
-
Auto-Generated Customer-Friendly Changelogs
Solutions exist for this. Our company does this with git-cliff. Using conventional commits, any commit labeled with the subject "www" will appear in our public changelog.
-
changelog-gh-usernames: A tool to replace emails in changelogs with GitHub usernames
This was primarily aimed to work with git-cliff to generate changelogs for GitHub releases, since tagging contributors would include them as contributors for the release, while also ensuring structured changelogs thanks to git-cliff. As of now, it requires a few extra steps to get it working with git-cliff, but the integration should be much better once the PR for post-processors is merged.
- git-cliff is being re-licensed under the MIT & Apache 2.0
- Hey everyone, exciting news! Git-Cliff just dropped version 1.0.0! Who else is psyched to try it out? Let's hear your thoughts in the comments! 🚀🎉
- git-cliff 1.2.0 is released! (highly customizable changelog generator)
- Hey guys, exciting news! We just released git-cliff v1.0.0! This tool is gonna make your Git experience even better. Make sure to give it a try and let us know your thoughts in the comments. Happy coding! 🚀👨🏻💻👩🏻💻
-
A new open-sourcing project launches!!! A declarative, compose-based and cross-platform GUI
It's the first time I see someone combining gitmoji with conventional commits (I use the later now for all my project, to generate my changelogs automatically with with git-cliff.)
- GitHub - orhun/git-cliff: A highly customizable Changelog Generator that follows Conventional Commit specifications ⛰️
cargo-release
-
Changelog-Driven Releases
My problem with maintaining a changelog during development is it can serve as a source of merge conflicts. Instead, I follow Covnentional Commit style and manually write my changelog entries based on the commits. I have a tool [0] that can show me the relevant commits for a package in my repo and automates the entire release process, including doing sanity checks.
I also feel like releasing from CI is hard, especially if you have multiple packages in a repo [1], including
- You can't as easily introspect the process
- You can't as easily recover from failure
- Getting a lot of the nuance right, like handling releases concurrent to merging of PRs, is difficult
- When the workflow is an ever-present "release PR" that you merge when ready has issues with selecting which packages to release and at what version
I have been considering making a tool to generate changelogs from fragments. Been keeping notes at https://github.com/epage/epage.github.io/issues/23
[0]: https://github.com/crate-ci/cargo-release
[1]: https://github.com/MarcoIeni/release-plz/discussions/1019
-
Oxlint – written in Rust – 50-100 Times Faster than ESLint
You should combine step 1 and 2 with CI. Just tag a version in your git, push to remote and have CI auto build a release for you.
Use github actions or other setup for other backends.
Or go nuts with cargo-release.
https://github.com/crate-ci/cargo-release
https://github.com/cargo-bins/release-pr
-
Rust 2030 Christmas list: Subcrate dependencies
tools like cargo-release
-
`toml` vs `toml_edit` (ie `toml` 0.6 is out)
Just to check, are you aware of cargo-edit's cargo-set-version or cargo-release?
-
What's everyone working on this week (45/2022)?
I released my first crate that provides a derive macro to easily obtain a name of a current variant in an enum as a string. I did it mostly to learn about procedural macros and the process of releasing a crate. I then found out there is strum which does this and much more. Nonetheless, I learned a lot and I found couple of nice tools like ```cargo-release and git-cliff.
- cargo-release v0.22 is out!
-
A GitHub Action for creating "Release PRs" for Cargo projects.
I'll note there is an issue in the cargo-release repo where this kind of workflow is wanted. https://github.com/crate-ci/cargo-release/issues/119
-
[Gitoxide December Update]: a new object database and upcoming multi-pack index support
cargo-release is on about the same level of features used
-
cargo-release v0.19
cargo-release automates the release process for your crate. For example, with clap, all I do is add entries to the CHANGELOG and run cargo release patch and cargo-release takes care of updating files, publishing to crates.io, tagging, and pushing.
-
Introducing `cargo smart-release` - the new way to release workspace crates
Yes, developers from all three tools were sharing ideas with each other recently
What are some alternatives?
conventional-changelog - Generate changelogs and release notes from a project's commit messages and metadata.
Rustup - The Rust toolchain installer
cocogitto - The Conventional Commits toolbox
just - 🤖 Just a command runner
git-cliff-action - GitHub action to generate a changelog based on the Git history
cargo-make - Rust task runner and build tool.
changie - Automated changelog tool for preparing releases with lots of customization options
Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/
cargo-update - A cargo subcommand for checking and applying updates to installed executables
cargo-ebuild - cargo extension that can generate ebuilds using the in-tree eclasses
GitHub Changelog Generator - Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
cargo-modules - Visualize/analyze a Rust crate's internal structure