The Catalyst Core Team is proud to announce that we've just shipped the next major release of the Catalyst framework, version 5.8001. This release is the result of the helpful contributions of a large number of people, comprising documentation, new features, bug fixes and entire branches of refactoring, and has taken over twelve months work.

Specifically this release would not have been possible without the hard work put in by Guillermo Roditi and Scott McWhirter for the initial port, and Florian Ragwitz on method attributes, as well as their CPAN modules to support this. Huge thanks to those guys, and also to everyone providing patches for documentation, bug fixes, and new features.

The major focus of this release is refactoring, and porting to Moose, which enables a lot of additional features, and gives you, the user, a lot of additional power to use when building your applications, and gives the Catalyst team a lot of power for extending the framework. Current applications will still run unmodified, but new code and extensions can start to fully take advantage of Moose.

A lot of (previously inadvisable) techniques have become officially deprecated, producing warnings, and full documentation is provided in the distribution to explain any changes which may affect your applications or components. Extensive smoke testing for backwards compatibility has taken place as part of the release process, and we're confident that we haven't broken anything which wasn't a very bad idea in the first place :)

The Runtime distributions will be on a CPAN mirror near you before long, but until then you have the option of getting them here:

http://files.perldition.org/Catalyst-Runtime-5.80001.tar.gz

A further explanation of all the changes can be found in Catalyst::Delta (included below).

Thank you for your attention, and for using our software.
t0m

Full delta from 5.71:

  Deprecations:

Please see Catalyst::Upgrading for a full description of how changes in
    the framework may affect your application.

Below is a brief list of features which have been deprecated in this
    release:

    * ::[MVC]:: style naming scheme has been deprecated and will warn
NEXT is deprecated for all applications and components, use MRO::Compat
    Dispatcher methods which are an implementation detail made private,
    public versions now warn.

    * MyApp->plugin method is deprecated, use Catalyst::Model::Adaptor
    instead.

* __PACKAGE__->mk_accessors() is supported for backward compatibility
    only, use Moose attributes instead in new code.

    * Use of Catalyst::Base now warns

  New features:

   Dispatcher -
    * Fix forwarding to Catalyst::Action objects.
    * Add the dispatch_type method

   Restarter -
* The development server restarter has been improved to be compatible with
      immutable Moose classes, and also to optionally use
B::Hooks::OP::Check::StashChange to handle more complex application
      layouts correctly.

   $c->uri_for_action -
Give a private path to the Catalyst action you want to create a URI for.

   Logging -
    Log levels have been made additive.

   Catalyst::Test -
    * Change to use Sub::Exporter.
    * Support mocking multiple virtual hosts
* New methods like action_ok and action_redirect to write more compact
      tests

   Catalyst::Response -
* New print method which prints @data to the output stream, separated by $,. This lets you pass the response object to functions that want
        to write to an IO::Handle.
    *   Added code method as an alias for "$res->status"

  Consequences of the Moose back end:

        *   Components are fully compatible with Moose, and all Moose
features, such as method modifiers, attributes, roles, BUILD and
            BUILDARGS methods are fully supported and may be used in
            components and applications.

        *   Many reusable extensions which would previously have been
plugins or base classes are better implemented as Moose roles.

* MooseX::MethodAttributes::Inheritable is used to contain action attributes. This means that attributes are represented in the
            MOP, and decouples action creation from attributes.

* There is a reasonable API in Catalyst::Controller for working with and registering actions, allowing a controller sub- class to replace subroutine attributes for action declarations with an
            alternate syntax.

        *   Refactored capturing of $app from Catalyst::Controller into
Catalyst::Component::ApplicationAttribute for easier reuse in
            other components.

* Your application class is forced to become immutable at the end
            of compilation.

  Bug fixes:

        *   Don't ignore SIGCHLD while handling requests with the
development server, so that system() and other ways of creating
            child processes work as expected.

        *   Fixes for FastCGI when used with IIS 6.0

* Fix a bug in uri_for which could cause it to generate paths with
            multiple slashes in them.

* Fix a bug in Catalyst::Stats, stopping garbage being inserted
            into the stats if a user calls begin => but no end

P.S. This release would also not have been possible without the relentless list keeping, cat herding, dist smoking and bug fixing done by t0m Doran, who is apparently too modest to point it out

P.P.S. mst made me add that..

_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to