8ab23f17dc6abc7f4c5b1c764a9011c96c94b702
[catagits/Catalyst-Runtime.git] / Changes
1 # This file documents the revision history for Perl extension Catalyst.
2
3         - pass replace_constructor to the immutable call to ensure
4           applications get a Moose constructor rather than a C::A one
5
6 5.80002 2009-04-21 12:21:00
7         - Fix issues with restarting the application class due to C3 failures
8           on perl 5.10 (t0m)
9         - Work around issues in Moose with initialization order of multiple
10           levels of non-Moose classes inheriting from a Moose class (t0m)
11           - Test for this
12         - Add backwards compatibility method for Catalyst::Log->body, which
13           has been made private (t0m)
14         - Fix so that calling $c->req->parameters(undef) does not flatten
15           the request parameters with undef + test (t0m)
16         - Fix so that width of table of unattached actions for debugging
17           ::DispatchType::Chained varies according to your terminal width
18           (Oleg Kostyuk)
19         - Fix warning message about linearized @ISA in Catalyst::Component
20           (Emanuele Zeppieri)
21         - Require MX::MethodAttributes 0.06 to avoid issues with saying
22           use base 'Catalyst::Controller'; use Moose; losing actions (t0m)
23         - Fix all of t0m's typos in ::Upgrading and ::Delta (hobbs)
24
25 5.80001 2009-04-18 22:18
26         - Don't inline the constructor for Catalyst::Log to avoid a
27           warning on recent Moose versions.
28         - Add delta documentation
29         - Clean up recursion errors
30         - Extra cross links in dispatch types POD (Ian Wells)
31         - Test uri_with clears query params when they are set to undef
32           (Ian Wells)
33         - Complain about old Catalyst::Devel versions which generated
34           ->setup(qw/-Debug... etc. as this is not recommended (t0m)
35
36 5.8000_07 2009-04-12 13:37
37         - Add the Catalyst::Dispatcher->dispatch_type method (ash)
38         - Throw an exception rather than loading an app if an action
39           tries to chain to itself (t0m)
40           - Tests for this
41         - Change the $c->visit and $c->go methods to optionally take
42           CaptureArgs, making them useful to call ActionChains with (t0m)
43           - Tests for this (radek)
44         - Fix _invoke_as_component method to find the proper action instance
45           for dispatchable actions so that ->visit or ->going to ActionChains
46           with qw/Class::Name method_name/ works correctly (t0m)
47           - Tests for this (radek)
48         - Added Catalyst::Test::ctx_request to be able to inspect
49           the context object after a request is made (Jos Boumans)
50         - debug() POD rewrite (jhannah)
51         - Change the warning when you have conflicting components to
52           present a list (t0m)
53         - Move NEXT use and testing deprecated features out to its own
54           test application so that the main TestApp isn't polluted with
55           spurious warnings (t0m)
56         - Add a warning for the old ::[MVC]:: style naming scheme (t0m)
57           - Test for this (t0m)
58         - Kill Class::C3::Adopt::NEXT warnings for the Catalyst:: namespace
59           in production versions (t0m)
60         - Tidy up Catalyst::ClassData to ensure that all components get
61           the correct metaclass (t0m)
62         - Make MyApp.pm restartable by unsetting setup_finished in
63           the restarter process (t0m)
64         - Non-naive implementation of making mutable on restart using
65           B::Hooks::OP::Check::StashChange if installed (t0m)
66           - Tests for this (t0m)
67         - Naive implementation of making all components mutable in the
68           forked restart watcher process so native Moose apps using
69           immutable restart correctly. (t0m)
70           - Tests for this (t0m)
71         - Bump Moose dependency to 0.70 so that we avoid nasty surprises
72           with is_class_loaded and perl 5.80 when you Moosify MyApp.pm (t0m)
73         - Clarify that request arguments aren't unescaped automatically
74           (Simon Bertrang) (Closes RT#41153)
75         - Don't require C3 for the MRO test (rafl)
76         - Bump MX::Emulate::CAF prereq to support list assignment (rafl)
77         - Remove useless column in chained action debug table. (rafl)
78         - namespace::clean related cleanups (rafl)
79         - Import related cleanups and consistency fixes (rafl)
80         - Fix test suite TestApp /dump/env action (t0m)
81         - Add $res->code as alias for $res->status (hdp)
82         - Make Catalyst::ClassData compatible with the latest Class::MOP::Class
83           changes. Also depend on the latest Class::MOP. (rafl)
84         - Add $c->uri_for_action method. (hdp)
85         - Don't stringify the meta method. Use its name instead. (rafl)
86         - Use MooseX::MethodAttributes::Inheritable to contain action
87           attributes. This means that attributes are now represented in the MOP,
88           allowing method modifiers on actions to work as expected. (rafl)
89         - Provide a reasonable API in Catalyst::Controller for working with
90           and registering actions, allowing a controller sub-class to replace
91           subroutine attributes for action declerations with an alternate
92           syntax. (rafl/hdp)
93         - Instantiate correct sub-class of Moose::Meta::Class for non-Moose
94           components where Catalyst forces the creation of a metaclass instance.
95           This is more correct, and avoids metaclass incompatibility in complex
96           cases (t0m)
97           - Tests for this (t0m)
98         - Use of deprecated Catalyst::Base now warns. (t0m)
99         - Add uri_with tests (gphat)
100
101 5.8000_06 2009-02-04 21:00
102         - Disallow writing to config after setup (rafl)
103         - Disallow calling setup more than once (rafl)
104         - Documentation fix regarding overloading of Engine and Dispatcher
105           instances (rafl)
106         - Several documentation typo fixes (rafl)
107         - Stop Makefile.PL from warning about versions that fixed a conflict
108           (t0m)
109         - Improved upgrading documentation (t0m, rafl)
110         - Seed the RNG in each FastCGI child process (Andrew Rodland)
111         - Properly report dynamic bind port for the development server (rafl)
112           (Closes RT#38544)
113         - Use the way documented by IO::Socket::INET to get the error message
114           after trying to create a listening socket (rafl) (Closes RT#41828)
115         - Don't ignore SIGCHLD while handling requests with the dev server
116           (rafl) (Closes RT#42962)
117
118 5.8000_05 2008-29-01 00:00
119         - Text::SimpleTable's go as wide as $ENV{COLUMNS} (jhannah)
120           Patch written by Oleg Kostyuk <cub.uanic@gmail.com>
121         - Improve docs for visit (mateu)
122         - Add docs for finalize hook (dhoss)
123         - Added ru/ua translations to error page
124         - Improve the clarity and verbosity of the warning when component
125           resolution uses regex fallback. (jhannah)
126         - Handle leading CRLF in HTTP requests sometimes sent by IE6 in 
127           keep-alive requests. (andyg)
128         - Fixes for FastCGI with IIS 6.0 (janus)
129         - Passing request method exported by Catalyst::Test an extra
130           parameter used to be ignored, but started breaking if the parameter
131           was not a hash in 5.8000_04. Extra parameter is now ignored if
132           it isn't a hashref (t0m)
133         - Fix request argumentss getting corrupted if you override the 
134           dispatcher and call an action which detaches (for 
135           Catalyst::Plugin::Authorization::ACL) (t0m)
136         - Fix calling use Catalyst::Test 'MyApp' 'foo' which used to work,
137           but stopped as the 2nd parameter can be an options hash now (t0m)
138         - Bump Moose dependency to fix make_immutable bug (t0m)
139         - Use compile time extends in Catalyst::Controller (t0m)
140         - Make Catalyst::Request::uploads attribute non-lazy, to fix
141           test for Catalyst-Engine-Apache (t0m)
142         - Bump version of MooseX::Emulate::Class::Accessor::Fast (t0m)
143         - Stop using MooseX::Adopt::Class::Accessor::Fast by default, to stop
144           breaking other packages which use Class::Accessor::Fast
145         - Remove unused action_container_class attribute from 
146           Catalyst::Dispatcher (t0m)
147         - Replace {_body} instance access with calls to _body accessors (t0m)
148         - Add backwards compatibility alias methods for private attributes on 
149           Catalyst::Dispatcher which used to be public. Needed by 
150           Catalyst::Plugin::Server and  Catalyst::Plugin::Authorization::ACL 
151           (t0m)
152         - Fix return value of $c->req->body, which delegates to the body
153           method on the requests HTTP::Body instance (t0m)
154           - Test for this (t0m)
155         - Fix calling $c->req->body from inside an overridden prepare_action
156           method in a plugin, as used by Catalyst::Plugin::Server (t0m)
157           - Test for this (t0m)
158         - Fix assignment to Catalyst::Dispatcher's preload_dispatch_types and
159           postload_dispatch_types attributes - assigning a list should later 
160           return a listref. Fixes Catalyst::Plugin::Server. (t0m)
161           - Tests for this (t0m)
162         - Change streaming test to serve itself rather than 01use.t, making 
163           test sync for engines easier (t0m)
164         - Refactor capturing of $app from Catalyst::Controller into
165           Catalyst::Component::ApplicationAttribute for easier reuse in other
166           components (Florian Ragwitz)
167         - Make the test suites YAML dependency optional (Florian Ragwitz)
168         - Make debug output show class name for the engine and dispatcher
169           rather than the stringified ref. (t0m)
170         - Make MyApp immutable at the end of the scope after the setup
171           method is called, fixing issues with plugins which have their 
172           own new methods by inlining a constructor on MyApp (t0m)
173           - Test for this and method modifiers in MyApp (t0m)
174         - Fix bug causing Catalyst::Request::Upload's basename method
175           to return undef (t0m)
176           - Test for this (Carl Franks)
177         - Fix loading of classes which do not define any symbols to not
178           die, as it didn't in 5.70 (t0m)
179           - Test for this (t0m)
180         - Bump MooseX::Emulate::Class::Accessor::Fast dependency
181           to force new version which fixes a lot of plugins (t0m)
182         - Make log levels additive, and add documentation and tests
183           for the setup_log method, which previously had none.
184           Sewn together by t0m from two patches provided by David E. Wheeler
185         - Switch an around 'new' in Catalyst::Controller to a BUILDARGS
186           method as it's much neater and more obvious what is going on (t0m)
187         - Add a clearer method on request and response _context 
188           attributes, and use if from ::Engine rather than deleting
189           the key from the instance hash (t0m)
190         - Use handles on tree attribute of Catalyst::Stats to replace
191           trivial delegation methods (t0m)
192         - Change the following direct hash accesses into attributes:
193           Catalyst::Engine: _prepared_write
194           Catalyst::Engine::CGI: _header_buf
195           Catalyst::Engine::HTTP: options, _keepalive, _write_error
196           Catalyst::Request: _path
197           Catalyst::Stats: tree
198           (t0m)
199         - Fix issues in Catalyst::Controller::WrapCGI 
200           and any other components which import (or define) their 
201           own meta method by always explicitly calling
202           Class::MOP::Object->meta inside Catalyst (t0m)
203           - Add test for this (t0m)
204         - Add test case for the bug which is causing the 
205           Catalyst::Plugin::Authentication tests to fail (t0m)
206         - Fix a bug in uri_for which could cause it to generate paths
207           with multiple slashes in them. (t0m)
208           - Add test for this (t0m)
209         - Fix SKIP block name in t/optional_http-server-restart.t,
210           stopping 'Label not found for "last SKIP"' error from 
211           Test::More (t0m)
212         - Workaround max_redirect 0 bug in LWP (andyg)
213         - Move live_engine_response_print into aggregate (andyg)
214         - Fix dependency bug, s/parent/base/ in new test (rafl)
215         - Fix optional tests to run the live tests in the aggregate 
216           dir (andyg)
217         - Fix Catalyst->go error in remote tests (andyg)
218         - Fix upload test to work with remote servers, don't check for 
219           deleted files (andyg)
220         - Fix engine_request_uri tests to work on remote server with 
221           different URI (andyg)
222
223 5.8000_04  2008-12-05 12:15:00
224         - Silence Class::C3::Adopt::NEXT warnings in the test suite (rafl)
225         - Fix loads of 'used once, possible typo' warnings (rafl)
226         - Additional tests to ensure upload temp files are deleted (andyg)
227         - Remove use of NEXT from the test suite, except for one case
228           which tests if Class::C3::Adopt::NEXT is working (t0m)
229         - Use a predicate to avoid recursion in cases where the uri
230           method is overridden by a plugin, and calls the base method,
231           for example Catalyst::Plugin::SmartURI (t0m)
232           - Test for this (caelum)
233         - Compose the MooseX::Emulate::Class::Accessor::Fast role to 
234           Catalyst::Action, Catalyst::Request, and all other modules which 
235           inherit from Class::Accessor::Fast in 5.70.
236           This fixes:
237             - Catalyst::Controller::HTML::FormFu (zamolxes)
238             - Catalyst::Request::REST (t0m)
239           - Test for this (t0m)
240         - Make hostname resolution lazy (Marc Mims)
241         - Support mocking virtualhosts in test suite (Jason Gottshall)
242         - Add README (marcus)
243         - Fix TODO list (t0m)
244         - Use Class::C3::Adopt::NEXT (rafl)
245         - Ignore C3 warnings on 5.10 when testing ensure_class_loaded (rafl)
246         - Add TODO test for chained bug (gbjk)
247         - Fix list address in documentation (zarquon)
248         - Fix ACCEPT_CONTEXT on MyApp, called as a class method (marcus)
249            - Test for this (marcus)
250         - Bump MooseX::Emulate::Class::Accessor::Fast version requirement to 
251           get more back compatibility (t0m)
252         - Improve documentation for $req->captures (caelum)
253         - Fix a bug in Catalyst::Stats, stopping garbage being inserted into
254           the stats if a user calls begin => but no end => (jhannah)
255            - Test for this (jhannah)
256         - Trim lines sooner in stats to avoid ugly Text::SimpleTable wrapping
257           (jhannah)
258         - Change Catalyst::ClassData to tweak the symbol table inline for
259           performance after profiling (mst)
260         - Fix POD typo in finalize_error (jhannah)
261         - Add tests to ensure that we delete the temp files created by 
262           HTTP::Body's OctetStream parser (t0m)
263
264 5.8000_03 2008-10-14 14:13:00
265         - Fix forwarding to Catalyst::Action objects (Rafael Kitover).
266         - Fix links to the mailing lists (RT #39754 and Florian Ragwitz).
267         - Use Class::MOP instead of Class::Inspector (Florian Ragwitz).
268         - Change Catalyst::Test to use Sub::Exporter (Florian Ragwitz).
269         - Fixed typo in Engine::HTTP::Restarter::Watcher causing -r to complain.
270
271 5.8000_02 2008-10-14 07:59:00
272        - Fix manifest
273
274 5.8000_01 2008-10-13 22:52:00
275         - Port to Moose
276         - Added test for action stringify
277         - Added test for component instances getting $self->{value} from config.
278         - Add Catalyst::Response->print() method (ilmari)
279         - Optionally aggregate tests using Test::Aggregate (Florian Ragwitz).
280         - Additional docs for uri_for to mention how to use $c->action and 
281           $c->req->captures (jhannah)
282         - List unattached chained actions in Debug mode (Florian Ragwitz).
283         - Pod formatting fix for Engine::FastCGI (Oleg Kostyuk).
284         - Add visit, a returning ->go
285
286 5.7XXXXXX XXXX
287         - Workaround change in LWP that broke a cookie test (RT #40037)
288         - Back out go() since that feature's been pushed to 5.80
289         - Fix some Win32 test failures
290         - Add pt translation of error message (wreis)
291         - Make :Chained('../action') work (Florian Ragwitz)
292         - Add test actions
293         - Chained doc improvements (rev 8326-8328)
294
295 5.7099_03 2008-07-20 10:10:00
296         - Fix regressions for regexp fallback in model(), view() and controller()
297         - Added the supplied argument to the regexp fallback warning for easier
298           debugging
299         - Ensure ACCEPT_CONTEXT is called for results from component()
300
301 5.7099_02 2008-07-16 19:10:00
302         - Added PathPrefix attribute
303         - Removed Catalyst::Build; we've long since moved to Module::Install
304         - Updated Catalyst::Test docs to mention the use of HTTP::Request
305           objects (Rafael Kitover)
306
307 5.7099_01 2008-06-25 22:36:00
308         - Refactored component resolution (component(), models(), model(), et al). We now
309           throw warnings for two reasons:
310           1) model() or view() was called with no arguments, and two results are returned
311              -- set default_(model|view), current_(model|view) or current_(model|view)_instance
312              instead
313           2) you call a component resolution method with a string, and it resorts to a regexp 
314              fallback wherein a result is returned -- if you really want to search, call the
315              method with a regex as the argument
316         - remove 0-length query string components so warnings aren't thrown (RT #36428)
317         - Update HTTP::Body dep so that the uploadtmp config value will work (RT #22540)
318         - Fix for LocalRegex when used in the Root controller
319         - Get some of the optional_* tests working from dirs with spaces (RT #26455)
320         - Fix Catalyst::Utils::home() when application .pm is in the current dir (RT #34437)
321         - Added the ability to remove parameters in req->uri_with() by passing in
322           an undef value (RT #34782)
323         - Added $c->go, to do an internal redispatch to another action, while retaining the
324           contents of the stash
325
326 5.7014  2008-05-25 15:26:00
327         - Addition of .conf in restart regex in Catalyst::Engine::HTTP::Restarter::Watcher
328         - Fix regression for relative uri_for arguments after a forward()   
329           introduced in 5.7013 (Peter Karman)  
330         - Fix regression for "sub foo : Path {}" in the root controller which 
331           was introduced when attempting to allow "0" as a Path.
332
333 5.7013  2008-05-16 18:20:00
334         - Provide backwards compatability methods in Catalyst::Stats
335         - Fix subdirs for scripts that run in subdirs more than one level deep.
336         - Added test and updated docs for handling the Authorization header
337           under mod_fastcgi/mod_cgi.
338         - Fixed bug in HTTP engine where the connection was not closed properly if the
339           client disconnected before sending any headers. (Ton Voon)
340         - POD fix, IO::FileHandle => IO::Handle (RT #35690)
341         - Fix grammar on welcome page (RT #33236)
342         - Fix for Path('0') handling (RT #29334)
343         - Workaround for Win32 and c3_mro.t (RT #26452, tested by Kenichi Ishigaki)
344         - Fix for encoding query parameters (edenc)
345         - Fix Chained multiple test (t0m)
346
347 5.7012  2007-12-16 23:44:00
348         - Fix uri_for()'s and uri_with()'s handling of multibyte chars
349           (Daisuke Murase)
350         - Fix __PACKAGE__->config->{foo} = 'bar' case with subclassing
351         - Add Catalyst::Stats (Jon Schutz)
352         - Fixed a bug where ?q=bar=baz is decoded as q=>'bar', not 'bar=baz'.
353           (Tatsuhiko Miyagawa, Masahiro Nagano)
354         - Fixed a bug where -rr (restart regex) command line option could cause
355           shell errors. (Aristotle Pagaltzis, Chisel Wright)
356
357 5.7011  2007-10-18 20:40:00
358         - Allow multiple restart directories and added option to follow
359           symlinks in the HTTP::Restarter engine (Sebastian Willert)
360         - Fixed t/optional_http-server-restart.t so it actually tests
361           if the server restarted or notified of an error (Sebastian Willert)
362         - Return child PID from the HTTP engine when run with the 'background' option.
363           (Emanuele Zeppieri)
364         - Fixed bug in HTTP engine where writes could fail with
365           'Resource temporarily unavailable'.
366         - Fixed bug where %2b in query parameter is doubly decoded to ' ', instead of '+'
367           (RT #30087, Gavin Henry, Tatsuhiko Miyagawa, Oleg Pronin)
368         - Fixed bug where req->base and req->uri would include a port number when running
369           in SSL mode.
370         - Removed unnecessary sprintf in debug mode that caused warnings on locales where
371           commas are used for decimal markers.
372         - Improved error message for case when server picks up editor save
373           files as module names. (James Mastros)
374
375 5.7010  2007-08-22 07:41:00
376         - Resource forks in 5.7009
377
378 5.7009  2007-08-22 00:14:00
379         - Moved Manual.pod to Manual.pm and clarified status of 
380           Catalyst-Manual dist
381         - Doc patches to Catalyst::Controller
382         - remove ignore_loaded from plugin load, commenting why
383         - document the ignore_loaded feature in Catalyst::Utils
384         - Add testing of inline plugins.
385
386 5.7008  2007-08-13 08:40:00
387         - Added $c->request->query_keywords for getting the keywords
388           (a query string with no parameters).
389         - Add undef warning for uri_for.
390         - Fix bug where a nested component would be setup twice.
391         - Make ensure_class_loaded behave better with malformed class name.
392         - Make _register_plugin use ensure_class_loaded.
393         - Remove 'Argument "??" isn't numeric in sprintf' warning.
394           (Emanuele Zeppieri)
395         - Fixed a bug where Content-Length could be set to 0 if a filehandle
396           object in $c->response->body did not report a size.
397         - Fixed issue where development server running in fork mode did not
398           properly exit after a write error.
399           (http://rt.cpan.org/Ticket/Display.html?id=27135)
400         - Remove warning for captures that are undef.
401         - Fixed $c->read and parse_on_demand mode.
402         - Fixed a bug with the HTTP engine where very large response bodies
403           would not be sent properly.
404
405 5.7007  2007-03-13 14:18:00
406         - Many performance improvements by not using URI.pm:
407           * $c->uri_for (approx. 8x faster)
408           * $c->engine->prepare_path (approx. 27x faster)
409           * $c->engine->prepare_query_parameters (approx. 5x faster)
410         - Updated HTTP::Body dependency to 0.9 which fixes the following issues:
411           * Handle when IE sometimes sends an extra CRLF after the POST body.
412           * Empty fields in multipart/form-data POSTs are no longer ignored.
413           * Uploaded files with the name "0" are no longer ignored.
414         - Sending SIGHUP to the dev server will now cause it to restart.
415         - Allow "0" for a path in uri_for.
416         - Performance and stability improvements to the built-in HTTP server.
417         - Don't ignore file uploads if form contains a text field with the same name.
418           (Carl Franks)
419         - Support restart_delay of 0 (for use in the POE engine).
420         - Skip body processing if we don't have a Content-Length header.
421           Results in about a 9% performance increase when handling GET/HEAD
422           requests.
423         - Add a default body to redirect responses.
424         - MyApp->model/view now looks at MyApp->config->{default_view/model}
425           (Bogdan Lucaciu)
426
427 5.7006   2006-11-15 14.18
428         - Updated manifest
429         - Fix Slurp dependency
430         - Updated HTTP::Body dependency to 0.6, 0.5 can break on large POST 
431           requests.
432         - Skip utf8 fix for undef values in uri_with() and uri_for()
433
434 5.7005   2006-11-07 19:37:35
435         - Fixed lighttpd tests to be properly skipped.
436         - Moved IE workarounds to exist only in the HTTP engine.
437         - Added installation instructions (from Catalyst-Manual dist)
438
439 5.7004   2006-11-06 20:48:35
440         - Fix Engine::HTTP crash when using IE. (Jesper Krogh, Peter Edwards)
441         - clean up Catalyst::Utils to handle some edge cases
442         - Properly work around lighttpd PATH_INFO vs. SCRIPT_NAME bug
443           (Mark Blythe)
444         - add _application accessor to Catalyst::Base
445         - Support current_view
446         - Allow use of Catalyst::Test without app name (Ton Voon, Altinity)
447         - Catalyst::Manual moved to its own package
448         - Add option to FastCGI engine to send errors to stdout, not the web server
449         - Use Module::Install's auto_install to install prerequisite modules 
450         - various documentation fixes and improvements
451         
452 5.7003   2006-09-21 16:29:45
453         - Additions and updates to tutorial
454
455 5.7002   2006-09-17 19:35:32
456         - unescape captures to match args
457         - fix for relative Chained under namespace '' (root)
458         - fix for hashrefs in action attributes from config
459         - fix for Chained to require correct number of CaptureArgs
460
461 5.7001   2006-07-19 23:46:54
462         - fix for component loading
463         - uri_for and uri_with now behave as they used to with non-
464           array references
465
466 5.7000   2006-07-07 08:08:08
467         - fix FCGI.pm warning message with FastCGI engine
468         - bumped inc::Module::Install to 0.63 in Makefile.PL
469         - fixes to uri_for_action for DispatchType::Chained
470         - Further doc work.
471         - Minor code cleanups 
472         - Changed catalyst.pl to depend on Catalyst::Devel
473
474 5.70_03  2006-06-28 16:42:00
475         - fixup to registered plugins debug at app startup
476         - refactored Catalyst::Utils::home
477
478 5.70_02  2006-06-27 11:51:00
479         - Updated tutorial.
480
481 5.70_01  2006-06-26 10:49:00
482
483         - fixed a Catalyst::Base bug causing duplicate action registrations
484         - modified DispatchTypes to support multiple registrations
485         - added Catalyst::Runtime module as dist marker
486         - added Catalyst::ActionChain and Chained DispatchType
487         - removed retarded registration requirement in dispatcher
488         - removed Module::Pluggable::Fast hack in favor of
489           Module::Pluggable::Object
490         - extended uri_for, added dispatcher->uri_for_action
491         - added Catalyst::Base->action_for('methodname')
492         - checked and tested :Args multimethod dispatch
493         - added ability to set action attributes from controller config
494         - added merge_config_hashes() as a convenience method
495         - Swapped out CGI::Cookie in favour of CGI::Simple::Cookie
496         - Removed test dependencies on Test::NoWarnings, Test::MockObject
497         - Removed dependency on UNIVERSAL::require
498         - Split out Catalyst::Helper into a new distribution
499         - un-bundled the plugins as they are now pre-reqs for Catalyst::Helper
500         - nuked each() out of core with prejudice (due to lurking buglets)
501         - Added tests from phaylon for dispatcher precedence
502         - Use Class::Inspector->loaded($class) instead of $class->can('can')
503         - Added ActionClass attribute
504         - Removed Test::WWW::Mechanize::Catalyst from Makefile.PL (circular dep)
505         - Updated docs for Catalyst::Component
506         - Separated execute and dispatch on Catalyst::Action
507         - cleaned up logging and debug output
508         - significant documentation revisions
509         - Added warning for setup being called twice
510         - Fix pod to use DBIC::Schema instead of DBIC model
511         - Fix ->config failing to copy _config for subclassing
512         - Updated log format
513         - Updated debug dump
514
515 5.6902  2006-05-04 13:00:00
516         - Remove tarballs and OSX metadata files.
517
518 5.6901  2006-05-03 11.17:00
519         - Module::Install didn't overwrite META.yml. 
520
521 5.6900  2006-05-03 11.17:00
522         - Stupid pause indexer can't count.
523         - Better fix for Catalyst::Test
524         - more tests.
525
526 5.682   2006-04-27 13:51:00
527         - Damn OSX attributes again :( 
528
529 5.681   2006-04-27 08:47:00
530         - Updated manifest.
531         - Add basename to core . (Deprecates Catalyst::Plugin::Basename)
532     
533 5.68    2006-04-26 12:23:00
534         - ConfigLoader: Updated to version 0.06
535         - fixed undef warnings in uri_for() and uri_with()
536         - Fixed Catalyst::Test to report errors on failed Class load
537
538 5.678   2006-04-24 12:30:00
539         - Re-release of 5.67 without OSX metadata files.
540
541 5.67    2006-04-23 08:50:00
542         - Added $c->req->uri_with() helper
543         - ConfigLoader: Updated to version 0.05
544         - Fix up Engine to avoid a new 5.8.8 warning
545         - Added app name with :: support for PAR
546         - Added $c->models/views/controllers
547         - Static::Simple: Unescape the URI path before looking for the file.
548           This fixes issues with files that have spaces.
549         - Looping and recursion tests plus a fix
550         - Added lots of API documentation. Refactored main pod.
551         - Changed default behaviors for $c->model/$c->controller/$c->view
552           to more sane settings.
553         - added the clear_errors method - an alias for error(0)
554         - Added tmpdir option for uploads (woremacx)
555         - Applied patch from GEOFFR to allow normal filehandles.
556         - Refactored Dispatcher internals for better readability and speedup
557           (stress tests run 12% faster)
558         - Allow $c->error to run as a class method
559
560 5.66    2006-03-10 17:48:00
561         - Added Test::WWW::Mechanize::Catalyst support
562         - Cleaned generated tests
563         - Added Root controller concept
564         - Updated ConfigLoader plugin to version 0.04
565
566 5.65    2006-02-21 10:34:00
567         - Added plugin introspection.
568         - Support optional hashref as last param for parameters in uri_for.
569         - Updated tutorial to be more complete.
570         - Applied args patch from antirice (Fixes Ticket #67)
571
572 5.64    2006-02-07 20:29:00
573         - Fixed bug in FastCGI proc manager mode where pm_post_dispatch
574           was not run. (Eric Wong)
575         - Cleaned up generated tests
576         - Updated YAML support to use ConfigLoader
577         - Fixed path dispatch to canonicalise correctly
578             (see http://dev.catalyst.perl.org/ticket/62)
579         - Added Catalyst::Manual::About
580
581 5.63    2006-01-22 00:00:00
582         - Updated prereq versions
583
584 5.62    2006-01-17 16:30:00
585         - Large update to the tutorial (castaway)
586         - Added YAML config support
587         - Added COMPONENT() and ACCEPT_CONTEXT() support
588         - Action list in debug mode is now displayed as a tree in the
589           correct execution order.
590         - Fixed engine detection to allow custom mod_perl engines.
591         - Static::Simple: Fixed bug in ignore_dirs under win32.
592         - Display version numbers of loaded plugins. (Curtis Poe)
593         - Added class and method for caught exception messages.
594         - Updated PAR support to use "make catalyst_par",
595           packages are no longer written by Makefile.PL.
596         - Automatically determine Content-Length when serving a
597           filehandle.
598         - Exceptions now return status 500.
599         - Updated for Module::Install 0.44.
600         - Fixed additional file installation for multi level app names.
601         - Added REDIRECT_URL support for applications running behind
602           a RewriteRule in Apache. (Carl Franks)
603         - Fixed FastCGI engine under win32. (Carl Franks)
604         - FastCGI doc updates (Bill Moseley)
605         - Bugfix for $c->model and friends (defined).
606
607 5.61    2005-12-02 00:00:00
608         - Fixed ExtUtils::AutoInstall Bootstrap Code in Makefile.PL
609
610 5.60    2005-12-01 22:15:00
611         - Fixed Path and index actions in the appclass,
612           including those that attach to /
613         - Index is now weighted higher than Path
614         - Fixed restarter and -d debug switch in server.pl.
615         - Added a warning if you attempt to retrieve a parameter
616           using $c->req->params('foo').
617         - Fixed the Module::Install::Catalyst @ISA bug
618
619 5.59    2005-11-30 13:25:00
620         - Fixed shebang line for generated scripts
621         - Fixed forward to classes ($c->forward(qw/MyApp foo/))
622         - Wrap use block in begin to quelch C:C3 warnings
623         - Removed scrollbar from debug output
624         - Fixed catalyst_par_core() and catalyst_par_multiarch()
625
626 5.58    2005-11-24 10:51:00
627         - Added ExtUtils::AutoInstall support
628         - Allow overriding path in Catalyst::Helper.
629         - Added -makefile to catalyst.pl to generate a new Makefile.PL.
630         - Restored Catalyst::Build with a deprecation notice.
631         - Improved PAR support
632         - Replaced -short with auto-detection
633         - Fixed prereqs, added File::Copy::Recursive
634         - Static::Simple changes:
635             - Made prepare_action play nice with other plugins by not short-
636               circuiting.
637             - Added tmpl to the ignored extensions.
638             - Fixed security problem if req->path contained '..'.
639
640 5.57    2005-11-20 22:45:00
641         - Updated uri_for to accept undef actions
642         - Switched to Module::Install
643         - Renamed tests for easier editing
644         - Reformatted documentation
645         - Renamed -nonew to -force
646         - Added PAR support
647         - Added keep-alive support and bug fixes to HTTP engine.
648           (Sascha Kiefer)
649         - Added daemonize option to FastCGI engine. (Sam Vilain)
650
651 5.56   2005-11-16 10:33:00
652         - Fixed FastCGI engine to not clobber the global %ENV on each
653           request. (Sam Vilain)
654         - Updated benchmarking to work with detach
655         - Fixed dispatcher, so $c->req->action(undef) works again
656         - Updated Catalyst::Test to use HTTP::Request::AsCGI
657         - Added -pidfile to external FastCGI server.
658
659 5.55    2005-11-15 12:55:00
660         - Fixed multiple cookie handling
661
662 5.54    2005-11-14 22:55:00
663         - Fixed a Module::Pluggable::Fast related bug
664
665 5.53    2005-11-14 15:55:00
666         - Removed t/04prereq.t that was testing for non-required
667           modules.
668
669 5.52    2005-11-14 10:57:00
670         - Strip '..'s in static urls to fix security issue.
671
672 5.51    2005-11-14 00:45:00
673         - Changed uri_for to use namespace instead of match.
674
675 5.50    2005-11-13 20:45:00
676         - Fixed minor bugs.
677         - Updated docs.
678
679 5.49_05 2005-11-12 20:45:00
680         - Large update to the documentation. (David Kamholz)
681         - Fixed args handling in forward()
682         - Fixed forwarding to classes
683         - Fixed catalyst.pl-generated Build.PL Makefile section.
684         - Fixed relative forwarding
685         - Fixed forward arrows in debug output
686
687 5.49_04 2005-11-09 23:00:00
688         - Made context, dispatcher, engine, request and response classes
689           configurable.
690         - Added $c->stack.
691         - Fixed dispatcher to ignore unknown attributes.
692         - Improved format of startup debug log.
693         - Updated built in server to restart on win32. (Will Hawes)
694         - Fixed streaming write from a filehandle to stop writing
695           if the browser is closed.
696         - Added $c->controller, $c->model and $c->view shortcuts.
697         - Switched to Text::SimpleTable.
698
699 5.49_03 2005-11-03 12:00:00
700         - Fixed $c->req->{path} for backwards-compatibility.
701         - Allow debug to be disabled via ENV as well as enabled.
702         - Added -scripts option to catalyst.pl for script updating
703         - Changed helpers to default to long types, Controller instead of C
704         - Added Catalyst::Controller, Catalyst::Model and Catalyst::View
705           base classes
706         - Added JavaScript to debug screen to show and hide specific dumps
707         - Added _DISPATCH, _BEGIN, _AUTO, _ACTION and _END actions
708         - Added multi process external FastCGI support
709           (see myapp_fastcgi.pl -help) (Sam Vilain)
710         - Restarter process in HTTP engine now properly exits when the
711           parent app is shut down.  
712         - Improved performance of restarter loop while watching for
713           changed files.
714         - Restarter will now detect new files added to an app on systems
715           that change directory mtimes when new files are created.
716         - Restarter now properly handles modules that are deleted from an
717           application.
718         - Fixed memory leak in TestApp.
719
720 5.49_02 2005-10-26 12:39:00 
721         - Whole new dispatcher!
722         - Added index action
723         - Added path_to method
724         - Added support for passing an IO::Handle object to $c->res->body.
725           (Andrew Bramble)
726         - Added a new welcome screen.
727         - Included Catalyst buttons and icons in helper.
728         - Added Static::Simple plugin to core.
729         - Added self restarting test server
730         - Added filename to debug output for uploaded files.
731         - Fixed forwarding with embedded arguments.
732         - Fixed handling of escaped query strings.
733         - Added upload parameters back into $c->req->params.
734         - Added multiple paths support to dispatcher
735         - Fixed bug in req->path where changing the path added a trailing
736           slash.
737         - Removed req->handle and res->handle
738         - Added prepare_body_chunk method as a hook for upload progress.
739         - Fixed bug in uri_for method when base has no path.
740         - Added automated tests for HTTP, CGI, and FastCGI servers.
741
742 5.49_01 2005-10-10 10:15:00 
743         - Refactored all internals, should be 99% compatible to previous
744           versions.
745         - *IMPORTANT* The Apache engines have been moved to a separate package
746           for this release.  Please install Catalyst::Engine::Apache if you
747           need Apache support.
748
749         - Added support for calling forward with arguments in the path, i.e.
750           $c->forward('/foo/bar/arg1/arg2')
751         - Made $c->req->uri a URI object, added req->path_info for CGI compat.
752           Raw query string is available as $c->req->uri->query.
753         - Made $c->req->base a URI object.
754         - Parameters with multiple values (?a=1&a=2) now display properly
755           in the debug output.
756         - Semi-colon separators in query strings now work properly.
757         - Expanded documentation of catalyst.pl (Andrew Ford)
758         - Added support for running as a backend server behind a frontend
759           proxy so req->base and req->address are set properly.
760         - Added an 'abort' method to the Log api, so that you can
761           kill loggging for a whole request.
762         - Added $c->uri_for method to simplify url handling.
763         - Added more tests and reorganized the t directory.
764         - Reimplemented core engines, all are now CGI based for better test
765           coverage and maintainability.
766         - Added fork support to built in test server.
767         - Fixed all memory leaks.
768         - Thread-related bug fixes and tests.  We now believe the Catalyst
769           core to be thread-safe.
770         - Added streaming IO support through $c->req->read() and
771           $c->res->write()
772         - Added MyApp->config->{parse_on_demand} (streaming input)
773         - Added $c->req->handle and $c->res->handle
774         - Improved documentation
775         - Fixed mkpath in Catalyst::Helper (Autrijus Tang)
776         - Fixed bug in dispatcher where an invalid path could call a valid
777           action. (Andy Grundman)
778         - Fixed Helper so it works with CRLF line-endings. (Andy Grundman)
779
780 5.33  2005-08-10 15:25:00
781         - Now with updated manifest.
782
783 5.32  2005-08-10 15:10:00
784         - Dispatcher might fail if object returns false. (Florian Ragwitz)
785
786 5.31  2005-06-04 12:35:00 (never released to CPAN)
787
788         - helpers now create .new files where files already exist and differ
789         - fixed $Data::Dumper::Terse (Robin Berjon)
790         - added arguments for detach
791         - new credits section in pod
792         - fixed detach to allow relative action names (Matt and Robert)
793         - added the ability to have whitespaces in Path( '' ) and Regex( '' )
794
795 5.30  2005-06-04 12:35:00
796
797         - Fixed a bug where it was not possible to $c->forward to a 
798           component 
799           that was not inheriting from Catalyst::Base.
800         - Fix for inheritance bug.
801         - Allow forward with arguments.
802         - Updated cookbook
803         - Allow overriding home/root in config.
804         - make module build cons README automatically.
805         - prettify home path by resolving '..' (Andy Grundman)
806         - improved helper templates a bit, new naming scheme for tests.
807         - added support for case sensitivity, MyApp->config->{case_sensitive}
808         - added $c->detach for non-returning forwards
809         - added unified error handling, Catalyst::Exception
810         - added section on param handling in Intro.pod
811         - added $c->request->cookie
812         - added Catalyst::Setup
813         - refactored Catalyst::import()
814         - improved rendering of error messages in debug mode
815         - fixed a bug in Catalyst::Helper::mk_dir
816         - further doc changes, esp. to Intro.pod
817
818 5.23  2005-06-03 02:30:00
819         - added support for non Catalyst::Base components to live in namespace
820         - improved concurrency connections in Catalyst::Engine::HTTP::Daemon
821
822 5.22  2005-05-26 14:24:00
823         - improved base locating in MP engines
824         - improved error messages in C::E::HTTP::Daemon
825         - hostnames are now resolved on demand unless provided by engine
826         - fixed memory leak in $c->execute (Michael Reece, Matt S Trout)
827
828 5.21  2005-05-24 14:56:00
829         - fixed a bug in https detection
830         - fixed auto chain finally
831         - added MYAPP_HOME and CATALYST_HOME environment variables
832
833 5.20  2005-05-18 19:52:00
834         - improved uploads and parameters
835         - added $c->req->protocol and $c->req->secure
836         - added $c->req->user and $c->req->uri
837         - improved error message when forwarding to unknown module
838         - fixed win32 installer
839         - added deep recursion detection
840         - fixed auto actions
841         - fixed inheritance in dispatcher
842         - allow whitespaces between brackets and quoted string
843           in Path and Regex attributes
844         - new helper templates
845         - installer now supports install_base and destdir
846         - allow multiple Catalyst apps to run on the same mod_perl
847           instance (not the same app!)
848         - fixed MP2 engines
849         - removed apreq dependency from all MP engines
850         - added support for MP registry scripts
851         - added support for LocationMatch and ScriptAliasMatch in MP engines
852         - added SpeedyCGI engine
853
854 5.10  2005-04-23 11:16:00
855         - updated dependencies to require latest module::pluggable::fast
856         - new installer for templates and stuff using Module::Build
857         - scripts are now prefixed, for being installable
858         IMPORTANT: You have to regenerate the script directory,
859         remove Makefile.PL and add Build.PL
860         - Added compat to install Module::Build if required.
861         - Improved: Params handling with MP engines
862         - Fixed: Params handling on POST with CGI engine (Andy Grundman)
863         - Fixed: Helper.pm on Win32 (Matt S Trout)
864
865 5.03  2005-04-19 20:35:00 (Revision 462)
866         - fixed Test example (Torsten Seeman)
867         - added Plugins chapter to manual
868         - applied doc patch from Robert Boone <robert@rlb3.com>
869         - improved Dispatcher error messages.
870         - refactored so we don't need to include helper from
871           Catalyst.pm - Fixes issues with FindBin
872         - applied HTTP.pm patch from Andy Grundman <andy@hybridized.org>
873         - added plugin() method for instant plugins
874         - FCGI is no more considered experimental
875
876 5.02  2005-04-18 10:00:00 
877         - fixed manifest
878
879 5.01  2005-04-17 23:00:00 
880         - some documentation bugs fixed
881         - added Catalyst::Utils
882         - fixed regexp bug (Matt S Trout)
883         - fixed upload bug with MP19
884         - added $c->req->body
885         - aliased $c->res->output to $c->res->body
886         - Read AUTHOR from passwd or $ENV{AUTHOR} when 
887           generating code.
888         - extended attribute handling
889         - added global config for components
890
891 5.00  2005-04-15 18:00:00
892         - new core to support inheritance trees
893         - new syntax for action declaration
894         - new helper system using TT2
895         - problems with mod_perl2 fixed
896         - added Test::Pod support
897         - added new server backend with HTTP/1.1 support
898         - added option to run tests against a remote server
899         - renamed errors() to error()
900         - more better docs
901         - countless minor improvements
902           IMPORTANT: This release is very incompatible to previous ones
903           and you have to regenerate the helper scripts again...
904
905 4.34  2005-03-23 07:00:00 2005
906         - added some messages to Makefile.PL
907         - added Catalyst::Engine::Test
908         - added Catalyst::Engine::CGI::NPH
909         - simplified Catalyst::Log to be easier to implement/subclass
910         - added cgi.pl
911         - updated Catalyst::Test to use Catalyst::Engine::Test
912         - updated helper scripts
913           IMPORTANT: this will be the last time you'll have to regenerate
914           the script directory. We promise!
915
916 4.33  2005-03-23 01:00:00 2005
917         - documented the log() accessor method in Catalyst (Andrew Ford)
918         - added optional arguments to Catalyst::Log methods (Andrew Ford)
919         - removed cgi-server.pl
920         - added fcgi.pl and Catalyst::Engine::FCGI
921         - fixed an undef durng make test (Dan Sully)
922         - new path test (Christian Hansen)
923           IMPORTANT: you have to regenerate the script directory again
924
925 4.32  2005-03-22 02:10:00 2005
926         - made a damn typo *AAAAAAAAAAAAAAHHHH!!!*
927
928 4.31  2005-03-22 02:00:00
929         - fixed inheritance (Christian Hansen)
930         - previous release was borked!
931           fixed that, but you have to regenerate the scripts again :(
932
933 4.30  2005-03-21 23:00:00 
934         - more documentation (Andrew Ford)
935         - added connection informations (Christian Hansen)
936         - HTTP::Request support in Catalyst::Test (Christian Hansen)
937         - moved cgi.pl to nph-cgi.pl
938         - added Catalyst::Engine::Server (Christian Hansen)
939         - removed Catalyst::Test::server
940         - updated helper scripts
941           IMPORTANT: note that you have to regenerate script/server.pl,
942           script/cgi-server.pl and script/cgi.pl (now nph-cgi.pl)
943
944 4.28  2005-03-19 22:00:00
945         - fixed isa tree (Christian Hansen)
946         - added script/cgi-server.pl, so no more server restarting after
947           code changes
948         - reworked documentation (Andrew Ford <A.Ford@ford-mason.co.uk>)
949
950 4.27  2005-03-19 01:00:00
951         - debug message for parameters
952         - Fix redirects (Christian Hansen <ch@ngmedia.com>)
953         - some random fixes
954         - new helper api for Catalyst::Helper::* support
955           you have to update script/create.pl to use it
956
957 4.26  2005-03-16 10:00:00
958         - fixed the weird bug that caused regex actions to fail on every
959           second request
960         - more debug messages
961         - 100% pod coverage.
962
963 4.25  2005-03-12 18:00:00
964         - correct perl pathes for helper generated scripts (Tatsuhiko Miyagawa)
965         - improved cgi engine docs (Christoper Hicks)
966
967 4.24  2005-03-12 01:00:00
968         - updated cookbook example  
969         - fixed base for apache and https (Andrew Ruthven)
970         
971 4.23  2005-03-09 20:00:00
972         - no more regex actions in forward
973         - added support for test directories t/m, t/v and t/c
974
975 4.22  2005-03-08 20:00:00
976         - catch errors in application class
977         - handle die properly.
978
979 4.21  2005-03-05 17:00:00
980         - fixed docs
981
982 4.20  2005-03-04 22:00:00
983         - moved bin to script
984
985 4.13  2005-03-03 11:00:00
986         - improved documentation
987         - pod coverage test for helper generated apps
988         - new helper api
989
990 4.12  2005-03-02 11:00:00 2005
991         - server_base sucks, removed
992         - added $c->log->dump()
993
994 4.11  2005-03-02 11:00:00 2005
995         - removed some warnings
996         - improved docs
997         - private prefixed actions override private non prefixed actions
998         - added server_base
999         - updated Catalyst::Manual::Intro
1000
1001 4.10  2005-03-02 10:00:00 2005
1002         - improved documentation
1003         - fixed upload bug
1004         - fixed prefixed private actions bug
1005         - fixed more little bugs
1006
1007 4.01  2005-03-01 10:00:00 2005
1008         - improved documentation
1009         - documentation fixes (Johan Lindstrom)
1010
1011 4.00  2005-02-27 22:00:00
1012         - more verbose debug messages, especially for forward()
1013         - implemented prefixed prvate actions, icluding built in
1014           !?default, !?begin and !?end
1015         - new Catalyst::Manual::Intro
1016         - new helpers, bin/catalyst
1017         - helper api
1018
1019 3.11  2005-02-23 21:00:00
1020         - added dependency to UNIVERSAL::require (Marcus Ramberg)
1021         - added a little workaround for a warning in Catalyst::Test
1022           (Marcus Ramberg)
1023         - improved documentation for actions
1024
1025 3.10  2005-02-19 20:00:00
1026         - removed roles management from Catalyst::Engine
1027           and added it to Catalyst::Plugin::Authentication::CDBI
1028
1029 3.04  2005-02-17 21:00:00 
1030         - error reporting for app class
1031         - no more engine debug messages
1032         - class->method forwards get resolved now
1033
1034 3.03  2005-02-16 23:00:00 
1035         - friendlier statistics
1036
1037 3.02  2005-02-16 22:00:00
1038         - fixed unintialized actions (Marcus Ramberg)
1039
1040 3.01  2005-02-16 20:30:00
1041         - better statistics
1042
1043 3.00  2005-02-16 20:00:00
1044         - real version number for CPAN.pm
1045         - fixed redirect in CGI engine
1046         - more statistics in debug logs
1047         - ? prefix for forward()
1048
1049 2.99_15  2005-02-02 22:00:00
1050         - support for short namespaces, MyApp::M, MyApp::V and MyApp::C
1051         - Replaced "Catched" with "Caught" in Catalyst::Engine
1052           (Gary Ashton Jones)
1053         - replaced _ with ! for private actions
1054         - added ? for prefixed actions
1055         - misc improvememts
1056
1057 2.99_14  2005-01-31 22:00:00 2005
1058         - arguments for _default
1059         - $c->entrance removed for more flexibility
1060         - added $c->req->method
1061
1062 2.99_13  2005-01-30 18:00:00 2005
1063         - POD fixes and improvements
1064
1065 2.99_12  2005-01-28 22:00:00 2005
1066         - first development release