CHANGELOG v0.30.0
2019/08/01
[原文]
言語仕様
[破壊的変更] 抽象メソッドは返り値の型を明示しなければならなくなった(#7956、#7999、#8010)
[破壊的変更] 複数行にまたがった範囲リテラルは使用できなくなった(#7888)
マクロ
Annotations
型に args
と named_args
マクロメソッドを追加(#7694)
利便性向上のため、Type
や Path
における resolve
、types
マクロメソッドのAPIを統一(#7970)
標準ライブラリ
[破壊的変更] ダングリングポインタ問題を解決するため、UUID#to_slice
を無くし UUID#bytes
を追加(#7901)
[性能改善] 参照型の Box
を改善. (#8016)
Random::ISAAC
の初期シードを修正(#7977)
aarch64 に固有のメモリ問題を修正(#7983)
Benchmark.memory
を追加(#7835)
StringPool
にデフォルトのキャパシティを設定(#7899)
INI
型の各種メソッドに型制約を追加(#7831)
Logger
のドキュメントを修正(#7898)
複数箇所のサンプルコードを修正(#8003)
数値
不正確な Int#%
オーバーフローを修正. (#7980)
Float#to_s
に合わせて小数部をもなたない場合も BigFloat#to_s
が常に .0
を追加するよう変更(#7982)
テキスト
ユニコード代替文字の範囲生成を修正(#7924)
Collections
Enumerable#tally
を追加(#7921)
Enumerable#reduce?
に初期値を持たない場合のオーバーロードを追加(#7941)
Enumerable#min_by?
のスペックを修正(#7919)
Serialization
[破壊的変更] JSON: トークンやパーサの種別に Symbol
型でなく専用の Enum
型を使用するよう変更(#7966)
YAMLのマッピングで値を String
型を含むユニオン型として解釈する場合に、String
型を最後に評価するよう変更(#7938)
class Foo
YAML.mapping(
bar: String?
)
end
bar: null
みたいな時に null
が Nil
型(nil
) ではなく String
型("null"
)として解釈されてしまうのを抑止するため。
XML::Builder
の要素名のバリデーションを行うよう変更(#7965)
JSONで数値のキーを許可(#7944)
YAML::Builder
型と YAML::Nodes::Builder
型に、alias
と merge
メソッドを追加(#7949)
ファイル
File.symlink
に合わせて File.readlink
を追加(#7858)
シンボリックリンクを作成する File.symlink
に対して、シンボリックリンク先のパスを取得する File.readlink
が追加された。