[Catalyst] Forth Development Release of Catalyst 'Hamburg' now on CPAN

John Napiorkowski jjn1056 at yahoo.com
Mon Oct 21 16:17:01 GMT 2013

This release of Catalyst tries to build more on our PSGI underpinnings.  Here's the changelog

 - JSON Data handler looks for both JSON::MaybeXS and JSON, and uses
    whichever is first (prefering to find JSON::MaybeXS).  This should
    improve compatibility as you likely already have one installed.
  - Fixed a warning in the server script (bokutin++)
  - We now populate various Plack $env keys in order to play nice with
    downstream middleware or plack apps (and to reduce processing if
    those keys already exist).  Keys added:
      - plack.request.query
      - plack.request.body
      - plack.request.merged
      - plack.request.http.body
  - If incoming input (from a POST or PUT) is not buffered, create the
    buffer and set the correct psgi env keys to note this for downstream
    psgi apps / middleware.  This should solve some issues where Catalyst
    sucks up the body input but its not buffered so downstream apps can't
    read it (for example FCGI does not buffer).  We now also try to make
    sure the body content input is reset to the start of the filehandle
    so that we are polite to downstream middleware /apps.
  - NEW FEATURE: Catalyst::Response can now pull response from a PSGI
    specification response.  This makes it easier to host external Plack
    applications under Catalyst.  See Catalyst::Response->from_psgi_response
  - NEW FEATURE: New configuration option 'use_hash_multivalue_in_request'
    will populate $request methods 'parameters', 'body_parameters' and
    'query_parameters' with an instance of Hash::MultiValue instead of a
    HashRef.  This is used by Plack and is intended to reduce the need to
    write defensive logic since you are never sure if an incoming parameter
    is a scalar or arrayref.
  - NEW FEATURE: We now experimentally support Net::Async::HTTP::Server
    and IO-Async based event loops.  Examples will follow.

I also blogged a few more details:


Please test it out, we are getting close to a stable release so if there's something you object to, now is the time to speak up.

cpanm Catalyst::Runtime --dev


More information about the Catalyst mailing list