I wish, Python/Ruby moved slower and focus on non-visible or backwards compatible improvements
There are five notable incompatibilities we know of:
The default encoding for ruby scripts is now UTF-8 [#6679]. Some people report that it affects existing programs, such as some benchmark programs becoming very slow [ruby-dev:46547].
Iconv was removed, which had already been deprecated when M17N was introduced in ruby 1.9. Use String#encode, etc. instead.
There is ABI breakage [ruby-core:48984]. We think that normal users can/should just reinstall extension libraries. You should be aware: DO NOT COPY .so OR .bundle FILES FROM 1.9.
#lines, #chars, #codepoints, #bytes now returns an Array instead of an Enumerator [#6670]. This change allows you to avoid the common idiom "lines.to_a". Use #each_line, etc. to get an Enumerator.
Object#inspect does always return a string like #<ClassName:0x…> instead of delegating to #to_s. [#2152]
I don't think it's entirely fair to group it with Ruby in this case.
So when 1.9.3 is EOLd in 2015, the 1.9 series will have been around for 6 whole years. Seems like quite a lot of time to me.
And of course, as others have pointed out, upgrading to 2.0 is fairly painless. Going from 2.0 to 2.1 should be even smoother.
In any case, life feels good on Ruby 1.8. I can jump straight to 2.0 without ever worrying about #Encoding comments. :D
And to me, this is the great thing about Ruby and its communities in general. It is about moving forwards and not afraid of reinventing the wheel if you have a better idea.
If you want a language that "moves slower and focus on non-visible or backwards compatible improvements", you know where to find Java. But it seems to me that most python/ruby users would never have adopted python/ruby if they'd moved that slowly (remember both of those started around the same time Java did - but they've evolved a lot faster).
I have only ever heard of one application in the wild reliant upon DataMapper. Can you share some others that you've heard of? I'm kind of curious.
Ok that was a silly joke, but seriously this is a good change and 2.1 is awesome. Keep moving Ruby forward!
Ruby made major syntactic additions in the 1.8 -> 1.9 transition, Unicode tweaks, Fibers and scoping changes. 2.x has really just built on top of that (despite making a major version change).