Changes for version 0.05 - 2013-07-20

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

Documentation

Configure Dancer2 to suit your needs
Example-driven quick-start to the Dancer2 web framework
Common ways to put your Dancer2 app into use
Guide for anyone interested in contributing to Dancer2
A gentle introduction to Dancer2
Dancer2's DSL keywords
Reference manual for all hooks supported by Dancer2's core.
Recommended Dancer2 plugins
An example to get you dancing
helper script to create new Dancer2 applications

Modules

Lightweight yet powerful web application framework
Core libraries for Dancer2 2.0
encapsulation of Dancer2 packages
handles everything proper to a request's context.
A cookie representing class
Dancer2's Domain Specific Language (DSL)
Class for dispatching request to the appropriate route handler
Class representing fatal errors
Instantiate components by type and name
helper for rendering HTTP status codes for Dancer2
Manipulate hooks with Dancer2
Class to ease manipulation of MIME types
Interface for accessing incoming requests
Class representing file upload requests
Response object for Dancer2
Config role for Dancer2 core objects
Role for engines
Role for Handlers
Role for handling headers
Role for hookable objects
Role for logger engines
Role for Serializer engines
Role for Server classes
Role for session factories
Role for file-based session factories
Role to provide commonly used responses
Role for template engines
Dancer2's route handler
Top-layer class to start a dancer app
Dummy class for passing the PSGI app to a PSGI server
Basic standalone HTTP server for Dancer2
class to represent any session object
class to handle common helpers for time manipulations
Moo types for Dancer2 core.
File utility helpers
Class for handling the AutoPage feature
class for handling file content rendering
Capture dancer logs
a place to store captured Dancer2 logs
Console logger
Test::More diag() logging engine for Dancer2
file-based logging engine for Dancer2
Test::More note() logging engine for Dancer2
Blackhole-like silent logging engine for Dancer2
Dynamic module loading helpers for Dancer2 core components
Extending Dancer2's DSL with plugins
a plugin for adding Ajax route handlers
Serializer for handling Dumper data
Serializer for handling JSON data
Serializer for handling YAML data
in-memory session backend for Dancer2
YAML-file-based session backend for Dancer2
Dancer2 own implementation of Template::Tiny
Pure Perl 5 template engine for Dancer2
Template toolkit engine for Dancer2
Template::Tiny engine for Dancer2
Useful routines for testing Dancer2 apps