From: Yusuke Endoh Date: 2011-10-19T01:14:15+09:00 Subject: [ruby-dev:44624] Re: Ruby 2.0 release plan 遠藤です。 2011年10月19日0:35 KOSAKI Motohiro : > 今まで通り、MINORでもAPI/ABIは切れる。 たぶん、互換性の定義が違うんだと思いますが、今までは MINOR では API/ABI は切れていなかった、という認識です。 「実害なさそうなABI非互換」は互換のうち。何が「実害なさそう」かは 明文化されてないですが、定義の話には立ち入りたくないですね。 > 1.9.3での非公開(のつもりの)APIを明示的にunexportにしたのだって、厳密に言えば非互換でしょう。 ドキュメントがない関数がどうなろうと「実害なさそうな非互換」だと 思います。 厳密な話なら、新しい Ruby メソッドを定義するだけで、かつては NoMethodError が投げられていた挙動が変わるわけなので非互換、と なるんですかね。この辺は大人の対応が求められていると思います。 > わたしは逆になぜmameさんがMINORで互換性が切れることにセンシティブなのかが、 > あまり理解できませんでした。 むしろ逆で、今まで以上に ABI 互換性に気を使わなくていいように しよう、という趣旨のつもりです。 ソースレベルの互換性は今まで程度には保証してほしいと思いますが、 仕様バグによるセキュリティ問題でやむを得ず API 変える程度では、 原理主義的に MAJOR バージョンアップする必要はないと思います。 -- Yusuke Endoh