8 ms·
Ruby 2.1 Released
- whalesalad 13y agoWow best Christmas present ever. Thank you Ruby team!
- mrinterweb 13y agoWhen I woke up to this news, I rushed past the presents straight to my laptop to install 2.1. Thank you ruby team for the great Christmas present. PS. Thanks RVM for getting the stable ruby 2.1 ready so fast.
- killercup 13y agoChangelog: https://github.com/ruby/ruby/blob/v2_1_0/NEWS https://github.com/ruby/ruby/blob/v2_1_0/NEWS
- pselbert 13y agoExcellent! I've been looking forward to the improved GC. Nice to see they kept the Cheistmas tradition alive.
- ksec 13y agoNice, On a Side note Rubinius 2.2.1 was out and i didn't notice they had a 2.2 release at all. Wasn't even a announcement from Rubinius Twitter or any news on HN either. Now i am waiting for someone doing some benchmarks with the two ( & JRuby ).
- steveklabnik 13y agoRubinius is releasing so often these days it really just isn't a big deal.
- andyl 13y agoRubinius 2.2.1 is still only compatible with MRI 1.9. (no support for keyword arguments)
- teeray 13y agoOfficial Announcement: http://www.ruby-lang.org/en/news/2013/12/25/ruby-2-1-0-is-released/ http://www.ruby-lang.org/en/news/2013/12/25/ruby-2-1-0-is-re...
- jamesbritt 13y agoSide question: Does anyone know why the svn repo does not include a minor version number? http://svn.ruby-lang.org/repos/ruby/branches/ruby_2_1/ while there are branchs such as ruby_1_9_3 and ruby_2_0_0.
- cremno 13y agoSee “Branching Schema”: https://www.ruby-lang.org/en/news/2013/12/21/semantic-versioning-after-2-1-0/ https://www.ruby-lang.org/en/news/2013/12/21/semantic-versio...
- reinhardt 13y agoAnother sidenote question: what's a good resource/tutorial to get into ruby (both the language and the ecosystem) for an experienced Python dev?
- mikkelewis 13y agoOther than the new generational GC, I'm most excited about String#scrub and String#freeze. String#scrub: https://github.com/ruby/ruby/blob/1e8a05c1dfee94db9b6b825097e1d192ad32930a/string.c#L7772 https://github.com/ruby/ruby/blob/1e8a05c1dfee94db9b6b825097... String#freeze example: https://github.com/rails/rails/pull/12879 https://github.com/rails/rails/pull/12879
- jrochkind1 13y agoI am pleased someone else is excited about String#scrub. For those who need #scrub behavior in ruby 1.9 or 2.0, I wrote a gem a while ago to do this -- I wrote it before I was aware of the upcoming String#scrub api -- I'll maybe change it to provide a String#scrub 'backfill' now, with monkey patching even? https://github.com/jrochkind/ensure_valid_encoding https://github.com/jrochkind/ensure_valid_encoding
- radq 13y agoLooks like there is already a gem backporting String#scrub: https://github.com/hsbt/string-scrub/ https://github.com/hsbt/string-scrub/ It was mentioned in the changelog.
- jrochkind1 13y agoawesome, thanks. Looks like that backport may be only for ruby 2.0 (not 1.9), and is a compiled C extension. It won't take many lines of pure ruby code to do it for ruby 1.9 too, although presumably not performing quite as well as a C version. At any rate, this is definitely something I and people I know need to do all the time, although apparently most ruby devs never need to do it; but I'm glad it's finally made it into stdlib.
- jrochkind1 13y agoThat backport works on MRI 2.0. I've completed a pure-ruby polyfill that should work on 1.9 as well as 2.0, any ruby interpreter including jruby. (It does have some issues mentioned in the readme). https://github.com/jrochkind/scrub_rb https://github.com/jrochkind/scrub_rb
- daGrevis 13y agoPlease stop posting links to file locations. Announcements or changelogs would be more useful! If I would like to download it, I'll just use package manager. Personally, I just want to read what's new.
- teeray 13y agoOP here: The announcement hadn't been written at the time I posted this link. I figured people would rather install it, and when the announcements became available, I'd add them as comments. They are both posted here if you scroll down.
- lbarrow 13y agoI'm super excited about the new GC and profiling tools. I actually feel like I can't wait to get back to work and try them out =)
- thinkbohemian 13y agoNow supported on Heroku! https://devcenter.heroku.com/changelog-items/376 https://devcenter.heroku.com/changelog-items/376
- trustfundbaby 13y agoin unofficial benchmarks with Rails (running different rake tasks and benchmarking them). 2.1.0 seems to be 20% faster than 2.0.0 and 2.0 was about 60/70% faster than 1.9.3 so that would make 2.1.0 about twice as fast as 1.9.3.
- oddx 13y agoAnd 1.9 was about twice as fast as 1.8. So it should be 400% percent improvement compared to 1.8.
- brianhempel 13y agoRails was only about 5-6% faster in the last few nights of development builds (based on what is installed with rvm reinstall ruby-head). I would be surprised if the released 2.1.0 is more than one percentage point different from that. Pretty graphs here: http://www.isrubyfastyet.com/ http://www.isrubyfastyet.com/ (I run a nightly benchmark.) I will add 2.1.0 right now and hopefully we will have confirmed data in the morning. EDIT: You mention 20% improvement on Rake tasks. Simple Rake tasks are dominated by Rails' startup time. My benchmark reads about a 15% improvement in startup time, which agrees with what you are saying. However, the 1.9 series was a significant step back from 1.8.7 for out-of-the-box Rails startup time. Ruby 2.0.0 pretty much matched Ruby 1.8.7. Now with 2.1.0, Ruby is finally categorically faster than 1.8.7 for starting Rails. (Rails itself has also made improvements; but my benchmark has been locked at Rails 3.1.3)
- trustfundbaby 13y agoThanks for adding that information, I didn't know about slower Rails startup times with Ruby 1.9 v 1.8. And, you were right, I put Ruby 2.1.0 live on one of my web apps last night, and didn't really get any kind of significant speed boost, what I did get was a significant decrease in garbage collection. here's the new relic graph, ruby 2.1.0 went live at 17:45 on the chart https://cloudup.com/ifosPh4rX4v https://cloudup.com/ifosPh4rX4v
- VeejayRampay 13y agoI find it strange that JRuby would be the worst of all for all 4 categories though. Startup time I can understand, but given the right conditions, it's known to be pretty damn fast.
- amccloud 13y agoHas anyone been able to install it with rbenv/ruby-build?
- UNIXgod 13y ago2.1.0p0 :001 > x = def foo() puts "hello"; end => :foo 2.1.0p0 :002 > def eval_it_now_bitch! lulz 2.1.0p0 :003?> eval lulz.to_s 2.1.0p0 :004?> end => :eval_it_now_bitch! 2.1.0p0 :005 > eval_it_now_bitch! x hello => nil
- UNIXgod 13y agoI actually thought that the new feature of def yielding the symbolic name of the newly defined function was interesting, if for anything to open up new areas where there was a limit before on building lookup tables for macro and meta programming techniques with either DSL creation and|or basic ruby hacking for fun.
- ksec 13y agoOk, what next for Ruby 2.2 :P Merry Xmas.
- ballard 13y agoUnsigned tarballs: Security fail.
- ddebernardy 13y agoSee here: http://www.ruby-lang.org/en/news/2013/12/25/ruby-2-1-0-is-released/ http://www.ruby-lang.org/en/news/2013/12/25/ruby-2-1-0-is-re...
- ballard 13y agoThat's md5 and sha256 hashes, not a gpg signature. There's a world of difference when something is unsigned because it's impossible to prove that it was what the developer(s) signed off to release.
- turingbook 13y agoChinese article on the new features with some links to the materials: http://geek.csdn.net/news/detail/4112 http://geek.csdn.net/news/detail/4112
- hackfanatic 13y agoResults of a Seige tests to my production API which does a lot of complex querying and processing, seems to have improved slightly Ruby 2.0-p353 Transactions: 934 hits Availability: 100.00 % Elapsed time: 76.66 secs Data transferred: 0.43 MB Response time: 3.19 secs Transaction rate: 12.18 trans/sec Throughput: 0.01 MB/sec Concurrency: 38.92 Successful transactions: 934 Failed transactions: 0 Longest transaction: 3.93 Shortest transaction: 0.67 Ruby 2.1 Transactions: 1136 hits Availability: 100.00 % Elapsed time: 76.41 secs Data transferred: 0.53 MB Response time: 2.64 secs Transaction rate: 14.87 trans/sec Throughput: 0.01 MB/sec Concurrency: 39.30 Successful transactions: 1136 Failed transactions: 0 Longest transaction: 3.18 Shortest transaction: 0.56