# ruby 1.8.3 feature

- ruby 1.8 feature
- ruby 1.8.2 feature

ruby 1.8 系 snapshot での ruby 1.8.2 からの変更点です。

掲載方針

- バグ修正の影響も含めて動作が変わるものを収録する。
- 単にバグを直しただけのものは収録しない。
- ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

- カテゴリ
  - [ruby]: ruby インタプリタの変更
  - [api]: 拡張ライブラリ API
  - [lib]: ライブラリ
- レベル
  - [bug]: バグ修正
  - [new]: 追加されたクラス／メソッドなど
  - [compat]: 変更されたクラス／メソッドなど
    - 互換性のある変更
    - only backward-compatibility
    - 影響の範囲が小さいと思われる変更もこちら
  - [change]: 変更されたクラス／メソッドなど(互換性のない変更)
  - [obsolete]: 廃止された(される予定の)機能
  - [platform]: 対応プラットフォームの追加

## 1.8.2 (2004-12-25) -> snapshot

### 2005-05-11

WEBrick::CGI#[] [lib] [new]
WEBrick::CGI#logger [lib] [new]
WEBrick::CGI#config [lib] [new]

### 2005-05-01

ruby -s option [ruby] [bug]

  オプション -s でアクセスできないグローバル変数ができてしまうバグを修正 しました。- を _ に変換してグローバル変数を定義するようになりました。- 以外の 記号がふくまれる場合は、例外 NameError を投げます。

      $ ruby-1.8.2 -se 'puts global_variables.grep(/foo/)' -- --foo-bar
      $-foo-bar
      $ ruby-1.8.3 -se 'puts global_variables.grep(/foo/)' -- --foo-bar
      $_foo_bar

      $ ruby-1.8.3 -se 'puts global_variables.grep(/foo/)' -- --foo\@bar
      -e: invalid name for global variable - --foo@bar (NameError)

### 2005-04-09

lib/rss [lib][new][compat]

  複数のDublin Coreの要素を扱えるようになりました。

  このためdc_#{Dublin Coreの要素名の複数形}というメソッドが導入されました。

  互換性のために以前のdc_#{Dublin Coreの要素名の単数形}というメソッドも残されています。

### 2005-03-07

String#<=> [ruby][compat]

比較できないものを渡された時に false ではなく nil を返すようになりました。 [ruby-dev:25811]

    $ ruby-1.8.2 -e 'p "a" <=> 1'
    false
    $ ruby-1.8.3 -e 'p "a" <=> 1'
    nil

### 2005-03-06

HTTPHeader#get_fields [lib][new]
HTTPHeader#add_field [lib][new]

追加。[ruby-list:40629]

### 2005-02-23

local variable and method [ruby][bug]

  レシーバを指定したメソッド呼び出しが、同名のローカル変数の有無によっ て影響されるバグが修正されました。 [ruby-dev:25737] <URL:http://yowaken.dip.jp/tdiary/20050220.html#p01>

### 2005-02-17

defined? [ruby][bug]

  `defined?(@a = b)`のような NODE_IASGN が nil ではなく "assignment" を返すようになりました。 [yarv-dev:418]

### 2005-02-14

OpenSSL::SSL::SSLSocket#post_connection_check [lib][new]

  追加 [ruby-dev:25690]

### 2005-02-13

ERB::Util.html_escape [lib] [compat]
ERB::Util.url_encode [lib] [compat]

モジュール関数としても使えるようになりました。[ruby-dev:25687]

### 2005-02-12

open-uri.rb [lib] [new]

  https をサポートするようになりました。

### 2005-02-11

URI::HTTP#proxy_open [lib][new]

  `:http_basic_authentication` オプションの追加 [ruby-core:4416]

OpenSSL::X509::Store#set_default_paths [lib][new]

  追加 [ruby-dev:25670]

### 2005-02-06

Resolv::DNS::Resource::TXT#strings [lib] [new]
Resolv::DNS::Message::MessageEncoder#put_string_list [lib] [new]
Resolv::DNS::Message::MessageDecoder#get_string_list [lib] [new]

  追加。[ruby-talk:129732]

### 2005-02-04

RSS Parser/Maker [lib] [new]

  Imageモジュールのサポート

### 2005-02-03

RSS::Element#convert(value) [lib] [new]

  valueのエンコーディングを変換するメソッドを公開。

  valueのエンコーディングは要素の内部エンコーディングからoutput_encoding=で設定したエンコーディングへ変換されます。

StringIO [lib] [compat]

  close, close_read, close_write が IO と同じように、 nil を返すようになりました。[ruby-dev:25623]

### 2005-01-29

Resolv::DNS::Resource::IN::SRV [lib] [new]

  追加 (RFC2782)

### 2005-01-26

File#flock [ruby] [bug]

  Windows 上での File#flock(File::LOCK_UN) が正しく理解されないバグが 修正されました。[ruby-dev:25574]

### 2005-01-25

RUBYOPT [ruby] [bug]

  環境変数 RUBYOPT の -T オプションを適切に解釈するようになりました。 またハイフン - を省略できるようになりました。[ruby-dev:25512]

      $ env RUBYOPT='Ke rnet/http' ruby  -e 'p Net::HTTP'
      Net::HTTP

### 2005-01-17

WEBrick::Config::SSL [lib] [compat]

  オプション :SSLEnable のデフォルトが false になりました。

WEBrick::HTTPUtils#escape_path [lib] [new]

### 2005-01-15

RSS::VERSION [lib]

  0.1.2 -> 0.1.3

RSS::Parser [lib] [bug]

  継承するとエラーになるバグを修正。 [ruby-talk:126104]

### 2005-01-13

IO

  don't warn nonblocking behavior by default [ruby-dev:25443]

### 2005-01-12

Class#superclass [ruby] [bug]

  特異クラスのメソッド superclass が特異クラスを返すように修正されました。 [ruby-list:40519]

### 2005-01-09

IO#read [obsolete]
IO#readpartial [new]

  nonblocking IO に対する IO#read の挙動は 1.9 で変化するため、1.8 で警告が行われるようになりました。 そしてその代替手段として IO#readpartial が追加されました。 [ruby-dev:25430]

### 2005-01-05

srand(bignum) [compat]

  srand が引数として unsigned long よりも大きな値も受け付けるようになりました。

rand(bignum) [bug]

  負の Bignum を受け取っても 正の Bignum を返すようになりました。

### 2005-01-03

srand [compat]

  引数を与えない場合、可能なら /dev/urandom を参照するようになりました。[ruby-dev:25392]

links: [Bignum] [IO] [ruby 1.8 feature] [ruby 1.8.2 feature] [クラス／メソッドの定義]
reverse links: [IO] [Rubyリファレンスマニュアル] [Ruby変更履歴] [ruby 1.8 feature]