[Catalyst] Catalyst 5.50 RC1
phil.mitchell at pobox.com
Mon Oct 10 20:16:48 CEST 2005
Thanks Andy and all -- these are much appreciated. I plugged it into
my dev system and nothing appears to have broken ...
On 10/10/05, Andy Grundman <andy at hybridized.org> wrote:
> 5.5 is almost here! The first release candidate has been released to
> CPAN today as version 5.49_01. The new Apache engine has also been
> released separately, as version 0.99.
> If they're not yet at your local CPAN mirror, you can grab the files
> from ftp://pause.perl.org/incoming/
> We'd like to ask that you please take a bit of time to download this
> version and give it a test if you have any applications running on a
> current version of Catalyst.
> Also, I'd strongly recommend that all plugin authors give their plugins
> a test, as most internal changes we've made will only affect plugins.
> Specifically, if your plugin uses the prepare_body or finalize_body
> methods, you may need to make some changes.
> Now, on to the list of changes and new features. :)
> * Added support for calling forward with arguments in the path.
> Instead of using
> $c->forward( '/foo/bar', [ qw/arg1 arg2/ ] );
> you can now write this instead
> $c->forward( '/foo/bar/arg1/arg2' );
> * Made $c->req->uri and $c->req->base into URI objects.
> The only incompatible change to the API comes in the form of URI
> objects for both the req->uri and req->base methods. This allows for
> more flexibility in retrieving pieces of the URI, such as
> $c->req->uri->query to get the original untouched query string, and
> $c->req->uri->host to get the server hostname.
> * Parameters with multiple values (?a=1&a=2) now display properly in the
> debug output.
> * Semi-colon separators in query strings now work properly.
> * Added support for running as a backend server behind a frontend proxy
> so req->base and req->address are set properly. See the section 'Proxy
> Support' in the Catalyst.pm docs for more info.
> * Added an 'abort' method to the Log api, so that you can kill logging
> for a whole request. This is most useful in the latest version of
> Static::Simple, where logging is now disabled by default for static files.
> * Added $c->uri_for method to simplify URI handling.
> This method enables you to construct correct URIs without worrying
> about whether or not your application is running at the root or another
> base location. Note that this method returns a URI object. For
> example, if you are running at http://localhost/base:
> # Absolute paths
> $c->req->uri_for( '/foo/bar' ); # http://localhost/base/foo/bar
> # Relative paths (assuming current page is http://localhost/base/page)
> $c->req->uri_for( 'subpage' ); # http://localhost/base/page/subpage
> # Dot paths
> $c->req->uri_for( '../page2' ); # http://localhost/base/page2
> * Reimplemented core engines, all are now CGI based for better test
> coverage and maintainability. The Apache engines have been separated
> out into their own package, Catalyst::Engine::Apache.
> * Added fork support to built in test server.
> This feature is disabled by default, but may be enabled by passing
> the -f switch to myapp_server.pl. This will cause the server to fork a
> new process for each incoming request, to avoid long-running tasks that
> may block the server.
> * Fixed all memory leaks.
> * Thread-related bug fixes and tests. We now believe the Catalyst
> core to be thread-safe. Of course, take care if running in a threaded
> environment such as Apache 2 mpm_worker that all other modules you are
> using are thread-safe.
> * Added streaming IO support through $c->req->read() and $c->res->write()
> It's now possible to stream data to and from Catalyst applications.
> One example of streaming can be seen in the small mp3 server located in
> svn at examples/Streaming or at
> Catalyst mailing list
> Catalyst at lists.rawmode.org
2People Blog: http://2-people.blogspot.com/
2People site: http://www.2people.org
More information about the Catalyst