[Catalyst] [ANNOUNCE] Catalyst-Runtime-5.80006

Tomas Doran bobtfish at bobtfish.net
Mon Jun 29 22:37:11 GMT 2009

The Catalyst core team is pleased to announce the availability of the  
latest maintenance release of Catalyst-Runtime, version 5.80006.

This fixes regressions introduced in the last release with the  
encoding of arguments to actions, and a number of other bugs.

It also adds more flexible exception handling, a new role  
Catalyst::Component::ContextClosure allowing you to safely get a  
properly weakened reference to a '$c' object for use in components,  
to avoid circular references, and a ~ prefix to action & etc names to  
mean 'application local.

A full changelog is included below.

Many thanks to all the people who worked on this release.

5.80006 2009-06-29 23:37:47

   Bug fixes:
         - Revert change to URL encode things passed into $c->uri_for
           Args and CaptureArgs as this causes breakage to pre-existing
           applications (t0m).
         - Remove use of Test::MockObject as it doesn't install from  
           in some environments (t0m).
         - Remove use of dclone to deep copy configs and replace with
           Catalyst::Utils::merge_hashes which has the same effect, of
           ensuring child classes don't inherit their parent's config,
           except works correctly with closures (t0m).
         - Add Class::C3::reinitialize into Catalyst::Test to avoid  
           bugs in ctx_request (bokutin in RT#46459)
         - Fix issues with _parse_PathPrefix_attr method in  
           (jasonk in RT#42816)

   New features:
         - Use ~ as prefix for plugins or action classes which are  
located in
           MyApp::Plugin / MyApp::Action (mo)
         - Controller methods without attributes are now considered  
actions if
           they are specified in config->{action(s)} (mo)
         - Add Catalyst::Component::ContextClosure as an easy way to  
create code
           references, that close over the context, without creating  
           (Florian Ragwitz).

    Refactoring / cleanups:
         - Clean namespaces in Catalyst::Exception* (Florian Ragwitz).
         - Turn Catalyst::Exception into an actual class and make the  
           method create instances of it. They can still be used as  
           strings, as before, as they are overloaded to stringify to  
           error message (Florian Ragwitz).
         - Add a rethrow method to Catalyst::Exception (Florian  
         - Add Catalyst::Exception::Detach and ::Go, and refactor  
detach() and
           go() to use them instead of magic, global strings (Florian  
           Fixes RT#47366
         - Clean up getting metaclass instance and making app class  
           again in Catalyst::Test (t0m)

More information about the Catalyst mailing list