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