[ANN] RubyInstaller 2.2.1 released

I'm pleased to announce the release of RubyInstaller packages for Ruby 2.2.1

Installers and 7z binary packages are available from bintray.com:

http://rubyinstaller.org/downloads

https://bintray.com/oneclick/rubyinstaller/rubyinstaller/2.2.1

## Ruby 2.2.1

Packages will be provided in two versions:
32bits (x86) and 64bits (x64).

Same DevKit used for version 2.0.0 is required for this version.

### Important information

Please note that the installers in this release are *not digitally signed*.

You can read more about this in post at RubyInstaller group:
https://groups.google.com/d/topic/rubyinstaller/NhAqcepQ-Xw/discussion

#### Choosing 32bits vs 64bits

Before you download a 64bits version (labeled x64), it is important
you understand that not all gems, libraries or tools have been tested
for this version.

Things are pretty close, however it is still our recommendation you
use a 32bit release.

If you have a 64bits version of Windows, you can still use 32bits, as
there is no performance issue around it.

#### Ruby 2.2.x is brand new

While officially 2.2.x is stable, that doesn't mean all the software
will magically work on it.

This is also the first 2.2.x release of a RubyInstaller package.
For possible issues please see the results of `make check`:

Use 2.2.1 for development and verify your application, scripts and
tools works properly before deciding to run this in your production
environment.

#### Existing pre-compiled gems might not be Ruby 2.2 compatible

Ruby 2.2 introduced some C API changes which means compiled C
extensions with previous versions of Ruby may not run against Ruby
2.2.

**DO NOT install Ruby 2.2 on top of existing Ruby 2.1.x or earlier**,
or try to use compiled extensions with it.

You will be required to force compilation of those gems:

    gem install <name> --platform=ruby

This **will require you have the extra dependencies installed** for
that gem to compile. Look at the gem documentation for the
requirements.

Please check each gem documentation and recent releases.

#### Do not use other DevKit version than the one recommended

This version of Ruby has been compiled and optimized for mingw-w64 GCC 4.7.2.

Use of another version of DevKit package to compile gems might result
in compilation issues during gem installation or simply segfaults.

Look for the DevKit installers identified with the name
'DevKit-mingw64-32' and 'DevKit-mingw64-64' for 32 and 64 bits
respectively.

To be clear:

* Download and install `DevKit-mingw64-32-4.7.2` for 32bits Ruby
* Download and install `DevKit-mingw64-64-4.7.2` for 64bits Ruby

**Known Issues**

There are some issues with Development Kit configuration process that fails
to detect x64 installations of Ruby. You will need to manually edit
`config.yml` for it to work. See the following issues for details:

- https://github.com/oneclick/rubyinstaller/issues/221
- https://github.com/oneclick/rubyinstaller/pull/237

### MD5:
    2c7d1e0cdbfbdc55d627a4510c76d987 *ruby-2.2.1-doc-chm.7z
    c22f0b1b7e27c26f788c6f8d361de7e9 *ruby-2.2.1-i386-mingw32.7z
    a1b750ce933d1bab88911b61819b3508 *ruby-2.2.1-x64-mingw32.7z
    78202342c2c00e4506d523d0c1801dc5 *rubyinstaller-2.2.1-x64.exe
    233bf0a2c2acd2a9ae00edc02e3ea0d0 *rubyinstaller-2.2.1.exe

### SHA256
    d7f9052b59189725c6477cf422398142628f70bfc2052ea5e4947c33fb7a09ae
*ruby-2.2.1-doc-chm.7z
    243e40ca747c8b9c799bd7a8a5431a44166d1e6d4f49041b054a191c484b9415
*ruby-2.2.1-i386-mingw32.7z
    3b481a69762375cd39e416ff36a4ff2d8ad4a83f5b6a92f08156f5b60978c057
*ruby-2.2.1-x64-mingw32.7z
    703028cd2af6dd1bc0285f7f357edc108c2711553d7b8fbd3951ff00b7c1b5d5
*rubyinstaller-2.2.1-x64.exe
    a1de690859e0aa844fee296f8ec8e213d5c3f4ba9ee59cbd33be582fcc78b955
*rubyinstaller-2.2.1.exe

### Official Announcement:
* https://www.ruby-lang.org/en/news/2015/03/03/ruby-2-2-1-released/

### Enhancements:
* Upgraded Ruby 2.2 to 2.2.1
* Upgraded OpenSSL to 1.0.1l

Hi,

2015년 3월 6일 금요일 오전 5시 58분 58초 UTC+9, Justin Baker 님의 말:

I'm pleased to announce the release of RubyInstaller packages for Ruby
2.2.1

Installers and 7z binary packages are available from bintray.com:

Downloads

Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog

I cannot run irb with ruby2.2.1 installer due to rbreadline error.

C:\work>irb
C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1866:in ``': No such file
or directory - stty size (Errno::ENOENT)
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1866:in
`block in_rl_get_screen_size'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:6902:in
`retry_if_interrupted'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1865:in
`_rl_get_screen_size'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1992:in
`_rl_init_terminal_io'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:2508:in
`readline_initialize_everything'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:3793:in
`rl_initialize'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:4813:in
`readline'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/readline.rb:40:in `readline'
        from C:/Ruby22/lib/ruby/2.2.0/irb/input-method.rb:150:in `gets'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:469:in `block (2 levels) in
eval_input'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:623:in `signal_status'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:468:in `block in eval_input'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:188:in `call'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:188:in `buf_input'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:103:in `getc'
        from C:/Ruby22/lib/ruby/2.2.0/irb/slex.rb:205:in `match_io'
        from C:/Ruby22/lib/ruby/2.2.0/irb/slex.rb:75:in `match'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:282:in `token'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:264:in `lex'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:235:in `block (2
levels) in each_top_level_statement'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:231:in `loop'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:231:in `block in
each_top_level_statement'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:230:in `catch'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:230:in
`each_top_level_statement'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:485:in `eval_input'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:395:in `block in start'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:394:in `catch'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:394:in `start'
        from C:/Ruby22/bin/irb:11:in `<main>'

It seems that the rb-readline chipped in ruby 2.2.1 installer is an old
version.
I think than the latest rb-readline is requqired to support fiddle instead
of dl.

Regards,
Park Heesob

Welp. Atleast I somewhat have an update.

Hi,

2015년 3월 6일 금요일 오전 5시 58분 58초 UTC+9, Justin Baker 님의 말:

I'm pleased to announce the release of RubyInstaller packages for Ruby
2.2.1

Installers and 7z binary packages are available from bintray.com:

Downloads

Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog

I cannot run irb with ruby2.2.1 installer due to rbreadline error.

C:\work>irb
C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1866:in ``': No such file
or directory - stty size (Errno::ENOENT)
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1866:in `block
in_rl_get_screen_size'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:6902:in
`retry_if_interrupted'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1865:in
`_rl_get_screen_size'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1992:in
`_rl_init_terminal_io'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:2508:in
`readline_initialize_everything'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:3793:in
`rl_initialize'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:4813:in
`readline'
        from C:/Ruby22/lib/ruby/site_ruby/2.2.0/readline.rb:40:in `readline'
        from C:/Ruby22/lib/ruby/2.2.0/irb/input-method.rb:150:in `gets'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:469:in `block (2 levels) in
eval_input'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:623:in `signal_status'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:468:in `block in eval_input'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:188:in `call'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:188:in `buf_input'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:103:in `getc'
        from C:/Ruby22/lib/ruby/2.2.0/irb/slex.rb:205:in `match_io'
        from C:/Ruby22/lib/ruby/2.2.0/irb/slex.rb:75:in `match'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:282:in `token'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:264:in `lex'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:235:in `block (2
levels) in each_top_level_statement'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:231:in `loop'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:231:in `block in
each_top_level_statement'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:230:in `catch'
        from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:230:in
`each_top_level_statement'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:485:in `eval_input'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:395:in `block in start'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:394:in `catch'
        from C:/Ruby22/lib/ruby/2.2.0/irb.rb:394:in `start'
        from C:/Ruby22/bin/irb:11:in `<main>'

It seems that the rb-readline chipped in ruby 2.2.1 installer is an old
version.
I think than the latest rb-readline is requqired to support fiddle instead
of dl.

So the update on the situation, it's something going on with rbreadline.

What supposed to be happening it Ruby is getting the console screen
size. Something that used to work though isn't. In the end it leaves
us with a nasty problem.

The code is getting to a branch in the code that calls `stty`, which
fails because Windows doesn't have a program named `stty`. This was
presumably not a problem in the past because it got that information
before we ever needed to think about doing this.

I posted a bug report on rbreadline:

Since I really don't have a fix or workaround, I can't really change much.
I'm going to take the public listing off rubyinstaller.org, that's about it.

Maybe a nice **USE AT YOUR OWN DISCRETION** will get me less angry
emails though. HAHA, Who am I kidding,

Thanks again for the heads up.

Justin

···

On Thu, Mar 5, 2015 at 8:23 PM, phasis <phasis@gmail.com> wrote:

Hi,

Welp. Atleast I somewhat have an update.

> Hi,
>
> 2015년 3월 6일 금요일 오전 5시 58분 58초 UTC+9, Justin Baker 님의 말:
>>
>> I'm pleased to announce the release of RubyInstaller packages for Ruby
>> 2.2.1
>>
>> Installers and 7z binary packages are available from bintray.com:
>>
>> Downloads
>>
>> https://bintray.com/oneclick/rubyinstaller/rubyinstaller/2.2.1
>>
>
>
> I cannot run irb with ruby2.2.1 installer due to rbreadline error.
>
> C:\work>irb
> C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1866:in ``': No such
file
> or directory - stty size (Errno::ENOENT)
> from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1866:in
`block
> in_rl_get_screen_size'
> from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:6902:in
> `retry_if_interrupted'
> from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1865:in
> `_rl_get_screen_size'
> from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:1992:in
> `_rl_init_terminal_io'
> from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:2508:in
> `readline_initialize_everything'
> from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:3793:in
> `rl_initialize'
> from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rbreadline.rb:4813:in
> `readline'
> from C:/Ruby22/lib/ruby/site_ruby/2.2.0/readline.rb:40:in
`readline'
> from C:/Ruby22/lib/ruby/2.2.0/irb/input-method.rb:150:in `gets'
> from C:/Ruby22/lib/ruby/2.2.0/irb.rb:469:in `block (2 levels) in
> eval_input'
> from C:/Ruby22/lib/ruby/2.2.0/irb.rb:623:in `signal_status'
> from C:/Ruby22/lib/ruby/2.2.0/irb.rb:468:in `block in eval_input'
> from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:188:in `call'
> from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:188:in `buf_input'
> from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:103:in `getc'
> from C:/Ruby22/lib/ruby/2.2.0/irb/slex.rb:205:in `match_io'
> from C:/Ruby22/lib/ruby/2.2.0/irb/slex.rb:75:in `match'
> from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:282:in `token'
> from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:264:in `lex'
> from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:235:in `block (2
> levels) in each_top_level_statement'
> from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:231:in `loop'
> from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:231:in `block in
> each_top_level_statement'
> from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:230:in `catch'
> from C:/Ruby22/lib/ruby/2.2.0/irb/ruby-lex.rb:230:in
> `each_top_level_statement'
> from C:/Ruby22/lib/ruby/2.2.0/irb.rb:485:in `eval_input'
> from C:/Ruby22/lib/ruby/2.2.0/irb.rb:395:in `block in start'
> from C:/Ruby22/lib/ruby/2.2.0/irb.rb:394:in `catch'
> from C:/Ruby22/lib/ruby/2.2.0/irb.rb:394:in `start'
> from C:/Ruby22/bin/irb:11:in `<main>'
>
> It seems that the rb-readline chipped in ruby 2.2.1 installer is an old
> version.
> I think than the latest rb-readline is requqired to support fiddle
instead
> of dl.

So the update on the situation, it's something going on with rbreadline.

What supposed to be happening it Ruby is getting the console screen
size. Something that used to work though isn't. In the end it leaves
us with a nasty problem.

The code is getting to a branch in the code that calls `stty`, which
fails because Windows doesn't have a program named `stty`. This was
presumably not a problem in the past because it got that information
before we ever needed to think about doing this.

I posted a bug report on rbreadline:
https://github.com/ConnorAtherton/rb-readline/issues/119

Since I really don't have a fix or workaround, I can't really change much.
I'm going to take the public listing off rubyinstaller.org, that's about
it.

Maybe a nice **USE AT YOUR OWN DISCRETION** will get me less angry
emails though. HAHA, Who am I kidding,

Thanks again for the heads up.


Obviously Windows doesn't have a program named stty. But it is not a root
cause.
The root cause is require 'dl' of line no 4369 in rbreadline.rb

The current ConnorAtherton/rb-readline
​ already​
fixed the issue.
You just need copy ConnorAtherton/rb-readline to rubyinstaller packgage.

You can trust me, I am an author of rb-readline.

Regards,
Park Heesob

···

2015-03-06 14:05 GMT+09:00 Justin Baker <azolo1089@gmail.com>:

On Thu, Mar 5, 2015 at 8:23 PM, phasis <phasis@gmail.com> wrote:

Many thanks to Park Heesob.

The current ConnorAtherton/rb-readline
​ already​
fixed the issue.
You just need copy ConnorAtherton/rb-readline to rubyinstaller packgage.

You can trust me, I am an author of rb-readline.

So after building off rb-readline master we have a working version.
Extremely sorry, for the inconvenience. Thank you for bearing with me.

Since RubyInstaller doesn't have it's own versioning I'm going to just
rerelease the files.
If you downloaded the files previously please redownload them.

The update digests are as follows:

### MD5:
    b4d3fceaba0ba5c483fa877b9ebc285b *ruby-2.2.1-doc-chm.7z
    9f1beca535b2e60098d826eb7cb1b972 *ruby-2.2.1-i386-mingw32.7z
    0e6fe9f27367123f738bf143f4bf04f6 *ruby-2.2.1-x64-mingw32.7z
    0c5323f7379574625dd3a7b3a4415349 *rubyinstaller-2.2.1-x64.exe
    a569c153f7b1b23638038a34cdb9d9d6 *rubyinstaller-2.2.1.exe

### SHA256:
    8e8fd759b7ea5ce6141da913d2ac528153a6a608ac82466f511aa59687c73a4c
          *ruby-2.2.1-doc-chm.7z
    53c3d758f8be083abc00ce8c9f6150c007a93934e8b26647915ba2edef84a8e5
          *ruby-2.2.1-i386-mingw32.7z
    afc01c6e5fa15bfd32b85ab42f0466fbb5b7c74b08e9ed71f5ad2e852c979ecc
          *ruby-2.2.1-x64-mingw32.7z
    6a0582505da6bcd30b2b8d5ab84129ec2ee23829aa932f7536dd70965ba0f9f2
          *rubyinstaller-2.2.1-x64.exe
    b2d8d93ce8179834916d2479a2e08bd900ec4a4df9070a9ba41b8b4cce36ec4a
          *rubyinstaller-2.2.1.exe

Justin

···

On Thu, Mar 5, 2015 at 11:11 PM, Heesob Park <phasis@gmail.com> wrote: