3 All notable changes to this project will be documented in this file, in reverse chronological order by release.
25 - [#92](https://github.com/zendframework/zend-stdlib/pull/92) fixes serialization of `SplPriorityQueue` by ensuring its `$serial`
26 property is also serialized.
28 - [#91](https://github.com/zendframework/zend-stdlib/pull/91) fixes behavior in the `ArrayObject` implementation that was not
29 compatible with PHP 7.3.
35 - [#87](https://github.com/zendframework/zend-stdlib/pull/87) adds support for PHP 7.2.
47 - [#87](https://github.com/zendframework/zend-stdlib/pull/87) removes support for HHVM.
61 - [#67](https://github.com/zendframework/zend-stdlib/pull/67) changes the typehint of the `$content` property
62 of the `Message` class to indicate it is a string. All known implementations
75 - [#60](https://github.com/zendframework/zend-stdlib/pull/60) fixes an issue whereby calling `remove()` would
76 incorrectly re-calculate the maximum priority stored in the queue.
78 - [#60](https://github.com/zendframework/zend-stdlib/pull/60) fixes an infinite loop condition that can occur when
79 inserting an item at 0 priority.
85 - [#63](https://github.com/zendframework/zend-stdlib/pull/63) adds a new
86 `Zend\Stdlib\ConsoleHelper` class, providing minimal support for writing
87 output to `STDOUT` and `STDERR`, with optional colorization, when the console
88 supports that feature.
92 - [#38](https://github.com/zendframework/zend-stdlib/pull/38) deprecates
93 `Zend\Stdlib\JsonSerializable`, as all supported version of PHP now support
104 ## 3.0.1 - 2016-04-12
120 - [#59](https://github.com/zendframework/zend-stdlib/pull/59) fixes a notice
121 when defining the `Zend\Json\Json::GLOB_BRACE` constant on systems using
122 non-gcc glob implementations.
124 ## 3.0.0 - 2016-02-03
128 - [#51](https://github.com/zendframework/zend-stdlib/pull/51) adds PHP 7 as a
129 supported PHP version.
130 - [#51](https://github.com/zendframework/zend-stdlib/pull/51) adds a migration
131 document from v2 to v3. Hint: if you use hydrators, you need to be using
132 zend-hydrator instead!
133 - [#51](https://github.com/zendframework/zend-stdlib/pull/51) adds automated
134 documentation builds to gh-pages.
142 - [#33](https://github.com/zendframework/zend-stdlib/pull/33) - removed
144 - *All Hydrator classes* see #22.
145 - `Zend\Stdlib\CallbackHandler` see #35
146 - [#37](https://github.com/zendframework/zend-stdlib/pull/37) - removed
147 deprecated classes and polyfills:
148 - `Zend\Stdlib\DateTime`; this had been deprecated since 2.5, and only
149 existed as a polyfill for the `createFromISO8601()` support, now standard
150 in all PHP versions we support.
151 - `Zend\Stdlib\Exception\InvalidCallbackException`, which was unused since #33.
152 - `Zend\Stdlib\Guard\GuardUtils`, which duplicated `Zend\Stdlib\Guard\AllGuardsTrait`
153 to allow usage with pre-PHP 5.4 versions.
154 - `src/compatibility/autoload.php`, which has been dprecated since 2.5.
155 - [#37](https://github.com/zendframework/zend-stdlib/pull/37) - removed
156 unneeded dependencies:
157 - zend-config (used only in testing ArrayUtils, and the test was redundant)
158 - zend-serializer (no longer used)
159 - [#51](https://github.com/zendframework/zend-stdlib/pull/51) removes the
160 documentation for hydrators, as those are part of the zend-hydrator
167 ## 2.7.4 - 2015-10-15
175 - [#35](https://github.com/zendframework/zend-stdlib/pull/35) deprecates
176 `Zend\Stdlib\CallbackHandler`, as the one component that used it,
177 zend-eventmanager, will no longer depend on it starting in v3.
187 ## 2.7.3 - 2015-09-24
203 - [#27](https://github.com/zendframework/zend-stdlib/pull/27) fixes a race
204 condition in the `FastPriorityQueue::remove()` logic that occurs when removing
205 items iteratively from the same priority of a queue.
207 ## 2.7.2 - 2015-09-23
223 - [#26](https://github.com/zendframework/zend-stdlib/pull/26) fixes a subtle
224 inheritance issue with deprecation in the hydrators, and updates the
225 `HydratorInterface` to also extend the zend-hydrator `HydratorInterface` to
226 ensure LSP is preserved.
228 ## 2.7.1 - 2015-09-22
244 - [#24](https://github.com/zendframework/zend-stdlib/pull/24) fixes an import in
245 `FastPriorityQueue` to alias `SplPriorityQueue` in order to disambiguate with
246 the local override present in the component.
248 ## 2.7.0 - 2015-09-22
252 - [#19](https://github.com/zendframework/zend-stdlib/pull/19) adds a new
253 `FastPriorityQueue` implementation. It follows the same signature as
254 `SplPriorityQueue`, but uses a performance-optimized algorithm:
256 - inserts are 2x faster than `SplPriorityQueue` and 3x faster than the
257 `Zend\Stdlib\PriorityQueue` implementation.
258 - extracts are 4x faster than `SplPriorityQueue` and 4-5x faster than the
259 `Zend\Stdlib\PriorityQueue` implementation.
261 The intention is to use this as a drop-in replacement in the
262 `zend-eventmanager` component to provide performance benefits.
266 - [#20](https://github.com/zendframework/zend-stdlib/pull/20) deprecates *all
267 hydrator* classes, in favor of the new [zend-hydrator](https://github.com/zendframework/zend-hydrator)
268 component. All classes were updated to extend their zend-hydrator equivalents,
269 and marked as `@deprecated`, indicating the equivalent class from the other
272 Users *should* immediately start changing their code to use the zend-hydrator
273 equivalents; in most cases, this can be as easy as removing the `Stdlib`
274 namespace from import statements or hydrator configuration. Hydrators will be
275 removed entirely from zend-stdlib in v3.0, and all future updates to hydrators
276 will occur in the zend-hydrator library.
278 Changes with backwards compatibility implications:
280 - Users implementing `Zend\Stdlib\Hydrator\HydratorAwareInterface` will need to
281 update their `setHydrator()` implementation to typehint on
282 `Zend\Hydrator\HydratorInterface`. This can be done by changing the import
283 statement for that interface as follows:
287 use Zend\Stdlib\Hydrator\HydratorInterface;
289 use Zend\Hydrator\HydratorInterface;
292 If you are not using imports, change the typehint within the signature itself:
296 public function setHydrator(\Zend\Stdlib\Hydrator\HydratorInterface $hydrator)
298 public function setHydrator(\Zend\Hydrator\HydratorInterface $hydrator)
301 If you are using `Zend\Stdlib\Hydrator\HydratorAwareTrait`, no changes are
302 necessary, unless you override that method.
304 - If you were catching hydrator-generated exceptions, these were previously in
305 the `Zend\Stdlib\Exception` namespace. You will need to update your code to
306 catch exceptions in the `Zend\Hydrator\Exception` namespace.
308 - Users who *do* migrate to zend-hydrator may end up in a situation where
309 their code will not work with existing libraries that are still type-hinting
310 on the zend-stdlib interfaces. We will be attempting to address that ASAP,
311 but the deprecation within zend-stdlib is necessary as a first step.
313 In the meantime, you can write hydrators targeting zend-stdlib still in
314 order to guarantee compatibility.
324 ## 2.6.0 - 2015-07-21
328 - [#13](https://github.com/zendframework/zend-stdlib/pull/13) adds
329 `Zend\Stdlib\Hydrator\Iterator`, which provides mechanisms for hydrating
330 objects when iterating a traversable. This allows creating generic collection
331 resultsets; the original idea was pulled from
332 [PhlyMongo](https://github.com/phly/PhlyMongo), where it was used to hydrate
333 collections retrieved from MongoDB.
347 ## 2.5.2 - 2015-07-21
363 - [#9](https://github.com/zendframework/zend-stdlib/pull/9) fixes an issue with
364 count incrementation during insert in PriorityList, ensuring that incrementation only
365 occurs when the item inserted was not previously present in the list.
367 ## 2.4.4 - 2015-07-21
383 - [#9](https://github.com/zendframework/zend-stdlib/pull/9) fixes an issue with
384 count incrementation during insert in PriorityList, ensuring that incrementation only
385 occurs when the item inserted was not previously present in the list.