Changes for version 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++)
Changes for version 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.
Changes for version 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
Changes for version 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.
Changes for version 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.
Changes for version 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
Changes for version 5.90079_002 - 2014-12-02
- Fixed typo in Makefile.PL which borked the previous distribution. No other changes.
Changes for version 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.
- Catalyst - The Elegant MVC Web Application Framework
- Catalyst::Action - Catalyst Action
- Catalyst::ActionChain - Chain of Catalyst Actions
- Catalyst::ActionContainer - Catalyst Action Container
- Catalyst::ActionRole::ConsumesContent - Match on HTTP Request Content-Type
- Catalyst::ActionRole::HTTPMethods - Match on HTTP Methods
- Catalyst::ActionRole::Scheme - Match on HTTP Request Schema
- Catalyst::Base - Deprecated base class
- Catalyst::ClassData - Class data accessors
- Catalyst::Component - Catalyst Component Base Class
- Catalyst::Component::ApplicationAttribute - Moose Role for components which capture the application context.
- Catalyst::Component::ContextClosure - Moose Role for components which need to close over the $ctx, without leaking
- Catalyst::Controller - Catalyst Controller base class
- Catalyst::DispatchType - DispatchType Base Class
- Catalyst::DispatchType::Chained - Path Part DispatchType
- Catalyst::DispatchType::Default - Default DispatchType
- Catalyst::DispatchType::Index - Index DispatchType
- Catalyst::DispatchType::Path - Path DispatchType
- Catalyst::Dispatcher - The Catalyst Dispatcher
- Catalyst::Engine - The Catalyst Engine
- Catalyst::Engine::HTTP - removed module
- Catalyst::EngineLoader - The Catalyst Engine Loader
- Catalyst::Exception - Catalyst Exception Class
- Catalyst::Exception::Basic - Basic Catalyst Exception Role
- Catalyst::Exception::Detach - Exception for redispatching using $ctx->detach()
- Catalyst::Exception::Go - Exception for redispatching using $ctx->go()
- Catalyst::Exception::Interface - Role defining the interface for Catalyst exceptions
- Catalyst::Log - Catalyst Log Class
- Catalyst::Middleware::Stash - The Catalyst stash - in middleware
- Catalyst::Model - Catalyst Model base class
- Catalyst::Plugin::Unicode::Encoding - Unicode aware Catalyst
- Catalyst::Request - provides information about the current client request
- Catalyst::Request::Upload - handles file upload requests
- Catalyst::Response - stores output responding to the current client request
- Catalyst::Runtime - The Catalyst Framework Runtime
- Catalyst::Script::CGI - The CGI Catalyst Script
- Catalyst::Script::Create - Create a new Catalyst Component
- Catalyst::Script::FastCGI - The FastCGI Catalyst Script
- Catalyst::Script::Server - Catalyst test server
- Catalyst::Script::Test - Test Catalyst application on the command line
- Catalyst::ScriptRole - Common functionality for Catalyst scripts.
- Catalyst::ScriptRunner - The Catalyst Framework script runner
- Catalyst::Stats - Catalyst Timing Statistics Class
- Catalyst::Test - Test Catalyst Applications
- Catalyst::Utils - The Catalyst Utils
- Catalyst::View - Catalyst View base class