cargo-crate-api
rust-semverver
cargo-crate-api | rust-semverver | |
---|---|---|
3 | 8 | |
7 | 641 | |
- | - | |
8.5 | 1.7 | |
almost 2 years ago | 10 months ago | |
Rust | Rust | |
- | BSD 3-clause "New" or "Revised" License |
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.
cargo-crate-api
-
Implied bounds and perfect derive
As for detecting this, the cargo team has been maintaining documentation on crate semver compatibility (which is similar but not exactly the same as the stdlib) and we've been finding we want to switch to automating this instead. We are looking at adopting my proof of concept. I've been meaning to get it setup for a bigger request-for-contributors but haven't gotten to it yet.
-
Cargo: Namespaced and weak dependency features have been stabilized
cargo-crate-api
-
[Gitoxide December Update]: a new object database and upcoming multi-pack index support
cargo-crate-api checks out a ref to an arbitrary directory. It chooses the latest tag if one wasn't specified
rust-semverver
-
A byte string library for Rust
1) No. I think semver is just fine for its intended purpose. I mean, I'm sure its spec could be improved in various ways, but its fundamental idea seems fine to me. I think it's just important to remember that semver is a means to an end, and not an end itself. It is a tool of communication most useful in a decentralized context.
2) No.
3) See: https://github.com/rust-lang/rust-semverver --- But also, this is only ever going to be a "best effort" sort of thing. Semver isn't just about method additions or deletions, but also behavior.
-
Toward fearless `cargo update`
How does this compare to cargo-semverver?
-
Are crate versions numbers all low because Rust just works?
Found this: https://github.com/rust-lang/rust-semverver but it doesn't seem to act on git log/diffs... just FYI.
-
Implied bounds and perfect derive
Enter rust-semverver!
-
my company refuses to use rust because it changes to much
Rust type system on the other hand does not allow this. Traits are monotonic logic: adding trait-impls / most qualifiers does't influence already existing and compiling code (note: for code that doesn't rely on disambiguation to compile). There's rules that clarify this disambiguations and breaking/non-breaking changes according to the type system. There's SemVerVer to automatically verify those guidelines.
-
Would you want crates.io/cargo publish to enforce strictly correct SemVer conventions?
In my case it wasn't so bad and an easy fix was fast to write, but it got me thinking of how much of a problem this is for the wider ecosystem. Some searching showed me, that of course there is a tool rust-semverver to do exactly that. Sadly it errors on my system (or maybe im just using it wrong). Would've been interesting to see how often this actually happens on crates.io and how much of a problem this really is.
-
Semantic Versioning Will Not Save You
There's been an attempt at this for the Rust ecosystem: https://stackoverflow.com/questions/41185023/what-exactly-is...
There's also a library that attempts to automatically check sermver adherence of a crate: https://github.com/rust-lang/rust-semverver
And there has been quite a bit of effort into preventing semver requirements from fracturing the ecosystem. This revolves around the compiler working with multiple major versions of a single library: https://github.com/dtolnay/semver-trick
-
cargo-incversion, a command line utility to update Cargo.toml version
Turns out it already exists: https://github.com/rust-lang/rust-semverver
What are some alternatives?
rust-crates-index - Rust library for retrieving and interacting with the crates.io index
wg - Coordination repository of the embedded devices Working Group
cargo-release - Cargo subcommand `release`: everything about releasing a rust crate.
cargo-semver-checks-action - A GitHub Action for running cargo-semver-checks
really-small-backpack-example - A really small example of the Backpack module system for Haskell
cargo-semver-checks - Scan your Rust crate for semver violations.
blog - My blog.
imgref-iter - A small crate for iterating over the rows or columns of `imgref` buffers
rust-memchr - Optimized string search routines for Rust.
aho-corasick - A fast implementation of Aho-Corasick in Rust.
Elm - Compiler for Elm, a functional language for reliable webapps.