3 All notable changes to this project will be documented in this file, in reverse chronological order by release.
9 - [#87](https://github.com/zendframework/zend-stdlib/pull/87) adds support for PHP 7.2.
21 - [#87](https://github.com/zendframework/zend-stdlib/pull/87) removes support for HHVM.
35 - [#67](https://github.com/zendframework/zend-stdlib/pull/67) changes the typehint of the `$content` property
36 of the `Message` class to indicate it is a string. All known implementations
49 - [#60](https://github.com/zendframework/zend-stdlib/pull/60) fixes an issue whereby calling `remove()` would
50 incorrectly re-calculate the maximum priority stored in the queue.
52 - [#60](https://github.com/zendframework/zend-stdlib/pull/60) fixes an infinite loop condition that can occur when
53 inserting an item at 0 priority.
59 - [#63](https://github.com/zendframework/zend-stdlib/pull/63) adds a new
60 `Zend\Stdlib\ConsoleHelper` class, providing minimal support for writing
61 output to `STDOUT` and `STDERR`, with optional colorization, when the console
62 supports that feature.
66 - [#38](https://github.com/zendframework/zend-stdlib/pull/38) deprecates
67 `Zend\Stdlib\JsonSerializable`, as all supported version of PHP now support
94 - [#59](https://github.com/zendframework/zend-stdlib/pull/59) fixes a notice
95 when defining the `Zend\Json\Json::GLOB_BRACE` constant on systems using
96 non-gcc glob implementations.
102 - [#51](https://github.com/zendframework/zend-stdlib/pull/51) adds PHP 7 as a
103 supported PHP version.
104 - [#51](https://github.com/zendframework/zend-stdlib/pull/51) adds a migration
105 document from v2 to v3. Hint: if you use hydrators, you need to be using
106 zend-hydrator instead!
107 - [#51](https://github.com/zendframework/zend-stdlib/pull/51) adds automated
108 documentation builds to gh-pages.
116 - [#33](https://github.com/zendframework/zend-stdlib/pull/33) - removed
118 - *All Hydrator classes* see #22.
119 - `Zend\Stdlib\CallbackHandler` see #35
120 - [#37](https://github.com/zendframework/zend-stdlib/pull/37) - removed
121 deprecated classes and polyfills:
122 - `Zend\Stdlib\DateTime`; this had been deprecated since 2.5, and only
123 existed as a polyfill for the `createFromISO8601()` support, now standard
124 in all PHP versions we support.
125 - `Zend\Stdlib\Exception\InvalidCallbackException`, which was unused since #33.
126 - `Zend\Stdlib\Guard\GuardUtils`, which duplicated `Zend\Stdlib\Guard\AllGuardsTrait`
127 to allow usage with pre-PHP 5.4 versions.
128 - `src/compatibility/autoload.php`, which has been dprecated since 2.5.
129 - [#37](https://github.com/zendframework/zend-stdlib/pull/37) - removed
130 unneeded dependencies:
131 - zend-config (used only in testing ArrayUtils, and the test was redundant)
132 - zend-serializer (no longer used)
133 - [#51](https://github.com/zendframework/zend-stdlib/pull/51) removes the
134 documentation for hydrators, as those are part of the zend-hydrator
141 ## 2.7.4 - 2015-10-15
149 - [#35](https://github.com/zendframework/zend-stdlib/pull/35) deprecates
150 `Zend\Stdlib\CallbackHandler`, as the one component that used it,
151 zend-eventmanager, will no longer depend on it starting in v3.
161 ## 2.7.3 - 2015-09-24
177 - [#27](https://github.com/zendframework/zend-stdlib/pull/27) fixes a race
178 condition in the `FastPriorityQueue::remove()` logic that occurs when removing
179 items iteratively from the same priority of a queue.
181 ## 2.7.2 - 2015-09-23
197 - [#26](https://github.com/zendframework/zend-stdlib/pull/26) fixes a subtle
198 inheritance issue with deprecation in the hydrators, and updates the
199 `HydratorInterface` to also extend the zend-hydrator `HydratorInterface` to
200 ensure LSP is preserved.
202 ## 2.7.1 - 2015-09-22
218 - [#24](https://github.com/zendframework/zend-stdlib/pull/24) fixes an import in
219 `FastPriorityQueue` to alias `SplPriorityQueue` in order to disambiguate with
220 the local override present in the component.
222 ## 2.7.0 - 2015-09-22
226 - [#19](https://github.com/zendframework/zend-stdlib/pull/19) adds a new
227 `FastPriorityQueue` implementation. It follows the same signature as
228 `SplPriorityQueue`, but uses a performance-optimized algorithm:
230 - inserts are 2x faster than `SplPriorityQueue` and 3x faster than the
231 `Zend\Stdlib\PriorityQueue` implementation.
232 - extracts are 4x faster than `SplPriorityQueue` and 4-5x faster than the
233 `Zend\Stdlib\PriorityQueue` implementation.
235 The intention is to use this as a drop-in replacement in the
236 `zend-eventmanager` component to provide performance benefits.
240 - [#20](https://github.com/zendframework/zend-stdlib/pull/20) deprecates *all
241 hydrator* classes, in favor of the new [zend-hydrator](https://github.com/zendframework/zend-hydrator)
242 component. All classes were updated to extend their zend-hydrator equivalents,
243 and marked as `@deprecated`, indicating the equivalent class from the other
246 Users *should* immediately start changing their code to use the zend-hydrator
247 equivalents; in most cases, this can be as easy as removing the `Stdlib`
248 namespace from import statements or hydrator configuration. Hydrators will be
249 removed entirely from zend-stdlib in v3.0, and all future updates to hydrators
250 will occur in the zend-hydrator library.
252 Changes with backwards compatibility implications:
254 - Users implementing `Zend\Stdlib\Hydrator\HydratorAwareInterface` will need to
255 update their `setHydrator()` implementation to typehint on
256 `Zend\Hydrator\HydratorInterface`. This can be done by changing the import
257 statement for that interface as follows:
261 use Zend\Stdlib\Hydrator\HydratorInterface;
263 use Zend\Hydrator\HydratorInterface;
266 If you are not using imports, change the typehint within the signature itself:
270 public function setHydrator(\Zend\Stdlib\Hydrator\HydratorInterface $hydrator)
272 public function setHydrator(\Zend\Hydrator\HydratorInterface $hydrator)
275 If you are using `Zend\Stdlib\Hydrator\HydratorAwareTrait`, no changes are
276 necessary, unless you override that method.
278 - If you were catching hydrator-generated exceptions, these were previously in
279 the `Zend\Stdlib\Exception` namespace. You will need to update your code to
280 catch exceptions in the `Zend\Hydrator\Exception` namespace.
282 - Users who *do* migrate to zend-hydrator may end up in a situation where
283 their code will not work with existing libraries that are still type-hinting
284 on the zend-stdlib interfaces. We will be attempting to address that ASAP,
285 but the deprecation within zend-stdlib is necessary as a first step.
287 In the meantime, you can write hydrators targeting zend-stdlib still in
288 order to guarantee compatibility.
298 ## 2.6.0 - 2015-07-21
302 - [#13](https://github.com/zendframework/zend-stdlib/pull/13) adds
303 `Zend\Stdlib\Hydrator\Iterator`, which provides mechanisms for hydrating
304 objects when iterating a traversable. This allows creating generic collection
305 resultsets; the original idea was pulled from
306 [PhlyMongo](https://github.com/phly/PhlyMongo), where it was used to hydrate
307 collections retrieved from MongoDB.
321 ## 2.5.2 - 2015-07-21
337 - [#9](https://github.com/zendframework/zend-stdlib/pull/9) fixes an issue with
338 count incrementation during insert in PriorityList, ensuring that incrementation only
339 occurs when the item inserted was not previously present in the list.
341 ## 2.4.4 - 2015-07-21
357 - [#9](https://github.com/zendframework/zend-stdlib/pull/9) fixes an issue with
358 count incrementation during insert in PriorityList, ensuring that incrementation only
359 occurs when the item inserted was not previously present in the list.