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