Test uri_for with path = 0
[catagits/Catalyst-Runtime.git] / Changes
diff --git a/Changes b/Changes
index fb8e98d..4d86d01 100644 (file)
--- a/Changes
+++ b/Changes
 # This file documents the revision history for Perl extension Catalyst.
 
+5.90101 - 2015-09-04
+  - Fixed a regression introduced in the last release which caused test
+    case failure when using a version of Perl 5.14 or older.
+
+5.90100 - 2015-08-24
+  - Document using namespace::autoclean with controllers that have actions
+    with type constraints.
+  - Look for type constraints in super classes and consumed roles.
+  - Change the way the stash middleware works to no longer localize $psgi_env.
+  - If you delegate control to a sub Catalyst application, that application
+    may now return information to the parent application via the stash.
+  - Fix for RT#106373 (Issue when you try to install and also have an old
+    version of Test::Mechanize::WWW::Catalyst)
+
+5.90097 - 2015-07-28
+  - $c->uri_for now defines a final argument for setting the URL fragment
+  /URL anchor.  This is now the canonical approach to setting a fragment
+  via uri_for.
+  - Reverted how we treat $c->uri_for($path) where $path is a string.  When
+    we introduced the UTF-8 work we started encoding stringy paths, which
+    breaks code that did not expect that.  We now consider stringy $path to
+    be 'expert' mode and you are expected to perform all nessary encoding.
+
+5.90096 - 2015-07-27
+  - Fixed regression introduced in previous release that prevented a URI
+    fragment from getting properly encoded.  Added more tests around this
+    to define behavior better.
+
+5.90095 - 2015-07-27
+  - Minor test case tweak that I hope solve some minor hiesenfails reported
+    on CPAN testers.
+  - (https://github.com/perl-catalyst/catalyst-runtime/pull/109) added som
+    additional directions to how to setup a development sandbox
+  - (https://github.com/perl-catalyst/catalyst-runtime/pull/108) fix bug in
+    encoding where URI fragment seperator '#' in ->uri_for would get encoded.
+
+5.90094 - 2015-07-24
+  - When there is a multipart POST request and the parts have extended
+    HTTP headers, try harder to decode and squeeze a meaningful value
+    out of it before giving up and crying.  Updated docs and tests to
+    reflect this change.  This should solve problems when your clients
+    are posting multipart form values with special character sets.
+  - Fixed issue where last_error actually returned the first error.  Took
+    the change to add a 'pop_errors' to give the inverse of shift_errors.
+  - Merged Pull Requests:
+    - https://github.com/perl-catalyst/catalyst-runtime/pull/95
+    - https://github.com/perl-catalyst/catalyst-runtime/pull/96
+    - https://github.com/perl-catalyst/catalyst-runtime/pull/97
+    - https://github.com/perl-catalyst/catalyst-runtime/pull/98
+    - https://github.com/perl-catalyst/catalyst-runtime/pull/106
+    - https://github.com/perl-catalyst/catalyst-runtime/pull/107
+
+5.90093 - 2015-05-29
+  - Fixed a bug where if you used $res->write and then $res->body, the
+    contents of body would be double encoded (gshank++).
+
+5.90092 - 2015-05-19
+  - Allows you to use a namespace suffix for request, response and stats
+    class traits.  Docs and tests for this.
+  - Refactor the change introduced in 5.90091 to solve reported issues (for
+    example Catalyst::Controller::DBIC::API fails its tests) and to be a more
+    conservative refactor (new code more closely resembles the orginal code
+    that has proven to work for years.)
+
+5.90091 - 2015-05-08
+  - Fixed a bug where if an injected component expanded sub components, those
+    sub components would not show up in the startup debug dev console (
+    even though they were actually created).
+
+5.90090 - 2015-04-29
+  - Updated some documention in Catalyst::Request::Upload to clarify behavior
+    that RT ticket reported as confusing or unexpected
+  - Merged all changes from 5.90089_XXX development cycle.
+  - removed a mistaken use of Test::Most, which is not a core Catalyst
+    dependency.  Used Test::More instead.
+
+5.90089_004 - 2015-04-28
+  - Added swanky github badges.
+  - Reverted a change to how the stats engine is setup that was incorrect.
+  - New application setup hook 'config_for' which allows one to get the
+    canonical application configuration for a controller, view or model, or
+    a plugin.  Can also be used to override and adapt what configuration is
+    retrieved.
+
+5.90089_003 - 2015-04-27
+  - Fixed an issue where a delayed controller that did ACCEPT_CONTEXT would
+    raise an error when registering its actions.
+  - Updated some documentation around route matching.
+  - refactored the setup of injected components to allow you to hook into
+    the injection and do custom injection types.
+
+5.90089_002 - 2015-04-17
+  - Changed the way we check for presence of Type::Tiny in a test case to be
+    more explicit in the version requirement.  Hopefully a fix for reported
+    test fail.
+  - When declaring type constraints in Args and CaptureArgs, if you want to
+    use a Moose builtin type (or a custom stringy type that you've already
+    defined and associated with the Moose::TypeRegistry) you must now quote
+    the type name.  This is to clearly disambiguate between Moose stringy types
+    and imported types.
+  - Additional changes to type constraint detection to between determine when a
+    type constraint for reference types have a measured number of arguments or
+    not.  clarify restriction on reference type constraints.
+  - Several bugs with type constraints and uri_for squashed.  More test cases
+    around all the argument type constraints to tighten scope of action.
+  - NEW FEATURE: New method in Catalyst::Utils 'inject_component', which is a core
+    version of the previously external addon 'CatalystX::InjectComponent'.  You should
+    start to convert your existing code which uses the stand alone version, since
+    going forward only the core version will be supported.  Also the core version in
+    Catalyst::Utils has an additional feature to compose roles into the injected
+    component.
+  - NEW FEATURE: Concepts from 'CatalystX::RoleApplicator' have been moved to core
+    so we now have the follow application attributes 'request_class_traits',
+    'response_class_traits' and 'stats_class_traits' which allow you to compose
+    traits for these core Catalyst classes without needing to create subclasses. So
+    in general any request or response trait on CPAN that used 'CatalystX::RoleApplicator'
+    should now just work with this core feature.  Note that  can also set thse roles
+    via new configuration keys, 'request_class_traits', 'response_class_traits' 
+    and 'stats_class_traits'. If you use both configuration and application class methods,
+    they are combined.
+  - NEW FEATURE: Core concepts from 'CatalystX::ComponentsFromConfig'.  You can now
+    setup components directly from configuration.  This could save you some effort and
+    creating 'empty' base classes in your Model/View and Controller directories.  This
+    feature is currently limited in that you can only configure components that are
+    'true' Catalyst components (but you may use Catalyst::Model::Adaptor to proxy
+    stand alone classes...).
+  - Only create a stats object if you are using stats.  This is a minor performance
+    optimization, but there's a small chance it is a breaking change, so please
+    report any stats related issues.
+  - Added a developer mode warning if you call a component with arguments that does not
+    expect arguments (for example calling $c->model('Foo', 1,2,3,4) where Myapp::Model::Foo
+    does not ACCEPT_CONTEXT.  Only components that ACCEPT_CONTEXT do anything with
+    passed arguments in $c->controller/view/model.
+  - Change the way components are setup so that you can now rely on all components
+    when setting up a component.  Previously application scoped components could not
+    reliably use an existing application scoped component as a dependecy for initialization.
+
+5.90089_001 - 2015-03-26
+  - New development branch synched with 5.90085.
+  - NEW FEATURE: Type Constraints on Args/CaptureArgs.  Allows you to declare
+    a Moose, MooseX::Types or Type::Tiny named constraint on your Arg or 
+    CaptureArg.
+  - When using $c->uri_for (or the derived $c->uri_for_action) and the target
+    action has type constrainted args (or captures), verify that the proposed
+    URL matches the defined args.  In general $c->uri_for will be a bit more
+    noisy if the supplied arguments are not correct.
+  - New top level document on Route matching. (Catalyst::RouteMatching).  This
+    document is still in development, but is worth review and comments.
+
+5.90085 - 2015-03-25
+  - Small change to Catalyst::Action to prevent autovivication of Args value (dim1++)
+  - Minor typo fixes (Abraxxa++)
+  - Make sure than when using chained actions and when more than one action
+    matches the same path specification AND has Args(0), that we follow the
+    "in a tie, the last action defined wins" rule.  There is a small chance
+    this is a breaking change for you.  See Catalyst::Upgrading for more.
+    You may use the application configuration setting "use_chained_args_0_special_case"
+    to disable this new behavior, if you must for back-compat reasons.
+  - Added PATCH HTTP Method action attribute shortcut.
+  - Several new configuration options aimed to give improved backwards compatibility
+    for when your URL query parameters or keywords have non UTF-8 encodings.
+    See Catalyst::Upgrading.
+
+5.90084 - 2015-02-23
+  - Small change to the way body parameters are created in order to prevent
+    trying to create parameters twice.
+  - Use new HTTP::Body and code updates to fix issue when POSTed params have
+    non UTF-8 charset encodings or otherwise complex upload parts that are not
+    file uploads. In these cases when Catalyst can't determine what the value of
+    a form upload is, will return an instance of Catalyst::Request::PartData with
+    all the information need to figure it out.  Documentation about this corner
+    case. For RT https://rt.cpan.org/Ticket/Display.html?id=101556
+  - Two new application configuration parameters 'skip_body_param_unicode_decoding'
+    and 'skip_complex_post_part_handling' to assist you with any backward
+    compatibility issues with all the new UTF8 work in the most recent stable
+    Catalyst.  You may use these settings to TEMPORARILY disable certain new
+    features while you are seeking a long term fix.
+
+5.90083 - 2015-02-16
+  - Fixed typo in support for OPTIONS method matching (andre++)
+  - Stop using $env->{'plack.request.query'} as a query parsing optimization
+    since 1) it doesn't belong to us and 2) there's subtle differences in the
+    way plack parses parameters and catalyst does.  This fixes a bug when you
+    are using middleware that uses Plack::Request to do its thing.  This change
+    might have subtle impact on query parsing.  Please test this change!
+
+5.90082 - 2015-01-10
+  - Fixed a regression created in $response->from_psgi_response and test case
+    to prevent it happening again.
+
+5.90081 - 2015-01-10
+  - created class attribute 'finalized_default_middleware' which determines
+    if the default middleware has been added to the stack yet or not.  This
+    removes a horrible hack that polluted the configuration hash.  Added
+    test case to prevent regressions.
+
+5.90080 - 2015-01-09
+  - Minor documentation corrections
+  - Make the '79 development series stable
+
+5.90079_008  - 2015-01-07
+  - If we get a response set from $res->from_psgi_response and that response
+    has a charset for the content type, we clear encoding for the rest of the
+    response (avoid double encoding).  Added more documentation around this.
+  - Documentation updates and typo fixes across various UTF8 docs (Mark Ellis++)
+
+5.90079_007  - 2015-01-07
+  - Merged from Stable (5.90079)
+  - reviewed and cleaned up UTF8 related docs
+  - replace missing utf8 pragma in Catalyst::Engine
+  - Cleaned up spelling errors in various docs (abbraxxa++)
+  - New document Catalyst::UTF8 which attempts to summarize UTF8 and encoding
+    changes introduced in v5.90080.
+
+5.90079_006  - 2015-01-02
+  - Removed unneeded dependency on RenderView in new test case that was causing fails
+    on CPAN testers that did not just happen to have that dependency already installed
+  - Updated copyright notices to 2015
+  - Documentation patches around the setup methods and clarification on on security
+    note posted a few months ago.
+  - Added my name to the contributors list
+
+5.90079_005 - 2014-12-31
+  - Merged changes from 5.90078
+  - If configuration 'using_frontend_proxy' is set, we add the correct middleware
+    to the default middleware list.  This way you get the correct and expected
+    behavior if you are starting your application via one of the generated scripts
+    or if you are calling MyApp->psgi_app.  Previously if you started the application
+    with ->psgi_app (or to_app) we ignored this configuration option
+  - New configuration option 'using_frontend_proxy_path' which enables
+    Plack::Middleware::ReverseProxyPath on your application easily.  Please note that
+    Plack::Middleware::ReverseProxyPath is not an automatic dependency of Catalyst at
+    this time, so if you want this feature you should add it to your project dependency
+    list.  This is done to avoid continued growth of Catalyst dependencies.
+  - Tweaks encoding docs a bit to get closer to final.
+
+5.90079_004 - 2014-12-26
+  - Starting adding some docs around the new encoding stuff
+  - Exposed the reqexp we use to match content types that need encoding via a
+    global variable.
+  - Added some test cases for JSON utf8 and tested file uploads with utf8.
+  - Fixes to decoding on file upload filenames and related methods
+  - new methods on upload object that tries to do the right thing if we find
+    a character set on the upload and its UTF8.
+  - new additional helper methods on the file upload object.
+  - new helper methods has_encoding and clear_encoding on context.
+  - Method on Catalyst::Response to determine if the response should be encoded.
+  - Warn if changing headers only if headers are finalized AND the response callback
+    has already been called (and headers already sent).
+  - Centralized rules about detecting if we need to automatically encode or not and
+    added tests around cases when you choose to skip auto encoding.
+
+5.90079_003 - 2014-12-03
+  - Make sure all tests run even if debug mode is enabled.
+  - Fixed issue with middleware stash test case that failed on older Perls
+
+5.90079_002 - 2014-12-02
+  - Fixed typo in Makefile.PL which borked the previous distribution. No other
+    changes.
+
+5.90079_001 - 2014-12-02
+  - MyApp->to_app is now an alias for MyApp->psgi_app in order to better support
+    existing Plack conventions.
+  - Modify Catalyst::Response->from_psgi_response to allow the first argument to
+    be an object that does ->as_psgi.
+  - Modified Catalyst::Middleware::Stash to be a shallow copy in $env.  Added some
+    docs.  Added a test case to make sure stash keys added in a child application
+    don't bubble back up to the main application.
+  - We no longer use Encode::is_utf8 since it doesn't work the way we think it
+    does... This required some UTF-8 changes.  If your application is UTF-8 aware
+    I highly suggest you test this release.
+  - We always do utf8 decoding on incoming URLs (before we only did so if the server
+    encoding was utf8.  I believe this is correct as per the w3c spec, but please
+    correct if incorrect :)
+  - Debug output now shows utf8 characters if those are incoming via Args or as
+    path or pathparts in your actions.  query and body parameter keys are now also
+    subject to utf8 decoding (or as specified via the encoding configuration value).
+  - lots of UTF8 changes.  Again we think this is now more correct but please test.
+  - Allow $c->res->redirect($url) to accept $url as an object that does ->as_string
+    which I think will ease a common case (and common bug) and added documentation.
+  - !!! UTF-8 is now the default encoding (there used to be none...).  You can disable
+    this if you need to with MyApp->config(encoding => undef) if it causes you trouble.
+  - Calling $c->res->write($data) now encodes $data based on the configured encoding
+    (UTF-8 is default).
+  - $c->res->writer_fh now returns Catalyst::Response::Writer which is a decorator
+    over the PSGI writer and provides an additional method 'write_encoded' that just
+    does the right thing for encoding your responses.  This is probably the method
+    you want to use.
+  - New dispatch matching attribute: Scheme.  This lets you match a route based on
+    the incoming URI scheme (http, https, ws, wss).
+  - If $c->uri_for targets an action or action chain that defines Scheme, use that
+    scheme for the generated URI object instead of just using whatever the incoming
+    request uses.
+
+5.90079 - 2015-01-02
+  - Removed dependency from test case that we don't install for testing (
+    rt #101243)
+  - updated year in copyright notices
+
+5.90078 - 2014-12-30
+  - POD corrections (sergey++)
+  - New configuration option to disable the HTTP Exception passthrough feature
+    introduced in 5.90060.  You can use this if that feature is causing you
+    trouble. (davewood++);
+  - Some additional helper methods for dealing with errors.
+  - More clear exception when $request->body_data tries to parse malformed POSTed
+    data.  Added documentation and tests around this.
+
+5.90077 - 2014-11-18
+  - We store the PSGI $env in Catalyst::Engine for backcompat reasons.  Changed
+    this so that the storage is a weak reference, so that it goes out of scope
+    with the request.  This solves an issue where items in the stash (now in the
+    PSGI env) would not get closed at the end of the request.  This caused some
+    regression, primarily in custom testing classes.
+
+5.90076 - 2014-11-13
+  - If throwing an exception object that does the code method, make sure that
+    method returns an expected HTTP status code before passing it on to the
+    HTTP Exception middleware.
+
+5.90075 - 2014-10-06
+  - Documentation patch for $c->req->param to point out the recently discovered
+    potential security issues: http://blog.gerv.net/2014/10/new-class-of-vulnerability-in-perl-web-applications/
+  - You don't need to install this update, but you should read about the exploit
+    and review if your code is vulnerable.  If you use the $c->req->param interface
+    you really need to review this exploit.
+
+5.90074 - 2014-10-01
+  - Specify Carp minimum version to avoid pointless test fails (valy++)
+
+5.90073 - 2014-09-23
+  - Fixed a regression caused by the last release where we broke what happened
+    when you tried to set request parameters via $c->req->param('foo', 'bar').
+    You shouldn't do this, but I guess I shouldn't have busted it either :)
+  - Allow the term_width to be regenerated (see Catalyst::Utils::term_width,
+    Frew Schmidt)
+  - More aggressive skipping of value decoding if the value is undefined.
+
+5.90072 - 2014-09-15
+  - In the case where you call $c->req->param(undef), warn with a more useful
+    warning (now gives the line of your code that called param with the undef,
+    so you can go to hunt it out.
+
+5.90071 - 2014-08-10
+  - Travis config now performs basic reverse dependency testing.
+  - Restored deprecated 'env' code in Engine.pm b/c it is still being used out
+    in the wild (Catalyst-Plugin-Authentication-0.10023) - (removed in 5.90070)
+  - Reverted changes to debug log/handling (5.90069_003) to fix
+    rev dep Catalyst-Plugin-Static-Simple-0.32 test suite.
+  - Added Italian translation of default error.
+
+5.90070 - 2014-08-07
+  - Retagged previous release as stable; no changes
+
+5.90069_004
+  - Fixed typo in middleware stash that was causing older Perls to fail
+    certain tests.  No other changes.
+
+5.90069_003
+  - The default log level is now 'info', not 'debug'.
+  - Finished merging all the encoding plugin code to core code.  The encoding
+    plugin is now just an empty package.  Also tried to improve encoding docs
+    a bit.
+  - Some additional changes to the stash middleware that should not break
+    anything new.
+  - Documentation around using Sendfile type http headers with a filehandle
+    type response.
+  - Merged from master branch to pick up some additional fixes and documentation
+    improvements.
+
+5.90069_002
+  - Catalyst stash functionality has been moved to Middleware.  It should
+    work entirely the same when used as a context method, please report
+    questions or problems!
+  - Removed code related to supporting the long deprecated stand alone
+    PSGI Engine.  If you are still using this you code is now broken.
+    Luckily you can just stop using it and likely everything will work
+    under the new PSGI support built into Catalyst for several years.
+  - 'abort_chain_on_error_fix' now defaults to true.  If this behavior
+    causes you issues, you can explicitly turn it off by setting it to a 
+    non true defined value (0 is a good option here).
+  - When throwing an http style exception, make sure we properly flush the
+    existing log and report other errors in the error stack.
+
+5.90069_001
+  - Set encoding on STDERR when encoding is set in config
+  - documentation and test fixes
+
+5.90065 - 2014-06-04
+  - The Catalyst::Log object now has 'autoflush' (which defaults to true) and
+    causes log messages to be written out in real-time. This is helpful for the
+    test/dev server to be able to see messages during startup as well as before
+    the end of the request when the log is flushed.
+  - Fix spelling, grammar and structural errors in POD
+  - Remove redundant ->setup call in t/head_middleware.t RT#95361
+  - Fix test failures when running under CATALYST_DEBUG. RT#95358
+
+5.90064 - 2014-05-05
+  - Fix for mindless broken tests on Win32 (Haarg++).
+  - Happy Cinco de Mayo!
+
+5.90063 - 2014-05-01
+  - 'end' and other special actions won't catch HTTP style exceptions anymore.
+  - Fix bug where Catalyst did not properly detect the terminal width when in
+    debug mode and thus making the debug output narrow and hard to read.
+  - Documentation corrections for Util methods around localized PSGI $env.
+  - Improvements to auto detection of terminal width.
+  - Updating deprecation list to include Class::Load and ensure_class_loaded
+  - Added a few docs around middleware and corrected the order that middleware
+    is loaded when registering it via ->setup_middleware instead of via
+    configuration.
+  - Added a test case to make sure default middleware order is correct.
+s
+5.90062 - 2014-04-14
+  - HTTP::Exception objects were not properly bubbled up to middleware since
+    there was some code in Catalyst that was triggering stringification.
+
+5.90061 - 2014-03-10
+  - Reverted a change related to how plugins get initialized that was
+    introduced by a change in December.
+
+5.90060 - 2014-02-07
+  - Same as 5.90059_006, just marking it as stable, no functional changes.
+
+
+5.90059_006 - 2014-02-06
+  - MyApp->setup now returns $app to allow class method chaining.
+  - New Util helper functional localize $env to make it easier to mount PSGI
+    applications under controllers and actions.  See Catalyst::Utils/PSGI Helpers.
+  - NOTICE: Final Development release for Runner, unless significant issues are
+    raised.  Please test.
+
+5.90059_005 - 2014-01-28
+  - Specify newest versions of some middleware in attempt to solve test errors
+    reported while installing.  
+5.90059_004 - 2014-01-27
+  - Make sure IO handle objects do 'getline' before sending them to the
+    response callback, to properly support the PSGI specification.
+  - Added some backcompat code when setting a response body to an object
+    that does 'read' but not 'getline'.  Added deprecation notice for this
+    case.  Added docs to Catalyst::Delta.
+  - Catalyst::Delta contains a list of behaviors which will be considered
+    deprecated immediately.  Most items have workarounds and tweaks you can
+    make to avoid issues.  These deprecations are targeted for removal/enforcement
+    in the Catalyst 6 release.  Please review and give your feedback.
+  - More middleware to replace inline code (upasana++)
+  - Documentation around Exceptions and how we handle them.
+  - update copyright notices.
+
+5.90059_003 - 2013-12-24
+  - More documentation about alternative ways to setup middleware.
+  - removed unneeded use of Devel::Dwarn in test case that was causing
+    fails to install (sorry).
+  - When finalizing caught errors, if the error conforms to the interface as
+    described by Plack::Middleware::HTTPExceptions, rethrow it and let the
+    middleware deal with it.
+
+5.90059_002 - 2013-12-21
+  - We now pass a scalar or filehandle directly to you Plack handler, rather
+    than always use the streaming interface (we are still always using a
+    delayed response callback).  This means that you can make use of Plack
+    middleware like Plack::Middleware::XSendfile and we expect better use of
+    server features (when they exist) like correct use of chunked encoding or
+    properly non blocking streaming when running under a supporting server like
+    Twiggy.  See Catalyst::Delta for more.  This change might cause issues if
+    you are making heaving use of streaming (although in general we expect things
+    to work much better.
+  - In the case when we remove a content body from the response because you set
+    an information status or a no content type status, warn that we are doing so
+    when in debug mode.  You might see additional debugging information to help
+    you find and remove unneeded response bodies.
+  - Updated the code where Catalyst tries to guess a content length when you
+    fail to provide one.  This should cause less issues when trying to guess the
+    length of a funky filehandle.  This now uses Plack::Middleware::ContentLength
+  - Removed custom code to remove body content when the request is HEAD and
+    swapped it for Plack::Middleware::Head
+  - Merged fix for regressions from stable..
+
+5.90059_001 - 2013-12-19
+  - Removed deprecated Regexp dispatch type from dependency list.  If you are
+    using Regex[p] type dispatching you need to add the standalone distribution
+   'Catalyst::DispatchType::Regex' to you build system NOW or you application
+   will be broken.
+
+5.90053 - 2013-12-21
+  - Reverted a change in the previous release that moved the setup_log phase
+    to after setup_config.  This change was made to allow people to use
+    configuration that is late loaded (such as via the ConfigLoader Plugin)
+    to setup the plugin.  However it also broke the ability to use the log
+    during plugin setup (ie, it breaks lots of plugins).  Reverting the 
+    change.  See Catalyst::Delta for workarounds.
+
+5.90052 - 2013-12-18
+
+  - Fixed first block of startup debug messages missing when using a custom
+    logger that gets set at runtime, for example by overriding finalize_config
+  - Give a more descriptive error message when trying to load middleware that
+    does not exist.
+  - Change the way we initialize plugins to fix a bug where when using the 
+    popular ConfigLoader plugin, configs merged are not available for setting
+    up middleware and data handlers (and probably other things as well).
+
+    NOTE: This change might cause issues if you had code that was relying on the
+    broken behavior.  For example external configuration that was being loaded to
+    late to have effect might now take effect.  Please test you code carefully and
+    be aware of this possible issue </NOTE>.
+
+  - You may now also call 'setup_middleware' as a package method if you think
+    that loading middleware via configuration is a weird or broken idea.
+  - Various POD formatting fixed.
+  - Improved some documentation about what type of filehandles that ->body can
+    accept and issues that might arise.
+
+5.90051 - 2013-11-06
+  - Be more skeptical of the existence of $request->env to fix a regression
+    introduced in Catalyst::Action::REST by the previous release
+
+5.90050 - 2013-11-05
+  - Previously public predicates on the following attributes are now considered
+    private and their method names have been changed to follow Perl convention
+    for internal methods:
+
+      -- Catalyst::Request->has_io_fh ==> _has_io_fh
+      -- Catalyst::Request->has_env ==> _has_env
+      -- Catalyst::Response->has_write_fh ==> _has_write_fh
+
+    These are breaking changes but these methods were never documented and serve
+    no use for external code.  If you are using thing, you need to make the noted
+    change (but please consider finding another way to do what you are trying to
+    do).  t0m++ for code review of Hamburg branch.
+
+5.90049_006 - 2013-11-04
+  - Fixed case where test could fail when Starman was partly installed (n0body++)
+  - Fixed missing date information in previous release
+
+5.90049_005 - 2013-10-31
+  - NEW FEATURE:  New Controller action attribute 'Consumes', which allows you
+    to specify the content type of the incoming request.  This makes it easier
+    to create actions that only handle certain content type POST or PUT, such
+    as actions that only handle JSON or actions that only understand classic
+    HTML forms.
+  - NEW FEATURE: Request->body_data is now also populated from classic HTML 
+    Forms using CGI::Struct to support nested data.  For non nested data you
+    should use the classic ->body_parameters method.
+  - Removed PSGI $env keys that are added on the 'plack.request.*' namespace
+    since after discussion it was clear those keys are not part of the public
+    API.  Keys removed: 'plack.request.query', 'plack.request.body', 
+    'plack.request.merged' and 'plack.request.http.body'. Altered some test
+    cases to reflect this change.
+
+5.90049_004 - 2013-10-18
+  - JSON Data handler looks for both JSON::MaybeXS and JSON, and uses
+    whichever is first (preferring to find JSON::MaybeXS).  This should
+    improve compatibility as you likely already have one installed.
+  - Fixed a warning in the server script (bokutin++)
+  - We now populate various Plack $env keys in order to play nice with
+    downstream middleware or plack apps (and to reduce processing if
+    those keys already exist).  Keys added:
+      - plack.request.query
+      - plack.request.body
+      - plack.request.merged
+      - plack.request.http.body
+    (NOTE: REMOVED IN 5.90049_005)
+  - If incoming input (from a POST or PUT) is not buffered, create the
+    buffer and set the correct psgi env keys to note this for downstream
+    psgi apps / middleware.  This should solve some issues where Catalyst
+    sucks up the body input but its not buffered so downstream apps can't
+    read it (for example FCGI does not buffer).  We now also try to make
+    sure the body content input is reset to the start of the filehandle
+    so that we are polite to downstream middleware /apps.
+  - NEW FEATURE: Catalyst::Response can now pull response from a PSGI
+    specification response.  This makes it easier to host external Plack
+    applications under Catalyst.  See Catalyst::Response->from_psgi_response
+  - NEW FEATURE: New configuration option 'use_hash_multivalue_in_request'
+    will populate $request methods 'parameters', 'body_parameters' and
+    'query_parameters' with an instance of Hash::MultiValue instead of a
+    HashRef.  This is used by Plack and is intended to reduce the need to
+    write defensive logic since you are never sure if an incoming parameter
+    is a scalar or arrayref.
+  - NEW FEATURE: We now experimentally support Net::Async::HTTP::Server
+    and IO-Async based event loops.  Examples will follow.
+
+5.90049_003 - 2013-09-20
+  - Documented the new body_data method added in the previous release
+  - Merged from master many important bugfixes and forward compatibility
+    updates, including:
+    - Use modern preferred method for Moose metaclass access and many other
+      small changes to how we use Moose for better forward compat (ether++)
+    - Killed some evil use of $@ (ether++)
+    - spelling fixes and documentation updates (ether++), (gerda++)
+    - use Test::Fatal over Test::Exception (ether++)
+    - Misc. test case fixes to modernize code (ether++)
+    - Added a first pass cpanfile, to try and make it easier to bootstrap
+      a development setup (ether++)
+
+5.90049_002 - 2013-08-20
+  - Fixed loading middleware from project directory
+  - Fixed some pointless warnings when middleware class lacked VERSION
+  - NEW FEATURE: Declare global 'data_handlers' for parsing HTTP POST/PUT
+    alternative content, and created default JSON handler.  Yes, now Catalyst
+    handles JSON request content out of the box!  More docs eventually but
+    for now see the DATA HANDLERS section in Catalyst.pm (or review the test
+    case t/data_handler.t
+
+5.90049_001 - 2013-07-26
+  - Declare PSGI compliant Middleware as part of your Catalyst Application via
+    a new configuration key, "psgi_middleware".
+  - Increased lowest allowed module version for Module::Pluggable to be 4.7 (up
+    from 3.4) to solve the fact this is no longer bundled with Perl in v5.18.
+
+5.90042 - 2013-06-14
+  - Removed more places where an optional dependency shows up in the test
+    suite. Hopefully really fixed the unicode regression introduced in 5.90040
+  - reverted the change we introduced in 5.90040 where a unicode conversion
+    error warned instead of died.  Now it dies again, like in the stand alone
+    plugin
+  - More work to make sure nothing happens with encoding unless you explicitly
+    ask for encoding
+  - Code to hopefully fix an issue where file uploads using the unicode plugin
+    caused trouble.
+
+5.90041 - 2013-06-14
+  - Bug fix release to fix regressions introduced in previous.  I would consider
+    this a likely upgrade and if you are having trouble with the previous I hope
+    this fixes all of them.
+  - Fix regression with the cored Unicode plugin that broke systems where you are
+    setting encoding type in an external configuration file
+  - Fixed circular dependency introduced when we cored the unicode plugin tests
+  - Fixed a longstanding problem with stats when locale uses , instead of . for
+    number decimals
+  - Fixed some docs that didn't properly date the previous release.
+
+5.90040 - 2013-06-12
+  ! Stricter checking of attributes in Catalyst::DispatchType::Chained:
+    1) Only allow one of either :CaptureArgs or :Args
+    2) :CaptureArgs() argument must be numeric
+    3) :CaptureArgs() and :Args() arguments cannot be negative
+  - Add Devel::InnerPackage to dependencies, fixing tests on Perl 5.17.11
+    as it's been removed from core. RT#84787
+  - New support for closing over the PSGI $writer object, useful for working
+    with event loops.
+  - lets you access a psgix.io socket, if your server supports it, for manual
+    handling of the client - server communication, such as for websockets.
+  - Fix waiting for the server to start in t/author/http-server.t
+  - new config flag 'abort_chain_on_error_fix' that exits immediately when a
+    action in an action chain throws and error (fixes issues where currently
+    the remaining actions are processed and the error is handled at chain
+    termination).
+  - Cored the Encoding plugin.  Now get unicode out of the box by just setting
+    $c->config->{encoding} = 'UTF-8'.  BACKCOMPAT WARNING: If you are using 
+    the Encoding plugin on CPAN, we skip it to avoid double encoding issues, so
+    you should remove it from your plugin list, HOWEVER the 'encoding' config
+    setting is now undef, rather than 'UTF-8' (this was done to avoid breaking
+    people's existing applications) so you should add the encoding setting to 
+    you global config.  There's some other changes between the stand alone
+    plugin and the cored version, if you use it be sure to see Catalyst::Upgrading
+    for more.
+  - minor documentation typo fixes and updates
+
+5.90030 - 2013-04-12
+  ! POSSIBLE BREAKING CHANGE: Removed Regexp dispatch type from core, and put
+    it in an external package.  If you need Regexp dispatch types you should
+    add "Catalyst-DispatchType-Regex" as a distribution to your build system.
+  - make $app->uri_for and related methods return something sane, when called
+    as an application method, instead of a context method.  Now if you call
+    MyApp::Web->uri_for(...) you will get a generic URI object that you need to
+    resolve manually.
+  - documentation updates around forwarding to chained actions.
+  - Fixed bug when a PSGI engine need to use psgix logger.
+  - Added cpanfile as a way to notice we are a dev checkout.
+  - Added 'x-tunneled-method' HTTP Header method override to match features in
+    Catalyst::Action::REST and in other similar systems on CPAN.
+  - smarter validation around action attributes.
+
+5.90020 - 2013-02-22
+  ! Catalyst::Action now defines 'match_captures' so it is no long considered
+    an optional method.  This might break you code if you have made custom
+    action roles/classes where you define 'match_captures'.  You must change
+    your code to use a method modifier (such as 'around').
+  - New match method "Method($HTTP_METHOD)" where $HTTP_METHOD in (GET, POST,
+    PUT, HEAD, DELETE, OPTION) and shortcuts in controllers called "GET, POST
+    PUT, HEAD, DELETE, OPTION").  Tests and documentation.  Please note if you
+    are currently using Catalyst::ActionRole::MatchRequestMethods there may
+    be compatibility issues.  You should remove that actionrole since the built
+    in behavior is compatible on its own.
+  - Initial debug screen now shows HTTP Method Match info
+  - security fixes in the way we handle redirects
+  - Make Catalyst::Engine and Catalyst::Base immutable
+  - Some test and documentation improvements
+
+5.90019 - 2012-12-04 21:31:00
+  - Fix for Perl 5.17.6 (commit g7dc8663). RT#81601
+  - Fix for Perl 5.8. RT#61122
+  - Remove use of MooseX::Types as MooseX::Types is broken on Perl 5.8
+    RT#77100 & RT#81121
+
+5.90018 - 2012-10-23 20:55:00
+  - Changed code in test suite so it no longer trips up on recent changes to
+    HTTP::Message.
+
+5.90017 - 2012-10-19 22:33:00
+  - Change Catalyst _parse_attrs so that when sub attr handlers:
+
+    1) Can return multiple pairs of new attributes.
+    2) Get their returned attributes passed through the correct attribute handler.
+
+    e.g sub _parse_Whatever_attr { return Chained => 'foo', PathPart => 'bar' }
+
+    Will now work because both new attributes are respected, and the Chained
+    attribute is passed to _parse_Chained_attr and fixed up correctly by that.
+
+  - In Catalyst::Test, don't mangle headers of non-HTML responses. RT#79043
+
+  - Refactor request and response class construction to add methods
+    that roles can hook to feed extra parameters into the constructor
+    of request or response classes.
+
+5.90016 - 2012-08-16 15:35:00
+  - prepare_parameters is no longer an attribute builder.  It is now a method
+    that calls the correct underlying functionality (Bill Moseley++)
+  - Updated Makefile.PL to handle MacOSX tar
+  - Fix uri_for to handle a stringifiable object
+  - Fix model/view/controller methods to handle stringifiable objects
+  - Fix RT#78377 - IIS7 ignores response body for 3xx requests, which
+    causes (a different) response to be broken when using keepalive.
+    Fixed by applying Middleware which removes the response body and
+    content length that Catalyst supplies with redirects.
+
+5.90015 - 2012-06-30 16:57:00
+  - Fix $c->finalize_headers getting called twice. RT#78090
+  - Fix test fails in Catalyst-Plugin-Session-State-Cookie. RT#76179
+  - Fix test fails in Catalyst-Plugin-StackTrace
+  - Fix test fails in Test-WWW-Mechanize-Catalyst
+
+5.90014 - 2012-06-26 10:00:00
+
+  - Fix calling finalize_headers before writing body when using $c->write /
+    $c->res->write (fixes RT#76179).
+
+5.90013 - 2012-06-21 10:40:00
+
+  - Release previous TRIAL as stable.
+  - We failed to note in the previous changelog that the Makefile.PL has been
+    improved to make it easier for authors to bootstrap a developer install
+    of Catalyst.
+
+5.90013 - TRIAL 2012-06-07 20:21:00
+
+ New features:
+  - Merge Catalyst::Controller::ActionRole into Catalyst::Controller.
+
+ Bug fixes:
+  - Fix warnings in some matching cases for Action methods with
+    Args(), when using Catalyst::DispatchType::Chained
+
+  - Fix request body parameters to not be undef if no parameters
+    are supplied.
+
+  - Fix action_args config so that it can be specified in the
+    top level config.
+
+  - Fix t/author/http-server.t on Win32
+
+  - Fix use of Test::Aggregate to make tests faster.
+
+5.90012 - 2012-05-16 09:59:00
+
+ Distribution META.yml changes:
+  - author key is now correct, rather than what Module::Install
+    mis-parses from the documentation.
+  - x_authority key added.
+
+ Bug fixes:
+  - Fix request body parameters being multiply rebuilt. Fixes both
+    RT#75607 and CatalystX::DebugFilter
+
+  - Make plugin de-duplication work as intended originally, as whilst
+    duplicate plugins are totally unwise, the C3 error given to the user
+    is less than helpful.
+
+  - Remove dependence on obscure behaviour in B::Hooks::EndOfScope
+    for backward compatibility. This fixes issues with behaviour changes
+    in bleadperl. RT#76437
+
+  - Work around Moose bug RT#75367 which breaks
+    Catalyst::Controller::DBIC::API.
+
+ Documentation:
+  - Fix documentation in Catalyst::Component to show attributes and
+    calling readers, rather than accessing elements in the $self->{} hash
+    directly.
+  - Add note in Catalyst::Component to strongly disrecommend $self->config
+  - Fix vague 'checkout' wording in Catalyst::Utils. RT#77000
+  - Fix documentation for the 'secure' method in Catalyst:Request. RT#76710
+
+5.90011 - 2012-03-08 16:43:00
+
+ Bug fixes:
+  - Simplification of the previous changes to Catalyst::ScriptRunner
+    We now just push $FindBin::Bin/../lib to the @INC path again, but
+    only if one of the dist indicator files (Makefile.PL Build.PL or
+    dist.ini) can be found in $FindBin::Bin/../$_
+    This avoids heuristics when the app is unloaded and therefore
+    works better for extensions which have entire applications in
+    their test suites.
+  - Bug fix to again correctly detect checkouts in dist zilla using
+    applications.
+  - --background option for the server script now only closes
+    STDIN, STDOUT and STDERR. This fixes issues with Log::Dispatch
+    and other loggers which open a file handle when
+  - Change incorrect use of File::Spec->catdir to File::Spec->catfile
+    so that we work on platforms which care about this (VMS?)
+  - Make it more obvious if our PSGI server doesn't pass in a response
+    callback.
+
+5.90010 - 2012-02-18 00:01:00
+
+ Bug fixes:
+  - Fix the previous fix to Catalyst::ScriptRunner which was resulting
+    in the lib directory not being pushed onto @INC.
+    This meant perl ./script/myapp_server.pl failed, however
+    perl -Ilib ./script/myapp_server.pl would succeed.
+
+5.90009 - 2012-02-16 09:06:00
+
+ Bug fixes:
+  - Fix the debug page so that it works as expected with the latest
+    refactoring.
+
+  - The Catalyst::Utils::home function is used to find if the application
+    is a checkout in Catalyst::ScriptRunner. This means that a non-existent
+    lib directory that is relative to the script install location is not
+    included when not running from a checkout.
+
+  - Fix dead links to cpansearch.perl.org to point to metacpan.org.
+
+  - Require the latest version of B::Hooks::EndOfScope (0.10) to avoid an
+    issue with new versions of Module::Runtime (0.012) on perl 5.10
+    which stopped Catalyst::Controller from compiling.
+
+  - In Catalyst::Test, don't mangle headers of non-HTML responses. RT#79043
+
+5.90008 - TRIAL 2012-02-06 20:49:00
+
+ New features and refactoring:
+  - Much of the Catalyst::Engine code has been moved into Catalyst::Request
+    and Catalyst::Response, to be able to better support asynchronous web
+    servers such as Twiggy, by making the application engine more reenterant.
+
+    This change is as a prequel to full asynchronous support inside Catalyst
+    for AnyEvent and IO::Async backends, which allow highly scaleable streaming
+    (for applications such as multi-part XML HTTPRequests, and Websockets).
+
+ Deprecations:
+  - This means that the $c->engine->env method to access the PSGI environment
+    is now deprecated. The accessor for the PSGI env is now on Catalyst::Request
+    as per applications which were using Catalyst::Engine::PSGI
+
+    Catalyst::Engine::PSGI is now considered fully deprecated.
+
+  - The private _dump method in Catalyst::Log is now deprecated. The dumper is
+    not pluggable and which dumper to use should be a user choice. Using
+    an imported Dump() or Dumper() function is less typing than $c->log->_dump
+    and as this method is unused anywhere else in Catalyst, it has been scheduled
+    for removal as a cleanup. Calling this method will now emit a stack trace
+    on first call (but not on subsequent calls).
+
+ Back compatibility fixes:
+  - Applications still using Catalyst::Engine::PSGI as they rely on
+    $c->request->env - this is now the provided (and recommended) way of
+    accessing the raw PSGI environment.
+
+ Tests:
+  - Spurious warnings have been removed from the test suite
+
+ Documentation:
+  - Fix the display of PROJECT FOUNDER and CONTRIBUTORS sections in the
+    documentation. These were erroneously being emitted when the Pod
+    was converted to HTML for search.cpan.org
+
+  - Fix documentation for the build_psgi_app app method. Previously the
+    documentation advised that it provided the psgi app already wrapped
+    in default middleware. This is not the case - it is the raw app psgi
+
+5.90007 - 2011-11-22 20:35:00
+
+  New features:
+   - Implement a match_captures hook which, if it exists on an action,
+     is called with the $ctx and \@captures and is expected to return
+     true to continue the chain matching and false to stop matching.
+     This can be used to implement action classes or roles which match
+     conditionally (for example only matching captures which are integers).
+
+  Bug fixes:
+   - Lighttpd script name fix is only applied for lighttpd versions
+     < 1.4.23. This should fix non-root installs of lighttpd in versions
+     over that.
+   - Prepare_action is now inside a try {} block, so that requests containing
+     bad unicode can be appropriately trapped by
+     Catalyst::Plugin::Unicode::Encoding
+
+5.90006 - 2011-10-25 09:18:00
+
+  New features:
+   - A new 'run_options' class data method has been added to Catalyst.pm
+     This is used to store all the options passed by scripts, allowing
+     application authors to add custom options to their scripts then
+     get them passed through to the application.
+
+  Documentation:
+   - Clarify that if you manually write your own .psgi file, then optional
+     proxy support (via the using_frontend_proxy config value) will not be
+     enabled unless you explicitly apply the default middlewares from
+     Catalyst, or you apply the middleware manually.
+
+  Bug fixes:
+   - Fix issue due to perl internals bugs in 5.8 and 5.10 (not present in
+     other perl versions) require can pass the context inappropriately,
+     meaning that some methods of loading classes can fail due to void
+     context being passed through to make_immutable, causing it to not return
+     a value.
+     This bug caused loading Catalyst::Script::XXX to fail and is fixed
+     both by bumping the Class::Load dependency, and also adding an explicit
+     '1;' to the end of the classes, avoiding the context issue.
+
+   - Fix using_frontend_proxy support in mod_perl by using the psgi wrapped
+     in default middleware in mod_perl context, rather than the raw psgi.
+
+5.90005 - 2011-10-22 13:35:00
+
+  New features:
+
+   - $c->uri_for_action can now take an array of CaptureArgs and Args
+     If you have an action which has both, then you can now say:
+     $c->uri_for_action('/myaction', [@captures, @args]);
+     whereas before you had to say:
+     $c->uri_for_action('/myaction', [@captures], @args);
+     The previous form is still supported, however in many cases it is
+     easier for the application code to not have to differentiate between
+     the two.
+
+   - Catalyst::ScriptRunner has been enhanced so that it will now
+     load and apply traits, making it easier to customise.
+     - MyApp::TraitFor::Script (if it exists) will be applied to all
+       scripts in the application.
+     - MyApp::TraitFor::Script::XXXX will be applied to the relevant script
+       (for example MyApp::TraitFor::Script::Server will be applied to
+       MyApp::Script::Server if it exists, or Catalyst::Script::Server
+       otherwise).
+
+  Documentation:
+
+   - Document how to get the vhost of the request in $c->req->hostname
+     to avoid confusion
+   - Remove documentation showing Global / Regex / Private actions
+     as whilst these still exist (and work), they are not recommended.
+   - Remove references to the -Engine flag.
+   - Remove references to the deprecated Catalyst->plugin method
+   - Spelling fixed (and tested) throughout the documentation
+   - Note that wrapping the setup method will not work with method modifiers
+     and provide an alternative.
+
+5.90004 - 2011-10-11 17:12:00
+
+  Bug fixes:
+
+   - Don't guess engine class names when setting an engine through
+     MyApp->engine_class.
+
+5.90003 - 2011-10-05 08:32:00
+  Bug fixes:
+
+   - Make default body responses for 302s W3C compliant. RT#71237
+
+   - Fix issue where groups of attributes to override controller actions
+     in config would be (incorrectly) overwritten, if the parser for that
+     attribute mangled the contents of the attribute. This was found
+     with Catalyst::Controller::ActionRole, where Does => [ '+Foo' ]
+     would be transformed to Does => [ 'Foo' ] and written back to config,
+     whereas Does => '+Foo' would not be changed in config. RT#65463
+
+  Enhancements:
+
+   - Set a matching Content-type for the redirect if Catalyst sets the
+     body. This is for compatibility with a WatchGuard Firewall.
+
+  Backward compatibility fixes:
+
+   - Restore (an almost empty) Catalyst::Engine::HTTP to the dist for old
+     scripts which explicitly require Catalyst::Engine::HTTP
+
+  Documentation fixes:
+
+   - Document Catalyst::Plugin::Authentication fails tests unless
+     you use the latest version with Catalyst 5.9
+
+   - Clarify that prepare is called as a class method
+
+   - Clarify use of uri_for further. RT#57011
+
+5.90002 - 2011-08-22 21:44:00
+  Backward compatibility fixes:
+
+    - Deploying via mod_perl in some cases is fixed by making
+      Catalyst::EngineLoader detect mod_perl in more generic
+      circumstances.
+      https://github.com/miyagawa/Plack/issues/239
+
   Documentation fixes:
 
     - Fix incorrect example in Catalyst::PSGI.
 
     - nginx specific behaviour is removed as it is not needed with any
       web server configuration I can come up with (recommended config is
-      documented in Catalst::Manual::Deployment::nginx::FastCGI)
+      documented in Catalyst::Manual::Deployment::nginx::FastCGI)
 
 5.89003 2011-07-28 20:11:50 (TRIAL release)
 
   - Added a Catalyst::PSGI manual page with information about writing a .psgi
     file for your application.
 
-   - Catalyst::Uprading has been improved, and the status of old Catalyst
+   - Catalyst::Upgrading has been improved, and the status of old Catalyst
      engines clarified.
 
  Deprecations:
 
   Bug fixed:
    - $c->uri_for will now escape unsafe characters in captures
-     ($c->request->captures) and correctly encode utf8 charracters.
+     ($c->request->captures) and correctly encode utf8 characters.
 
 5.80020 2010-02-04 06:51:18
 
    - Restore -p option for pid file in the FastCGI server script.
    - Fix the script environment variables MYAPP_PORT and MYAPP_RELOAD RT#52604
    - Fix aliasing applications under non-root paths with mod_rewrite in
-     some apache versions where %ENV{SCRIPT_NAME} is set to the real name of
+     some Apache versions where %ENV{SCRIPT_NAME} is set to the real name of
      the script, by using $ENV{REDIRECT_URL} which contains the non-rewritten
      URI.
    - Fix usage display when myapp_create.pl is run with no arguments. RT#52630
     - Stop warnings when actions are forwarded to during dispatch.
     - Remove warnings for using Catalyst::Dispatcher->dispatch_types as this is a
       valid method to publicly call on the dispatcher.
-    - Args ($c->request->args) and CaptureArgs ($c->request->captrues)
+    - Args ($c->request->args) and CaptureArgs ($c->request->captures)
       passed to $c->uri_for with an action object ($c->action) will now
       correctly round-trip when args or captures contain / as it is now
       correctly uri encoded to %2F.
        - Fix POD to refer to ->config(key => $val), rather than
          ->config->{key} = $val, as the latter form is deprecated.
        - Clearer docs for the 'uri_for' method.
-       - Fix POD refering to CGI::Cookie. We're using CGI::Simple::Cookie.
+       - Fix POD referring to CGI::Cookie. We're using CGI::Simple::Cookie.
          (Forrest Cahoon)
 
 5.80007 2009-06-30 23:54:34
           in Catalyst::Engine (kmx)
 
 5.80004 2009-05-18 17:03:23
-        - Rename the actions attribute in Catalyt::Controller to
+        - Rename the actions attribute in Catalyst::Controller to
           _controller_actions to avoid name clashes with application
           controller naming. (random)
         - Test for using Moose in components which have a non-Moose base class
         - Fix RT#43375 by sorting results before testing them
         - Fixes for uri_for_action when using Catalyst::DispatchType::Regex
           + tests from RT#39369 (norbi)
-        - Partial rewrite and reoganisation of the C3 docs in
+        - Partial rewrite and reorganization of the C3 docs in
           Catalyst::Upgrading based on feedback from kiffin
         - If you make your application class immutable and turn off
           constructor inlining, Catalyst will die and tell you pass
 
 5.80002 2009-04-22 01:28:36
         - Fix CATALYST_DEBUG and MYAPP_DEBUG environment variables
-          turning debuging on if defined, rather than if set.
+          turning debugging on if defined, rather than if set.
           They now force debugging on or off, taking precedence over
           configuration in your application.
           - Tests for this
           allowing method modifiers on actions to work as expected.
         - Provide a reasonable API in Catalyst::Controller for working with
           and registering actions, allowing a controller sub-class to replace
-          subroutine attributes for action declerations with an alternate
+          subroutine attributes for action declarations with an alternate
           syntax.
         - Instantiate correct sub-class of Moose::Meta::Class for non-Moose
           components where Catalyst forces the creation of a metaclass instance.
           parameter used to be ignored, but started breaking if the parameter
           was not a hash in 5.8000_04. Extra parameter is now ignored if
           it isn't a hashref
-        - Fix request argumentss getting corrupted if you override the
+        - Fix request arguments getting corrupted if you override the
           dispatcher and call an action which detaches (for
           Catalyst::Plugin::Authorization::ACL)
         - Fix calling use Catalyst::Test 'MyApp' 'foo' which used to work,
           was introduced when attempting to allow "0" as a Path.
 
 5.7013  2008-05-16 18:20:00
-        - Provide backwards compatability methods in Catalyst::Stats
+        - Provide backwards compatibility methods in Catalyst::Stats
         - Fix subdirs for scripts that run in subdirs more than one level deep.
         - Added test and updated docs for handling the Authorization header
           under mod_fastcgi/mod_cgi.