# Changelog

The following changes have been made to classes/functions/methods of this extension.

Version | Function | Description
--- | --- | ---
7.4.0 | implode | Passing the glue after the pieces (i.e. not using the documented order of parameters) has been deprecated.
| money_format | This function has been deprecated. Instead, use NumberFormatter::formatCurrency.
| str_getcsv | The escape parameter now interprets an empty string as signal to disable the proprietary escape mechanism. Formerly, an empty string was treated like the default parameter value.
| strip_tags | The allowable_tags now alternatively accepts an array.
7.2.18, 7.3.5 | substr_compare | offset may now be equal to the length of main_str.
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 | Support for negative offsets has been added.
| strpos | Support for negative offsets has been added.
| substr_count | Support for negative offsets and lengths has been added. length may also be 0 now.
7.0.0 | setlocale | Support for the category parameter passed as a string has been removed. Only LC_* constants can be used as of this version.
| substr | If string is equal to start characters long, an empty string will be returned. Prior to this version, FALSE was returned in this case.
5.6.5 | crypt | When the failure string "*0" is given as the salt, "*1" will now be returned for consistency with other crypt implementations. Prior to this version, PHP 5.6 would incorrectly return a DES hash.
5.6.0 | crypt | Raise E_NOTICE security warning if salt is omitted.
| html_entity_decode | The default value for the encoding parameter was changed to be the value of the default_charset configuration option.
| htmlentities | The default value for the encoding parameter was changed to be the value of the default_charset configuration option.
| htmlspecialchars | The default value for the encoding parameter was changed to be the value of the default_charset configuration option.
5.5.21 | crypt | When the failure string "*0" is given as the salt, "*1" will now be returned for consistency with other crypt implementations. Prior to this version, PHP 5.5 (and earlier branches) would incorrectly return a DES hash.
5.5.11 | substr_compare | length may now be 0.
5.5.1 | hex2bin | A warning is thrown if the input string is invalid hexadecimal string.
5.4.32, 5.5.16 | ucwords | Added the delimiters parameter.
5.4.4 | hex2bin | A warning is thrown if the input string is of odd length. In PHP 5.4.0 the string was silently accepted, but the last byte was truncated.
5.4.0 | get_html_translation_table | The default value for the encoding parameter was changed to UTF-8.
| get_html_translation_table | The constants ENT_HTML401, ENT_XML1, ENT_XHTML and ENT_HTML5 were added.
| html_entity_decode | Default encoding changed from ISO-8859-1 to UTF-8.
| html_entity_decode | The constants ENT_HTML401, ENT_XML1, ENT_XHTML and ENT_HTML5 were added.
| htmlentities | The constants ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML and ENT_HTML5 were added.
| htmlentities | The default value for the encoding parameter was changed to UTF-8.
| htmlspecialchars | The constants ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML and ENT_HTML5 were added.
| htmlspecialchars | The default value for the encoding parameter was changed to UTF-8.
| htmlspecialchars_decode | The constants ENT_HTML401, ENT_XML1, ENT_XHTML and ENT_HTML5 were added.
| number_format | This function now supports multiple bytes in dec_point and thousands_sep. Only the first byte of each separator was used in older versions.
5.3.7 | crypt | Added $2x$ and $2y$ Blowfish modes to deal with potential high-bit attacks.
5.3.4 | get_html_translation_table | The encoding parameter was added.
| strip_tags | strip_tags ignores self-closing XHTML tags in allowable_tags.
5.3.2 | crypt | Fixed Blowfish behaviour on invalid rounds to return "failure" string ("*0" or "*1"), instead of falling back to DES.
| crypt | Added SHA-256 and SHA-512 crypt based on Ulrich Drepper's implementation.
5.3.0 | crypt | PHP now contains its own implementation for the MD5 crypt, Standard DES, Extended DES and the Blowfish algorithms and will use that if the system lacks of support for one or more of the algorithms.
| htmlentities | The constant ENT_IGNORE was added.
| htmlspecialchars | The constant ENT_IGNORE was added.
| nl2br | Added the optional is_xhtml parameter. Before this version '<br />' was always inserted.
| setlocale | This function now throws an E_DEPRECATED notice if a string is passed to the category parameter instead of one of the LC_* constants.
| stristr | Added the optional parameter before_needle.
| strlen | Prior versions treated arrays as the string Array, thus returning a string length of 5 and emitting an E_NOTICE level error.
| strstr | Added the optional parameter before_needle.
5.2.5 | addcslashes | The escape sequences \v and \f were added.
5.2.3 | htmlentities | The double_encode parameter was added.
| htmlspecialchars | The double_encode parameter was added.
5.2.2 - 5.2.6 | substr | If the start parameter indicates the position of a negative truncation or beyond, false is returned. Other versions get the string from start.
5.1.0 | explode | Support for negative limits was added
| md5_file | Changed the function to use the streams API. It means that you can use it with wrappers, like md5_file('http://example.com/..')
| sha1_file | Changed the function to use the streams API. It means that you can use it with wrappers, like sha1_file('http://example.com/..')
| str_word_count | Added the charlist parameter
| substr_compare | Added the possibility to use a negative offset.
| substr_count | Added the offset and the length parameters