concolor
cargo-semver-checks
Our great sponsors
concolor | cargo-semver-checks | |
---|---|---|
2 | 18 | |
17 | 921 | |
- | - | |
0.0 | 9.4 | |
10 months ago | 6 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.
concolor
-
clap 4.0.0, a Rust argument parser, is released!
concolor-clap
-
Ouch 0.3.0 released!
I'm a little leery of clap taking on the role of color control. I've found that each library with "auto" support does it slightly differently and that really the best place for that policy is in the caller so there is a consistent experience and so it can adapt to the caller's needs. The WG-CLI has talked about this in the past and concolor family of crates is the result. I'm waiting on feedback for termcolor's use case (non-ANSI) before going 1.0 at which point we will probably make this the backend for clap's auto color support.
cargo-semver-checks
-
Semver violations are common, better tooling is the answer
If you'd like to dig deeper, here are some links:
- cargo-semver-checks: https://github.com/obi1kenobi/cargo-semver-checks
- Trustfall query engine, which powers cargo-semver-checks: https://github.com/obi1kenobi/trustfall
- Trustfall playground, where you can query Rust library APIs in your browser -- for example, "which structs in `itertools` are importable by more than one path": https://play.predr.ag/rustdoc#?f=2&q=*3-Structs-importable-f...
- 10min conference talk on Trustfall: https://www.hytradboi.com/2022/how-to-query-almost-everythin...
I'm also giving a talk at P99 CONF in a few months about how Trustfall's new optimizations API made cargo-semver-checks over 2300x faster: https://twitter.com/PredragGruevski/status/16893002495908003...
- Cargo-semver-checks: Scan your Rust crate for semver violations
- cargo-semver-checks v0.20 and Trustfall v0.4 released — semver-check up to 2354x faster
-
err-as-you-go crate - anyhow meets thiserror
I strongly recommend that anybody creating new error types for public APIs read Study of std::io::Error by u/matklad to see some ways that error types can [need to] be future-proofed. I don't know if cargo-semver-checks can catch these issues when they're generated by a macro, but it'd be something people using this crate should carefully look into.
-
Re-exporting an enum with a type alias is breaking, but not major
cargo-semver-checks will implement a check for cases like this, and many other hazards like it. The check will be major, or minor, or just a hazard — whatever the overall community decides is right.
-
cargo-semver-checks v0.18.0: rustdoc caching, new lints & more
Full release notes: https://github.com/obi1kenobi/cargo-semver-checks/releases/tag/v0.18.0
-
cargo-semver-checks v0.17 is out: correct re-export handling
Release notes, TL;DR: Rust 1.65+ only, no more false positives due to moved+re-exported items.
- Semver implications of `#[non_exhaustive]` behavior on tuple/unit enum variants · Issue #304 · obi1kenobi/cargo-semver-checks
What are some alternatives?
argfile - Load additional CLI args from file
prql-query - Query and transform data with PRQL
clap-port-flag - Easily add address & port flags to CLIs using Clap
clap-rs - A full featured, fast Command Line Argument Parser for Rust
octosql-plugin-postgres
clap-verbosity-flag - Easily add a --verbose flag to CLIs using Clap
go-sqlite3-stdlib - A standard library for mattn/go-sqlite3 including best-effort date parsing, url parsing, math/string functions, and stats aggregation functions
ddl-diff - Generates SQL migrations by parsing and diffing DDL
octosql-plugin-random_data - OctoSQL plugin serving random data
rust-semverver - Automatic checking for semantic versioning in library crates