- minor fixes
- update maps for Unicode 12
- check if MB_OVERLOAD_STRING exists before using it
- Normalizer fixes from @gitlost
- fix tests for php 5.5.35/5.6.21/7.0.6
- add shim for mb_convert_variables
- marked all shims as @internal
- test on appveyor
- a few fixes in iconv and mbstring shims
- cleanup refacto for preparing v2 based on symfony-polyfill
- fix compat with symfony-polyfill
- handle the third argument of mb_convert_encoding() being an array
- add license files
- trigger silenced deprecation notices when shims are in use
- fix mb_strrpos() shim registration
- fix .gitattributes
- fix mb_strrpos shim with negative offset
- sync tests with latest PHP/HHVM behaviors
- remove PHP7/HHVM from allowed failures
- move to PSR-1+2+4
- mv class/ src/
- Fix ucwords to be functionally the same as in-built PHP version
- Fix iconv_set_encoding deprecation notice in PHP 5.6.0
- remove legacy test for HHVM/PHP7
- mb_parse_str() should have no return value
- fix double declaration in mbstring shim
- add u::strwidth() to get the width of a string when printed on a terminal
- add more mbstring shims
- add a note about https://bugs.php.net/65358
- fail properly when COM is not loaded
- fallback on stat() when lstat() fails
- add best-fit mappings for UTF-8 to Code Page approximations
- add portable Unicode filesystem access under Windows and other OSes
- fix compat with symfony-polyfill
- fix mb_strrpos shim with negative offset
- fix ucwords to be functionally the same as in-built PHP version
- fix iconv_set_encoding deprecation notice in PHP 5.6.0
- remove legacy test for HHVM/PHP7
- fix mbstring shim for html-entities
- update to Unicode 7.0
- fix iconv shim compat layer
- tweak composer.json
- update travis matrix
- add composer branch alias
- update tests for latest HHVM fixes
- move legacy GRAPHEME_CLUSTER_RX version to Intl shim
- enable tests for PHP 5.6
- remove HHVM from allowed failures
- fix #19: don't call ini_set() when not required and gain compat with PHP5.6
- fix #18 u::wordwrap() now relies on native behavior
- fix mb_regex_encoding() being disabled on some hosting providers
- require PCRE>=7.3, the first that correctly checks UTF-8 validity
- enable HHVM on Travis CI
- enable Travis CI and SensioLabsInsight
- add shims for mb_check_encoding, mb_detect_encoding, mb_detect_order, mb_language and mb_encoding_aliases
- mbstring shim fix: alias UTF8 to UTF-8
- more tests
- fix $_FILES bootup filtering
- fix mbstring shim behavior with invalid utf8 strings
- u::toAscii() is now locale sensitive and allows a substitution character
- use LSB for more extension openness
- handle null for mb_substr() shim length as in PHP 5.4.8
- fix casts to string
- fix mbstring MB_CASE_TITLE shim on edge case
- small optimizations
- add a changelog
- set default_charset to UTF-8 at bootup
- remove bootup PCRE warning
- fix iconv internal_encoding shim
- fix bootup dependencies
- add tests for normalizers consts
- readme update
- new u::filter(): normalizes to UTF-8 NFC, converting from CP-1252 when needed
- new u::json_decode(), u::filter_input() and u::filter_input_array() for NFC safeness
- reference Unicode 6.3
- more tests
- readme update
- new Patchwork\TurkishUtf8 class extends Patchwork\Utf8 with Turkish specifics
- expose Patchwork\Utf8\Bootup::filterString() for UF-8 NFC strings normalization
- normalize inputs EOL to work around https://bugs.php.net/65732
- update composer.json
- updates related to PHP bugs 52211 and 61860
- fixes and tests for iconv shim
- fixes and tests for mbstring shim
- update .gitattributes export-ignore
- fixes and tests for intl::grapheme_extract() shim
- fixes and tests for iconv shim
- fixes and tests for mbstring shim
- know that PHP bug 61860 has been fixed in 5.5.1
- fix intl::grapheme_strlen() shim on edge case
- fix case sensitive encoding checks for mbstring shim
- some more fixes, tests and optimizations
- filter leading combining chars in inputs for NFC safeness
- fixes, tests and optimizations
- readme update
- PSR-0 autoloading and explicit bootup configuration is now required
- add extra characters for ASCII transliterations
- move bootup stages in namespaced functions for greater modularity
- NFC normalization for autoglobal inputs
- better setlocale() initialization
- fix fatal error caused by multiple bootup inclusion
- fix bootup
- first official release of a work started in 2007
- Apache v2.0 / GPL v2.0 dual-licensed
- PHP portability implementations for mbstring, iconv, intl grapheme_*() and utf8_encode/decode()
- Unicode compliant and portable Normalizer
- grapheme clusters aware UTF-8 handling string functions replica
- PHP runtime environment configuration for UTF-8
- extra functions for UTF-8 validity checks, transliterations and case folding
- covered by unit tests