遠藤です。

Yugui さんが [ruby-dev:41487] で告知したように、Ruby-1.9.2-preview3 が
リリースされました。

1.9.2 は 7 月にリリースされる予定ですが、このリリースをよりよいものに
するために皆さんにお願いがあります。皆さんのコード (製品でも gem でも)
を 1.9.2-preview3 でテストしてください。

もし動かなかったら、NEWS [1] を見てください (特に "Language changes" と
"Compatibility issues" のセクション) 。特にあなたのコード側で修正が必要
そうな変更が見つからなかったら、redmine にチケットを登録する [2] か、
ruby-dev にメールを送ってください [3] 。

 [1] http://svn.ruby-lang.org/repos/ruby/tags/v1_9_2_preview3/NEWS

 [2] http://redmine.ruby-lang.org/projects/show/ruby-19 に登録して
     「新しいチケット」を作ってください。

 [3] 件名の先頭に "[Bug:trunk]" を付けてください。
     例: [Bug:trunk] 1.9.2-preview3 が火を噴いた
     redmine に自動的に登録されるはずです。


あらかじめ、よく聞かれる 2 つの非互換性を挙げておきます。

- 正規表現の \d 、\s 、\w は ASCII 文字だけにマッチするようになりました。
  アクセント付き文字や日本語 (1.9.2-preview1 ではマッチしていた) には
  マッチしません。

    # coding: UTF-8
    p(/\w/ =~ "あ")  #=> nil
    p(/\d/ =~ "1")  #=> nil

  Unicode 対応の文字クラスが欲しい場合は、\d の代わりに \p{Digit} 、\s の
  代わりに \p{Space} 、\w の代わりに \p{Word} または [\w\P{ASCII}] を使う
  ことができます。

- $LOAD_PATH に "." が含まれなくなりました。
  つまり、カレントディレクトリからの相対パスでの require は失敗するよう
  になりました。

    $ cat my_project/foo.rb
    require "my_project/bar"
    class Foo; end

    $ cat my_project/bar.rb
    class Bar; end

    $ ruby-1.9.2-preview3 my_project/foo.rb
    my_project/foo.rb:1:in `require': no such file to load --
my_project/bar (LoadError)
            from my_project/foo.rb:1:in `<main>'

  回避策としては、Kernel#require_relative を使うか、

    require_relative "bar"
    class Foo; end

  またはプロジェクトのホームパスを $LOAD_PATH に追加してください。

    $LOAD_PATH << File.dirname(File.dirname(__FILE__))
    require "my_project/bar"
    class Foo; end


あらかじめ断っておきますと、教えて頂いたからといって直すことを約束は
できません。リソースも時間も足りないので、実際にバグであっても重大で
なければ先送りされる可能性があります。
努力はしますので、ご理解ください。

ご協力をお願いいたします。

-- 
Yusuke Endoh <mame / tsg.ne.jp>