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