1Changelog 2========= 3 4## UNRELEASED 5 6## 1.5.0 (2019-08-24) 7 8### Added 9 10* added `Assert::uniqueValues()` 11* added `Assert::unicodeLetters()` 12* added: `Assert::email()` 13* added support for [Psalm](https://github.com/vimeo/psalm), by adding `@psalm-assert` annotations where appropriate. 14 15## Fixed 16 17* `Assert::endsWith()` would not give the correct result when dealing with multibyte suffix. 18* `Assert::length(), minLength, maxLength, lengthBetween` would not give the correct result when dealing with multibyte characters. 19 20**NOTE**: These 2 changes may break your assertions if you relied on the fact that multibyte characters didn't behave correctly. 21 22## Changed 23 24* The names of some variables have been updated to better reflect what they are. 25* All function calls are now in their FQN form, slightly increasing performance. 26* Tests are now properly ran against HHVM-3.30 and PHP nightly. 27 28### Deprecation 29 30* deprecated `Assert::isTraversable()` in favor of `Assert::isIterable()` 31 * This was already done in 1.3.0, but it was only done through a silenced `trigger_error`. It is now annotated as well. 32 33## 1.4.0 (2018-12-25) 34 35### Added 36 37* added `Assert::ip()` 38* added `Assert::ipv4()` 39* added `Assert::ipv6()` 40* added `Assert::notRegex()` 41* added `Assert::interfaceExists()` 42* added `Assert::isList()` 43* added `Assert::isMap()` 44* added polyfill for ctype 45 46### Fixed 47 48* Special case when comparing objects implementing `__toString()` 49 50## 1.3.0 (2018-01-29) 51 52### Added 53 54* added `Assert::minCount()` 55* added `Assert::maxCount()` 56* added `Assert::countBetween()` 57* added `Assert::isCountable()` 58* added `Assert::notWhitespaceOnly()` 59* added `Assert::natural()` 60* added `Assert::notContains()` 61* added `Assert::isArrayAccessible()` 62* added `Assert::isInstanceOfAny()` 63* added `Assert::isIterable()` 64 65### Fixed 66 67* `stringNotEmpty` will no longer report "0" is an empty string 68 69### Deprecation 70 71* deprecated `Assert::isTraversable()` in favor of `Assert::isIterable()` 72 73## 1.2.0 (2016-11-23) 74 75 * added `Assert::throws()` 76 * added `Assert::count()` 77 * added extension point `Assert::reportInvalidArgument()` for custom subclasses 78 79## 1.1.0 (2016-08-09) 80 81 * added `Assert::object()` 82 * added `Assert::propertyExists()` 83 * added `Assert::propertyNotExists()` 84 * added `Assert::methodExists()` 85 * added `Assert::methodNotExists()` 86 * added `Assert::uuid()` 87 88## 1.0.2 (2015-08-24) 89 90 * integrated Style CI 91 * add tests for minimum package dependencies on Travis CI 92 93## 1.0.1 (2015-05-12) 94 95 * added support for PHP 5.3.3 96 97## 1.0.0 (2015-05-12) 98 99 * first stable release 100 101## 1.0.0-beta (2015-03-19) 102 103 * first beta release 104