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