The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.200000 - 2016-05-31

  • BUG FIXES
    • GH #1174: Update plugin tests to stop deprecation warnings (Peter Mottram)
    • GH #1173: Reword error when serialization / deserialization fails to be more generic (Russell @veryrusty Jenkins)
  • ENHANCEMENTS
    • Introduce an improved variation of the Dancer2::Plugin::SendAs into core. You can now override the serializer (or lack thereof) at any point in time for a response by calling `send_as`. You can also send the options of `send_file` (like the Content-Type) and the charset for the app is also respected. (Russell @veryrusty Jenkins)

Changes for version 0.166001_04 - 2016-05-27 (TRIAL RELEASE)

  • BUG FIXES
    • GH #1171: Ensure request query parameter parsing is independent of Plack version (Russell Jenkins)

Changes for version 0.166001_03 - 2016-05-27 (TRIAL RELEASE)

  • BUG FIXES
    • GH #1165, #1167: Copy is_behind_proxy attribute into new request on forward. (Russell Jenkins)
  • ENHANCEMENTS
    • GH #1120: Move from MooX::Types::MooseLike to Type::Tiny for performance. (Peter Mottram)
    • GH #1145, #1164: Replace Class::Load with Module::Runtime (Sawyer X)
    • GH #1159, #1163: Make template keyword global. (Sawyer X, Russell Jenkins)
  • DOCUMENTATION
    • GH #1158: List both static and shared modules in Apache's deploy instructions. (Varadinsky)

Changes for version 0.166001_02 - 2016-04-29 (TRIAL RELEASE)

  • BUG FIXES
    • GH #1160: Engines receive correct log callback on build (Peter Mottram)
    • GH #1148: Ensure request body parameter parsing is independent of Plack version (Russell Jenkins)

Changes for version 0.166001_01 - 2016-04-19 (TRIAL RELEASE)

  • BUG FIXES
    • GH #1102: Handle multiple '..' in file path utilities. (Oleg A. Mamontov, Peter Mottram)
    • GH #1114: Fix missing prereqs as reported by CPANTS. (Mohammad S Anwar)
    • GH #1128: Shh warning if optional megasplat is not present. (David Precious)
    • GH #1139: Fix incorrect Content-Length header added by AutoPage handler (Michael Kröll, Russell Jenkins)
    • GH #1144: Change tt tags to span in skel (Jason Lewis)
    • GH #1046: "no_server_tokens" configuration option doesn't work. (Sawyer X)
    • GH #1155, #1157: Fix megasplat value splitting when there are empty trailing path segments. (Tatsuhiko Miyagawa, Russell Jenkins) NOTE: Paths matching a megasplat that end with a '/' will now include an empty string as the last value. For the route pattern '/foo/**', the path '/foo/bar', the megasplat gives ['bar'], whereas '/foo/bar/' now gives ['bar','']. Joining the array of megasplat values will now always be the string matched against for the megasplit.
  • DOCUMENTATION
    • GH #1119: Improve the deployment documentation. (Andrew Beverley)
    • GH #1123: Document import of utf8 pragma. (Victor Adam)
    • GH #1132: Fix spelling mistakes in POD (Gregor Herrmann)
    • GH #1134: Fix spelling errors detected by codespell (James McCoy)
    • GH #1153: Fix POD rendering error. (Sawyer X)
  • ENHANCEMENTS
    • GH #1129: engine.logger.* hooks are called around logging a message. (Russell @veryrusty Jenkins)
    • GH #1146: Cleaner display of error context (Vernon Lyon)
    • GH #1085: Add consistent keywords for accessing headers; 'request_header' for request, 'response_header', 'response_headers' and 'push_response_header' for response. (Russell @veryrusty Jenkins)
    • GH #1010: New Dancer2::Plugin architecture, includes support for plugins using other plugins. (Yanick Champoux, Russell Jenkins, Sawyer X, Damien Krotkine, Stefan @racke Hornburg, Peter Mottram) Note: Considerable effort has gone into working with the authors of existing plugins to ensure their plugins are compatible with both the 'old' and the new reworked plugin architecture. Please upgrade your plugins to a recent release. (Special thanks to Peter @SysPete Mottram)

Documentation

Configure Dancer2 to suit your needs
Example-driven quick-start to the Dancer2 web framework
A gentle introduction to Dancer2
common ways to put your Dancer app into use
Migrating from Dancer to Dancer2
Writing tests for Dancer2
Recommended Dancer2 plugins
Dancer core and community policy and standards of conduct
An example to get you dancing
Dancer2 command line interface

Modules

Lightweight yet powerful web application framework
Dancer2 cli application
create new Dancer2 application
Core libraries for Dancer2 2.0
encapsulation of Dancer2 packages
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 application location "guessing"
Role for hookable objects
Role for logger engines
Role for Serializer engines
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
class to represent any session object
class to handle common helpers for time manipulations
Type::Tiny 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
base class for Dancer2 plugins
Serializer for handling Dumper data
Serializer for handling JSON data
Serialize and deserialize content based on HTTP header
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