Predrag Gruevski @predr.ag · 21/09/2026GitHub Actions + Rust's Miri can leak your secrets in CI 🧵 If you run Miri in CI: - upgrade to the 2026-09-22 nightly - clear caches - rotate any secrets that the `cargo miri` CI job had access to GPT-6 Astra helped find this 🦀 1389
Predrag Gruevski @predr.ag · 01/09/2026New programming book arrived in the mail 👀 There's never been a better time to think deeply about the structure behind the code we cause to exist. 1446
Predrag Gruevski @predr.ag · 01/08/2026With any luck, this is the cargo-semver-checks release that will start scanning the Rust standard library for breakage. Enjoy v0.50.0! What a fitting moment for a nice round number 🎉 Expect a blog post soon! 0453
Predrag Gruevski @predr.ag · 27/07/2026"If your rules aren't checkable with a tool, they are just entertainment. They aren't being followed." - Gerard Holzmann #systemsdistributed 0123
Predrag Gruevski @predr.ag · 03/07/2026Day 5, a picture worth a thousand words 👇 I put an API-breaking `#[doc(hidden)]` in my local build of the Rust standard library, and asked cargo-semver-checks to find it. See for yourself! 251
Predrag Gruevski @predr.ag · 24/05/2026Sad that RustWeek is over, and glad I got to spend the week with so many wonderful people. Next time you are delighted by how a Rust feature works, say thanks to all these folks who spent the week hashing out every possible edge case! Can't wait for next year's RustWeek! #rustweek #rustweek2026 0415
Predrag Gruevski @predr.ag · 19/05/2026Hello from Rust Week 2026! The venue is a movie theater, so the organizers made a batch of movie posters customized to the event. Here's just one of them ✨ #rustweek2026 #rustweek #rustlang 2937
Predrag Gruevski @predr.ag · 11/01/2026Shout-outs to the kind folks who make this work possible by funding cargo-semver-checks 🙏 030
Predrag Gruevski @predr.ag · 11/01/2026I also propose a change in how we measure success going forward. I hate gameable metrics. Let's build what's most valuable for the community, not what's easiest to quantify and brag about. 100
Predrag Gruevski @predr.ag · 11/01/2026Here's everything you'll find in the post above! If you're a regular reader, some of these sections may be familiar. There are links so you can skip ahead! 100
Predrag Gruevski @predr.ag · 30/12/2025SemVer is tricky in all languages. But in #rustlang it's easier than ever before! By the end of 2024, cargo-semver-checks' capabilities were growing exponentially: 30 -> 57 -> 120 lints. We now end 2025 with 242 lints — 122 new lints were merged this calendar year 🎉 The exponential continues! 0265
Predrag Gruevski @predr.ag · 30/11/2025On behalf of the cargo-semver-checks project, it's my pleasure to recognize @jyn.dev's irreplaceable and tireless work in the #rustlang community 🦀 I'll share just one anecdote; you can click on the GitHub Sponsors link at the end of the thread to see more 🧵 36613
Predrag Gruevski @predr.ag · 24/09/2025I have a paper for you to read: people.csail.mit.edu/nickolai/pap... 041
Predrag Gruevski @predr.ag · 21/09/2025Here's the animation (but do check out the release notes too!) 090
Predrag Gruevski @predr.ag · 21/09/2025cargo-semver-checks v0.44.0 is live — we've hit 200 lints ✨ Don't miss this *adorable* animation in the release notes, courtesy of the amazingly talented @dekirisu.com Check it out here: github.com/obi1kenobi/c... #rust #rustlang #semver 2191
Predrag Gruevski @predr.ag · 05/09/2025Sometimes when I work on #rustlang cargo-semver-checks, I feel I need "Look What You Made Me Do" playing in the background. Here's a legal type and function signature I wrote today to test some upcoming lints 👇 2120
Predrag Gruevski @predr.ag · 28/08/202570% of security vulnerabilities are memory safety related, across a variety of studies in mature, well-maintained codebases. Looking specifically at critical security vulnerabilities, the number goes up to 94%. From @david-sankel.bsky.social's talk at @rustforgeconf.com 180
Predrag Gruevski @predr.ag · 10/08/2025Who else is going to be at Rust Forge btw? Look at this stacked list of speakers and topics. I'm really looking forward to meeting all these folks in person! rustforgeconf.com 010
Predrag Gruevski @predr.ag · 10/08/2025✨ cargo-semver-checks v0.43.0 is out ✨ This release cycle focused on making it a joy to use and build. We improved performance on large crates, cut down our CI time, tackled a large rustdoc JSON format migration, and paid down technical debt. Enjoy! 190
Predrag Gruevski @predr.ag · 07/06/2025Experienced #rustlang engineers never break SemVer. Nobody needs cargo-semver-checks — just be more careful </s> I even *had left myself a note* that the next release needs to be a major bump. Too bad I only saw the note after cargo-semver-checks stopped the publish job! 1191
Predrag Gruevski @predr.ag · 14/05/2025Update on the Rust Vision Doc, by @nikomatsakis.com, @timclicks.dev, and Jack Huey Day 2 of #RustWeek closing strong! 060
Predrag Gruevski @predr.ag · 13/05/2025Excited for day 1 of #RustWeek! So many good talks coming up 🤩 If you like cargo-semver-checks (and especially if you fund it on GitHub Sponsors!), find me in the hallway — I have something for you 👀 0203
Predrag Gruevski @predr.ag · 22/04/2025New cargo-semver-checks just dropped, enjoy! And if you're enjoying, please support the project on GitHub Sponsors 😍 github.com/obi1kenobi/c... 2214
Predrag Gruevski @predr.ag · 04/04/2025I think I found something weird & scary with `#[target_feature]` in #rustlang. Is this expected? This feels like it should *at minimum* trigger a lint. How am I supposed to know whether trait impls added extra safety preconditions — especially when using `dyn/impl Trait` and/or an unsealed trait? 271
Predrag Gruevski @predr.ag · 08/03/2025✨ cargo-semver-checks v0.40 is out ✨ github.com/obi1kenobi/c... 1141
Predrag Gruevski @predr.ag · 26/02/2025Hey, look at that! Number go up, and it's a round number again! 1150
Predrag Gruevski @predr.ag · 31/01/2025"When can a trait be implemented without touching `#[doc(hidden)]` items?" Simple question, extremely complex answer! Most intense 2000 lines I've written in a long time! Still needs cleanup & refactoring, but it's passing tests! github.com/obi1kenobi/t... 1103
Predrag Gruevski @predr.ag · 28/01/2025Happy "new cargo-semver-checks release" day! ✨ 20 new lints ✨ 191
Predrag Gruevski @predr.ag · 09/01/2025I like to play "Where's Waldo" as much as the next person, but not during code review. Let's have more tools that point out things humans might miss! 000
Predrag Gruevski @predr.ag · 09/01/2025cargo-semver-checks found the problem in this change, saving the project from breaking SemVer. Manifest linting for the win! 🔥 Do you see the breaking change? #rust #rustlang #semver 170
Predrag Gruevski @predr.ag · 11/12/2024cargo-semver-checks v0.38 is live, enjoy 🦀🔥 @orhun.dev and I live-streamed writing one of these new lints last weekend, if you want to see how the proverbial #rustlang sausage gets made! 1102
Predrag Gruevski @predr.ag · 10/12/2024Huge thanks to @rerun.io and @ernerfeldt.bsky.social for sponsoring my work on cargo-semver-checks 🙏 To celebrate, I'll write 5 new lints today ✨ 0252
Predrag Gruevski @predr.ag · 05/12/2024In #rustlang, Cargo.toml changes that seem innocuous can break your users! As of today, cargo-semver-checks has you covered 😇 Here's how 👇 predr.ag/blog/breakag... 1226
Predrag Gruevski @predr.ag · 27/11/2024Gotta love it when you're writing two different programs at the same time, and they have to rhyme. do_stuff() is 10 lines long in the actual code, and this structure repeats half a dozen times in the same function. 140
Predrag Gruevski @predr.ag · 20/11/2024Only if there are no accidental breaking changes in any of the upgraded versions! As the talk shows, accidental breakage is quite common and happens ~all the time even to expert maintainers. 100
Predrag Gruevski @predr.ag · 19/11/2024That's certainly a new way to spell my name. Innovation strikes again! 110
Predrag Gruevski @predr.ag · 07/11/2024Congrats to all #rustlang Google Summer of Code students on completing their projects! Max knocked his cargo-semver-checks project out of the park 🚀 blog.rust-lang.org/2024/11/07/g... 070
Predrag Gruevski @predr.ag · 19/10/2024Enjoy the new cargo-semver-checks release ✨ Preventing more breakage, across more #rustlang versions, in less time than ever before. Check out the full release notes here: github.com/obi1kenobi/c... 050
Predrag Gruevski @predr.ag · 16/10/2024It's official: I'm a #rustlang Foundation Fellow working on cargo-semver-checks 🎉🦀 Accidental breaking changes suck. Let's eliminate as many of them as we can. foundation.rust-lang.org/news/announc... 4235
Predrag Gruevski @predr.ag · 06/10/2024Sneak peek of my EuroRust talk, hope to see you there 👀 Jon Gjengset is a hard act to follow so I'm polishing everything until it shines ✨ 120
Predrag Gruevski @predr.ag · 04/10/2024Had a blast at RustConf 🦀🎉 Let's put an end to accidental SemVer breakage! The talk videos should be up soon. Here are my slides: docs.google.com/presentation... 030
Predrag Gruevski @predr.ag · 17/09/2024I was user #59,666 here — what an appropriately cursed number given the kind of programming shenanigans I pull... 120
Predrag Gruevski @predr.ag · 09/09/2024Excited to meet everyone at #rustconf24 🦀 Check out the free livestream if you couldn't make it in person! Let's put an end to accidental SemVer breakage! 020
Predrag Gruevski @predr.ag · 15/08/2024SemVer linting across a large range of Rust versions is an underappreciated challenge 🦀 cargo-semver-checks supports Rust 1.77+, meaning it has to support 6 different rustdoc JSON formats at once! 111
Predrag Gruevski @predr.ag · 14/08/2024✨ cargo-semver-checks v0.34 ✨ New lints + freshly rebuilt with Rust 1.80.1 to ensure we aren't affected by miscompilations or inference breakage. If you like this, please sponsor my work: github.com/sponsors/obi... 000
Predrag Gruevski @predr.ag · 31/07/2024My turn to ship an unexpected breaking change 😅 No amount of expertise can shield us from this. Only better tools can change the status quo. 020
Predrag Gruevski @predr.ag · 29/07/2024"When you're working with superconductors, copper is an insulator" #rustlang tools like cargo-semver-checks, release-plz, PyO3, and maturin are helping make fusion power a reality 🦀 110
Predrag Gruevski @predr.ag · 24/07/2024We interrupt your scrolling to bring you: ✨ a new cargo-semver-checks release ✨ 120