Funnily enough, the major thing that breaks is Firefox, and they say to always use the latest stable version.
So Rust isn't winning points there either... :/
It does matter: the Rust developers are careful to avoid breaking working Rust code, unless the breakage is caused by fixing a soundness hole (in which case, one could argue that the code was already broken). They even have a tool (crater) which tries to compile every Rust library they know of, which they use whenever they suspect a change might break working code.
The things which are still changing are mostly new features. For instance, async was recently introduced; introducing it didn't break anything (even the new reserved keywords are reserved only if the code is built with "edition=2018", while old code predating that change will be using the default "edition=2015").
> Funnily enough, the major thing that breaks is Firefox, and they say to always use the latest stable version.
Isn't that on the other direction, with Firefox using new features which are only available on the latest stable version of Rust, meaning it "breaks" on old versions of Rust?
No. In openSUSE, we've been blocked for far too long because the latest Firefox releases did not compile with the latest Rust releases. Some enterprising individual went and debugged it and patched Firefox to work with newer Rust and we were finally able to land it, but it took months and we missed out on 1.37, 1.38, and almost 1.39. This happens because openSUSE's build service rebuilds everything dependent on Rust at build-time automatically, and if things fail to build, new Rust can't land in the distro.
This is not the first time it has happened, and I suspect it won't be the last.
So, I meant what I said.