Can you link to documentation of the old way? The way I understand it is that they fixed a bug. If they broke a documented API I would agree with you, should be a major version bump.
Ironically, this is exactly what has happened with CoffeeScript here - the blog post is conveniently light on details. 1.9.0 seems to have changed some internal variable naming, which no-one should be relying on.
There's no irony, io.js is trying to follow semver and is doing so correctly, Jeremy happened to follow it in this one case but will happily break people's app on any arbitrary release.
Jeremy did not break anyone's app. He has said, time and time again, that CoffeeScript is not released according to semver. If you choose to implement it without watching your version numbers your app breaking is your responsibility.
I'm starting to understand why people are reluctant to open source their projects. Apparently it means you are tech support for absolutely everyone that uses it on their production systems.
CoffeeScript is published to NPM, which depends on semver. When people do:
npm install coffee-script --save
Their app is going to be broken in the future. It's irresponsible to put this burden on your users because you romanticize a version number. If it's this important simply don't publish to a package manager that is based on semver.
If you aren't shrinkwrapping your NPM dependencies on production code then you're not using NPM correctly.
And sure, CoffeeScript could be banished from NPM, but something tells me there would be a lot more complaints about that than about a 1.9.0 breaking change that was actually a bug fix. I prefer a pragmatic approach.
I don't think development vs production matters here, you're still wasting people's time.
You can't have it both ways, you can't benefit from the npm ecosystem and then get mad when people are upset that you're not following npm's conventions and wasting their time. If you want to be righteous about something then this is what happens.
What benefit, exactly? No-one makes money from the development of CoffeeScript. It being on NPM is a convenience to those who want to use it, not a benefit for the programmer that gets absolutely nothing in return for making it.
Interesting that your choice of phrase is "having" those libraries. Not "creating", "developing" or "maintaining". It's as if they just dropped into his lap or something.
Of course there are benefits to being a well known JS developer. But there are also drawbacks to spending a huge amount of personal time developing projects that hundreds of thousands of people depend upon and taking no money in return. Come on.
Don't get me wrong, breaking changes in code are A Bad Thing. But it irks me that instead of everyone saying "oh, what an unfortunate mistake, how can we fix it?" they say "Jeremy broke my app".
You're getting far off track here. Regardless of the reason for publishing to NPM, he does so knowing that it will break people's applications. You seem to be suggesting that he owes them nothing; I'm saying he owes them the courtesy not to poke them in their eyes.
Ironically, this is exactly what has happened with CoffeeScript here - the blog post is conveniently light on details. 1.9.0 seems to have changed some internal variable naming, which no-one should be relying on.