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