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