multimethod dispatch
[catagits/Catalyst-Runtime.git] / Changes
1 This file documents the revision history for Perl extension Catalyst.
2
3         - checked and tested :Args multimethod dispatch
4         - added ability to set action attributes from controller config
5         - added merge_config_hashes() as a convenience method
6         - Swapped out CGI::Cookie in favour of CGI::Simple::Cookie
7         - Removed test dependencies on Test::NoWarnings, Test::MockObject
8         - Removed dependency on UNIVERSAL::require
9         - Split out Catalyst::Helper into a new distribution
10         - un-bundled the plugins as they are now pre-reqs for Catalyst::Helper
11         - nuked each() out of core with prejudice (due to lurking buglets)
12         - Added tests from phaylon for dispatcher precedence
13         - Use Class::Inspector->loaded($class) instead of $class->can('can')
14         - Added ActionClass attribute
15         - Removed Test::WWW::Mechanize::Catalyst from Makefile.PL (circular dep)
16         - Updated docs for Catalyst::Component
17         - Separated execute and dispatch on Catalyst::Action
18         - cleaned up logging and debug output
19         - minor doc fixes
20         - Added warning for setup being called twice
21         - Fix pod to use DBIC::Schema instead of DBIC model
22         - Fix ->config failing to copy _config for subclassing
23         - Updated log format
24         - Updated debug dump
25
26 5.6902  2006-05-04 13:00:00
27         - Remove tarballs and OSX metadata files.
28
29 5.6901  2006-05-03 11.17:00
30         - Module::Install didn't overwrite META.yml. 
31
32 5.6900  2006-05-03 11.17:00
33         - Stupid pause indexer can't count.
34         - Better fix for Catalyst::Test
35         - more tests.
36
37 5.682   2006-04-27 13:51:00
38         - Damn OSX attributes again :( 
39
40 5.681   2006-04-27 08:47:00
41         - Updated manifest.
42         - Add basename to core . (Deprecates Catalyst::Plugin::Basename)
43     
44 5.68    2006-04-26 12:23:00
45         - ConfigLoader: Updated to version 0.06
46         - fixed undef warnings in uri_for() and uri_with()
47         - Fixed Catalyst::Test to report errors on failed Class load
48
49 5.678   2006-04-24 12:30:00
50         - Re-release of 5.67 without OSX metadata files.
51
52 5.67    2006-04-23 08:50:00
53         - Added $c->req->uri_with() helper
54         - ConfigLoader: Updated to version 0.05
55         - Fix up Engine to avoid a new 5.8.8 warning
56         - Added app name with :: support for PAR
57         - Added $c->models/views/controllers
58         - Static::Simple: Unescape the URI path before looking for the file.
59           This fixes issues with files that have spaces.
60         - Looping and recursion tests plus a fix
61         - Added lots of API documentation. Refactored main pod.
62         - Changed default behaviors for $c->model/$c->controller/$c->view
63           to more sane settings.
64         - added the clear_errors method - an alias for error(0)
65         - Added tmpdir option for uploads (woremacx)
66         - Applied patch from GEOFFR to allow normal filehandles.
67         - Refactored Dispatcher internals for better readability and speedup
68           (stress tests run 12% faster)
69         - Allow $c->error to run as a class method
70
71 5.66    2006-03-10 17:48:00
72         - Added Test::WWW::Mechanize::Catalyst support
73         - Cleaned generated tests
74         - Added Root controller concept
75         - Updated ConfigLoader plugin to version 0.04
76
77 5.65    2006-02-21 10:34:00
78         - Added plugin introspection.
79         - Support optional hashref as last param for parameters in uri_for.
80         - Updated tutorial to be more complete.
81         - Applied args patch from antirice (Fixes Ticket #67)
82
83 5.64    2006-02-07 20:29:00
84         - Fixed bug in FastCGI proc manager mode where pm_post_dispatch
85           was not run. (Eric Wong)
86         - Cleaned up generated tests
87         - Updated YAML support to use ConfigLoader
88         - Fixed path dispatch to canonicalise correctly
89             (see http://dev.catalyst.perl.org/ticket/62)
90         - Added Catalyst::Manual::About
91
92 5.63    2006-01-22 00:00:00
93         - Updated prereq versions
94
95 5.62    2006-01-17 16:30:00
96         - Large update to the tutorial (castaway)
97         - Added YAML config support
98         - Added COMPONENT() and ACCEPT_CONTEXT() support
99         - Action list in debug mode is now displayed as a tree in the
100           correct execution order.
101         - Fixed engine detection to allow custom mod_perl engines.
102         - Static::Simple: Fixed bug in ignore_dirs under win32.
103         - Display version numbers of loaded plugins. (Curtis Poe)
104         - Added class and method for caught exception messages.
105         - Updated PAR support to use "make catalyst_par",
106           packages are no longer written by Makefile.PL.
107         - Automatically determine Content-Length when serving a
108           filehandle.
109         - Exceptions now return status 500.
110         - Updated for Module::Install 0.44.
111         - Fixed additional file installation for multi level app names.
112         - Added REDIRECT_URL support for applications running behind
113           a RewriteRule in Apache. (Carl Franks)
114         - Fixed FastCGI engine under win32. (Carl Franks)
115         - FastCGI doc updates (Bill Moseley)
116         - Bugfix for $c->model and friends (defined).
117
118 5.61    2005-12-02 00:00:00
119         - Fixed ExtUtils::AutoInstall Bootstrap Code in Makefile.PL
120
121 5.60    2005-12-01 22:15:00
122         - Fixed Path and index actions in the appclass,
123           including those that attach to /
124         - Index is now weighted higher than Path
125         - Fixed restarter and -d debug switch in server.pl.
126         - Added a warning if you attempt to retrieve a parameter
127           using $c->req->params('foo').
128         - Fixed the Module::Install::Catalyst @ISA bug
129
130 5.59    2005-11-30 13:25:00
131         - Fixed shebang line for generated scripts
132         - Fixed forward to classes ($c->forward(qw/MyApp foo/))
133         - Wrap use block in begin to quelch C:C3 warnings
134         - Removed scrollbar from debug output
135         - Fixed catalyst_par_core() and catalyst_par_multiarch()
136
137 5.58    2005-11-24 10:51:00
138         - Added ExtUtils::AutoInstall support
139         - Allow overriding path in Catalyst::Helper.
140         - Added -makefile to catalyst.pl to generate a new Makefile.PL.
141         - Restored Catalyst::Build with a deprecation notice.
142         - Improved PAR support
143         - Replaced -short with auto-detection
144         - Fixed prereqs, added File::Copy::Recursive
145         - Static::Simple changes:
146             - Made prepare_action play nice with other plugins by not short-
147               circuiting.
148             - Added tmpl to the ignored extensions.
149             - Fixed security problem if req->path contained '..'.
150
151 5.57    2005-11-20 22:45:00
152         - Updated uri_for to accept undef actions
153         - Switched to Module::Install
154         - Renamed tests for easier editing
155         - Reformatted documentation
156         - Renamed -nonew to -force
157         - Added PAR support
158         - Added keep-alive support and bug fixes to HTTP engine.
159           (Sascha Kiefer)
160         - Added daemonize option to FastCGI engine. (Sam Vilain)
161
162 5.56   2005-11-16 10:33:00
163         - Fixed FastCGI engine to not clobber the global %ENV on each
164           request. (Sam Vilain)
165         - Updated benchmarking to work with detach
166         - Fixed dispatcher, so $c->req->action(undef) works again
167         - Updated Catalyst::Test to use HTTP::Request::AsCGI
168         - Added -pidfile to external FastCGI server.
169
170 5.55    2005-11-15 12:55:00
171         - Fixed multiple cookie handling
172
173 5.54    2005-11-14 22:55:00
174         - Fixed a Module::Pluggable::Fast related bug
175
176 5.53    2005-11-14 15:55:00
177         - Removed t/04prereq.t that was testing for non-required
178           modules.
179
180 5.52    2005-11-14 10:57:00
181         - Strip '..'s in static urls to fix security issue.
182
183 5.51    2005-11-14 00:45:00
184         - Changed uri_for to use namespace instead of match.
185
186 5.50    2005-11-13 20:45:00
187         - Fixed minor bugs.
188         - Updated docs.
189
190 5.49_05 2005-11-12 20:45:00
191         - Large update to the documentation. (David Kamholz)
192         - Fixed args handling in forward()
193         - Fixed forwarding to classes
194         - Fixed catalyst.pl-generated Build.PL Makefile section.
195         - Fixed relative forwarding
196         - Fixed forward arrows in debug output
197
198 5.49_04 2005-11-09 23:00:00
199         - Made context, dispatcher, engine, request and response classes
200           configurable.
201         - Added $c->stack.
202         - Fixed dispatcher to ignore unknown attributes.
203         - Improved format of startup debug log.
204         - Updated built in server to restart on win32. (Will Hawes)
205         - Fixed streaming write from a filehandle to stop writing
206           if the browser is closed.
207         - Added $c->controller, $c->model and $c->view shortcuts.
208         - Switched to Text::SimpleTable.
209
210 5.49_03 2005-11-03 12:00:00
211         - Fixed $c->req->{path} for backwards-compatibility.
212         - Allow debug to be disabled via ENV as well as enabled.
213         - Added -scripts option to catalyst.pl for script updating
214         - Changed helpers to default to long types, Controller instead of C
215         - Added Catalyst::Controller, Catalyst::Model and Catalyst::View
216           base classes
217         - Added JavaScript to debug screen to show and hide specific dumps
218         - Added _DISPATCH, _BEGIN, _AUTO, _ACTION and _END actions
219         - Added multi process external FastCGI support
220           (see myapp_fastcgi.pl -help) (Sam Vilain)
221         - Restarter process in HTTP engine now properly exits when the
222           parent app is shut down.  
223         - Improved performance of restarter loop while watching for
224           changed files.
225         - Restarter will now detect new files added to an app on systems
226           that change directory mtimes when new files are created.
227         - Restarter now properly handles modules that are deleted from an
228           application.
229         - Fixed memory leak in TestApp.
230
231 5.49_02 2005-10-26 12:39:00 
232         - Whole new dispatcher!
233         - Added index action
234         - Added path_to method
235         - Added support for passing an IO::Handle object to $c->res->body.
236           (Andrew Bramble)
237         - Added a new welcome screen.
238         - Included Catalyst buttons and icons in helper.
239         - Added Static::Simple plugin to core.
240         - Added self restarting test server
241         - Added filename to debug output for uploaded files.
242         - Fixed forwarding with embedded arguments.
243         - Fixed handling of escaped query strings.
244         - Added upload parameters back into $c->req->params.
245         - Added multiple paths support to dispatcher
246         - Fixed bug in req->path where changing the path added a trailing
247           slash.
248         - Removed req->handle and res->handle
249         - Added prepare_body_chunk method as a hook for upload progress.
250         - Fixed bug in uri_for method when base has no path.
251         - Added automated tests for HTTP, CGI, and FastCGI servers.
252
253 5.49_01 2005-10-10 10:15:00 
254         - Refactored all internals, should be 99% compatible to previous
255           versions.
256         - *IMPORTANT* The Apache engines have been moved to a separate package
257           for this release.  Please install Catalyst::Engine::Apache if you
258           need Apache support.
259
260         - Added support for calling forward with arguments in the path, i.e.
261           $c->forward('/foo/bar/arg1/arg2')
262         - Made $c->req->uri a URI object, added req->path_info for CGI compat.
263           Raw query string is available as $c->req->uri->query.
264         - Made $c->req->base a URI object.
265         - Parameters with multiple values (?a=1&a=2) now display properly
266           in the debug output.
267         - Semi-colon separators in query strings now work properly.
268         - Expanded documentation of catalyst.pl (Andrew Ford)
269         - Added support for running as a backend server behind a frontend
270           proxy so req->base and req->address are set properly.
271         - Added an 'abort' method to the Log api, so that you can
272           kill loggging for a whole request.
273         - Added $c->uri_for method to simplify url handling.
274         - Added more tests and reorganized the t directory.
275         - Reimplemented core engines, all are now CGI based for better test
276           coverage and maintainability.
277         - Added fork support to built in test server.
278         - Fixed all memory leaks.
279         - Thread-related bug fixes and tests.  We now believe the Catalyst
280           core to be thread-safe.
281         - Added streaming IO support through $c->req->read() and
282           $c->res->write()
283         - Added MyApp->config->{parse_on_demand} (streaming input)
284         - Added $c->req->handle and $c->res->handle
285         - Improved documentation
286         - Fixed mkpath in Catalyst::Helper (Autrijus Tang)
287         - Fixed bug in dispatcher where an invalid path could call a valid
288           action. (Andy Grundman)
289         - Fixed Helper so it works with CRLF line-endings. (Andy Grundman)
290
291 5.33  2005-08-10 15:25:00
292         - Now with updated manifest.
293
294 5.32  2005-08-10 15:10:00
295         - Dispatcher might fail if object returns false. (Florian Ragwitz)
296
297 5.31  2005-06-04 12:35:00 (never released to CPAN)
298
299         - helpers now create .new files where files already exist and differ
300         - fixed $Data::Dumper::Terse (Robin Berjon)
301         - added arguments for detach
302         - new credits section in pod
303         - fixed detach to allow relative action names (Matt and Robert)
304         - added the ability to have whitespaces in Path( '' ) and Regex( '' )
305
306 5.30  2005-06-04 12:35:00
307
308         - Fixed a bug where it was not possible to $c->forward to a 
309           component 
310           that was not inheriting from Catalyst::Base.
311         - Fix for inheritance bug.
312         - Allow forward with arguments.
313         - Updated cookbook
314         - Allow overriding home/root in config.
315         - make module build cons README automatically.
316         - prettify home path by resolving '..' (Andy Grundman)
317         - improved helper templates a bit, new naming scheme for tests.
318         - added support for case sensitivity, MyApp->config->{case_sensitive}
319         - added $c->detach for non-returning forwards
320         - added unified error handling, Catalyst::Exception
321         - added section on param handling in Intro.pod
322         - added $c->request->cookie
323         - added Catalyst::Setup
324         - refactored Catalyst::import()
325         - improved rendering of error messages in debug mode
326         - fixed a bug in Catalyst::Helper::mk_dir
327         - further doc changes, esp. to Intro.pod
328
329 5.23  2005-06-03 02:30:00
330         - added support for non Catalyst::Base components to live in namespace
331         - improved concurrency connections in Catalyst::Engine::HTTP::Daemon
332
333 5.22  2005-05-26 14:24:00
334         - improved base locating in MP engines
335         - improved error messages in C::E::HTTP::Daemon
336         - hostnames are now resolved on demand unless provided by engine
337         - fixed memory leak in $c->execute (Michael Reece, Matt S Trout)
338
339 5.21  2005-05-24 14:56:00
340         - fixed a bug in https detection
341         - fixed auto chain finally
342         - added MYAPP_HOME and CATALYST_HOME environment variables
343
344 5.20  2005-05-18 19:52:00
345         - improved uploads and parameters
346         - added $c->req->protocol and $c->req->secure
347         - added $c->req->user and $c->req->uri
348         - improved error message when forwarding to unknown module
349         - fixed win32 installer
350         - added deep recursion detection
351         - fixed auto actions
352         - fixed inheritance in dispatcher
353         - allow whitespaces between brackets and quoted string
354           in Path and Regex attributes
355         - new helper templates
356         - installer now supports install_base and destdir
357         - allow multiple Catalyst apps to run on the same mod_perl
358           instance (not the same app!)
359         - fixed MP2 engines
360         - removed apreq dependency from all MP engines
361         - added support for MP registry scripts
362         - added support for LocationMatch and ScriptAliasMatch in MP engines
363         - added SpeedyCGI engine
364
365 5.10  2005-04-23 11:16:00
366         - updated dependencies to require latest module::pluggable::fast
367         - new installer for templates and stuff using Module::Build
368         - scripts are now prefixed, for being installable
369         IMPORTANT: You have to regenerate the script directory,
370         remove Makefile.PL and add Build.PL
371         - Added compat to install Module::Build if required.
372         - Improved: Params handling with MP engines
373         - Fixed: Params handling on POST with CGI engine (Andy Grundman)
374         - Fixed: Helper.pm on Win32 (Matt S Trout)
375
376 5.03  2005-04-19 20:35:00 (Revision 462)
377         - fixed Test example (Torsten Seeman)
378         - added Plugins chapter to manual
379         - applied doc patch from Robert Boone <robert@rlb3.com>
380         - improved Dispatcher error messages.
381         - refactored so we don't need to include helper from
382           Catalyst.pm - Fixes issues with FindBin
383         - applied HTTP.pm patch from Andy Grundman <andy@hybridized.org>
384         - added plugin() method for instant plugins
385         - FCGI is no more considered experimental
386
387 5.02  2005-04-18 10:00:00 
388         - fixed manifest
389
390 5.01  2005-04-17 23:00:00 
391         - some documentation bugs fixed
392         - added Catalyst::Utils
393         - fixed regexp bug (Matt S Trout)
394         - fixed upload bug with MP19
395         - added $c->req->body
396         - aliased $c->res->output to $c->res->body
397         - Read AUTHOR from passwd or $ENV{AUTHOR} when 
398           generating code.
399         - extended attribute handling
400         - added global config for components
401
402 5.00  2005-04-15 18:00:00
403         - new core to support inheritance trees
404         - new syntax for action declaration
405         - new helper system using TT2
406         - problems with mod_perl2 fixed
407         - added Test::Pod support
408         - added new server backend with HTTP/1.1 support
409         - added option to run tests against a remote server
410         - renamed errors() to error()
411         - more better docs
412         - countless minor improvements
413           IMPORTANT: This release is very incompatible to previous ones
414           and you have to regenerate the helper scripts again...
415
416 4.34  2005-03-23 07:00:00 2005
417         - added some messages to Makefile.PL
418         - added Catalyst::Engine::Test
419         - added Catalyst::Engine::CGI::NPH
420         - simplified Catalyst::Log to be easier to implement/subclass
421         - added cgi.pl
422         - updated Catalyst::Test to use Catalyst::Engine::Test
423         - updated helper scripts
424           IMPORTANT: this will be the last time you'll have to regenerate
425           the script directory. We promise!
426
427 4.33  2005-03-23 01:00:00 2005
428         - documented the log() accessor method in Catalyst (Andrew Ford)
429         - added optional arguments to Catalyst::Log methods (Andrew Ford)
430         - removed cgi-server.pl
431         - added fcgi.pl and Catalyst::Engine::FCGI
432         - fixed an undef durng make test (Dan Sully)
433         - new path test (Christian Hansen)
434           IMPORTANT: you have to regenerate the script directory again
435
436 4.32  2005-03-22 02:10:00 2005
437         - made a damn typo *AAAAAAAAAAAAAAHHHH!!!*
438
439 4.31  2005-03-22 02:00:00
440         - fixed inheritance (Christian Hansen)
441         - previous release was borked!
442           fixed that, but you have to regenerate the scripts again :(
443
444 4.30  2005-03-21 23:00:00 
445         - more documentation (Andrew Ford)
446         - added connection informations (Christian Hansen)
447         - HTTP::Request support in Catalyst::Test (Christian Hansen)
448         - moved cgi.pl to nph-cgi.pl
449         - added Catalyst::Engine::Server (Christian Hansen)
450         - removed Catalyst::Test::server
451         - updated helper scripts
452           IMPORTANT: note that you have to regenerate script/server.pl,
453           script/cgi-server.pl and script/cgi.pl (now nph-cgi.pl)
454
455 4.28  2005-03-19 22:00:00
456         - fixed isa tree (Christian Hansen)
457         - added script/cgi-server.pl, so no more server restarting after
458           code changes
459         - reworked documentation (Andrew Ford <A.Ford@ford-mason.co.uk>)
460
461 4.27  2005-03-19 01:00:00
462         - debug message for parameters
463         - Fix redirects (Christian Hansen <ch@ngmedia.com>)
464         - some random fixes
465         - new helper api for Catalyst::Helper::* support
466           you have to update script/create.pl to use it
467
468 4.26  2005-03-16 10:00:00
469         - fixed the weird bug that caused regex actions to fail on every
470           second request
471         - more debug messages
472         - 100% pod coverage.
473
474 4.25  2005-03-12 18:00:00
475         - correct perl pathes for helper generated scripts (Tatsuhiko Miyagawa)
476         - improved cgi engine docs (Christoper Hicks)
477
478 4.24  2005-03-12 01:00:00
479         - updated cookbook example  
480         - fixed base for apache and https (Andrew Ruthven)
481         
482 4.23  2005-03-09 20:00:00
483         - no more regex actions in forward
484         - added support for test directories t/m, t/v and t/c
485
486 4.22  2005-03-08 20:00:00
487         - catch errors in application class
488         - handle die properly.
489
490 4.21  2005-03-05 17:00:00
491         - fixed docs
492
493 4.20  2005-03-04 22:00:00
494         - moved bin to script
495
496 4.13  2005-03-03 11:00:00
497         - improved documentation
498         - pod coverage test for helper generated apps
499         - new helper api
500
501 4.12  2005-03-02 11:00:00 2005
502         - server_base sucks, removed
503         - added $c->log->dump()
504
505 4.11  2005-03-02 11:00:00 2005
506         - removed some warnings
507         - improved docs
508         - private prefixed actions override private non prefixed actions
509         - added server_base
510         - updated Catalyst::Manual::Intro
511
512 4.10  2005-03-02 10:00:00 2005
513         - improved documentation
514         - fixed upload bug
515         - fixed prefixed private actions bug
516         - fixed more little bugs
517
518 4.01  2005-03-01 10:00:00 2005
519         - improved documentation
520         - documentation fixes (Johan Lindstrom)
521
522 4.00  2005-02-27 22:00:00
523         - more verbose debug messages, especially for forward()
524         - implemented prefixed prvate actions, icluding built in
525           !?default, !?begin and !?end
526         - new Catalyst::Manual::Intro
527         - new helpers, bin/catalyst
528         - helper api
529
530 3.11  2005-02-23 21:00:00
531         - added dependency to UNIVERSAL::require (Marcus Ramberg)
532         - added a little workaround for a warning in Catalyst::Test
533           (Marcus Ramberg)
534         - improved documentation for actions
535
536 3.10  2005-02-19 20:00:00
537         - removed roles management from Catalyst::Engine
538           and added it to Catalyst::Plugin::Authentication::CDBI
539
540 3.04  2005-02-17 21:00:00 
541         - error reporting for app class
542         - no more engine debug messages
543         - class->method forwards get resolved now
544
545 3.03  2005-02-16 23:00:00 
546         - friendlier statistics
547
548 3.02  2005-02-16 22:00:00
549         - fixed unintialized actions (Marcus Ramberg)
550
551 3.01  2005-02-16 20:30:00
552         - better statistics
553
554 3.00  2005-02-16 20:00:00
555         - real version number for CPAN.pm
556         - fixed redirect in CGI engine
557         - more statistics in debug logs
558         - ? prefix for forward()
559
560 2.99_15  2005-02-02 22:00:00
561         - support for short namespaces, MyApp::M, MyApp::V and MyApp::C
562         - Replaced "Catched" with "Caught" in Catalyst::Engine
563           (Gary Ashton Jones)
564         - replaced _ with ! for private actions
565         - added ? for prefixed actions
566         - misc improvememts
567
568 2.99_14  2005-01-31 22:00:00 2005
569         - arguments for _default
570         - $c->entrance removed for more flexibility
571         - added $c->req->method
572
573 2.99_13  2005-01-30 18:00:00 2005
574         - POD fixes and improvements
575
576 2.99_12  2005-01-28 22:00:00 2005
577         - first development release