Funny! I actually came across this article yesterday when trying to look into the current state of Ruby's global method cache. I had a question about the write-up, so maybe I can ask it here!<p>The page says:<p>> <i>This is now no longer an issue, Ruby 2.1 uses a method cache based on the class hierarchy, invalidating the cache for only the class in question and any subclasses.</i><p>How does this work with an <i>instance</i> of a class? Does it invalidate only that instance's method cache, or all instances in that class? If I do DCI-style:<p><pre><code> @user.extend(PasswordConfirmable)
</code></pre>
Does that blow away the cache for all User instances, or just that one?
There's some great little improvements in there, to_h, required keywords and being able to decorate methods are all things that I regularly want. They're really making good on their philosophy of optimising for developer happiness :)
Hurray, they fixed a little bug I reported: Dir glob returns composed characters. I hit this bug a year or so ago when processing files on OS X.<p>Thanks to the Ruby team for all the hard work on 2.1, it looks like there's a lot of little changes in there.
Does Ruby truly follow semantic versioning now? I still see the patch version.<p><pre><code> $ ruby -v
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0]</code></pre>