0.166001  2016-01-22 07:54:46+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #1105, #1106, #1108: Autopage + Template Toolkit broke in last
      release. (Kaitlyn Parkhurst @symkat, Russell Jenkins)

0.166000  2016-01-12 19:01:51+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #1013, #1092: Remove race condition caused by caching available
      engines. (Sawyer X, Menno Blom, Russell Jenkins)
    * GH #1089: Exact macthing of route regex comments for tokens/splats.
      (Sawyer X)
    * GH #1079, #1082: Allow routes to return '0' as response content,
      and serializer hooks are called when default response content is
      to be returned. (Alberto Simões, Russell Jenkins)
    * GH #1093, 1095: Use a dynamic TT2 INCLUDE_PATH to allow relative
      views with relative includes; fixing regression introduced by #1037.
      (Russell Jenkins)
    * GH #1096, #1097: Return compatibility on Perl 5.8.x!
      (Peter Mottram - @SysPete)

    * GH #1076: Typo in Dancer2::Core::Hook POD. (Jonathan Scott Duff)

    * GH #1074: Add sample session engine config to skeleton app.
      (Peter Mottram - @SysPete)
    * GH #1088: Return route objects when defining new routes.
      (Sawyer X)

0.165000  2015-12-17 09:19:13+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * Revert session_name change, as this would invalidate all existing
      changes. We will need to rethink this change.
      (Stefan @racke Hornburg, Sawyer X)

0.164000  2015-12-16 23:42:24+01:00 Europe/Amsterdam

    * Update core team members and contributors list. (Russell Jenkins)
    * GH #1066: Fix typo in Cookbook. (gertvanoss)
    * Correct typo. It's "query_parameters", not "request_parameters".
      Thanks to mst for letting me know and making sure I fix it!
      (Sawyer X)

    [ BUG FIXES ]
    * GH #1040: Forward with a post body no longer tries to re-read body
      filehandle. (Bas Bloemsaat)
    * GH #1042: Add Diggest::SHA as explicit prequisite for installs on
      perl < v5.9.3. (Russell Jenkins)
    * GH #1071, #1070: HTML escape the message in the default error page.
      (Peter Mottram)
    * GH #1062, #1063: Command line interface didn't support
      "-s SKELETON_DIRECTORY" in any order.
      (Nuno Carvalho)
    * GH #1052, #1053: Always call before_serializer hook when serializer
      is set.
      (Mickey Nasriachi)
    * GH #1034: Correctly use different session cookie name for Dancer2.
      (Jason A. Crome)
    * GH #1060: Remove trailing slashes when providing skeleton
      (Gabor Szabo)

    * Use Plack 1.0035 to make sure you only have HTTP::Headers::Fast
      in the Plack::Request object internally.
    * GH #951 #1037: Dancer2::Template::TemplateToolkit no longer sets TT2
      INCLUDE_PATH directive, allowing `views` setting to be non-absolute
      paths. (Russell Jenkins)
    * GH #1032 #1043: Add .dancer file to new app scaffolding.
      (Jason A. Crome)
    * GH #1045: Small cleanups to Request class. (Russell Jenkins)
    * GH #1033: strict && warnings in Dancer2::CLI. (Mohammad S Anwar)
    * GH #1052, #1053: Allow before_serializer hook to change the content
      using @_.
      (Mickey Nasriachi)
    * GH #1060: Ignore .git directory when using an external skeleton
      (Gabor Szabo)
    * GH #1060: Support more asset file extensions. (Gabor Szabo)
    * GH #1072: Add request->is_options(). (Theo van Hoesel)

0.163000  2015-10-15 12:47:57+02:00 Europe/Amsterdam

    * GH: #1030: Fix pod references pointing to Dancer package
      (Mohammad S Anwar, Russell Jenkins)

0.162000_01 2015-10-13 17:05:09+02:00 Europe/Amsterdam (TRIAL RELEASE)

    [ BUG FIXES ]
    * GH #996: Fix warning with optional arguments. (Bas Bloemsaat)
    * GH #1001: Do not trigger an internal error on 404. (Russell Jenkins)
    * GH #1008,#976: Hack to quiet warning while plugins
      architecture is being rewritten. (Russell Jenkins)
    * Use Safe::Isa when calling their functions in the respected eval.
      (Sawyer X)

    * GH #738, #740, #988: route_parameters, query_parameters, and
      body_parameters keywords added, providing Hash::MultiValue objects!
      (Sawyer X)
    * #941, #999: delayed() keyword now has "on_error" option for controlling
      (Sawyer X)
    * dancer2 app now support -s switch to supply an app skeleton
      (Nuno Carvalho)
    * "perl_version" token in templates now uses $^V, not $]. (Sawyer X)
    * GH #966: Remove Dist::Zilla::Plugin::AutoPrereqs. (Vernon)
    * GH #992: Deprecate creating route named placeholders ":captures"
      and ":splat". (Sawyer X)
    * Bump Moo requirement to 2.000000. (Alberto Simões)
    * GH #1012: Add :nopragmas import flag. (Sawyer X)

    * GH #974: Use correct classname. (Sawyer X)
    * GH #958: Fix manual example with loading additional routes. (Sawyer X)
    * GH #960: Fix a few links. (Sawyer X)
    * Document you can install Scope::Upper for greater speed. (Sawyer X)
    * GH #1000: Correct POD name for Dancer2::Manual::Deployment.
      (Jason A. Crome)
    * GH #1017: Fix instructions on running app.psgi. Highlight
      beginner-friendly application running instructions. (Jason Crome)
    * GH #920, #1020: Remove deprecated functionality from example plugin.
      (Jason Crome)
    * GH #1002: Correct execute_hook() call in plugins documentation.
      (Jason Crome)
    * Expand on auto-reloading options using Plack Shotgun loader.
      (Jason Crome, @girlwithglasses)
    * GH #1024: Document the need to define static_handler when changing
      the public_dir option. (Sébastien Deseille)

0.162000  2015-09-06 13:08:05+02:00 Europe/Amsterdam

    [ BUG FIXES ]
    * Not exactly bug fix, but now captures() always returns hashref.
      (Sawyer X)
    * GH #931: Using params() keyword, route parameters now override body
      parameters which override query parameters. (Sawyer X)

    * Small speed bump: use eval{} instead of Try::Tiny. (Sawyer X)

    * Replace File::Slurp with File::Slurper in tutorial.
      (Nick Tonkin)

0.161000_01 2015-08-28 15:29:00+02:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #947, #948: Escape file paths in regex patterns. (A. Sinan Unur)
    * GH #944: Setting response content in before hook when a serializer
      is set no longer triggers an error.
      (Russell Jenkins, Dmitrii Tcyganov)
    * GH #965: Remove non-existant role from Response::Delayed.
      (Vernon, Russell Jenkins)
    * GH #971: Route options matching no longer uses each iterator.
      (Tina Müller)
    * GH #959: Custom error template rendering fixed. (Russell Jenkins)
    * GH #961: Render custom error templates in before hooks. (Russell Jenkins)
    * GH #978: Tests - fix response regex after html_encode (Vernon)
    * GH #972: Exceptions thrown by serializers no longer masked.
      (Russell Jenkins)

    * GH #967: Fix upload example. (Alberto Simões)
    * GH #881: Add cookie timeout example. (Andy Beverley)
    * GH #963: Document all available template tokens. (Sawyer X)

    * Optimize the s*#t out of basic routing. Faster than Dancer 1 now.
      (Sawyer X)
    * Only load HTTP::Server::PSGI when asked to start a development
      server not under Plack. (Sawyer X, Mickey Nasriachi)
    * GH #949: Produce cleaner, non-verbose test output (Vernon)
    * GH #950: Decode characters in param keys (Patrick Zimmermann)
    * GH #914: Include stack trace on default error page when
      show_errors is true. (Vernon)
    * GH #980, #981: halt keyword sets response content if provided,
      as Dancer 1 does. (Achilles Kars)
    * GH #909, #957, #983: HTML5 templates in generated apps and
      default error template (Gabor Szabo, Kadir, Vernon)
    * GH #972, #719, #969, #644, #647: Streamline serializer helpers.
      to_json/from_json now faster. (Russell Jenkins)

0.161000  2015-07-08 14:57:16+02:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #915, #930: Check existence of optional extension headers when
      behind proxy. (Andy Beverley, Pedro Melo, Russell Jenkins)
    * GH #926, #940: Set session directory default to $apprdir/session.
      (Russell Jenkins)
    * GH #936, #939: Use the error_template configuration on a 404.
      (Russell Jenkins)
    * GH #844, #937: Non-hash serialized params do not cause a crash. (Sawyer X)
    * GH #943: Pass @_ to UNIVERSAL's VERSION so it validates version number.
      (Sawyer X)
    * GH #934: Cleanup internals in the old Dispatcher. (Russell Jenkins)

    * Sanitize Changes
    * GH #938: Fix POD link to params keyword. (Ludovic Tolhurst-Cleaver)
    * GH #935: Provide more details and considerations when using
      behind_proxy. (Andy Beverley)

    * GH #933: use note in tests to produce cleaner non-verbose output (Vernon)
    * Remove unnecessary dependencies: build chain should be smaller. (Sawyer X)
    * No need for Module::Build. (Sawyer X)
    * GH #911: Dancer2 request object is now a subclass of Plack::Request.
      It's also much faster now. (Sawyer X)

0.160003  2015-06-06 11:09:00+02:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #921, #922: Plack >= 1.0035. (Russell Jenkins, Alberto Simões)

    * #922: Use HTTP::Headers::Fast in request and response objects
    (Russell Jenkins)

0.160002  2015-06-04 13:03:38+02:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #920: Sanitize session IDs in file-based sessions.
      (Russell Jenkins, Andrew Beverley)

    * GH #908: Cleanup Dancer references in DBIC section of cookbook
      (Julien Fiegehenn)
    * GH #910: Misc spelling and grammar fixes (Gregor Herrmann)
    * GH #916: Fix test example. (Peter Mottram - @SysPete)
    * GH #912, #913: Fix documentation on when stacks are printed.
      (Andrew Solomon)

0.160001  2015-05-14 20:40:10+02:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #893, #895: Catch config parse errors when Config::Any doesn't throw
      them. (Russell Jenkins)
    * GH #899: Minimum YAML version supported is v0.86 (Shlomi Fish)
    * GH #906: send_file - missing import and fix logic error for streaming
      by default (Russell Jenkins)

    * GH #897: Remove docs for unimplemented 'load' keyword (Fayland Lam)

    * GH #894, #898: Add status and headers methods to ::Response::Delayed
      (Yanick Champoux, Charlie Gonzalez)

0.160000  2015-04-27 00:12:55+02:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #868: Fix incorrect access name in $error->throw. (cdmalon)
    * GH #879, #883: Fix version numbering in packaging and tests.
      (Russell Jenkins)
    * File serving (send_file) won't call serializer. (Russell Jenkins)
    * GH #892, #510: Workaround for multiple plugins with hooks.
      (Russell Jenkins, Alberto Simões)
    * GH #558: Remove "prefix" inconsistency with possibly missing postfixed
      forward slash. (Sawyer X)

    * GH #816, #874 Document session engine changes in migration documentation.
      (Chenchen Zhao)
    * GH #866, #870: Clarify that you cannot forward to a static file, why,
      and two different ways of accomplishing it without forward.
      (Sakshee Vijayvargia)
    * GH #878: Rework example for optional named matching due to operator
      precedence. (Andrew Solomon)
    * GH #844: Document Simple session backend is the default. (Sawyer X)

    * GH #869: Streaming file serving (send_file). (Russell Jenkins)
    * GH #793: "prefix" now supports the path definition spec. (Sawyer X)
    * GH #817, #845: Route spec under a prefix doesn't need to start with
      a slash (but must without a prefix).
      (Sawyer X, Russell Jenkins)
    * GH #871: Use Safe.pm instead of eval with Dancer2::Serializer::Dumper.
      (David Zurborg)
    * GH #880: Reduce and cleanup different logging calls in order to handle
      the stack frames traceback for logging classes. (Russell Jenkins)
    * GH #857, #875: When failing to render in Template::Toolkit, make the
      error reflect it's a TT error, not an internal one.

0.159003  2015-03-23 14:57:15+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * Fixed another memory leak with compiled hooks. (Sawyer X)
    * Fixed a memory leak with conditionally applied static middleware
      (Russell Jenkins)

    * GH #854, #858: Fix after_template_render hook example. (Adam Weinberger)
    * GH #861: Improve documentation of 'forward'. (Andy Beverley)

0.159002  2015-03-03 19:21:21+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #856: Memory leak when throwing exception from a hook. (Sawyer X)

0.159001  2015-02-25 15:31:35+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #855: Ensure Dancer2::Test is compatible with Pod::Simple 3.30.
      (Russell Jenkins)

    * Add an example for delayed (async) streaming response. (Sawyer X)
    * Small link fix. (Sawyer X)

0.159000  2015-02-24 04:51:20+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #762: Delay app cleanup until errors are rendered. (Russell Jenkins)
    * GH #835: Correct Logic error in Logger if no request exists.
               (Lennart Hengstmengel)
    * GH #839: Correct "no_server_tokens" definition in production.yml.
               (Nikita K)
    * GH #853, #852: Handle malformed (contentless) cookies. (pants)
    * GH #840, #842: Ensure session data available to template engines.
                     (Russell Jenkins)
    * GH #565, #847, #849: Fix HTTP Status template logic and documentation.
                           (Daniel Muey, Russell Jenkins, Dávid Kovács)
    * GH #843: Add missing attributes to Moo class used in tests. (Graham Knop)

    * GH #836: Support delayed (asynchronous) responses!
               ("Delayed responses" in Dancer2::Manual for more information.)
               (Sawyer X)
    * GH #824: Use Plack::MIME by default, MIME::Types as failback if available.
               (Alberto Simões)
    * GH #792, #848: Keywords can now use prototypes.
                     (Russell Jenkins, Sawyer X)

    * GH #837, #838, #841: Major documentation restructure. (Snigdha Dagar)
      (Check eb9416e9 and a78e27d7 for more details.)
    * GH #823: Cleanup Manual and Cookbook docs. (Omar M. Othman)
    * GH #828: Provide README.mkdn. (Nuno Carvalho)
    * GH #830: Fix typo in Session::YAML pod. (Vince W)
    * GH #831,#832: Fix broken link in Session::YAML pod. (Vince W)

0.158000  2015-01-01 18:08:04+01:00 Europe/Amsterdam

    ** Happy new year! **

    * GH #778: Avoid hard-coded static page location. (Dávid Kovács)
    * Speed up big uploads significantly. (Rick Myers)
    * GH #821: Use Import::Into to import pragmas. (Russell Jenkins)
    * GH #782: Fix utf8 pragma import. (Maxim Vuets)
    * GH #786: Perlbrew fix. (Dávid Kovács)
    * GH #622: Refactoring. (James Raspass)

    * GH #713: Change order of statements in Cookbook to not imply that
      D2::P::Ajax::ajax() calls have priority. (Sawyer X)

0.157001  2014-12-21 20:40:13+01:00 Europe/Amsterdam

    * GH #814, #815: Rename "app.pl" to "app.psgi". (Sawyer X)

0.157000  2014-12-14 18:23:33+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #799: Set current request earlier so log formats using requests
      will work. (Sawyer X)
    * GH #650: Provide default environment to app for templating.
      (Dávid Kovács, Chi Trinh)
    * GH #800: Better portability code, for different Windows situations.
      (Christian Walde)
    * Less littering of the test directories with session files. (Sawyer X)

    * GH #810: strict && warnings in the app.pl. (Sawyer X)
    * Use to_app keyword in skeleton. (Sawyer X)
    * GH #801: Under production, server tokens are disabled. (Sawyer X)
    * GH #588, #779: Remove LWP::UserAgent in favor of HTTP::Tiny.
      (Dávid Kovács, simbabque, Sawyer X)
    * Remove all usages of Test::TCP in favor of Plack::Test. (Sawyer X)

    * GH #802: Remove indication of warnings configuration option
      and add explanation in migration document. (Sawyer X)
    * GH #806: Link in main docs to the migration document. (Gabor Szabo)
    * GH #807: Update migration document with more session data,
      changes to app.pl, and Template::Toolkit configuration. (Gabor Szabo)
    * GH #813: Update migration document with information on encoding and
      usage of Plack::Request internally. (Gabor Szabo, Sawyer X)

0.156001  2014-12-08 23:03:43+01:00 Europe/Amsterdam

    * Documentations suggested serializers aren't consistent. We fixed it
      so we make sure docs reflect that. (Sawyer X)

0.156000  2014-12-07 18:04:14+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * Do not try to deserialize empty content.
      (Lennart Hengstmengel, Sawyer X)
    * Do not call serialization hooks when no serialization took place.
      (Sawyer X)
    * Be more cautious on undef output from serializer.
      (Daniel Böhmer, Sawyer X)

    * Add cpanfile when scaffolding a new app.
      (Dávid Kovács, Sawyer X)
    * Response "content" attribute no longer stringifies. This should help
      reduce warnings, odd debugging problems, etc. (Sawyer X)
    * DSL "uri_for" no longer returns URI object. Instead just the URI.
      (Sawyer X)

    * GH #777: Fix doc for mentioning public dir.
      (Dávid Kovács, Sawyer X)
    * GH #787: Document all environment variables. (Sawyer X)

0.155004  2014-12-04 11:51:23+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * Guard against content length being empty strings. This is really
      bizarre case but saw it once. (Sawyer X)

0.155003  2014-12-03 22:32:12+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #798: More test fixes on Windows. (A. Sinan Unur)

0.155002  2014-12-02 22:59:32+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * Fix test on Windows. (A. Sinan Unur)

0.155001  2014-11-28 17:42:24+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * Small typo in test. (Dávid Kovács)

0.155000  2014-11-28 01:18:39+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #773, #775: AutoPage handler no longer renders layouts.
      (Dávid Kovács, Sawyer X)
    * GH #770: Prevent crazy race condition between the logger engine and
      other engines. This means engines now call "log_cb" to log.
      (Sawyer X)
    * App now has default name to caller package. (Sawyer X)
    * Serializers will not try to serialize empty content. (Sawyer X)
    * Lots of cleanups in Core::Request in favor of Plack::Request.
      (Sawyer X)

    * Layouts directory can be configured using 'layout_dir'.
      (Sawyer X)
    * GH #648, #760: Logger format now supports 'h', 'u', 'U', 'h', 'i'.
      They are documented but weren't really available.
      (Lennart Hengstmengel)
    * Serializers having errors will not fail if there is no logger.
      (Sawyer X)
    * Create a request object with a single argument of $env, like
      Plack::Request. (Sawyer X)

    * Remove documented hack for static content because we use the middleware
      now anyway. (Sawyer X)
    * Document further the difference between splat and megasplat.
      (Dávid Kovács)

0.154000  2014-11-17 15:36:31+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #744: Serialize anything, not just references. (Sawyer X)
    * GH #744: Serialize regardless of content_type of serializer. (Sawyer X)
    * GH #764: Catch template render errors. (Russell Jenkins, Steven Humphrey)
    * Calling uri_for(undef) doesn't crash. (Sawyer X)
    * GH #732: Correct name for 403 (Forbidden, not Unauthorized).
      (Theo van Hoesel, Sawyer X, Mickey Nasriachi, Omar M. Othman)
    * GH #753: Syntax of parameterized types. (Russell Jenkins)
    * GH #734: Failing tests on Windows. (Russell Jenkins, Sawyer X)

    * GH #664, #684, #715: Handler::File replaced for static files with
      Plack::Middleware::Static, allowing files to be served *before* routes.
      This means hooks do not apply to static files anymore!
      (Russell Jenkins, DavsX)
    * Engines now have "logger" attribute to log errors. It sends the
      Dancer2::Logger:: object, if one exists. (Sawyer X)
    * Serializers do not need to implement "loaded" method. (Sawyer X)
    * GH #733: In core: response_xxx removed in favor of generic
      standard_response. (Sawyer X, Mickey Nasriachi, Omar M. Othman)
    * GH #514, #642, #729: Allow mixing named params, splat, and
      megasplat. (Russell Jenkins, Johan Spade, Dávid Kovács)
    * GH #596: no_server_tokens works, as well as DANCER_NO_SERVER_TOKENS.
      (Omar M. Othman, Sawyer X, Mickey Nasriachi)
    * GH #639: Validate engine types in configuration.
      (Sawyer X, Omar M. Othman, Mickey Nasriachi, Russell Jenkins)
    * GH #663, #741: Remove "accept_type" attribute and other references.
      (Mickey Nasriachi, Theo van Hoesel)
    * GH #748: Provide forwarded_host, forwarded_protocol. (Sawyer X)
    * GH #748: Do not provide a default env, require env for a request.
      (Sawyer X)
    * GH #742: Update test skeleton to use to_app. (Dávid Kovács)
    * GH #636: Use Plack::Test in more tests. (Dávid Kovács)

    * GH #656: Dancer2::Manual::Testing as a guide for testing Dancer2
      applications. (Sawyer X)
    * Improved documentation of route matching. (Russell Jenkins)
    * Migration document update relating to enhancements.
      (Sawyer X, Mickey Nasriachi)
    * GH #731: Document changes in session.
      (racke, Sawyer X, Mickey Nasriachi, Omar M. Othman)
    * Document "id" attribute in Request object. (Sawyer X)
    * Correct Cookbook examples on command line scripts. (Sawyer X)

0.153002  2014-10-30 09:23:52+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #734: More failing tests. (Sawyer X)

0.153001  2014-10-27 12:39:54+01:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #734: Failing tests on Windows. (Sawyer X)

    * GH #724: Plack::Test example in Dancer2::Test. (Jakob Voss)

0.153000  2014-10-23 23:45:36+02:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #634, #687: Fix file logger defaults.
      (Russell Jenkins, Dávid Kovács, Sawyer X)
    * GH #730: Make App use app-level config for behind_proxy. (Sawyer X)
    * GH #727: Disable regex metachars when calculating app location in tests
      (Gregor Herrmann)
    * GH #681, #682, #712: Clear session engine within destroy_session.
      (DavX, Russell Jenkins)
    * Ignore :tests in importing, don't suggest :script. (Sawyer X)

    * Internal: Move the implementation of send_file from DSL to App.
      (Russell Jenkins)

    * GH #728: Typos in Policy document. (Olaf Alders, Sawyer X)

0.152000  2014-10-14 04:30:59+02:00 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #723: Redispatched requests lose data. (Sawyer X)

    * Provide 'content' keyword to set the response content. (Sawyer x)
    * GH #616, #155, #615: Session engines are now lazy! (Russell Jenkins)
    * Dancer2 response objects can be created from arrays or from
      Plack::Response objects. (Sawyer X)
    * GH #718: Clean up App's Template engine. (Russell Jenkins)
    * Adding class-based tests. (Sawyer X)

    * Add a policy document under Dancer2::Policy. (Sawyer X)
    * Document log_format instead of logger_format. (Sawyer X)

0.151000  2014-10-08 21:49:06+02:00 Europe/Amsterdam

    * Apps are now a proper independent PSGI application. Forwarding
      and passing requests between apps will still work if you use the
      'Dancer2->psgi_app' method without providing a class, but it might
      still be phased out in the future.
      (Sawyer X)

    * Migration document! (Snigdha Dagar)
    * GH #667: Fix typo in cookbook pod. (Lindsey Beesley)
    * GH #649, #670: Document core logger. (simbabque)
    * GH #689: Git guide markdown fixes. (Paul Cochrane)
    * GH #690, #691, #694, #696, #698, #699, #700, #702, #703,
         #704, #705, #706, #707, #708, #710: Doc cleanups.
      (Paul Cochrane)
    * GH #688: Improve testing documentation. (Paul Chochrane)
    * GH #692: Document serving static files using
      Plack::Middleware::Static. (Dávid Kovács @DavsX)
    * GH #695: Correct Dancer2::Logger::Capture, add test example.
      (Dávid Kovács @DavsX)
    * GH #716: Correct document on proxy procotol forwarding
      in Apache. (Andy Beverley)

0.150000  2014-08-17 01:35:16CEST+0200 Europe/Amsterdam

    * GH #657: Update multi-app example in cookbook to include route
      merging. (Bas Bloemsaat)
    * GH #643: Improve session factory docs by mentioning Dancer2::Config.
      (Andy Jack)

    [ BUG FIXES ]
    * Postponed hooks are no longer sent to all Apps.
      (Sawyer X, Mickey Nasriachi)
    * 404 File Not Found Application reworked to stay up to date with
      postponed hooks merging in multiple apps. (Russell Jenkins)
    * GH #610, #662: Removed two circular references memory leaks!
      (Russell Jenkins)
    * GH #633: Log an error when a hook dies. (DavsX)

    * Allow settings apps in the psgi_app() call by name or regex.
      (Sawyer X)
    * GH #651: silly typo in clearer method name (DavsX).

0.149000_02 2014-08-10 13:50:39CEST+0200 Europe/Amsterdam

    * GH #641: Adding a shim layer to prevent available hooks (and
      thus plugins) from breaking.
    * Each App can now define its own configuration. The Runner's
      application-specific configure has been untangled.
      (Russell @veryrusty Jenkins, Sawyer X, Mickey Nasriachi)
    * Multiple Dancer App support. You can now create a App-specific
      PSGI application using MyApp->psgi_app.
      (Russell @veryrusty Jenkins, Sawyer X, Mickey Nasriachi)
    * Add routes and hooks to an existing app on import.
      (Russell @veryrusty Jenkins, Stevan Humphrey, Stefan racke
      Hornburg, Jean Stebens, Chunzi, Sawyer X, Mickey Nasriachi)
    * Allow DSL class to be specified in configuration file.
      (Stevan Humphrey)
    * forward() now returns a new request which is then just runs
      the dispatching loop again. (Sawyer X, Mickey Nasriachi)

    [ BUG FIXES ]
    * GH #336: Set log level correctly.
      (Andrew Solomon, Pedro Bruno)
    * GH #627, #607: Remove potential context issues with returning
      undef explicitly. (Javier Rojas)
    * GH #646: Fix whitespacing for tests. (DavsX)

0.149000_01 2014-07-23 21:31:21CEST+0200 Europe/Amsterdam

    *************************** NOTICE ***************************
    * This very is a major upgrade                               *
    * We untangled the context, DSL implementation a bit         *
    * Please check your code, including your plugins, thoroughly *
    * Thank you                                                  *

    * GH #589: Removing Dancer2::Core::Context global context variable.
      Finally in.
      (Sawyer X, Mickey Nasriachi, Russell @veryrusty Jenkins)

    [ BUG FIXES ]
    * GH #606, #605: Fix for setting public directory.
      (Ivan Kocienski, Russell Jenkins, Stefan @racke Hornburg)
    * GH #618, #620: Fix jQuery link generated by CLI skeleton.
      (Michał Wojciechowski)
    * GH #589: Major memory leak fix by removal of Dancer2::Core::Context.

    * GH #620: Bump jQuery to 1.11.1. (Michał Wojciechowski)

0.143000  2014-07-05 21:39:28CEST+0200 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #538, #539: Coerce propogated exceptions to strings within Error object.
      (Steven Humphrey)
    * GH #531: Generate valid HTML when show_errors is true from Error objects.
      (Steven Humphrey)
    * GH #603: Update skeleton test to use Plack::Test. (Sawyer X)

    * Provide psgi_app in top-level Dancer.pm to make it easier to change it.
      (Sawyer X)

0.142000  2014-06-24 15:16:42CEST+0200 Europe/Amsterdam

    [ BUG FIXES ]
    * GH #550, #555: Allow the content type to be set when using send_file
      as per the documentation. (Russell Jenkins, Steven Humphrey)

    * GH #512, #520, #602: Pass all settings into JSON serializer engine.
      (Jakob Voss, Russell Jenkins)
    * GH #532: Serialize runtime errors such as those produced by die if a
      serializer exists. (Steven Humphrey)

0.141000  2014-06-08 22:27:03CEST+0200 Europe/Amsterdam

    * No functional changes.

0.140900_01 2014-06-07 23:32:56IDT+0300 Asia/Jerusalem

    [ BUG FIXES ]
    * GH #447: Setting the apphandler now triggers the Dancer Runner
      configuration change, which works. (Sawyer X)
    * GH #578: Remove the default engine configurations. (Sawyer X)
    * GH #567: Check for proper module names in loading engines. Might help
      with taint mode. (Sawyer X)
    * GH #585, #595: Return 405 Method Not Allowed instead of 500.
      (Omar M. Othman)
    * GH #570, #579: Ensure keywords pass, send_error and send_file
      exit immediatly when executed. (Russell Jenkins)

    * GH #587: Serializer::Mutable alive! (Pedro Bruno)

    * Fix doc for params(). Ported from Dancer#1025 (Stefan Hornburg)

0.140001  2014-05-01 10:49:25CEST+0200 Europe/Amsterdam

    [ BUG FIXES ]
    * Bugfix for extracting multiple cookies within a request.
      (Cymon, Russell Jenkins)
    * Require minimum version of Plack to make sure we can add the Head
      middleware. Not exactly a bug, but not a feature. (Sawyer X)

    * Correct reference to HTTP::Server::Simple::PSGI. (Russell Jenkins)

0.140000  2014-04-28 23:14:31CEST+0200 Europe/Amsterdam

    * Replace Config role with better ConfigReader role.
      (Mickey Nasriachi, Stefan Hornburg, Sawyer X)
    * Move App-related attributes (engines) to App instead of config role.
      (Mickey Nasriachi, Stefan Hornburg, Sawyer X)
    * Untangle Runner-Server (removing Server entirely).
      (Mickey Nasriachi, Stefan Hornburg, Sawyer X)
    * Replace HTTP::Server::Simple::PSGI with HTTP::Server::PSGI.
      (Mickey Nasriachi, Stefan Hornburg, Sawyer X)
    * GH #527: Build request cookie objects from request headers, not env.
      (Russell Jenkins)
    * GH #569: Transform cookie using the HTTP_COOKIE header, per PSGI spec.
      (Russell Jenkins)
    * GH #559, #544: Use Plack middleware for HEAD request content removal.
      (Russell Jenkins)
    * GH #513, #483: Deserialize body content for DELETE requests.
      (Russell Jenkins, Yanick Champoux, Sawyer X)

0.13      2014-04-13 19:19:44CEST+0200 Europe/Amsterdam

    * GH #562: Change YAML::Any to YAML (Steven Humphrey, Russell Jenkins).

    [ BUG FIXES ]
    * GH #524: Double encoding for YAML sessions.
    * GH #557: Switch to using YAML::Old.
    * GH #548: Deserializer test failure.

0.12      2014-04-07 22:42:12 Europe/Amsterdam

    * GH#518: Bump jQuery to 1.10.2 (Grzegorz Rożniecki).
    * GH#535: Support OPTIONS and PATCH requests in Server::Standalone.
      (Russell Jenkins)
    * GH#553: Dancer2 CLI: specify directory to write app skeleton
      (Jean Stebens)
    * GH#543: Additional HTTP Methods for Ajax plugin (Jean Stebens).

    * RT#91428: POD encoding set to UTF-8 in main .pm (Gregor Herrmann).
    * GH#517: Miscellaneous documentation fixes (Cesare Gargano).
    * GH#518: "Getting started" demo page fixes (Grzegorz Rożniecki).
    * GH#522: s/PerlHandler/PerlResponseHandler/ in Apache2 sample configuration
      (Grzegorz Rożniecki)
    * GH#521: Remove duplicated POD and clean up list details (Shlomi Fish)
    * GH#526: Cleanup POD formating and code snippets in manual.
      (Grzegorz Rożniecki)

    [ BUG FIXES ]
    * GH#528,529: Force PSGI server in dispatch scripts for CGI or fcgi
      deployments (Erik Smit, Alberto Simões)
    * GH#550,GH#551: Update all headers in Handler::File
      (Sawyer X, Stefan @racke Hornburg)
    * GH#540: Fix hook execution when default scalar was used in hook code.
      (baynes, Russell Jenkins)
    * GH#552: Rework test suite to use Plack::Test
      (Sawyer X, Stefan @racke Hornburg)
    * GH#560: Return value of hooks do not alter response content.
      (Jean Stebens)

0.11      2013-12-15 14:19:22 Europe/Amsterdam

    * GH#481: Don't pollute @INC automatically when Dancer2 is imported, each
      runner is now responsible of including the local ./lib dir if needed.
    * GH#469, 418: Dancer2::Plugin provides a ':no_dsl' flag for modern Plugins
      (Pedro Melo)
    * GH#485: Keywords 'redirect' and 'forward' exit immediatly when executed in
      a route/hook. New dependency on Return::MultiLevel (Russell Jenkins).
    * GH#495: Use accessor and predicates instead of direct access.
      Addresses GH#493 too. (Russell Jenkins)
    * GH#502,GH#472: Rework halt to use with_return from Return::MultiLevel.
      (Russell Jenkins)
    * GH#479,GH#480,GH#508: Pass parameters to params() in the DSL.
      (Slava Goltser, unickuity, Russell Jenkins)
    * GH#505: Fix empty HTTP_REFERER in Dancer::Core::Request (Menno Blom).
    * GH#503: Multiple reverse proxy support (Menno Blom).
    * GH#371,GH#506: CLI tool rewrite (using App::Cmd, supports plugins, etc.).
      (Ivan Kruglov, Samit Badle, Sawyer X)
    * GH#498: Add some missing items in MANIFEST.SKIP (Gabor Szabo, Sawyer X).

    * GH#489: Remove link to Dancer2::Deployment pod which does not exist
    * GH#511: s/Deflator/Deflater/; (Cesare Gargano)
    * GH#491: Updated config paths for template_toolkit in cookbook.
      (Mark A. Stratman)
    * GH#494: Update session config details (Dancer2::Config),
      namespace fixup in Dancer2::Core::cookie.
      (Russell Jenkins)
    * GH#470: Fix Plack::Builder mount usage (Pedro Melo).
    * GH#507: Fix plenty of typos (David Steinbrunner).
    * GH#477: Document problem with Plack Shotgun on Windows (Ahmad M. Zawawi).
    * GH#504: Add link to Dancer2::Plugin::Sixpack (Menno Blom).
    * GH#490: Document Dancer2 should be FatPackable (Sawyer X).
    * GH#452: Make a complete authors section, clean it up (Pau Amma).
    * More fixes to main documentation (Pau Amma).

0.10      2013-09-28 15:26:41 Europe/Paris

    * GH#431: Miscellaneous documentation fixes (Gideon D'souza)
    * Small POD corrections (Ashvini V)

    * GH#482: Show the startup banner when the worker starts by default
      (Alexis Sukrieh).
    * GH#481: Include local lib dir in @INC by defaults (Alexis Sukrieh).
    * GH#423: Remove ':tests' from Dancer.pm import (Alberto Simões).
    * GH#422: Get rid of core_debug method (Alberto Simões).
    * GH#421: Support Plugin::Ajax content_type (Russell Jenkins).
    * GH#428: Make default errors CSS path relocatable (Russell Jenkins).
    * GH#427, GH#443: Replace global warnings with lexical (Russell Jenkins).
    * GH#374: Don't create an app from app.psgi (Alberto Simões).
    * Cleanup Core::Request, Core::Request::Upload (Mickey Nasriachi).
    * GH#445: Test Template::Simple (Alexis Sukrieh, Russell Jenkins).
    * GH#449: Test Session hooks (Gideon D'souza)
    * GH#434,440: Imutable attributes (Mickey Nasriachi).
    * GH#435: Allow send_error to serialize error (Russell Jenkins).
    * Add more tests to session id rw (Pedro Melo).
    * Whitespace cleanup (Ivan Bessarabov).

    [ BUG FIXES ]
    * GH#424,425: Fix logger tests for different timezones, and close
                  logfile before deleting it: Windows dixit.
                  (Gideon D'souza, Russell Jenkins)

0.09      2013-09-02 00:12:58 Asia/Jerusalem

    * Rewite DSL keyword engine (Mickey Nasriachi)
    * Require minimum Role::Tiny 1.003000 (Alberto Simões)
    * GH#382: Move Request attributes to params, and fix serializers
              behavior (Russell Jenkins)
    * GH#406: Replace Dancer2::ModuleLoader with Class::Load
              (Alberto Simões, Sawyer X)
    * GH#329: Remove 'load_app' DSL keyword. Remove reference to
              'load' as well. (Sawyer X)
    * GH#412: Autopages are now called properly with correct MIME.
              (Alberto Simões)

    * GH#390: minor cookbook documentation fixes (Russell Jenkins)
    * GH#392: remove support to auto_reload and suggest alternative
      in Dancer2::Cookbook (Ahmad M. Zawawi)
    * GH#397,407: Miscellaneous documentation fixes (Andrew Solomon)
    * Documentation cleanups (Alex Beamish)

    [ BUG FIXES ]
    * When compiling route regex object with prefix, add the closing anchor
      (Mickey Nasriachi)
    * GH#386: honor log level defined in config file (Alberto Simões)
    * GH#396,409: Miscellaneous bug fixes (Russell Jenkins)
    * GH#403: Fix forward behavior (Russell Jenkins)

0.08      2013-08-18 15:22:45 Asia/Jerusalem

    * GH#352: Define content_type as a property for serializers. (Franck Cuny)
    * Cleanup duplicate HTTP status code between Core::Error and Core::HTTP
      (Russel Jenkins)
    * GH#363: Move core methods to Dancer2::Core (Alberto Simões)
    * GH#362: Serializers documentation and test cleanup. (Franck Cuny)
    * Refactoring of the engine method. (Franck Cuny)
    * Misc. code cleanup. (Russel Jenkins)
    * GH#280: Remove the unused ':syntax' importing tag (Sawyer X)
    * Display startup info only if environment is "development" (Franck Cuny)
    * Move postponed_hooks to server from runner (Sawyer X)
    * Provide easier access to global runner (Sawyer X)
    * Bunch of code cleanups which also includes speed boost (Sawyer X)
    * More immutability in the runner class and config role (Sawyer X)

    [ BUG FIXES ]
    * GH#85, GH#354: Fix autopages, especially in subdirs
      (Stefan Hornburg, Alberto Simões)
    * GH#365: Fix serializer settings (Steven Humphrey)
    * GH#333: callerstack for logger was too short (Alberto Simões)
    * GH#369: Move request deserialization from Dispatcher to Content & Request
      (Russell Jenkins)

    * GH#192: Documentation the current usage of middlewares using
              Plack::Builder (Sawyer X)
    * GH#195, GH#197, GH#372: Multiple apps with Plack::Builder (Sawyer X)
    * GH#348: Documentation of Role::Logger (Franck Cuny)
    * GH#350: Move part of README.md to GitGuide.md (Franck Cuny)
    * GH#353: Documentation of Role::Serializer (Alberto Simões, Franck Cuny)
    * Misc. minor documentation tweak (Alberto Simões, Franck Cuny)

0.07      2013-08-04 01:14:59 Asia/Jerusalem

    * GH#344, GH#284: Now forward() calls preserve sessions (cym0n, Alberto Simões)
    * Separation of engines from triggers and configuration (Sawyer X, Franck Cuny)
    * GH#347: Remove old compatibility option 'log_path' (Franck Cuny)
    * GH#156, GH#250, GH#349: Remove unused module (Alberto Simões, mokko)
    * GH#331: Hook cleanups and documentation. (Franck Cuny)
    * GH#335: Serializing cleanup. (Franck Cuny)
    * GH#332: Clean up multiple definitions of core_debug (Franck Cuny)
    * GH#338: Clean up route builder (Mickey Nasriachi)
    * Clean up of the dzil configuration (Alberto Simões)

    [ BUG FIXES ]
    * GH#334: Fix for GH#86, to display custom 500 page/template on
      internal server errors (Russell Jenkins)
    * GH#346: Fix tests on 5.8.9 (Albert Simões)

    * GH#345: Documentation reorganization (Alberto Simões, Franck Cuny)

0.06 2013-07-30 (Sawyer X)

    * Clean up of the dzil configuration (Alberto Simões,Franck Cuny, Russel Jenkins)
    * GH#327: Add support for 'info' log level (Russell Jenkins)
    * Remove 'for_versions' usage from tests (Alberto Simões)

    [ BUG FIXES ]
    * GH#326, GH#232: don't end up with empty views and layout (Franck Cuny)
    * GH#325: don't die or complain when two routes have the same path (Franck Cuny)
    * GH#320: fix plugin_setting deprecation warning (David Golden)

    * POD cleanup (Sawyer X, Franck Cuny)

0.05      2013-07-20 18:51:53 Europe/Paris


    * Dancer2::Plugin drops support for Dancer 1 (issue #207)
      a DEPRECATION notice is issued when a plugin uses the old syntax
      (Alexis Sukrieh, Mokko, David Golden)
    * Drop support for 'use Dancer2 :moose' (Franck Cuny)

    * Add support for HTTP_X_FORWARDED_PROTO (Yanick Champoux)
    * Don't inflate custom types (Graham Knop)
    * Encode UTF8 params in Dancer2::Test (Vincent Bachelier)
    * Make Dancer2::Core::Request more lazy (Franck Cuny)
    * Don't use rootdir for app location (David Golden)
    * Improve File logger (David Golden)
    * Drop body when status is 1x or [23]04 (Franck Cuny)
    * Add support for HTTP_X_FORWARDED_PROTO (Yanick Champoux)
    * Prevent duplicate routes from being created (Franck Cuny)
    * Add support for route options (Franck Cuny)
    * Add support for prefix with route defined with regex (Franck Cuny)
    * Methods to return path of views and layout in the Template role
      (Franck Cuny, Yanick Champoux).
    * GH#31, GH#221: Config merging support (Russell Jenkins)

    [ BUG FIXES ]
    * GH#272: test function 'route_doesnt_exist' was not handling test comment
      properly. (Jeff Boes, Yanick Champoux)
    * GH#228: handle UTF-8 correctly in JSON serializer (Steven Humphrey)
    * GH#270: handle correctly serializer's options (Keith Broughton)
    * GH#274: `dancer -v' returns the correct version (Dinis Rebolo)
    * GH#286: for HEAD request, drop response's body (Franck Cuny)
    * GH#293: fix defaults tests for a newly generated app (Franck Cuny)
    * GH#216: check 'show_errors' when returning an internal error (Franck Cuny)
    * GH#246: Add serialization of log messages (Stefan Hornburg)
    * GH#268: Dancer2::Core::Response->status accepts stringy HTTP codes
      (Franck Cuny)
    * GH#308: Add support for ENV{DANCER_CONFDIR} and ENV{DANCER_ENVDIR}
      (Franck Cuny)
    * GH#210: Don't print startup banner if startup_info is set to 0
      (Maurice Mengel, Franck Cuny)
    * plugin_setting does not trigger a DEPRECATION warning anymore
      (Report by Alberto Simões, fix by Alexis Sukrieh)
    * GH#251: Support for on-the-fly changes of layouts/views (Franck Cuny)
    * GH#302: Avoid double encoding in Handler::File (Russell Jenkins)

    * Lots of documentation cleanup (Mokko, David Precious)
    * Documenting Dancer2::Handler::AutoPage (Sabiha Imran, Sawyer X)
    * Documenting Dancer2::Core::Dispatcher (Babitha Balachandran)
    * Documenting Dancer2::Manual::DSL (David Precious, Franck Cuny)
    * Various typo (Shlomi Fish, Colin Kuskie, Stefan Hornburg, Rick Yakubowski)
    * Documenting some internals (Colin Kuskie)
    * Documenting Dancer2::Core::MIME (Babitha B.)
    * Documenting Manual::Developers (Maurice Mengel)
    * Documenting Dancer2::Core::Response (Colin Kuskie)

0.04 - 2013-04-22 (Alexis Sukrieh)

    [ BUG FIXES ]
    * Fix "Internal Sever Error" when sending a file with send_file
      (Dinis Rebolo)
    * Allow the setting of the 'views' directory, like stated in documentation
      (Alexander Karelas)

    * Implement Dancer2::Test file uploads (Steven Humphrey)
    * Give Dancer2::Test the ability to handle multiselect inputs
      (Steven Humphrey)
    * Make Cookie objects stringify to their value. (David Precious)
    * New routines for Dancer2::Test to check pod coverage in apps routes
      (Dinis Rebolo)
    * New script dancer2 to bootstrap an application (mokko)
    * Fix tests when running under Windows environments (Russell Jenkins)
    * Serializing modify the response's content type (Yanick Champoux)

    * Make introduction more fluid in Dancer2's POD. (mokko)

    * Remove prereq Digest::SHA (mokko)
    * Dancer::P::Bcrypt recomends Dancer::P::Passphrase (Blabos de Blebe)

0.03 - 2013-03-07 (Alexis Sukrieh)

    * Don't create a session when just checking if a value exists
      (David Golden)
    * Only flush sessions if they are dirty
      (David Golden)
    * Allow the default template file extension to be changed.
      (David Precious)
    * Add on_plugin_import function to Dancer2::Plugin (David Golden)
      (Fix for issue #284)

    * Dancer2::ModuleLoader now use Module::Runtime at its core
      (issue #166, Yanick Champoux)

    * changed <% to [% in documentations (Alexander Karelas)
    * Improve Dancer2::Plugin documentation (David Golden)

0.02 - 2013-02-24   (Alexis Sukrieh)

    * No more "TODO" tokens in the documentations
    * More documentation for Core classes
    (Alexis Sukrieh)

    * Removed the "api_version" code that is useless and was breaking some
    (Alexis Sukrieh)


    * Dancer::Test takes a hash instead of an array for better backward
      compatibility with Dancer 1.
    * Session revamp: better decoupling between Session and SessionFactory,
      support for session destruction and session values deletion. Everythin
      regarding session settings is now configurable.
      (David Golden).
    * Add route_exists and route_doesnt_exist in Dancer::Test (Mokko)
    * session cookie duration can be expressed with human readable strings
    * instead of numeric values (Alexis Sukrieh, issue #157).

    [ BUG FIXES ]
    * The engine configuration is now passed down to
      Dancer::Template::Implementation::ForkedTiny (Damien Krotkine).
    * Dancer App lookup now try to detect the dir "bin" and "lib" or ".dancer"
      file. (Celogeek)
    * Issues #125 and #126
      Support for configuration bits for session objects, possible to change the
      cookie name instead of the hard-coded value 'dancer.session'.
      (Reported by David Golden, fixed by Alexis Sukrieh).

    * Add more POD in Dancer::Test (Mokko)


    * Fix tests for previous release, tests cannot assume we're under Dancer 2
      when the version is 1.9999
      (Alexis Sukrieh)


    * First DEVELEOPER release of Dancer 2
      complete rewrite of Dancer with a Moo backend.
      (Alexis Sukrieh, David Precious, Damien Krotkine, SawyerX, Yanick Champoux
      and others, plus Matt S. Trout as a reviewer).