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