ZF Blog

Apigility 1.0.4 Released!

Apigility 1.0.4

We are pleased to announce the immediate availability of Apigility 1.0.4!

This is our fourth maintenance release of Apigility.

IBM i Support

This release contains a number of fixes to ensure the ability to use Apigility on IBM i. Among them:

  • We are pinning support to Zend Framework 2.3.2 and above, which contains updates supporting DB2:
  • Full transaction support.
  • Fixed LIMIT support, allowing for paginated DB result sets.
  • Fixes to database-backed authentication
  • The ability to specify database driver options via the Admin UI. Most DB2
    connections need additional driver options specified, and you can now do so via the UI.

UI Improvements

One lingering issue we've had reported is an error when creating APIs: the UI reports an error, but the API has been created. We made several patches that, in aggregate, should resolve these issues going forward:

  • We discovered that our promise chains in the Admin UI were not optimally constructed, and could potentially raise errors under the appropriate conditions; these have been fixed.
  • We introduced comprehensive cache control headers to prevent client-side caching of Admin API calls.
  • We introduced a timeout between successful completion of API creation and deletion calls, and subsequent fetching of the API list from the Admin API. In working with Julien Guittard, we were able to find an optimal timeout that resolves the issue.

Additionally, for those users using Apache to serve the Admin UI and Admin API, we have stopped using backslashes in URI identifiers (Apache rejects URI-encoded slashes by default).

Other fixes were also made that are detailed under the "zf-apigility-admin" header below.

Documentation fixes

zf-apigility-documentation was not using the correct configuration key to discover input filters, which meant it was not reporting fields at all. This had further implications for zf-apigility-documentation-swagger, which was then unable to expose models based on those fields. This situation is now resolved.

Collections

While Apigility has supported retrieving collections in REST services, creating, replacing, updating, or deleting them has been an exercise left to the developer previously. With this release, field definitions can now be used to validate the items passed to collections, giving collections first-class support.

Console

zf-console was extensively updated, with many contributions and ideas from Zend's Slavey Karadzhov. These include:

  • Simplification of mapping the command name to the route. By default the command name is considered the first argument of the route now.
  • Command handlers may now be specified in the configuration via the handler key for a command.
  • A number of useful CLI-specific filters are now provided, including an Explode filter (split comma or other delimited arguments to an array), a QueryString filter (specify arguments in query string format), and a Json filter (specify arguments in JSON).
  • Better error handling and error reporting.
  • The ability to generate autocompletion scripts for your CLI commands.

zf-console is shaping up as a capable microframework for CLI commands!

Thank You!

Many thanks to everyone who contributed fixes, big or small, towards this release!

Issues closed:

zf-apigility-admin

zf-apigility-documentation

zf-apigility-documentation-swagger

zf-apigility-skeleton

zf-console

zf-content-validation

zf-deploy

zf-hal

zf-mvc-auth

zf-oauth2

zf-rest:

Return to entries

blog comments powered by Disqus