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