# 変更履歴

この拡張モジュールのクラス/関数/メソッドには次のような変更がありました。

Version | Function | Description
--- | --- | ---
7.2.0 | number_format | number_format was changed to not being able to return -0, previously -0 could be returned for cases like where number would be -0.01.
| parse_str | Usage of parse_str without a second parameter now emits an E_DEPRECATED notice.
7.1.0 | str_shuffle | The internal randomization algorithm has been changed to use the Mersenne Twister Random Number Generator instead of the libc rand function.
| stripos | 負の offset をサポートするようになりました。
| strpos | 負の offset をサポートするようになりました。
| substr_count | 負の offset と length をサポートするようになりました。
7.0.0 | setlocale | category パラメータが文字列を受け付けなくなりました。 このバージョン以降では、定数 LC_* だけしか使えません。
| substr | string の文字数が start と等しい場合に空文字列を返すようになりました。 これまでのバージョンでは、FALSE を返していました。
5.6.5 | crypt | salt として "*0" が渡されたときに、 他の crypt の実装にあわせて "*1" を返すようになりました。 これより前のバージョンの PHP 5.6 では、間違った DES ハッシュを返していました。
5.6.0 | crypt | salt を省略下場合に E_NOTICE が発生するようになりました。
| html_entity_decode | encoding パラメータのデフォルト値が、 default_charset の設定値に変わりました。
| htmlentities | encoding パラメータのデフォルト値が、 default_charset の設定値に変わりました。
| htmlspecialchars | encoding パラメータのデフォルト値が、 default_charset の設定値に変わりました。
5.5.21 | crypt | salt として "*0" が渡されたときに、 他の crypt の実装にあわせて "*1" を返すようになりました。 これより前のバージョンの PHP では、間違った DES ハッシュを返していました。
5.5.11 | substr_compare | length を 0 にもできるようになりました。
5.5.1 | hex2bin | 入力が16進文字列として不正な場合に、警告を発するようになりました。
5.4.32, 5.5.16 | ucwords | delimiters パラメータが追加されました。
5.4.4 | hex2bin | 入力の文字列長が奇数の場合に警告を発するようになりました。 PHP 5.4.0 ではそんな文字列も黙って受け入れていましたが、 最終バイトは切り捨てられていました。
5.4.0 | get_html_translation_table | encoding パラメータのデフォルトが UTF-8 に変わりました。
| get_html_translation_table | 定数 ENT_HTML401、ENT_XML1、 ENT_XHTML および ENT_HTML5 が追加されました。
| html_entity_decode | 定数 ENT_HTML401、ENT_XML1、 ENT_XHTML および ENT_HTML5 が追加されました。
| htmlentities | encoding パラメータのデフォルトが UTF-8 に変わりました。
| htmlentities | 定数 ENT_SUBSTITUTE、ENT_DISALLOWED、 ENT_HTML401、ENT_XML1、 ENT_XHTML および ENT_HTML5 が追加されました。
| htmlspecialchars | encoding パラメータのデフォルトが UTF-8 に変わりました。
| htmlspecialchars | 定数 ENT_SUBSTITUTE、ENT_DISALLOWED、 ENT_HTML401、ENT_XML1、 ENT_XHTML および ENT_HTML5 が追加されました。
| htmlspecialchars_decode | 定数 ENT_HTML401、ENT_XML1、 ENT_XHTML および ENT_HTML5 が追加されました。
| number_format | この関数は、 dec_point や thousands_sep に複数バイトを指定できるようになりました。 それまでは、複数のバイトを指定しても先頭の 1 バイトしか使われませんでした。
5.3.7 | crypt | Blowfish のモード $2x$ および $2y$ が追加され、高ビット攻撃に対応できるようになりました。
5.3.4 | get_html_translation_table | encoding パラメータが追加されました。
| strip_tags | strip_tags は、 allowable_tags 内の自己終了型 XHTML タグを無視するようになりました。
5.3.3 | html_entity_decode | デフォルトのエンコーディングが ISO-8859-1 から UTF-8 に変わりました。
5.3.2 | crypt | SHA-256 および SHA-512 による暗号化が追加されました。Ulrich Drepper の 実装 を使っています。
| crypt | Blowfish で無効な rounds を指定したときに、DES に切り替えるのではなく "failure" 文字列 ("*0" あるいは "*1") を返すようになりました。
5.3.0 | crypt | PHP に MD5 crypt, Standard DES, Extended DES および Blowfish の実装が含まれるようになりました。システム側でこれらのアルゴリズムがサポートされていない場合に、 この実装を使用します。
| htmlentities | 定数 ENT_IGNORE が追加されました。
| htmlspecialchars | 定数 ENT_IGNORE が追加されました。
| nl2br | オプションの is_xhtml パラメータが追加されました。 以前のバージョンでは、杖に '<br />' が挿入されていました。
| setlocale | category パラメータに 定数 LC_* ではなく文字列が渡された場合に、 この関数は E_DEPRECATED をスローするようになりました。
| stristr | オプションの before_needle パラメータが追加されました。
| strlen | これより前のバージョンでは、配列を「Array」という文字列とみなして処理していました。 つまり文字列の長さは 5 になります。そして E_NOTICE レベルのエラーが発生します。
| strstr | オプションの before_needle パラメータが追加されました。
5.2.5 | addcslashes | エスケープシーケンス \v と \f が追加されました。
5.2.3 | htmlentities | double_encode パラメータが追加されました。
| htmlspecialchars | double_encode パラメータが追加されました。
5.2.2 - 5.2.6 | substr | start が負の切り出しを意味したり 切り出し位置を超える値になった場合に false を返すようになりました。 それ以外のバージョンでは、文字列の先頭から取得します。
5.1.0 | explode | limit に負の数を指定できるようになりました。
| md5_file | ストリーム API を使用した関数に変更されました。 これは md5_file('http://example.com/..') のようなラッパーで利用可能であることを意味します。
| sha1_file | ストリーム API を使用するように変更しました。つまり、 sha1_file('http://example.com/..') のように ラッパーとともに使用できるということです。
| str_word_count | charlist パラメータが追加されました。
| substr_compare | 負の offset を使用できるようになりました。
| substr_count | offset と length パラメータが追加されました。
5.0.0 | strip_tags | strip_tags がバイナリセーフとなりました。
| strrpos | needle は 1 文字以上の文字列を指定可能です。
4.3.0 | stristr | stristr がバイナリセーフとなりました。
| strrchr | この関数はバイナリセーフとなりました。
| strstr | strstr がバイナリセーフとなりました。
4.2.3 | strcoll | この関数が win32 でも動作するようになりました。