Based on https://github.com/zfcampus/zf-hal/releases/tag/1.4.0 (commit 2ef1c018b441fbc5b19819907f02ecc944627ef3 in this repo)
Added
-----
- [zfcampus/zf-hal#142](https://github.com/zfcampus/zf-hal/pull/142) and
[zfcampus/zf-hal#145](https://github.com/zfcampus/zf-hal/pull/145) add support for Laminas
Framework v3 component releases, retaining support for v2 versions as well;
specifically, laminas-eventmanager, laminas-mvc, laminas-stdlib, and
laminas-servicemanager v3 may now be used with this module.
- [zfcampus/zf-hal#142](https://github.com/zfcampus/zf-hal/pull/142) and
[zfcampus/zf-hal#145](https://github.com/zfcampus/zf-hal/pull/145) add support for PHP 7.
- [zfcampus/zf-hal#99](https://github.com/zfcampus/zf-hal/pull/99) adds accessors for the
`$entity` and `$id` properties of `Laminas\ApiTools\Hal\Entity`.
- [zfcampus/zf-hal#124](https://github.com/zfcampus/zf-hal/pull/124) adds a new interface
`Laminas\ApiTools\Hal\Link\SelfLinkInjectorInterface` and default implementation
`Laminas\ApiTools\Hal\Link\SelfLinkInjector`; these are now used as collaborators to the
`Hal` plugin to simplify internal logic, and allow users to provide alternate
strategies for generating the `self` relational link.
- [zfcampus/zf-hal#125](https://github.com/zfcampus/zf-hal/pull/125) adds a new service,
`Laminas\ApiTools\Hal\Link\LinkUrlBuilder`. This class composes the `ServerUrl` and `Url`
view helpers in order to provide the functionality required to build a
route-based link URL. The `Hal` plugin now consumes this instead of
implementing the logic internally.
The upshot is: you can replace the URL generation semantics for your
application entirely by pointing the service to your own implementation.
- [zfcampus/zf-hal#125](https://github.com/zfcampus/zf-hal/pull/125) adds service factories for
each of the `LinkExtractor` and `LinkCollectionExtractor`, which now allows
users to provide substitutions for their functionality. (Extractors pull links
and link collections in order to generate the relational links for a HAL-JSON
payload.)
- [zfcampus/zf-hal#139](https://github.com/zfcampus/zf-hal/pull/139) adds the new method
`Hal::resetEntityHashStack()`; this method can be used when rendering multiple
responses and/or payloads within the same request cycle, in order to allow
re-using the same entity instances (normally, they would be skipped when
discovered on subsequent iterations).
Deprecated
----------
- [zfcampus/zf-hal#99](https://github.com/zfcampus/zf-hal/pull/99) deprecates usage of property
access on `Laminas\ApiTools\Hal\Entity` to retrieve the identifier and underlying entity
instance.
- [zfcampus/zf-hal#125](https://github.com/zfcampus/zf-hal/pull/125) deprecates the usage of
`Hal::setServerUrlHelper()` and `Hal::setUrlHelper()`; these will each now
raise an exception indicating the user should use a `LinkUrlBuilder` for URL
generation instead.
- [zfcampus/zf-hal#125](https://github.com/zfcampus/zf-hal/pull/125) deprecates passing a
`ServerUrlHelper` and `UrlHelper` to the constructor of
`Laminas\ApiTools\Hal\Exctractor\LinkExtractor`; it now expects a `LinkUrlBuilder` instance
instead. (This class is primarily an internal detail of the `Hal` plugin.)
Removed
-------
- [zfcampus/zf-hal#145](https://github.com/zfcampus/zf-hal/pull/145) removes support for PHP 5.5.
Fixed
-----
- Nothing.