?

Log in

No account? Create an account

Previous Entry | Next Entry

Catalyst 5.7000 release announcement

The Catalyst Core Team is proud to announce that we've just shipped the next major release of the Catalyst framework, version 5.7000. This release is the result of the helpful contributions of a large number of people, both on the documentation and people submitting patches and ideas for improvements. We would like to use this opportunity to thank them for their great work. Catalyst would be much worse of without you guys. Hope you will continue to make us great.

One major focus in this release has been improving the Tutorial and Introduction parts of the Catalyst manual, as well as a complete review of the reference API documentation and the Cookbook. While we acknowledge that there is still much to be done, we hope this release will make it easier for new users to learn and enjoy Catalyst.

Another major feature in this release is the new ActionClass templates, which allow you to make pre-made actions that can be extended and customized through a simple API. Catalyst::Action::RenderView is the first of these ActionClasses, but we hope to see many more follow on CPAN. RenderView is a reimplementation of the DefaultEnd plugin, and is now used by default in applications generated by catalyst.pl.

While on the subject of generated code, we've also done a review of the rest of the code catalyst.pl creates, and we believe the updated version will allow you to build your new  applications even quicker. We've also changed all log output to be more concise and readable. The debug screen has also had a makeover. A new color scheme and Data::Dump generated debug output will hopefully make this more readable and useful. You can read more about actionclasses in Catalyst::Manual::Actions.

Simon Elliot, Matt S Trout and Robert Sedlacek has been hard at work to implement a new dispatch mechanism we call chained actions. This means that you can dispatch to a url like /page/43/revision/23/edit, and it will be passed along a chain to handle each element in the url, with an optional number of 'Captures'. In this example, you could have a page action with 1 capture, chained to a revision action with 1 capture, and a edit action with no arguments. You can read more about this in the updated Introduction.

The last major change I am going to mention is related to distribution. We understand that Catalyst has a large number of dependencies, and that it can be hard to deploy your applications to production. That's why we have split the Catalyst distribution into a Runtime and Devel part. This is a cleaner design overall, and means your application only needs to install what it needs to run on the servers. For instance you no longer need to install Template Toolkit on your servers if you use HTML::Mason or another Catalyst View. This also makes it much more viable to make your own helper packages to generate your preferred code style. Catalyst is still a part of the Catalyst-Runtime distribution, so you can still install it with perl -MCPAN -e'install Catalyst'. Module authors are encouraged to depend on Catalyst::Runtime rather than the Catalyst module from now on, but both will work.

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

http://dev.thefeed.no/stuff/Catalyst-Devel-1.00.tar.gz
http://dev.thefeed.no/stuff/Catalyst-Runtime-5.7000.tar.gz

You can also find a complete changelog here:

Changes

Thank you for your attention.

--
On behalf of the Catalyst Core Team
Catalyst Release Manager
Marcus Ramberg

Tags:

Comments

( 1 comment — Leave a comment )
lenmcgrane
Feb. 26th, 2007 02:32 am (UTC)
A suggestion for the tutorials
Good idea to improve the tutorials! Making things plain and clear is always going to move things along faster. In a future edit of the manual, what about including some team building ideas so people can co-laborate and work in teams more efficiently. I know there are a lot of team building / team work ideas out there, but if there are some specific ways we can work in teams on this project it would be great to hear them. Keep up the good work!
( 1 comment — Leave a comment )