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                                                  *

    [ ENHANCEMENTS ]
    * 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.

    [ ENHANCEMENTS ]
    * 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)

    [ ENHANCEMENTS ]
    * 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)

    [ ENHANCEMENTS ]
    * 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)

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

    [ DOCUMENTATION ]
    * 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)

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

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

    [ ENHANCEMENTS ]
    * 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

    [ ENHANCEMENTS ]
    * 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

    [ ENHANCEMENTS ]
    * 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).

    [ DOCUMENTATION ]
    * 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

    [ ENHANCEMENTS ]
    * 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).

    [ DOCUMENTATION ]
    * GH#489: Remove link to Dancer2::Deployment pod which does not exist
      (Sweet-kid)
    * 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

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

    [ ENHANCEMENTS ]
    * 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

    [ ENHANCEMENTS ]
    * 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)

    [ DOCUMENTATION ]
    * 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

    [ ENHANCEMENTS ]
    * 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)

    [ DOCUMENTATION ]
    * 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

    [ ENHANCEMENTS ]
    * 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)

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

0.06 2013-07-30 (Sawyer X)

    [ ENHANCEMENTS ]
    * 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)

    [ DOCUMENTATION ]
    * POD cleanup (Sawyer X, Franck Cuny)

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

    [ DEPRECATION ]

    * 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)

    [ ENHANCEMENTS ]
    * 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)

    [ DOCUMENTATION ]
    * 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)

    [ ENHANCEMENTS ]
    * 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)
    
    [ DOCUMENTATION ]
    * Make introduction more fluid in Dancer2's POD. (mokko)

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

0.03 - 2013-03-07 (Alexis Sukrieh)

    [ ENHANCEMENTS ]
    * 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)

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

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

0.02 - 2013-02-24   (Alexis Sukrieh)

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

    [ ENHANCEMENTS ]
    * Removed the "api_version" code that is useless and was breaking some
      tests.
    (Alexis Sukrieh)

0.01

    [ ENHANCEMENTS ]
    * Dancer::Test takes a hash instead of an array for better backward
      compatibility with Dancer 1.
      (Celogeek)
    * 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).

    [ DOCUMENTATION ]
    * Add more POD in Dancer::Test (Mokko)

1.9999_02

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

1.9999_01

    * 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).
