Fixed up uses of catdir being used to return a file path
[catagits/Catalyst-Runtime.git] / Changes
1 # This file documents the revision history for Perl extension Catalyst.
2
3  Bug fixes:
4   - Simplification of the previous changes to Catalyst::ScriptRunner
5     We now just push $FindBin::Bin/../lib to the @INC path again, but
6     only if one of the dist indicator files (Makefile.PL Build.PL or
7     dist.ini) can be found in $FindBin::Bin/../$_
8     This avoids heuristics when the app is unloaded and therefore
9     works better for extensions which have entire applications in
10     their test suites.
11   - Bug fix to again correctly detect checkouts in dist zilla using
12     applications.
13   - --background option for the server script now only closes
14     STDIN, STDOUT and STDERR. This fixes issues with Log::Dispatch
15     and other loggers which open a file handle when
16
17 5.90010 - 2012-02-18 00:01:00
18
19  Bug fixes:
20   - Fix the previous fix to Catalyst::ScriptRunner which was resulting
21     in the lib directory not being pushed onto @INC.
22     This meant perl ./script/myapp_server.pl failed, however
23     perl -Ilib ./script/myapp_server.pl would succeed.
24
25 5.90009 - 2012-02-16 09:06:00
26
27  Bug fixes:
28   - Fix the debug page so that it works as expected with the latest
29     refactoring.
30
31   - The Catalyst::Utils::home function is used to find if the application
32     is a checkout in Catalyst::ScriptRunner. This means that a non-existant
33     lib directory that is relative to the script install location is not
34     included when not running from a checkout.
35
36   - Fix dead links to cpansearch.perl.org to point to metacpan.org.
37
38   - Require the latest version of B::Hooks::EndOfScope (0.10) to avoid an
39     issue with new versions of Module::Runtime (0.012) on perl 5.10
40     which stopped Catalyst::Controller from compiling.
41
42 5.90008 - TRIAL 2012-02-06 20:49:00
43
44  New features and refactoring:
45   - Much of the Catalyst::Engine code has been moved into Catalyst::Request
46     and Catalyst::Response, to be able to better support asynchronous web
47     servers such as Twiggy, by making the application engine more reenterant.
48
49     This change is as a prequel to full asynchronous support inside Catalyst
50     for AnyEvent and IO::Async backends, which allow highly scaleable streaming
51     (for applications such as multi-part XML HTTPRequests, and Websockets).
52
53  Deprecations:
54   - This means that the $c->engine->env method to access the PSGI environment
55     is now deprecated. The accessor for the PSGI env is now on Catalyst::Request
56     as per applications which were using Catalyst::Engine::PSGI
57
58     Catalyst::Engine::PSGI is now considered fully deprecated.
59
60   - The private _dump method in Catalyst::Log is now deprecated. The dumper is
61     not pluggable and which dumper to use should be a user choice. Using
62     an imported Dump() or Dumper() function is less typing than $c->log->_dump
63     and as this method is unused anywhere else in Catalyst, it has been scheduled
64     for removal as a cleanup. Calling this method will now emit a stack trace
65     on first call (but not on subsequent calls).
66
67  Back compatibility fixes:
68   - Applications still using Catalyst::Engine::PSGI as they rely on
69     $c->request->env - this is now the provided (and recommended) way of
70     accessing the raw PSGI environment.
71
72  Tests:
73   - Spurious warnings have been removed from the test suite
74
75  Documentation:
76   - Fix the display of PROJECT FOUNDER and CONTRIBUTORS sections in the
77     documentation. These were erroneously being emitted when the Pod
78     was converted to HTML for search.cpan.org
79
80   - Fix documentation for the build_psgi_app app method. Previously the
81     documentation advised that it provided the psgi app already wrapped
82     in default middleware. This is not the case - it is the raw app psgi
83
84 5.90007 - 2011-11-22 20:35:00
85
86   New features:
87    - Implement a match_captures hook which, if it exists on an action,
88      is called with the $ctx and \@captures and is expected to return
89      true to continue the chain matching and false to stop matching.
90      This can be used to implement action classes or roles which match
91      conditionally (for example only matching captures which are integers).
92
93   Bug fixes:
94    - Lighttpd script name fix is only applied for lighttpd versions
95      < 1.4.23. This should fix non-root installs of lighttpd in versions
96      over that.
97    - Prepare_action is now inside a try {} block, so that requests containing
98      bad unicode can be appropriately trapped by
99      Catalyst::Plugin::Unicode::Encoding
100
101 5.90006 - 2011-10-25 09:18:00
102
103   New features:
104    - A new 'run_options' class data method has been added to Catalyst.pm
105      This is used to store all the options passed by scripts, allowing
106      application authors to add custom options to their scripts then
107      get them passed through to the application.
108
109   Doumentation:
110    - Clarify that if you manually write your own .psgi file, then optional
111      proxy support (via the using_frontend_proxy config value) will not be
112      enabled unless you explicitly apply the default middlewares from
113      Catalyst, or you apply the middleware manually.
114
115   Bug fixes:
116    - Fix issue due to perl internals bugs in 5.8 and 5.10 (not present in
117      other perl versions) require can pass the context inappropriately,
118      meaning that some methods of loading classes can fail due to void
119      context being passed throuh to make_immutable, causing it to not return
120      a value.
121      This bug caused loading Catalyst::Script::XXX to fail and is fixed
122      both by bumping the Class::Load dependency, and also adding an explicit
123      '1;' to the end of the classes, avoiding the context issue.
124
125    - Fix using_frontend_proxy support in mod_perl by using the psgi wrapped
126      in default middleware in mod_perl context, rather than the raw psgi.
127
128 5.90005 - 2011-10-22 13:35:00
129
130   New features:
131
132    - $c->uri_for_action can now take an array of CaptureArgs and Args
133      If you have an action which has both, then you can now say:
134      $c->uri_for_action('/myaction', [@captures, @args]);
135      whereas before you had to say:
136      $c->uri_for_action('/myaction', [@captures], @args);
137      The previous form is still supported, however in many cases it is
138      easier for the application code to not have to differentiate between
139      the two.
140
141    - Catalyst::ScriptRunner has been enhanced so that it will now
142      load and apply traits, making it easier to customise.
143      - MyApp::TraitFor::Script (if it exists) will be applied to all
144        scripts in the application.
145      - MyApp::TraitFor::Script::XXXX will be applied to the relevant script
146        (for example MyApp::TraitFor::Script::Server will be applied to
147        MyApp::Script::Server if it exists, or Catalyst::Script::Server
148        otherwise).
149
150   Documentation:
151
152    - Document how to get the vhost of the request in $c->req->hostname
153      to avoid confusion
154    - Remove documentation showing Global / Regex / Private actionsi
155      as whilst these still exist (and work), they are not recommended.
156    - Remove references to the -Engine flag.
157    - Remove references to the deprecated Catalyst->plugin method
158    - Spelling fixed (and tested) throughout the documentation
159    - Note that wrapping the setup method will not work with method modifiers
160      and provide an alternative.
161
162 5.90004 - 2011-10-11 17:12:00
163
164   Bug fixes:
165
166    - Don't guess engine class names when setting an engine through
167      MyApp->engine_class.
168
169 5.90003 - 2011-10-05 08:32:00
170   Bug fixes:
171
172    - Make default body reponses for 302s W3C compliant. RT#71237
173
174    - Fix issue where groups of attributes to override controller actions
175      in config would be (incorrectly) overwritten, if the parser for that
176      attribute mangled the contents of the attribute. This was found
177      with Catalyst::Controller::ActionRole, where Does => [ '+Foo' ]
178      would be transformed to Does => [ 'Foo' ] and written back to config,
179      whereas Does => '+Foo' would not be changed in config. RT#65463
180
181   Enhancements:
182
183    - Set a matching Content-type for the redirect if Catalyst sets the
184      body. This is for compatibility with a WatchGuard Firewall.
185
186   Backward compatibility fixes:
187
188    - Restore (an almost empty) Catalyst::Engine::HTTP to the dist for old
189      scripts which explictly require Catalyst::Engine::HTTP
190
191   Documentation fixes:
192
193    - Document Catalyst::Plugin::Authentication fails tests unless
194      you use the latest version with Catalyst 5.9
195
196    - Clarify that prepare is called as a class method
197
198    - Clarify use of uri_for further. RT#57011
199
200 5.90002 - 2011-08-22 21:44:00
201   Backward compatibility fixes:
202
203     - Deploying via mod_perl in some cases is fixed by making
204       Catalyst::EngineLoader detect mod_perl in more generic
205       circumstances.
206       https://github.com/miyagawa/Plack/issues/239
207
208   Documentation fixes:
209
210     - Fix incorrect example in Catalyst::PSGI.
211     - Add note that if you are using the PSGI engine, then $c->req->env
212       needs to become $c->engine->env when you upgrade.
213
214 5.90001 - 2011-08-15 22:42
215
216  Realise that we accidentally chopped a digit off the versioning scheme
217  without anyone noticing, which is a bad thing.
218
219  Feel like a fool. Well done t0m.
220
221  Cut another release.
222
223 5.9000 - 2011-08-15 22:18
224
225  See Catalyst::Delta for the major changes in this release.
226
227  Changelog since the last TRIAL release:
228
229    Backward compatibility fixes:
230
231     - Fix calling MyApp->engine_class to set the engine class manually.
232
233     - Re-add a $res->headers->{status} field to Catalyst::Test responses.
234       This _should_ be accessed with $c->res->code instead, but is here
235       for backward compatibility.
236
237    Documentation:
238
239     - Documentation which was in the now removed Catalyst::Engine::* classes
240       has been moved to Catalyst::Manual::Deployment
241
242    Changes:
243
244     - nginx specific behaviour is removed as it is not needed with any
245       web server configuration I can come up with (recommended config is
246       documented in Catalst::Manual::Deployment::nginx::FastCGI)
247
248 5.89003 2011-07-28 20:11:50 (TRIAL release)
249
250  Backward compatibility fixes:
251
252   - Application scripts which have not been upgraded to newer
253     Catalyst::Script::XXX style scripts have been fixed
254
255  Bug fixes:
256
257   - mod_perl handler fixed to work with application classes which have manually
258     been made immutable.
259
260   - Scripts now force the Plack engine choice manually, rather than relying
261     on auto-detection, as the automatic mechanism gets it wrong if (for
262     example) Coro is loaded.
263
264   - Server script option for --fork --keepalive are now handled by loading
265     the Starman server, rather than silently ignored.
266
267   - Server script options for --background and --pid are now fixed by
268     using MooseX::Deamonize
269
270   - Plack middlewares to deal with issues in Lighttpd and IIS6 are now
271     automatically applied to applications and deployments which need them
272     (when there is not a user written .psgi script available).
273     This fixes compatibility with previous stable releases for applications
274     deployed in these environments.
275
276  Enhancements:
277
278   - Catalyst::Test's remote_request method not uses Plack::Test to perform
279     the remote request.
280
281  Documentation:
282   - Added a Catalyst::PSGI manual page with information about writing a .psgi
283     file for your application.
284
285    - Catalyst::Uprading has been improved, and the status of old Catalyst
286      engines clarified.
287
288  Deprecations:
289   - Catalyst::Test's local_request function is now deprecated. You should just
290     use the normal request function against a local server instead.
291
292 5.80033 2011-07-24 16:09:00
293
294  Bug fixes:
295   - Fix Catalyst::Request so that the hostname accessor is not incorrectly
296     populated with 'localhost' if a reverse DNS lookup fails.
297
298   - Fix Path actions debug screen to display number of arguments
299
300   - Fix a regression that prevented configuring attributes for all actions using
301     ->config(actions => { '*' => \%attrs }) from working
302
303   - Append $\ in Catalyst::Response->print to more closely match
304     IO::Handle's behaviour.
305
306   - Fixed situation where a detach($action) from a forward within auto
307     was not breaking out correctly
308
309   - Fix the disable_component_resolution_regex_fallback config setting
310     to also work in the $c->component method.
311
312   - Handle users setting cookies with an undef value by not trying to
313     output that cookie (rather than trying to do so and causing an exception
314     as previously happened). A warning is logged if this occurs in debug
315     mode.
316   - Update tests to ignore $ENV{CATALYST_HOME} where required
317
318   - Change repository metadata to point at git.
319
320   - Clean namespaces in Catalyst::Request::Upload
321
322   - Catalyst::Test: Fixes to action_ok, action_redirect and action_notfound
323     test functions to be better documented, and have better default test
324     names.
325
326   - Update tests to ignore CATALYST_HOME env var.
327
328 5.89002 2011-03-02 11:30:00 (TRIAL release)
329
330  Bug fixes:
331   - Fix a couple of test failures caused by optional dependencies such as FCGI
332     not being installed.
333
334  Refactoring:
335   - Simplified the API for getting a PSGI application code reference for a
336     Catalyst application for use in, for example, .psgi files. See
337     Catalyst::Upgrading for details.
338
339 5.89001 2011-03-01 15:27:00 (TRIAL release)
340
341  Bug fixes:
342   - Fixed command-line argument passing in Catalyst::Script::FastCGI.
343
344   - Fixed Catalyst::Engine::Stomp compatibility. Applications using
345     Catalyst::Engine::Stomp are believed to continue working without
346     any changes with the new Catalyst major version.
347
348   - Fixed issues auto-loading engine with older scripts.
349
350  Known problems:
351   - Catalyst::Engine::Wx is officially unsupported and BROKEN. If you
352     are using this engine then please get in touch with us and we'll
353     be happy to help with the changes it needs to be compatible with
354     the new major version of Catalyst.
355
356  Documentation:
357   - The section of Catalyst::Upgrading describing how to upgrade to version 5.90
358     of Catalyst has been much improved.
359
360 5.80032 2011-02-23 01:10:00
361
362  Bug fixes:
363   - Fix compatibility issue with code which was testing the value of
364     $c->res->body multiple times. Previously this would cause the value
365     to be built, and ergo cause the $c->res->has_body predicate to start
366     returning true.
367     Having a response body is indicated by $c->res->body being defined.
368
369   - Fix bug with calling $upload->slurp multiple times in one request
370     not working as expected as the file handle wasn't returned to
371     the zero position. (Adam Sjøgren)
372
373   - Fix some weird perl 5.8 situations where $c can get squashed unexpectedly
374     in Catalyst::execute
375
376   - Fix chained dispatch where chains were being compared for length (number
377     of private parts in the chain) vs where they are being compared for
378     PathPart length (i.e. number of non-capturing URI elements in your path).
379
380     This bug meant that sometimes multiple Args or CaptureArgs (e.g. /*/*)
381     type paths would be preferred to those with fixed path elements
382     (e.g. /account/*)
383
384  New features:
385    - Add MYAPP_RESTARTER and CATALYST_RESTARTER environment variables to
386      allow the restarter class to be chosen per application or generally.
387
388      This feature was added to enable GUI restarters (such as the soon to
389      be released CatalystX::Restarter::GTK to be enabled more easily by
390      developers without changing their application code.
391
392 5.80031 2011-01-31 08:13:02
393
394  Bug fixes:
395   - Update dependency on MooseX::Role::WithOverloading to ensure that
396     a version which can deal with / depends on a new Package::Stash
397     is installed. (As if some other dependency is pulled in during upgrading
398     which results in new Package::Stash, then it can leave you with a broken
399     version of MooseX::Role::WithOverloading.
400
401   - Fix undef warning in Catalyst::Engine::FastCGI when writing an empty
402     body (e.g. doing a redirect)
403
404 5.89000 2011-01-24 09:28:45 (TRIAL release)
405
406  This is a development release from psgi branch of Catalyst-Runtime.
407
408  Removed features:
409
410   - All of the Catalyst::Engine::* namespace is now gone. Instead we only have
411     one Catalyst::Engine class speaking the PSGI protocol natively. Everything
412     the various Catalyst::Engine:: classes did before is now supposed to happen
413     through PSGI handlers such as Plack::Handler::FCGI,
414     Plack::Handler::HTTP::Server::PSGI, Plack::Handler::Apache2, and so
415     on. However, deployment can still work the same as it did before. The
416     catalyst scripts still exist and continue to work.
417
418     If you find anything that either doesn't work anymore as it did before or
419     anything that could be done before with the various Catalyst::Engine::
420     classes, but can't be done anymore with the single PSGI Catalyst::Engine
421     class, please tell us *now*.
422
423 5.80030 2011-01-04 13:13:02
424
425  New features:
426   - Add a --proc_title option to the FCGI script to set the process
427     title.
428   - Allow the response body to be set to `undef' explicitly to indicate the
429     absence of a body. It can be used to indicate that no body should be sent at
430     all and processing of views should be skipped. This is especially useful for
431     things like X-Sendfile, which now no longer require providing fake response
432     bodies to suppress view processing. In order for this to work, you will also
433     have upgrade Catalyst::Action::RenderView to at least version 0.15.
434
435  Bug fixes:
436   - Deal correctly with GLOB file handles in the response body (setting
437     the Content-Length header appropriately)
438   - Chained dispatch has been fixed to always prefer paths
439     with the minimum number of captures (rather than the
440     maximum number of actions). This means that (for example)
441     a URI path /foo/* made out of 2 actions will take preference
442     to a URI path /*/* made out of 3 actions. Please check your applications
443     if you are using chained action and please write new test to report
444     failing case.
445   - Stop relying on bugs in the pure-perl version of Package::Stash. New
446     versions of Package::Stash load Package::Stash::XS if
447     available. Package::Stash::XS fixes some of the bugs of the pure-perl
448     version, exposing our faulty assumption and breaking things. We now work
449     with both old and new versions of Package::Stash, both with and without
450     Package::Stash::XS being installed. Older versions of Catalyst-Runtime also
451     work with both old and new versions of Package::Stash, but only if
452     Package::Stash::XS is *not* installed.
453
454  Documentation:
455   - Clarify that when forwarding or detaching, the end action associated
456     with the original dispatched action will be run afterwards (fallen)
457
458 5.80029 2010-10-03 16:39:00
459
460  New features:
461   - Add a warning when $c->view is called and cannot locate a default_view
462     or current_view. This clarifies the logging when ::RenderView gets
463     confused.
464
465  Warning fixes:
466   - Deal warning in with Moose >= 1.15 if you add a method called 'meta' to a
467     class which already has one by using _add_meta_method.
468
469 5.80028 2010-09-28 20:49:00
470
471  Bug fixes:
472   - use Class::MOP in Catalyst::Utils.
473
474   - Do not keep a reference to a closed over context in ctx_request, allowing
475     the caller to dispose of the request context at their leisure.
476
477   - Changes to be compatible with bleadperl
478
479 5.80027 2010-09-01 22:14:00
480
481  Bug fixes:
482   - Fix an issue with newly added test cases which depended on Catalyst::Action::RenderView
483
484 5.80026 2010-09-01 15:14:00
485
486  Bug fixes:
487   - Fix so that CATALYST_EXCEPTION_CLASS in MyApp is always respected by
488     not loading Catalyst::Exception in Utils.pm BEGIN, because some Scripts::*
489     load Utils before MyApp.pm
490
491   - Fix warnings with new Moose versions about "excludes" during role
492     application
493
494   - Fix warning from MooseX::Getopt regarding duplicate "help" aliases.
495
496   - parse_on_demand fixed when used in conjunction with debug mode.
497     A regression was introduced in 5.80022 which would cause the body
498     to always be parsed for logging at the end of the request when in
499     debug mode. This has been fixed so that if the body has not been parsed
500     by the time the request is logged, then the body is omitted.
501
502   - Fix show_internal_actions config setting producing warnings in debug
503     mode (RT#59738)
504
505   - Make Catalyst::Test::local_request() set the response base from base href
506     in the returned document so that links can be resolved correctly by
507     Test::WWW::Mechanize::Catalyst
508
509  Refactoring:
510    - moved component name sort that happens in setup_components to
511      locate_components to allow methods to wrap around locate_components
512
513  Documentation:
514     - Fix some typos
515
516     - Advertise Catalyst::Plugin::SmartURI
517
518
519 5.80025 2010-07-29 01:50:00
520
521  New features:
522   - An 'action_class' method has been added to Catalyst::Controller to
523     allow controller base classes, roles or traits
524     (e.g. Catalyst::Controller::ActionRole) to more easily override
525     the default action creation.
526
527  Bug fixes:
528   - Fix the --mech and --mechanize options to the myapp_create.pl script
529     to operate correctly by fixing the options passed down into the script.
530   - Fix controllers with no method attributes (where the action definitions
531     are entirely contained in config). RT#58057
532   - Fix running as a CGI under IIS at non-root locations.
533   - Fix warning about "excludes" during role application
534   - Fix warning from MooseX::Getopt regarding duplicate "help" aliases
535
536  Documentation:
537   - Fix missing - in the docs when describing the --mechanize option at one
538     point.
539   - Explained the common practice how to access the component's config
540     values.
541   - Fixed typo in Catalyst/Script/Server.pm (RT #58474)
542
543 5.80024 2010-05-15 11:55:44
544
545   Bug fixes:
546    - Revert the path resolution behaviour to how it used to work before
547      Catalyst 5.80014_02, so that application paths are (by default)
548      resolved from $ENV{PATH_INFO} and $ENV{SCRIPT_NAME}. This fixes backward
549      compatibility breakage seen by a number of people since that release
550      with mod_rewrite and SSI.
551
552   New features:
553    - Add a use_request_uri_for_path config setting to optionally
554      use the (more correct) $ENV{REQUEST_URI} path resolution behaviour.
555
556   Documentation:
557    - Clarify the documentation for the Catalyst::Stats interface.
558    - Copious documentation about the use_request_uri_for_path feature
559      and the implications of setting this to true/false in
560      Catalyst::Engine::CGI
561
562 5.80023 2010-05-07 23:50:27
563
564   Bug fixes:
565    - Ensure to always cleanup temporary uploaded files in all cases, even
566      when exceptions occur during request processing, using HTTP::Body's
567      ->cleanup feature. (RT#41442)
568    - Ensure that Catalyst::Engine::HTTP's options hash is defined before
569      dereferencing it. (RT#49267)
570    - Fix regex special characters in REDIRECT_URL variable breaking
571      the request base. (2nd part of RT#24951)
572    - Fix not stripping backslashes in DispatchType::Regex::uri_for_action
573
574   New features:
575    - Setting __PACKAGE__->config(enable_catalyst_header => 1); in your MyApp.pm
576      now enables the X-Catalyst header being printed when not in debug mode.
577    - Require CGI::Simple::Cookie version 1.109 to ensure support for the
578      HttpOnly flag
579    - Allow the myapp_test.pl script to be given a list of paths which it
580      will retrieve all of. (RT#53653)
581    - Allow parameterized roles to be applied as plugins.
582    - Allow requiring minimum versions of plugins when loading them.
583
584   Documentation:
585    - The Catalyst::Test::get method is documented as returning the raw
586      response bytes without any character decoding (RT#53678)
587
588   Cleanups:
589    - Removal of $Catalyst::PRETTY_VERSION. Future releases will always have the
590      full and unmangled version number, including trailing zeroes, in
591      $Catalyst::VERSION.
592
593 5.80022 2010-03-28 19:43:01
594
595   New features:
596    - Log an extra line in debug mode with the response status code,
597      the content type and content length if available.
598
599   Refactoring / optimizations:
600    - Display of the end of hit debug messages has been factored out into
601      log_headers, log_request, log_request_headers, log_response,
602      log_response_status_line and log_response_headers methods so that
603      plugins which customise how much information is shown on the debug
604      screen as easy to write.
605    - Make all logging of request and response state get the information from
606      $c->dump_these so that there is a unified point from which to hook
607      in parameter filtering (for example).
608    - $c->model/view/controller have become a lot faster for non-regexp names
609      by using direct hash lookup instead of looping.
610    - IP address => hostname mapping for the server is only done once and cached
611      by Catalyst::Engine::HTTP to somewhat mitigate the problem of people
612      developing on machines pointed at slow DNS servers.
613
614   Bugs fixed:
615     - DispatchType::Index's uri_for_action only returns for actions registered
616       with it (prevents 'index :Path' or similar resolving to the wrong URI)
617     - Make sure to construct Upload objects properly, even if there are
618       multiple Content-Type headers (Closes RT#55976).
619
620 5.80021 2010-03-03 23:02:01
621
622   Bug fixed:
623    - $c->uri_for will now escape unsafe characters in captures
624      ($c->request->captures) and correctly encode utf8 charracters.
625
626 5.80020 2010-02-04 06:51:18
627
628   New features:
629     - Allow components to specify additional components to be set up by
630       overriding the expand_modules method. (Oliver Charles)
631
632 5.80019 2010-01-29 01:04:09
633
634   Bug fixed:
635    - Calls to $c->uri_for with private paths as strings (e.g.
636      $c->uri_for('controller/action', 'arg1', 'arg2') ) no longer have
637      / encoded to %2F. This is due to $c->uri_for('static', 'css/foo', $bar)
638      which should not be encoded.
639      Calls with an action object (rather than a string), or uri_for action
640      will still encode / in args and captures to %2F
641
642    - The above noted / => %2F encoding in uri_for_action or uri_for with
643      an action object has been fixed to not just encode the first slash in
644      any set of args/captures.
645
646    - nginx and lighttpd FCGI requests with URI encoded sections as the first
647      path part have been fixed to operate correctly.
648
649    - A source of bogus warnings in Catalyst::Component::BUILDARGS has been
650      removed.
651
652   Documentation:
653    - Improve the documentation about -Home and how Catalyst finds the home path
654      for applications.
655    - Various minor typo fixes.
656
657   New features:
658    - Allow passing additional arguments to action constructors.
659
660 5.80018 2010-01-12 22:24:20
661
662   Bug fixed:
663    - Call ->canonical on URI derived from $ENV{REQUEST_URI} to get
664      paths correctly decoded. This bug was previously hidden by a bug
665      in HTTP::Request::AsCGI.
666
667   Documentation:
668    - Clarify that uri_for_action works on private paths, with example.
669    - Clarify documentation about debug
670
671   Deprecations:
672    - Saying use Catalyst::Test; (without an application name or () to stop
673      the importer running is now deprecated and will issue a warning.
674      You should be saying use Catalyst::Test ();
675
676 5.80017 2010-01-10 02:27:29
677
678   Documentation:
679    - Fix docs for ->forward method when passed a class name - this should
680      be a component name (e.g. View::HTML, not a full class name, like
681      MyApp::View::HTML).
682
683   Bug fixes:
684    - --daemon and -d options to Catalyst::Script::FastCGI are fixed.
685    - Fix the debug dump for applications which use Catalyst::Plugin::Session
686      (RT#52898)
687    - Fix regression in the case where mod_rewrite is being used to rewrite
688      requests into a path below your application base introduced with the
689      %2F related fixes in 5.80014_02.
690    - Do not crash on SIGHUP if Catalyst::Engine::HTTP->run is not passed the
691      argv key in the options hash.
692    - Correctly pass the arguments to Catalyst::Script::Server through to
693      Catalyst::Engine::HTTP->run so that the server can restart itself
694      with the correct options on SIGHUP.
695    - Require new MooseX::MethodAttributes to be compatible with Moose
696      versions >= 0.93_01
697    - Require new MooseX::Role::WithOverloading to be compatible with Moose
698      versions >= 0.93_01
699
700   Cleanups:
701     - Stop suppressing warnings from Class::C3::Adopt::NEXT now that most plugins
702       have been updated to not use NEXT. If you get warnings then please upgrade
703       your components or log a bug with the component author if an upgrade is
704       not available. The Class::C3::Adopt::NEXT documentation contains information
705       about how to suppress the warnings in your application if you need to.
706
707 5.80016 2009-12-11 23:23:33
708
709   Bug fixes:
710
711    - Fix slurping a file to work correctly with binary on Win32 in the
712      encoding test controller.
713
714   Bug fixes in the new scripts (for applications which have been upgraded):
715
716    - Allow --restartdirectory as an option for the Server script, for
717      backwards compatibility. (Dave Rolsky)
718    - The --host option for the server script defaulted to localhost, rather
719      than listening on all interfaces, which was the previous default. (Dave
720      Rolsky)
721    - Restore -p option for pid file in the FastCGI server script.
722    - Fix the script environment variables MYAPP_PORT and MYAPP_RELOAD RT#52604
723    - Fix aliasing applications under non-root paths with mod_rewrite in
724      some apache versions where %ENV{SCRIPT_NAME} is set to the real name of
725      the script, by using $ENV{REDIRECT_URL} which contains the non-rewritten
726      URI.
727    - Fix usage display when myapp_create.pl is run with no arguments. RT#52630
728
729   New features:
730
731    - The __MOP__ hash element is suppressed from being dumped fully
732      (and instead stringified) when dumping the error screen to be
733      less packed with information of no use.
734
735   Documentation:
736
737    - Fix Pod nits (RT#52370)
738
739 5.80015 2009-12-02 15:13:54
740   Bug fixes:
741    - Fix bug in Catalyst::Engine which would cause a request parsing to end
742      prematurely in the hypothetical case where calling $engine->read returned
743      the single character '0'.
744    - Fix failing tests when combined with new HTTP::Request::AsCGI
745
746   Documentation:
747    - Improved documentation on read and read_chunk methods in Catalyst::Engine.
748    - Fix reversal of SCRIPT_NAME and PATH_INFO in previously correct nginx
749      FastCGI documentation introduced in _02.
750
751 5.80014_02 2009-12-01 00:55:23
752   Bug fixes:
753    - Fix reporting the wrong Content-Length if the response body is an
754      upgraded string. Strings mean the same thing whether or not they are
755      upgraded, may get upgraded even after they are encoded, and will
756      produce the same output either way, but bytes::length returns too big
757      values for upgraded strings containing characters >127
758    - Fix t/live_fork.t with bleadperl (RT#52100)
759    - Set $ENV{PATH_INFO} from $ENV{REQUEST_URI} combined with
760      $ENV{SCRIPT_NAME} if possible. This is many web servers always fully
761      decode PATH_INFO including URI reserved characters. This allows us to
762      tell foo%2cbar from foo%252cbar, and fixes issues with %2F in paths
763      being incorrectly decoded, resulting in too many path parts (rather
764      than 1 path part containing a /, on some web servers (at least nginx).
765      (RT#50082)
766    - Require new HTTP::Request::AsCGI so that it fully decodes $ENV{PATH_INFO}
767      in non CGI contexts. (RT#50082)
768
769   Refactoring / cleanups:
770    - NoTabs and Pod tests moved to t/author so that they're not run
771      (and then skipped) normally.
772
773   Documentation:
774     - Fix Pod nits in Catalyst::Response (RT#51818)
775
776 5.80014_01 2009-11-22 20:01:23
777
778   Bug fixes:
779    - Filehandle now forced to binmode in CGI and FastCGI engines. This appears
780      to correct some UTF-8 issues, but may break people's code which relies
781      on the old behaviour.
782
783   Refactoring / cleanups:
784    - Plugins which inherit from Catalyst::Controller or Catalyst::Component
785      are deprecated and now issue warnings.
786
787 5.80014 2009-11-21 02:51:14
788
789    Bug fixes:
790     - Require MooseX::MethodAttributes 0.17. This in turn requires new
791       MooseX::Types to stop warnings in Moose 0.91, and correctly supports
792       role combination of roles containing attributed methods.
793     - Catalyst::Dispatcher::dispatch_types no longer throws deprecated warnings
794       as there is no recommended alternative.
795     - Improved the suggested fix warning when component resolution uses regex
796       fallback for fully qualified component names.
797     - Catalyst::Test::local_request sets ->request on the response.
798     - Log flush moved to the end of setup so that roles and plugins which
799       hook setup_finalize can log things and have them appear in application
800       startup, rather than with the first hit.
801     - Require a newer version of LWP to avoid failing tests.
802     - Stop warnings when actions are forwarded to during dispatch.
803     - Remove warnings for using Catalyst::Dispatcher->dispatch_types as this is a
804       valid method to publicly call on the dispatcher.
805     - Args ($c->request->args) and CaptureArgs ($c->request->captrues)
806       passed to $c->uri_for with an action object ($c->action) will now
807       correctly round-trip when args or captures contain / as it is now
808       correctly uri encoded to %2F.
809
810   Documentation:
811     - Document no-args call to $c->uri_for.
812     - Document all top level application configuration parameters.
813     - Clarify how to fix actions in your application class (which is
814       deprecated and causes warnings).
815     - Pod fixes for ContextClosure.
816     - Fix documentation for go/visit to reference captures and arguments
817       in the correct order.
818     - Update $c->forward and $c->state documentation to address scalar
819       context.
820     - Pod fix in Catalyst::Request (RT#51490)
821     - Pod fixes to refer to ::Controller:: rather than ::C:: as the latter
822       is deprecated (RT#51489)
823
824   New features:
825     - Added disable_component_resolution_regex_fallback config option to
826       switch off (deprecated) regex fallback for component resolution.
827     - Added an nginx-specific behavior to the FastCGI engine to allow
828       proper PATH_INFO and SCRIPT_NAME processing for non-root applications
829     - Enable Catalyst::Utils::home() to find home within Dist::Zilla built
830       distributions
831     - Added the Catalyst::Exception::Interface role defining the interface
832       exception classes need to implement.
833     - Added Catalyst::Exception::Basic as a basic implementation of
834       Catalyst::Exception::Interface and made the existing exception classes
835       use it.
836
837   Refactoring / cleanups:
838     - Remove documentation for the case_sensitive setting
839     - Warning is now emitted at application startup if the case_sensitive
840       setting is turned on. This setting is not used by anyone, not
841       believed to be useful and adds unnecessary complexity to controllers
842       and the dispatcher. If you are using this setting and have good reasons
843       why it should stay then you need to be shouting, now.
844     - Writing to $c->req->body now fails as doing this never makes sense.
845
846 5.80013 2009-09-17 11:07:04
847
848    Bug fixes:
849      - Preserve immutable_options when temporarily making a class mutable in
850        Catalyst::ClassData as this is needed by new Class::MOP.
851        This could have potentially caused issues when using the deprecated runtime
852        plugins feature in an application with plugins which define their own new
853        method.
854      - Require new Moose version and new versions of various dependencies
855        to avoid warnings from newest Moose release.
856      - Fix go / visit expecting captures and arguments in reverse order.
857
858   Documentation:
859      - Rework the $c->go documentation to make it more clear.
860      - Additional documentation in Catalyst::Upgrading covering more deprecation
861        warnings.
862
863   Refactoring / cleanups:
864      - Action methods in the application class are deprecated and applications
865        using them will now generate a warning at startup.
866      - The -short option has been removed from catalyst.pl, stopping new
867        applications from being generated using the ::[MVC]:: naming scheme as
868        this is deprecated and generates warnings. RT#49771
869
870 5.80012 2009-09-09 19:09:09
871
872   Bug fixes:
873      - Fix t/optional_http-server.t test.
874      - Fix t/optional_http-server-restart.t test.
875      - Fix duplicate components being loaded at setup time, each component is
876        now loaded at most once + tests.
877      - Fix backward compatibility - hash key configured actions are stored in
878        is returned to 'actions'.
879      - Fix get_action_methods returning duplicate methods when a method is both
880        decorated with method attributes and set as an action in config.
881
882   Refactoring / cleanups:
883      - Reduce minimum supported perl version from 5.8.6 to 5.8.4 as there are
884        many people still running/testing this version with no known issues.
885
886   Tests:
887      - Make the optional_http_server.t test an author only test which must be
888        run by authors to stop it being broken again.
889      - Fix recursion warnings in the test suites.
890
891 5.80011 2009-08-23 13:48:15
892
893   Bug fixes:
894       - Remove leftovers of the restarter engine. The removed code caused test
895         failures, which weren't apparent for anyone still having an old version
896         installed in @INC.
897
898 5.80010 2009-08-21 23:32:15
899
900   Bug fixes:
901       - Fix and add tests for a regression introduced by 5.80008.
902         Catalyst::Engine is now able to send out data from filehandles larger
903         than the default chunksize of 64k again.
904
905 5.80009 2009-08-21 22:21:08
906
907   Bug fixes:
908       - Fix and add tests for generating inner packages inside the COMPONENT
909         method, and those packages being correctly registered as components.
910         This fixes Catalyst::Model::DBIC among others.
911
912 5.80008 2009-08-21 17:47:30
913
914   Bug fixes:
915        - Fix replace_constructor warning to actually work if you make your
916          application class immutable without that option.
917        - Depend on Module::Pluggable 3.9 to prevent a bug wherein components
918          in inner packages might not be registered. This especially affected
919          tests.
920        - Catalyst::Engine::FastCGI - relax the check for versions of Microsoft
921          IIS. Provides compatibility with Windows 2008 R2 as well as
922          (hopefully) future versions.
923        - In tests which depend on the values of environment variables,
924          localise the environment, then delete only relevant environment
925          variables (RT#48555)
926        - Fix issue with Engine::HTTP not sending headers properly in some cases
927          (RT#48623)
928        - Make Catalyst::Engine write at least once when finalizing the response
929          body from a filehandle, even if the write is empty. This avoids fail
930          when trying to send out an empty response body from a filehandle.
931        - Catalyst::Engine::HTTP - Accept a fully qualified absolute URI in the
932          Request-URI of the Request-Line
933
934   Refactoring / cleanups:
935        - Deleted the Restarter engine and its Watcher code. Use the
936          new Catalyst::Restarter in a recent Catalyst::Devel instead.
937        - New unit test for Catalyst::Action 'unit_core_action.t'
938        - Bump minimum supported perl version from 5.8.1 to 5.8.6 as there are
939          known issues with 5.8.3.
940        - Debug output uses dynamic column sizing to create more readable output
941          when using a larger $ENV{COLUMNS} setting. (groditi)
942
943   New features:
944        - Added private_path method for Catalyst::Action
945        - Allow uri_for($controller_instance) which will produce a URI
946          for the controller namespace
947        - Break setup_components into two more parts: locate_components and
948          expand_component_module (rjbs)
949        - Allow Components to return anon classed from their COMPONENT method
950          correctly, and have action registration work on Controllers returned
951          as such by adding a catalyst_component_name accessor for all components
952          which returns the component instance's name to be used when building
953          actions etc.
954        - Adding X-Forwarded-Port to allow the frontend proxy to dictate the
955          frontend port (jshirley)
956        - Added Catalyst::Stats->created accessor for the time at the start of
957          the request.
958
959   Documentation:
960        - Fix POD to refer to ->config(key => $val), rather than
961          ->config->{key} = $val, as the latter form is deprecated.
962        - Clearer docs for the 'uri_for' method.
963        - Fix POD refering to CGI::Cookie. We're using CGI::Simple::Cookie.
964          (Forrest Cahoon)
965
966 5.80007 2009-06-30 23:54:34
967
968   Bug fixes:
969        - Don't mangle query parameters passed to uri_for
970          - Tests for this (Byron Young + Amir Sadoughi)
971        - Inherited controller methods can now be specified in
972          config->{action(s)}
973        - Assigning an undef response body no longer produces warnings
974        - Fix C3 incompatibility bug caused if you use Moose in MyApp.pm and
975          add Catalyst to the right hand side of this in @ISA.
976        - Make Catalyst.pm implement the Component::ApplicationAttribute
977          interface so defining actions in MyApp.pm works again, if the
978          actions have attributes that cause $self->_application to be used
979          (like ActionClass).
980
981   New features:
982        - Add optional second argument to uri_with which appends to existing
983          params rather than replacing them. (foo=1 becomes foo=1&foo=2 when
984          uri_with({ foo => 2 }, { mode => 'append' }) is called on a foo=1
985          URI.
986
987 5.80006 2009-06-29 23:37:47
988
989   Bug fixes:
990         - Revert change to URL encode things passed into $c->uri_for
991           Args and CaptureArgs as this causes breakage to pre-existing
992           applications.
993         - Remove use of Test::MockObject as it doesn't install from CPAN
994           in some environments.
995         - Remove use of dclone to deep copy configs and replace with
996           Catalyst::Utils::merge_hashes which has the same effect, of
997           ensuring child classes don't inherit their parent's config,
998           except works correctly with closures.
999         - Add Class::C3::reinitialize into Catalyst::Test to avoid weird
1000           bugs in ctx_request (bokutin in RT#46459)
1001         - Fix issues with _parse_PathPrefix_attr method in Catalyst::Controller
1002           (jasonk in RT#42816)
1003         - Fix bugs with action sorting:
1004           - Path actions sorted so that the most specific wins.
1005           - Action methods named default and index fixed.
1006
1007   New features:
1008         - Use ~ as prefix for plugins or action classes which are located in
1009           MyApp::Plugin / MyApp::Action (mo)
1010         - Controller methods without attributes are now considered actions if
1011           they are specified in config->{action(s)} (mo)
1012         - Add Catalyst::Component::ContextClosure as an easy way to create code
1013           references, that close over the context, without creating leaks.
1014
1015   Refactoring / cleanups:
1016         - Clean namespaces in Catalyst::Exception*.
1017         - Turn Catalyst::Exception into an actual class and make the throw
1018           method create instances of it. They can still be used as normal
1019           strings, as before, as they are overloaded to stringify to their
1020           error message.
1021         - Add a rethrow method to Catalyst::Exception.
1022         - Add Catalyst::Exception::Detach and ::Go, and refactor detach() and
1023           go() to use them instead of magic, global strings.
1024           Fixes RT#47366
1025         - Clean up getting metaclass instance and making app class immutable
1026           again in Catalyst::Test
1027
1028 5.80005 2009-06-06 14:40:00
1029
1030   Behaviour changes:
1031         - Arguments ($c->req->args) in Chained dispatch are now automatically
1032           URL decoded to be consistent with Local/Path dispatch
1033
1034   Documentation:
1035         - Clarify correct techniques for Moose controllers (domm)
1036
1037   Bug fixes:
1038         - Further change pushing 'env' attribute down into Catalyst::Engine
1039           to make $c->engine->env work in all cases (kmx)
1040         - Also fix $c->engine->env in Catalyst::Test tests (kmx)
1041           - Tests for this
1042         - Fix Catalyst failing to start if any plugin changed $_ whilst
1043           loading
1044           - Tests for this
1045         - Be stricter about arguments to Args attributes for Chained actions,
1046           so that they blow up on load instead of causing undefined behavior
1047           later on
1048           - Tests for this
1049         - Prefer Path actions with a smaller (or set) number of Args (caelum)
1050           Bug reported here: http://stackoverflow.com/questions/931653/catalyst-action-that-matches-a-single-file-in-the-root-directory/933181#933181
1051           - Tests for this
1052
1053    New features:
1054         - Add $c->req->remote_user to disambiguate from $c->req->user (dwc)
1055         - Require MooseX::MethodAttributes 0.12 so that action methods
1056           (with attributes) can be used in / composed from Moose roles.
1057         - Allow the generation of cookies with the HTTPOnly flag set
1058           in Catalyst::Engine (kmx)
1059
1060 5.80004 2009-05-18 17:03:23
1061         - Rename the actions attribute in Catalyt::Controller to
1062           _controller_actions to avoid name clashes with application
1063           controller naming. (random)
1064         - Test for using Moose in components which have a non-Moose base class
1065           Fixed by 349cda in Moose 0.78
1066         - Fix deprecation message for Catalyst::Dispatcher to refer
1067           to the class actually calling the deprecated method. RT#45741
1068         - Clarify limitations of $request->base and $request->secure.
1069           (Phil Mitchell)
1070         - Add 'use Catalyst' to documentation for a Moose MyApp class as
1071           noted by dmaki.
1072         - Fix so that / (and other special characters) are URL encoded when
1073           passed into $c->uri_for as Args/CaptureArgs
1074         - Fix development server so that $c->engine->env returns the correct
1075           environment
1076         - Require Moose 0.78 to fix metaclass incompatibility issues
1077         - Require MooseX::MethodAttributes 0.10 and use
1078           Moose::Meta::Class->initialize rather than Moose->init_meta to fix
1079           bugs related to having a 'meta' method in your controller
1080         - Fix cases where your application failing to compile could cause perl
1081           to report 'Unknown Error'
1082         - Support adding Moose::Roles to the plugin list. These are applied to
1083           MyApp after plugins have been pushed onto @ISA
1084         - Fix calling $c->req->parameters as the first thing you do when
1085           parse_on_demand is on
1086
1087 5.80003 2009-04-29 16:23:53
1088         - Various POD tweaks. (hdp, dandv)
1089         - Fix formatting error in the regex fallback warning.
1090         - Convert the dispatcher's and restarter engine's BUILD method to
1091           attribute builders to not override the BUILD method from
1092           MooseX::Emulate::Class::Accessor::Fast.
1093         - Fix classes without metaclasses restarting, when not using
1094           B::Hooks::OP::Check::StashChange
1095         - Fix the unattached chain debug table for endpoints with no
1096           parents at all.
1097         - Turn off test aggregation by default. Only aggregate if the
1098           AGGREGATE_TESTS environment variable is set and a recent
1099           Test::Aggregate is available.
1100         - Bump to MooseX::MethodAttributes 0.09, to gain the
1101           get_nearest_methods_with_attributes method allowing methods without
1102           attributes in a subclass to override those with attributes in a
1103           superclass. This fixes CatalystX::CRUD's method of overriding /
1104           disabling functionality from base controllers.
1105         - Bump HTTP::Request::AsCGI dependency to avoid broken version
1106         - Bump Moose dependency to latest version to fix metaclass
1107           incompatibility issues in some cases.
1108         - Additional tests for setup_stats method.
1109         - Fix log levels in Catalyst::Log to be properly additive.
1110         - Fix RT#43375 by sorting results before testing them
1111         - Fixes for uri_for_action when using Catalyst::DispatchType::Regex
1112           + tests from RT#39369 (norbi)
1113         - Partial rewrite and reoganisation of the C3 docs in
1114           Catalyst::Upgrading based on feedback from kiffin
1115         - If you make your application class immutable and turn off
1116           constructor inlining, Catalyst will die and tell you pass
1117           the (replace_constructor => 1) argument to
1118           make_immutable. (Dave Rolsky)
1119
1120 5.80002 2009-04-22 01:28:36
1121         - Fix CATALYST_DEBUG and MYAPP_DEBUG environment variables
1122           turning debuging on if defined, rather than if set.
1123           They now force debugging on or off, taking precedence over
1124           configuration in your application.
1125           - Tests for this
1126         - pass replace_constructor to the immutable call to ensure
1127           applications get a Moose constructor rather than a C::A one
1128         - Fix issues with restarting the application class due to C3 failures
1129           on perl 5.10
1130         - Work around issues in Moose with initialization order of multiple
1131           levels of non-Moose classes inheriting from a Moose class
1132           - Test for this
1133         - Add backwards compatibility method for Catalyst::Log->body, which
1134           has been made private
1135         - Fix so that calling $c->req->parameters(undef) does not flatten
1136           the request parameters with undef + test
1137         - Fix so that width of table of unattached actions for debugging
1138           ::DispatchType::Chained varies according to your terminal width
1139           (Oleg Kostyuk)
1140         - Fix warning message about linearized @ISA in Catalyst::Component
1141           (Emanuele Zeppieri)
1142         - Require MX::MethodAttributes 0.06 to avoid issues with saying
1143           use base 'Catalyst::Controller'; use Moose; losing actions
1144         - Fix all of's typos in ::Upgrading and ::Delta (hobbs)
1145
1146 5.80001 2009-04-18 22:18
1147         - Don't inline the constructor for Catalyst::Log to avoid a
1148           warning on recent Moose versions.
1149         - Add delta documentation
1150         - Clean up recursion errors
1151         - Extra cross links in dispatch types POD (Ian Wells)
1152         - Test uri_with clears query params when they are set to undef
1153           (Ian Wells)
1154         - Complain about old Catalyst::Devel versions which generated
1155           ->setup(qw/-Debug... etc. as this is not recommended
1156
1157 5.8000_07 2009-04-12 13:37
1158         - Add the Catalyst::Dispatcher->dispatch_type method (ash)
1159         - Throw an exception rather than loading an app if an action
1160           tries to chain to itself
1161           - Tests for this
1162         - Change the $c->visit and $c->go methods to optionally take
1163           CaptureArgs, making them useful to call ActionChains with
1164           - Tests for this (radek)
1165         - Fix _invoke_as_component method to find the proper action instance
1166           for dispatchable actions so that ->visit or ->going to ActionChains
1167           with qw/Class::Name method_name/ works correctly
1168           - Tests for this (radek)
1169         - Added Catalyst::Test::ctx_request to be able to inspect
1170           the context object after a request is made (Jos Boumans)
1171         - debug() POD rewrite (jhannah)
1172         - Change the warning when you have conflicting components to
1173           present a list
1174         - Move NEXT use and testing deprecated features out to its own
1175           test application so that the main TestApp isn't polluted with
1176           spurious warnings
1177         - Add a warning for the old ::[MVC]:: style naming scheme
1178           - Test for this
1179         - Kill Class::C3::Adopt::NEXT warnings for the Catalyst:: namespace
1180           in production versions
1181         - Tidy up Catalyst::ClassData to ensure that all components get
1182           the correct metaclass
1183         - Make MyApp.pm restartable by unsetting setup_finished in
1184           the restarter process
1185         - Non-naive implementation of making mutable on restart using
1186           B::Hooks::OP::Check::StashChange if installed
1187           - Tests for this
1188         - Naive implementation of making all components mutable in the
1189           forked restart watcher process so native Moose apps using
1190           immutable restart correctly.
1191           - Tests for this
1192         - Bump Moose dependency to 0.70 so that we avoid nasty surprises
1193           with is_class_loaded and perl 5.80 when you Moosify MyApp.pm
1194         - Clarify that request arguments aren't unescaped automatically
1195           (Simon Bertrang) (Closes RT#41153)
1196         - Don't require C3 for the MRO test
1197         - Bump MX::Emulate::CAF prereq to support list assignment
1198         - Remove useless column in chained action debug table.
1199         - namespace::clean related cleanups
1200         - Import related cleanups and consistency fixes
1201         - Fix test suite TestApp /dump/env action
1202         - Add $res->code as alias for $res->status
1203         - Make Catalyst::ClassData compatible with the latest Class::MOP::Class
1204           changes. Also depend on the latest Class::MOP.
1205         - Add $c->uri_for_action method.
1206         - Don't stringify the meta method. Use its name instead.
1207         - Use MooseX::MethodAttributes::Inheritable to contain action
1208           attributes. This means that attributes are now represented in the MOP,
1209           allowing method modifiers on actions to work as expected.
1210         - Provide a reasonable API in Catalyst::Controller for working with
1211           and registering actions, allowing a controller sub-class to replace
1212           subroutine attributes for action declerations with an alternate
1213           syntax.
1214         - Instantiate correct sub-class of Moose::Meta::Class for non-Moose
1215           components where Catalyst forces the creation of a metaclass instance.
1216           This is more correct, and avoids metaclass incompatibility in complex
1217           cases
1218           - Tests for this
1219         - Use of deprecated Catalyst::Base now warns.
1220         - Add uri_with tests
1221
1222 5.8000_06 2009-02-04 21:00
1223         - Disallow writing to config after setup
1224         - Disallow calling setup more than once
1225         - Documentation fix regarding overloading of Engine and Dispatcher
1226           instances
1227         - Several documentation typo fixes
1228         - Stop Makefile.PL from warning about versions that fixed a conflict
1229         - Improved upgrading documentation
1230         - Seed the RNG in each FastCGI child process (Andrew Rodland)
1231         - Properly report dynamic bind port for the development server
1232           (Closes RT#38544)
1233         - Use the way documented by IO::Socket::INET to get the error message
1234           after trying to create a listening socket (Closes RT#41828)
1235         - Don't ignore SIGCHLD while handling requests with the dev server
1236           (Closes RT#42962)
1237
1238 5.8000_05 2008-29-01 00:00
1239         - Text::SimpleTable's go as wide as $ENV{COLUMNS} (jhannah)
1240           Patch written by Oleg Kostyuk <cub.uanic@gmail.com>
1241         - Improve docs for visit (mateu)
1242         - Add docs for finalize hook (dhoss)
1243         - Added ru/ua translations to error page
1244         - Improve the clarity and verbosity of the warning when component
1245           resolution uses regex fallback. (jhannah)
1246         - Handle leading CRLF in HTTP requests sometimes sent by IE6 in
1247           keep-alive requests.
1248         - Fixes for FastCGI with IIS 6.0 (janus)
1249         - Passing request method exported by Catalyst::Test an extra
1250           parameter used to be ignored, but started breaking if the parameter
1251           was not a hash in 5.8000_04. Extra parameter is now ignored if
1252           it isn't a hashref
1253         - Fix request argumentss getting corrupted if you override the
1254           dispatcher and call an action which detaches (for
1255           Catalyst::Plugin::Authorization::ACL)
1256         - Fix calling use Catalyst::Test 'MyApp' 'foo' which used to work,
1257           but stopped as the 2nd parameter can be an options hash now
1258         - Bump Moose dependency to fix make_immutable bug
1259         - Use compile time extends in Catalyst::Controller
1260         - Make Catalyst::Request::uploads attribute non-lazy, to fix
1261           test for Catalyst-Engine-Apache
1262         - Bump version of MooseX::Emulate::Class::Accessor::Fast
1263         - Stop using MooseX::Adopt::Class::Accessor::Fast by default, to stop
1264           breaking other packages which use Class::Accessor::Fast
1265         - Remove unused action_container_class attribute from
1266           Catalyst::Dispatcher
1267         - Replace {_body} instance access with calls to _body accessors
1268         - Add backwards compatibility alias methods for private attributes on
1269           Catalyst::Dispatcher which used to be public. Needed by
1270           Catalyst::Plugin::Server and  Catalyst::Plugin::Authorization::ACL
1271         - Fix return value of $c->req->body, which delegates to the body
1272           method on the requests HTTP::Body instance
1273           - Test for this
1274         - Fix calling $c->req->body from inside an overridden prepare_action
1275           method in a plugin, as used by Catalyst::Plugin::Server
1276           - Test for this
1277         - Fix assignment to Catalyst::Dispatcher's preload_dispatch_types and
1278           postload_dispatch_types attributes - assigning a list should later
1279           return a listref. Fixes Catalyst::Plugin::Server.
1280           - Tests for this
1281         - Change streaming test to serve itself rather than 01use.t, making
1282           test sync for engines easier
1283         - Refactor capturing of $app from Catalyst::Controller into
1284           Catalyst::Component::ApplicationAttribute for easier reuse in other
1285           components
1286         - Make the test suites YAML dependency optional
1287         - Make debug output show class name for the engine and dispatcher
1288           rather than the stringified ref.
1289         - Make MyApp immutable at the end of the scope after the setup
1290           method is called, fixing issues with plugins which have their
1291           own new methods by inlining a constructor on MyApp
1292           - Test for this and method modifiers in MyApp
1293         - Fix bug causing Catalyst::Request::Upload's basename method
1294           to return undef
1295           - Test for this (Carl Franks)
1296         - Fix loading of classes which do not define any symbols to not
1297           die, as it didn't in 5.70
1298           - Test for this
1299         - Bump MooseX::Emulate::Class::Accessor::Fast dependency
1300           to force new version which fixes a lot of plugins
1301         - Make log levels additive, and add documentation and tests
1302           for the setup_log method, which previously had none.
1303           Sewn together by from two patches provided by David E. Wheeler
1304         - Switch an around 'new' in Catalyst::Controller to a BUILDARGS
1305           method as it's much neater and more obvious what is going on
1306         - Add a clearer method on request and response _context
1307           attributes, and use if from ::Engine rather than deleting
1308           the key from the instance hash
1309         - Use handles on tree attribute of Catalyst::Stats to replace
1310           trivial delegation methods
1311         - Change the following direct hash accesses into attributes:
1312           Catalyst::Engine: _prepared_write
1313           Catalyst::Engine::CGI: _header_buf
1314           Catalyst::Engine::HTTP: options, _keepalive, _write_error
1315           Catalyst::Request: _path
1316           Catalyst::Stats: tree
1317         - Fix issues in Catalyst::Controller::WrapCGI
1318           and any other components which import (or define) their
1319           own meta method by always explicitly calling
1320           Class::MOP::Object->meta inside Catalyst
1321           - Add test for this
1322         - Add test case for the bug which is causing the
1323           Catalyst::Plugin::Authentication tests to fail
1324         - Fix a bug in uri_for which could cause it to generate paths
1325           with multiple slashes in them.
1326           - Add test for this
1327         - Fix SKIP block name in t/optional_http-server-restart.t,
1328           stopping 'Label not found for "last SKIP"' error from
1329           Test::More
1330         - Workaround max_redirect 0 bug in LWP
1331         - Move live_engine_response_print into aggregate
1332         - Fix dependency bug, s/parent/base/ in new test
1333         - Fix optional tests to run the live tests in the aggregate
1334           dir
1335         - Fix Catalyst->go error in remote tests
1336         - Fix upload test to work with remote servers, don't check for
1337           deleted files
1338         - Fix engine_request_uri tests to work on remote server with
1339           different URI
1340
1341 5.8000_04  2008-12-05 12:15:00
1342         - Silence Class::C3::Adopt::NEXT warnings in the test suite
1343         - Fix loads of 'used once, possible typo' warnings
1344         - Additional tests to ensure upload temp files are deleted
1345         - Remove use of NEXT from the test suite, except for one case
1346           which tests if Class::C3::Adopt::NEXT is working
1347         - Use a predicate to avoid recursion in cases where the uri
1348           method is overridden by a plugin, and calls the base method,
1349           for example Catalyst::Plugin::SmartURI
1350           - Test for this (caelum)
1351         - Compose the MooseX::Emulate::Class::Accessor::Fast role to
1352           Catalyst::Action, Catalyst::Request, and all other modules which
1353           inherit from Class::Accessor::Fast in 5.70.
1354           This fixes:
1355             - Catalyst::Controller::HTML::FormFu (zamolxes)
1356             - Catalyst::Request::REST
1357           - Test for this
1358         - Make hostname resolution lazy (Marc Mims)
1359         - Support mocking virtualhosts in test suite (Jason Gottshall)
1360         - Add README
1361         - Fix TODO list
1362         - Use Class::C3::Adopt::NEXT
1363         - Ignore C3 warnings on 5.10 when testing ensure_class_loaded
1364         - Add TODO test for chained bug (gbjk)
1365         - Fix list address in documentation (zarquon)
1366         - Fix ACCEPT_CONTEXT on MyApp, called as a class method
1367            - Test for this
1368         - Bump MooseX::Emulate::Class::Accessor::Fast version requirement to
1369           get more back compatibility
1370         - Improve documentation for $req->captures (caelum)
1371         - Fix a bug in Catalyst::Stats, stopping garbage being inserted into
1372           the stats if a user calls begin => but no end => (jhannah)
1373            - Test for this (jhannah)
1374         - Trim lines sooner in stats to avoid ugly Text::SimpleTable wrapping
1375           (jhannah)
1376         - Change Catalyst::ClassData to tweak the symbol table inline for
1377           performance after profiling
1378         - Fix POD typo in finalize_error (jhannah)
1379         - Add tests to ensure that we delete the temp files created by
1380           HTTP::Body's OctetStream parser
1381
1382 5.8000_03 2008-10-14 14:13:00
1383         - Fix forwarding to Catalyst::Action objects.
1384         - Fix links to the mailing lists (RT #39754 and Florian Ragwitz).
1385         - Use Class::MOP instead of Class::Inspector.
1386         - Change Catalyst::Test to use Sub::Exporter.
1387         - Fixed typo in Engine::HTTP::Restarter::Watcher causing -r to complain.
1388
1389 5.8000_02 2008-10-14 07:59:00
1390        - Fix manifest
1391
1392 5.8000_01 2008-10-13 22:52:00
1393         - Port to Moose
1394         - Added test for action stringify
1395         - Added test for component instances getting $self->{value} from config.
1396         - Add Catalyst::Response->print() method
1397         - Optionally aggregate tests using Test::Aggregate.
1398         - Additional docs for uri_for to mention how to use $c->action and
1399           $c->req->captures (jhannah)
1400         - List unattached chained actions in Debug mode.
1401         - Pod formatting fix for Engine::FastCGI (Oleg Kostyuk).
1402         - Add visit, a returning ->go
1403
1404 5.7XXXXXX XXXX
1405         - Workaround change in LWP that broke a cookie test (RT #40037)
1406         - Back out go() since that feature's been pushed to 5.80
1407         - Fix some Win32 test failures
1408         - Add pt translation of error message (wreis)
1409         - Make :Chained('../action') work
1410         - Add test actions
1411         - Chained doc improvements (rev 8326-8328)
1412
1413 5.7099_03 2008-07-20 10:10:00
1414         - Fix regressions for regexp fallback in model(), view() and controller()
1415         - Added the supplied argument to the regexp fallback warning for easier
1416           debugging
1417         - Ensure ACCEPT_CONTEXT is called for results from component()
1418
1419 5.7099_02 2008-07-16 19:10:00
1420         - Added PathPrefix attribute
1421         - Removed Catalyst::Build; we've long since moved to Module::Install
1422         - Updated Catalyst::Test docs to mention the use of HTTP::Request
1423           objects
1424
1425 5.7099_01 2008-06-25 22:36:00
1426         - Refactored component resolution (component(), models(), model(), et al). We now
1427           throw warnings for two reasons:
1428           1) model() or view() was called with no arguments, and two results are returned
1429              -- set default_(model|view), current_(model|view) or current_(model|view)_instance
1430              instead
1431           2) you call a component resolution method with a string, and it resorts to a regexp
1432              fallback wherein a result is returned -- if you really want to search, call the
1433              method with a regex as the argument
1434         - remove 0-length query string components so warnings aren't thrown (RT #36428)
1435         - Update HTTP::Body dep so that the uploadtmp config value will work (RT #22540)
1436         - Fix for LocalRegex when used in the Root controller
1437         - Get some of the optional_* tests working from dirs with spaces (RT #26455)
1438         - Fix Catalyst::Utils::home() when application .pm is in the current dir (RT #34437)
1439         - Added the ability to remove parameters in req->uri_with() by passing in
1440           an undef value (RT #34782)
1441         - Added $c->go, to do an internal redispatch to another action, while retaining the
1442           contents of the stash
1443
1444 5.7014  2008-05-25 15:26:00
1445         - Addition of .conf in restart regex in Catalyst::Engine::HTTP::Restarter::Watcher
1446         - Fix regression for relative uri_for arguments after a forward()
1447           introduced in 5.7013 (Peter Karman)
1448         - Fix regression for "sub foo : Path {}" in the root controller which
1449           was introduced when attempting to allow "0" as a Path.
1450
1451 5.7013  2008-05-16 18:20:00
1452         - Provide backwards compatability methods in Catalyst::Stats
1453         - Fix subdirs for scripts that run in subdirs more than one level deep.
1454         - Added test and updated docs for handling the Authorization header
1455           under mod_fastcgi/mod_cgi.
1456         - Fixed bug in HTTP engine where the connection was not closed properly if the
1457           client disconnected before sending any headers. (Ton Voon)
1458         - POD fix, IO::FileHandle => IO::Handle (RT #35690)
1459         - Fix grammar on welcome page (RT #33236)
1460         - Fix for Path('0') handling (RT #29334)
1461         - Workaround for Win32 and c3_mro.t (RT #26452, tested by Kenichi Ishigaki)
1462         - Fix for encoding query parameters
1463         - Fix Chained multiple test
1464
1465 5.7012  2007-12-16 23:44:00
1466         - Fix uri_for()'s and uri_with()'s handling of multibyte chars
1467           (Daisuke Murase)
1468         - Fix __PACKAGE__->config->{foo} = 'bar' case with subclassing
1469         - Add Catalyst::Stats (Jon Schutz)
1470         - Fixed a bug where ?q=bar=baz is decoded as q=>'bar', not 'bar=baz'.
1471           (Tatsuhiko Miyagawa, Masahiro Nagano)
1472         - Fixed a bug where -rr (restart regex) command line option could cause
1473           shell errors. (Aristotle Pagaltzis, Chisel Wright)
1474
1475 5.7011  2007-10-18 20:40:00
1476         - Allow multiple restart directories and added option to follow
1477           symlinks in the HTTP::Restarter engine (Sebastian Willert)
1478         - Fixed t/optional_http-server-restart.t so it actually tests
1479           if the server restarted or notified of an error (Sebastian Willert)
1480         - Return child PID from the HTTP engine when run with the 'background' option.
1481           (Emanuele Zeppieri)
1482         - Fixed bug in HTTP engine where writes could fail with
1483           'Resource temporarily unavailable'.
1484         - Fixed bug where %2b in query parameter is doubly decoded to ' ', instead of '+'
1485           (RT #30087, Gavin Henry, Tatsuhiko Miyagawa, Oleg Pronin)
1486         - Fixed bug where req->base and req->uri would include a port number when running
1487           in SSL mode.
1488         - Removed unnecessary sprintf in debug mode that caused warnings on locales where
1489           commas are used for decimal markers.
1490         - Improved error message for case when server picks up editor save
1491           files as module names. (James Mastros)
1492
1493 5.7010  2007-08-22 07:41:00
1494         - Resource forks in 5.7009
1495
1496 5.7009  2007-08-22 00:14:00
1497         - Moved Manual.pod to Manual.pm and clarified status of
1498           Catalyst-Manual dist
1499         - Doc patches to Catalyst::Controller
1500         - remove ignore_loaded from plugin load, commenting why
1501         - document the ignore_loaded feature in Catalyst::Utils
1502         - Add testing of inline plugins.
1503
1504 5.7008  2007-08-13 08:40:00
1505         - Added $c->request->query_keywords for getting the keywords
1506           (a query string with no parameters).
1507         - Add undef warning for uri_for.
1508         - Fix bug where a nested component would be setup twice.
1509         - Make ensure_class_loaded behave better with malformed class name.
1510         - Make _register_plugin use ensure_class_loaded.
1511         - Remove 'Argument "??" isn't numeric in sprintf' warning.
1512           (Emanuele Zeppieri)
1513         - Fixed a bug where Content-Length could be set to 0 if a filehandle
1514           object in $c->response->body did not report a size.
1515         - Fixed issue where development server running in fork mode did not
1516           properly exit after a write error.
1517           (http://rt.cpan.org/Ticket/Display.html?id=27135)
1518         - Remove warning for captures that are undef.
1519         - Fixed $c->read and parse_on_demand mode.
1520         - Fixed a bug with the HTTP engine where very large response bodies
1521           would not be sent properly.
1522
1523 5.7007  2007-03-13 14:18:00
1524         - Many performance improvements by not using URI.pm:
1525           * $c->uri_for (approx. 8x faster)
1526           * $c->engine->prepare_path (approx. 27x faster)
1527           * $c->engine->prepare_query_parameters (approx. 5x faster)
1528         - Updated HTTP::Body dependency to 0.9 which fixes the following issues:
1529           * Handle when IE sometimes sends an extra CRLF after the POST body.
1530           * Empty fields in multipart/form-data POSTs are no longer ignored.
1531           * Uploaded files with the name "0" are no longer ignored.
1532         - Sending SIGHUP to the dev server will now cause it to restart.
1533         - Allow "0" for a path in uri_for.
1534         - Performance and stability improvements to the built-in HTTP server.
1535         - Don't ignore file uploads if form contains a text field with the same name.
1536           (Carl Franks)
1537         - Support restart_delay of 0 (for use in the POE engine).
1538         - Skip body processing if we don't have a Content-Length header.
1539           Results in about a 9% performance increase when handling GET/HEAD
1540           requests.
1541         - Add a default body to redirect responses.
1542         - MyApp->model/view now looks at MyApp->config->{default_view/model}
1543           (Bogdan Lucaciu)
1544
1545 5.7006   2006-11-15 14.18
1546         - Updated manifest
1547         - Fix Slurp dependency
1548         - Updated HTTP::Body dependency to 0.6, 0.5 can break on large POST
1549           requests.
1550         - Skip utf8 fix for undef values in uri_with() and uri_for()
1551
1552 5.7005   2006-11-07 19:37:35
1553         - Fixed lighttpd tests to be properly skipped.
1554         - Moved IE workarounds to exist only in the HTTP engine.
1555         - Added installation instructions (from Catalyst-Manual dist)
1556
1557 5.7004   2006-11-06 20:48:35
1558         - Fix Engine::HTTP crash when using IE. (Jesper Krogh, Peter Edwards)
1559         - clean up Catalyst::Utils to handle some edge cases
1560         - Properly work around lighttpd PATH_INFO vs. SCRIPT_NAME bug
1561           (Mark Blythe)
1562         - add _application accessor to Catalyst::Base
1563         - Support current_view
1564         - Allow use of Catalyst::Test without app name (Ton Voon, Altinity)
1565         - Catalyst::Manual moved to its own package
1566         - Add option to FastCGI engine to send errors to stdout, not the web server
1567         - Use Module::Install's auto_install to install prerequisite modules
1568         - various documentation fixes and improvements
1569
1570 5.7003   2006-09-21 16:29:45
1571         - Additions and updates to tutorial
1572
1573 5.7002   2006-09-17 19:35:32
1574         - unescape captures to match args
1575         - fix for relative Chained under namespace '' (root)
1576         - fix for hashrefs in action attributes from config
1577         - fix for Chained to require correct number of CaptureArgs
1578
1579 5.7001   2006-07-19 23:46:54
1580         - fix for component loading
1581         - uri_for and uri_with now behave as they used to with non-
1582           array references
1583
1584 5.7000   2006-07-07 08:08:08
1585         - fix FCGI.pm warning message with FastCGI engine
1586         - bumped inc::Module::Install to 0.63 in Makefile.PL
1587         - fixes to uri_for_action for DispatchType::Chained
1588         - Further doc work.
1589         - Minor code cleanups
1590         - Changed catalyst.pl to depend on Catalyst::Devel
1591
1592 5.70_03  2006-06-28 16:42:00
1593         - fixup to registered plugins debug at app startup
1594         - refactored Catalyst::Utils::home
1595
1596 5.70_02  2006-06-27 11:51:00
1597         - Updated tutorial.
1598
1599 5.70_01  2006-06-26 10:49:00
1600
1601         - fixed a Catalyst::Base bug causing duplicate action registrations
1602         - modified DispatchTypes to support multiple registrations
1603         - added Catalyst::Runtime module as dist marker
1604         - added Catalyst::ActionChain and Chained DispatchType
1605         - removed retarded registration requirement in dispatcher
1606         - removed Module::Pluggable::Fast hack in favor of
1607           Module::Pluggable::Object
1608         - extended uri_for, added dispatcher->uri_for_action
1609         - added Catalyst::Base->action_for('methodname')
1610         - checked and tested :Args multimethod dispatch
1611         - added ability to set action attributes from controller config
1612         - added merge_config_hashes() as a convenience method
1613         - Swapped out CGI::Cookie in favour of CGI::Simple::Cookie
1614         - Removed test dependencies on Test::NoWarnings, Test::MockObject
1615         - Removed dependency on UNIVERSAL::require
1616         - Split out Catalyst::Helper into a new distribution
1617         - un-bundled the plugins as they are now pre-reqs for Catalyst::Helper
1618         - nuked each() out of core with prejudice (due to lurking buglets)
1619         - Added tests from phaylon for dispatcher precedence
1620         - Use Class::Inspector->loaded($class) instead of $class->can('can')
1621         - Added ActionClass attribute
1622         - Removed Test::WWW::Mechanize::Catalyst from Makefile.PL (circular dep)
1623         - Updated docs for Catalyst::Component
1624         - Separated execute and dispatch on Catalyst::Action
1625         - cleaned up logging and debug output
1626         - significant documentation revisions
1627         - Added warning for setup being called twice
1628         - Fix pod to use DBIC::Schema instead of DBIC model
1629         - Fix ->config failing to copy _config for subclassing
1630         - Updated log format
1631         - Updated debug dump
1632
1633 5.6902  2006-05-04 13:00:00
1634         - Remove tarballs and OSX metadata files.
1635
1636 5.6901  2006-05-03 11.17:00
1637         - Module::Install didn't overwrite META.yml.
1638
1639 5.6900  2006-05-03 11.17:00
1640         - Stupid pause indexer can't count.
1641         - Better fix for Catalyst::Test
1642         - more tests.
1643
1644 5.682   2006-04-27 13:51:00
1645         - Damn OSX attributes again :(
1646
1647 5.681   2006-04-27 08:47:00
1648         - Updated manifest.
1649         - Add basename to core . (Deprecates Catalyst::Plugin::Basename)
1650
1651 5.68    2006-04-26 12:23:00
1652         - ConfigLoader: Updated to version 0.06
1653         - fixed undef warnings in uri_for() and uri_with()
1654         - Fixed Catalyst::Test to report errors on failed Class load
1655
1656 5.678   2006-04-24 12:30:00
1657         - Re-release of 5.67 without OSX metadata files.
1658
1659 5.67    2006-04-23 08:50:00
1660         - Added $c->req->uri_with() helper
1661         - ConfigLoader: Updated to version 0.05
1662         - Fix up Engine to avoid a new 5.8.8 warning
1663         - Added app name with :: support for PAR
1664         - Added $c->models/views/controllers
1665         - Static::Simple: Unescape the URI path before looking for the file.
1666           This fixes issues with files that have spaces.
1667         - Looping and recursion tests plus a fix
1668         - Added lots of API documentation. Refactored main pod.
1669         - Changed default behaviors for $c->model/$c->controller/$c->view
1670           to more sane settings.
1671         - added the clear_errors method - an alias for error(0)
1672         - Added tmpdir option for uploads (woremacx)
1673         - Applied patch from GEOFFR to allow normal filehandles.
1674         - Refactored Dispatcher internals for better readability and speedup
1675           (stress tests run 12% faster)
1676         - Allow $c->error to run as a class method
1677
1678 5.66    2006-03-10 17:48:00
1679         - Added Test::WWW::Mechanize::Catalyst support
1680         - Cleaned generated tests
1681         - Added Root controller concept
1682         - Updated ConfigLoader plugin to version 0.04
1683
1684 5.65    2006-02-21 10:34:00
1685         - Added plugin introspection.
1686         - Support optional hashref as last param for parameters in uri_for.
1687         - Updated tutorial to be more complete.
1688         - Applied args patch from antirice (Fixes Ticket #67)
1689
1690 5.64    2006-02-07 20:29:00
1691         - Fixed bug in FastCGI proc manager mode where pm_post_dispatch
1692           was not run. (Eric Wong)
1693         - Cleaned up generated tests
1694         - Updated YAML support to use ConfigLoader
1695         - Fixed path dispatch to canonicalise correctly
1696             (see http://dev.catalyst.perl.org/ticket/62)
1697         - Added Catalyst::Manual::About
1698
1699 5.63    2006-01-22 00:00:00
1700         - Updated prereq versions
1701
1702 5.62    2006-01-17 16:30:00
1703         - Large update to the tutorial (castaway)
1704         - Added YAML config support
1705         - Added COMPONENT() and ACCEPT_CONTEXT() support
1706         - Action list in debug mode is now displayed as a tree in the
1707           correct execution order.
1708         - Fixed engine detection to allow custom mod_perl engines.
1709         - Static::Simple: Fixed bug in ignore_dirs under win32.
1710         - Display version numbers of loaded plugins. (Curtis Poe)
1711         - Added class and method for caught exception messages.
1712         - Updated PAR support to use "make catalyst_par",
1713           packages are no longer written by Makefile.PL.
1714         - Automatically determine Content-Length when serving a
1715           filehandle.
1716         - Exceptions now return status 500.
1717         - Updated for Module::Install 0.44.
1718         - Fixed additional file installation for multi level app names.
1719         - Added REDIRECT_URL support for applications running behind
1720           a RewriteRule in Apache. (Carl Franks)
1721         - Fixed FastCGI engine under win32. (Carl Franks)
1722         - FastCGI doc updates (Bill Moseley)
1723         - Bugfix for $c->model and friends (defined).
1724
1725 5.61    2005-12-02 00:00:00
1726         - Fixed ExtUtils::AutoInstall Bootstrap Code in Makefile.PL
1727
1728 5.60    2005-12-01 22:15:00
1729         - Fixed Path and index actions in the appclass,
1730           including those that attach to /
1731         - Index is now weighted higher than Path
1732         - Fixed restarter and -d debug switch in server.pl.
1733         - Added a warning if you attempt to retrieve a parameter
1734           using $c->req->params('foo').
1735         - Fixed the Module::Install::Catalyst @ISA bug
1736
1737 5.59    2005-11-30 13:25:00
1738         - Fixed shebang line for generated scripts
1739         - Fixed forward to classes ($c->forward(qw/MyApp foo/))
1740         - Wrap use block in begin to quelch C:C3 warnings
1741         - Removed scrollbar from debug output
1742         - Fixed catalyst_par_core() and catalyst_par_multiarch()
1743
1744 5.58    2005-11-24 10:51:00
1745         - Added ExtUtils::AutoInstall support
1746         - Allow overriding path in Catalyst::Helper.
1747         - Added -makefile to catalyst.pl to generate a new Makefile.PL.
1748         - Restored Catalyst::Build with a deprecation notice.
1749         - Improved PAR support
1750         - Replaced -short with auto-detection
1751         - Fixed prereqs, added File::Copy::Recursive
1752         - Static::Simple changes:
1753             - Made prepare_action play nice with other plugins by not short-
1754               circuiting.
1755             - Added tmpl to the ignored extensions.
1756             - Fixed security problem if req->path contained '..'.
1757
1758 5.57    2005-11-20 22:45:00
1759         - Updated uri_for to accept undef actions
1760         - Switched to Module::Install
1761         - Renamed tests for easier editing
1762         - Reformatted documentation
1763         - Renamed -nonew to -force
1764         - Added PAR support
1765         - Added keep-alive support and bug fixes to HTTP engine.
1766           (Sascha Kiefer)
1767         - Added daemonize option to FastCGI engine. (Sam Vilain)
1768
1769 5.56   2005-11-16 10:33:00
1770         - Fixed FastCGI engine to not clobber the global %ENV on each
1771           request. (Sam Vilain)
1772         - Updated benchmarking to work with detach
1773         - Fixed dispatcher, so $c->req->action(undef) works again
1774         - Updated Catalyst::Test to use HTTP::Request::AsCGI
1775         - Added -pidfile to external FastCGI server.
1776
1777 5.55    2005-11-15 12:55:00
1778         - Fixed multiple cookie handling
1779
1780 5.54    2005-11-14 22:55:00
1781         - Fixed a Module::Pluggable::Fast related bug
1782
1783 5.53    2005-11-14 15:55:00
1784         - Removed t/04prereq.t that was testing for non-required
1785           modules.
1786
1787 5.52    2005-11-14 10:57:00
1788         - Strip '..'s in static urls to fix security issue.
1789
1790 5.51    2005-11-14 00:45:00
1791         - Changed uri_for to use namespace instead of match.
1792
1793 5.50    2005-11-13 20:45:00
1794         - Fixed minor bugs.
1795         - Updated docs.
1796
1797 5.49_05 2005-11-12 20:45:00
1798         - Large update to the documentation. (David Kamholz)
1799         - Fixed args handling in forward()
1800         - Fixed forwarding to classes
1801         - Fixed catalyst.pl-generated Build.PL Makefile section.
1802         - Fixed relative forwarding
1803         - Fixed forward arrows in debug output
1804
1805 5.49_04 2005-11-09 23:00:00
1806         - Made context, dispatcher, engine, request and response classes
1807           configurable.
1808         - Added $c->stack.
1809         - Fixed dispatcher to ignore unknown attributes.
1810         - Improved format of startup debug log.
1811         - Updated built in server to restart on win32. (Will Hawes)
1812         - Fixed streaming write from a filehandle to stop writing
1813           if the browser is closed.
1814         - Added $c->controller, $c->model and $c->view shortcuts.
1815         - Switched to Text::SimpleTable.
1816
1817 5.49_03 2005-11-03 12:00:00
1818         - Fixed $c->req->{path} for backwards-compatibility.
1819         - Allow debug to be disabled via ENV as well as enabled.
1820         - Added -scripts option to catalyst.pl for script updating
1821         - Changed helpers to default to long types, Controller instead of C
1822         - Added Catalyst::Controller, Catalyst::Model and Catalyst::View
1823           base classes
1824         - Added JavaScript to debug screen to show and hide specific dumps
1825         - Added _DISPATCH, _BEGIN, _AUTO, _ACTION and _END actions
1826         - Added multi process external FastCGI support
1827           (see myapp_fastcgi.pl -help) (Sam Vilain)
1828         - Restarter process in HTTP engine now properly exits when the
1829           parent app is shut down.
1830         - Improved performance of restarter loop while watching for
1831           changed files.
1832         - Restarter will now detect new files added to an app on systems
1833           that change directory mtimes when new files are created.
1834         - Restarter now properly handles modules that are deleted from an
1835           application.
1836         - Fixed memory leak in TestApp.
1837
1838 5.49_02 2005-10-26 12:39:00
1839         - Whole new dispatcher!
1840         - Added index action
1841         - Added path_to method
1842         - Added support for passing an IO::Handle object to $c->res->body.
1843           (Andrew Bramble)
1844         - Added a new welcome screen.
1845         - Included Catalyst buttons and icons in helper.
1846         - Added Static::Simple plugin to core.
1847         - Added self restarting test server
1848         - Added filename to debug output for uploaded files.
1849         - Fixed forwarding with embedded arguments.
1850         - Fixed handling of escaped query strings.
1851         - Added upload parameters back into $c->req->params.
1852         - Added multiple paths support to dispatcher
1853         - Fixed bug in req->path where changing the path added a trailing
1854           slash.
1855         - Removed req->handle and res->handle
1856         - Added prepare_body_chunk method as a hook for upload progress.
1857         - Fixed bug in uri_for method when base has no path.
1858         - Added automated tests for HTTP, CGI, and FastCGI servers.
1859
1860 5.49_01 2005-10-10 10:15:00
1861         - Refactored all internals, should be 99% compatible to previous
1862           versions.
1863         - *IMPORTANT* The Apache engines have been moved to a separate package
1864           for this release.  Please install Catalyst::Engine::Apache if you
1865           need Apache support.
1866
1867         - Added support for calling forward with arguments in the path, i.e.
1868           $c->forward('/foo/bar/arg1/arg2')
1869         - Made $c->req->uri a URI object, added req->path_info for CGI compat.
1870           Raw query string is available as $c->req->uri->query.
1871         - Made $c->req->base a URI object.
1872         - Parameters with multiple values (?a=1&a=2) now display properly
1873           in the debug output.
1874         - Semi-colon separators in query strings now work properly.
1875         - Expanded documentation of catalyst.pl (Andrew Ford)
1876         - Added support for running as a backend server behind a frontend
1877           proxy so req->base and req->address are set properly.
1878         - Added an 'abort' method to the Log api, so that you can
1879           kill loggging for a whole request.
1880         - Added $c->uri_for method to simplify url handling.
1881         - Added more tests and reorganized the t directory.
1882         - Reimplemented core engines, all are now CGI based for better test
1883           coverage and maintainability.
1884         - Added fork support to built in test server.
1885         - Fixed all memory leaks.
1886         - Thread-related bug fixes and tests.  We now believe the Catalyst
1887           core to be thread-safe.
1888         - Added streaming IO support through $c->req->read() and
1889           $c->res->write()
1890         - Added MyApp->config->{parse_on_demand} (streaming input)
1891         - Added $c->req->handle and $c->res->handle
1892         - Improved documentation
1893         - Fixed mkpath in Catalyst::Helper (Autrijus Tang)
1894         - Fixed bug in dispatcher where an invalid path could call a valid
1895           action. (Andy Grundman)
1896         - Fixed Helper so it works with CRLF line-endings. (Andy Grundman)
1897
1898 5.33  2005-08-10 15:25:00
1899         - Now with updated manifest.
1900
1901 5.32  2005-08-10 15:10:00
1902         - Dispatcher might fail if object returns false.
1903
1904 5.31  2005-06-04 12:35:00 (never released to CPAN)
1905
1906         - helpers now create .new files where files already exist and differ
1907         - fixed $Data::Dumper::Terse (Robin Berjon)
1908         - added arguments for detach
1909         - new credits section in POD
1910         - fixed detach to allow relative action names (Matt and Robert)
1911         - added the ability to have whitespaces in Path( '' ) and Regex( '' )
1912
1913 5.30  2005-06-04 12:35:00
1914
1915         - Fixed a bug where it was not possible to $c->forward to a
1916           component
1917           that was not inheriting from Catalyst::Base.
1918         - Fix for inheritance bug.
1919         - Allow forward with arguments.
1920         - Updated cookbook
1921         - Allow overriding home/root in config.
1922         - make module build cons README automatically.
1923         - prettify home path by resolving '..' (Andy Grundman)
1924         - improved helper templates a bit, new naming scheme for tests.
1925         - added support for case sensitivity, MyApp->config->{case_sensitive}
1926         - added $c->detach for non-returning forwards
1927         - added unified error handling, Catalyst::Exception
1928         - added section on param handling in Intro.pod
1929         - added $c->request->cookie
1930         - added Catalyst::Setup
1931         - refactored Catalyst::import()
1932         - improved rendering of error messages in debug mode
1933         - fixed a bug in Catalyst::Helper::mk_dir
1934         - further doc changes, esp. to Intro.pod
1935
1936 5.23  2005-06-03 02:30:00
1937         - added support for non Catalyst::Base components to live in namespace
1938         - improved concurrency connections in Catalyst::Engine::HTTP::Daemon
1939
1940 5.22  2005-05-26 14:24:00
1941         - improved base locating in MP engines
1942         - improved error messages in C::E::HTTP::Daemon
1943         - hostnames are now resolved on demand unless provided by engine
1944         - fixed memory leak in $c->execute (Michael Reece, Matt S Trout)
1945
1946 5.21  2005-05-24 14:56:00
1947         - fixed a bug in https detection
1948         - fixed auto chain finally
1949         - added MYAPP_HOME and CATALYST_HOME environment variables
1950
1951 5.20  2005-05-18 19:52:00
1952         - improved uploads and parameters
1953         - added $c->req->protocol and $c->req->secure
1954         - added $c->req->user and $c->req->uri
1955         - improved error message when forwarding to unknown module
1956         - fixed win32 installer
1957         - added deep recursion detection
1958         - fixed auto actions
1959         - fixed inheritance in dispatcher
1960         - allow whitespaces between brackets and quoted string
1961           in Path and Regex attributes
1962         - new helper templates
1963         - installer now supports install_base and destdir
1964         - allow multiple Catalyst apps to run on the same mod_perl
1965           instance (not the same app!)
1966         - fixed MP2 engines
1967         - removed apreq dependency from all MP engines
1968         - added support for MP registry scripts
1969         - added support for LocationMatch and ScriptAliasMatch in MP engines
1970         - added SpeedyCGI engine
1971
1972 5.10  2005-04-23 11:16:00
1973         - updated dependencies to require latest module::pluggable::fast
1974         - new installer for templates and stuff using Module::Build
1975         - scripts are now prefixed, for being installable
1976         IMPORTANT: You have to regenerate the script directory,
1977         remove Makefile.PL and add Build.PL
1978         - Added compat to install Module::Build if required.
1979         - Improved: Params handling with MP engines
1980         - Fixed: Params handling on POST with CGI engine (Andy Grundman)
1981         - Fixed: Helper.pm on Win32 (Matt S Trout)
1982
1983 5.03  2005-04-19 20:35:00 (Revision 462)
1984         - fixed Test example (Torsten Seeman)
1985         - added Plugins chapter to manual
1986         - applied doc patch from Robert Boone <robert@rlb3.com>
1987         - improved Dispatcher error messages.
1988         - refactored so we don't need to include helper from
1989           Catalyst.pm - Fixes issues with FindBin
1990         - applied HTTP.pm patch from Andy Grundman <andy@hybridized.org>
1991         - added plugin() method for instant plugins
1992         - FCGI is no more considered experimental
1993
1994 5.02  2005-04-18 10:00:00
1995         - fixed manifest
1996
1997 5.01  2005-04-17 23:00:00
1998         - some documentation bugs fixed
1999         - added Catalyst::Utils
2000         - fixed regexp bug (Matt S Trout)
2001         - fixed upload bug with MP19
2002         - added $c->req->body
2003         - aliased $c->res->output to $c->res->body
2004         - Read AUTHOR from passwd or $ENV{AUTHOR} when
2005           generating code.
2006         - extended attribute handling
2007         - added global config for components
2008
2009 5.00  2005-04-15 18:00:00
2010         - new core to support inheritance trees
2011         - new syntax for action declaration
2012         - new helper system using TT2
2013         - problems with mod_perl2 fixed
2014         - added Test::Pod support
2015         - added new server backend with HTTP/1.1 support
2016         - added option to run tests against a remote server
2017         - renamed errors() to error()
2018         - more better docs
2019         - countless minor improvements
2020           IMPORTANT: This release is very incompatible to previous ones
2021           and you have to regenerate the helper scripts again...
2022
2023 4.34  2005-03-23 07:00:00 2005
2024         - added some messages to Makefile.PL
2025         - added Catalyst::Engine::Test
2026         - added Catalyst::Engine::CGI::NPH
2027         - simplified Catalyst::Log to be easier to implement/subclass
2028         - added cgi.pl
2029         - updated Catalyst::Test to use Catalyst::Engine::Test
2030         - updated helper scripts
2031           IMPORTANT: this will be the last time you'll have to regenerate
2032           the script directory. We promise!
2033
2034 4.33  2005-03-23 01:00:00 2005
2035         - documented the log() accessor method in Catalyst (Andrew Ford)
2036         - added optional arguments to Catalyst::Log methods (Andrew Ford)
2037         - removed cgi-server.pl
2038         - added fcgi.pl and Catalyst::Engine::FCGI
2039         - fixed an undef durng make test (Dan Sully)
2040         - new path test (Christian Hansen)
2041           IMPORTANT: you have to regenerate the script directory again
2042
2043 4.32  2005-03-22 02:10:00 2005
2044         - made a damn typo *AAAAAAAAAAAAAAHHHH!!!*
2045
2046 4.31  2005-03-22 02:00:00
2047         - fixed inheritance (Christian Hansen)
2048         - previous release was borked!
2049           fixed that, but you have to regenerate the scripts again :(
2050
2051 4.30  2005-03-21 23:00:00
2052         - more documentation (Andrew Ford)
2053         - added connection informations (Christian Hansen)
2054         - HTTP::Request support in Catalyst::Test (Christian Hansen)
2055         - moved cgi.pl to nph-cgi.pl
2056         - added Catalyst::Engine::Server (Christian Hansen)
2057         - removed Catalyst::Test::server
2058         - updated helper scripts
2059           IMPORTANT: note that you have to regenerate script/server.pl,
2060           script/cgi-server.pl and script/cgi.pl (now nph-cgi.pl)
2061
2062 4.28  2005-03-19 22:00:00
2063         - fixed isa tree (Christian Hansen)
2064         - added script/cgi-server.pl, so no more server restarting after
2065           code changes
2066         - reworked documentation (Andrew Ford <A.Ford@ford-mason.co.uk>)
2067
2068 4.27  2005-03-19 01:00:00
2069         - debug message for parameters
2070         - Fix redirects (Christian Hansen <ch@ngmedia.com>)
2071         - some random fixes
2072         - new helper api for Catalyst::Helper::* support
2073           you have to update script/create.pl to use it
2074
2075 4.26  2005-03-16 10:00:00
2076         - fixed the weird bug that caused regex actions to fail on every
2077           second request
2078         - more debug messages
2079         - 100% pod coverage.
2080
2081 4.25  2005-03-12 18:00:00
2082         - correct perl pathes for helper generated scripts (Tatsuhiko Miyagawa)
2083         - improved cgi engine docs (Christoper Hicks)
2084
2085 4.24  2005-03-12 01:00:00
2086         - updated cookbook example
2087         - fixed base for apache and https (Andrew Ruthven)
2088
2089 4.23  2005-03-09 20:00:00
2090         - no more regex actions in forward
2091         - added support for test directories t/m, t/v and t/c
2092
2093 4.22  2005-03-08 20:00:00
2094         - catch errors in application class
2095         - handle die properly.
2096
2097 4.21  2005-03-05 17:00:00
2098         - fixed docs
2099
2100 4.20  2005-03-04 22:00:00
2101         - moved bin to script
2102
2103 4.13  2005-03-03 11:00:00
2104         - improved documentation
2105         - pod coverage test for helper generated apps
2106         - new helper api
2107
2108 4.12  2005-03-02 11:00:00 2005
2109         - server_base sucks, removed
2110         - added $c->log->dump()
2111
2112 4.11  2005-03-02 11:00:00 2005
2113         - removed some warnings
2114         - improved docs
2115         - private prefixed actions override private non prefixed actions
2116         - added server_base
2117         - updated Catalyst::Manual::Intro
2118
2119 4.10  2005-03-02 10:00:00 2005
2120         - improved documentation
2121         - fixed upload bug
2122         - fixed prefixed private actions bug
2123         - fixed more little bugs
2124
2125 4.01  2005-03-01 10:00:00 2005
2126         - improved documentation
2127         - documentation fixes (Johan Lindstrom)
2128
2129 4.00  2005-02-27 22:00:00
2130         - more verbose debug messages, especially for forward()
2131         - implemented prefixed prvate actions, icluding built in
2132           !?default, !?begin and !?end
2133         - new Catalyst::Manual::Intro
2134         - new helpers, bin/catalyst
2135         - helper api
2136
2137 3.11  2005-02-23 21:00:00
2138         - added dependency to UNIVERSAL::require (Marcus Ramberg)
2139         - added a little workaround for a warning in Catalyst::Test
2140           (Marcus Ramberg)
2141         - improved documentation for actions
2142
2143 3.10  2005-02-19 20:00:00
2144         - removed roles management from Catalyst::Engine
2145           and added it to Catalyst::Plugin::Authentication::CDBI
2146
2147 3.04  2005-02-17 21:00:00
2148         - error reporting for app class
2149         - no more engine debug messages
2150         - class->method forwards get resolved now
2151
2152 3.03  2005-02-16 23:00:00
2153         - friendlier statistics
2154
2155 3.02  2005-02-16 22:00:00
2156         - fixed unintialized actions (Marcus Ramberg)
2157
2158 3.01  2005-02-16 20:30:00
2159         - better statistics
2160
2161 3.00  2005-02-16 20:00:00
2162         - real version number for CPAN.pm
2163         - fixed redirect in CGI engine
2164         - more statistics in debug logs
2165         - ? prefix for forward()
2166
2167 2.99_15  2005-02-02 22:00:00
2168         - support for short namespaces, MyApp::M, MyApp::V and MyApp::C
2169         - Replaced "Catched" with "Caught" in Catalyst::Engine
2170           (Gary Ashton Jones)
2171         - replaced _ with ! for private actions
2172         - added ? for prefixed actions
2173         - misc improvememts
2174
2175 2.99_14  2005-01-31 22:00:00 2005
2176         - arguments for _default
2177         - $c->entrance removed for more flexibility
2178         - added $c->req->method
2179
2180 2.99_13  2005-01-30 18:00:00 2005
2181         - POD fixes and improvements
2182
2183 2.99_12  2005-01-28 22:00:00 2005
2184         - first development release