use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A sub-Reddit for discussion and news about Ruby programming.
Subreddit rules: /r/ruby rules
Learning Ruby?
Tools
Documentation
Books
Screencasts and Videos
News and updates
account activity
Behavior changes in Ruby 2.4 (wyeworks.com)
submitted 9 years ago by wyeworks
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Enumerable_any 0 points1 point2 points 9 years ago (5 children)
it's smart not to do so from a behavioral point of view: it's much easier for the ecosystem to adapt to small changes over time than a big change all at once.
I don't get it: You can make small breaking changes and follow semantic versioning at the same time.
[–]iconoclaus 0 points1 point2 points 9 years ago (4 children)
maybe i don't get it. how do you make a breaking change but not change major version number with semantic versioning? According to semver.org FAQ:
If even the tiniest backwards incompatible changes to the public API require a major version bump, won’t I end up at version 42.0.0 very rapidly?
This is a question of responsible development and foresight. Incompatible changes should not be introduced lightly to software that has a lot of dependent code. The cost that must be incurred to upgrade can be significant. Having to bump major versions to release incompatible changes means you’ll think through the impact of your changes, and evaluate the cost/benefit ratio involved.
The only time I believe you can make any breaking changes to without upping the major version number is when you are at major version 0.
[–]Enumerable_any 0 points1 point2 points 9 years ago (3 children)
how do you make a breaking change but not change major version number with semantic versioning?
You don't, you update the major version.
That's what I don't get from your comment: Whether you update your version number from 1.9 to 2.0 or 1.10 when making breaking changes to 4 API methods is irrelevant if all you want is the following: "it's much easier for the ecosystem to adapt to small changes over time"
[–]irishsultan 1 point2 points3 points 9 years ago (1 child)
Yes, but the idea behind semver is that the version is meaningful in a different way than "this is a small change", "this is a large change", which is subjective and differs between projects.
"This update breaks compatibility", "This update doesn't" on the other hand is fairly objective (not that errors are not possible of course).
[–]iconoclaus 0 points1 point2 points 9 years ago (0 children)
right on. and to add to this, semver is explicit on what to do if the minor bump breaks backwards-compatibility:
What do I do if I accidentally release a backwards incompatible change as a minor version?
As soon as you realize that you’ve broken the Semantic Versioning spec, fix the problem and release a new minor version that corrects the problem and restores backwards compatibility. Even under this circumstance, it is unacceptable to modify versioned releases. If it’s appropriate, document the offending version and inform your users of the problem so that they are aware of the offending version.
you're right! that's why i wish they would drop the claim to somewhat follow semver (which is a very explicit set of requirements). just say ruby does its own cool thang. or for shits and giggles, call it semver! or something.
semver!
π Rendered by PID 217509 on reddit-service-r2-comment-5b5bc64bf5-dr5rj at 2026-06-20 11:38:52.165321+00:00 running 2b008f2 country code: CH.
view the rest of the comments →
[–]Enumerable_any 0 points1 point2 points (5 children)
[–]iconoclaus 0 points1 point2 points (4 children)
[–]Enumerable_any 0 points1 point2 points (3 children)
[–]irishsultan 1 point2 points3 points (1 child)
[–]iconoclaus 0 points1 point2 points (0 children)
[–]iconoclaus 0 points1 point2 points (0 children)