Changes for version 1.3094

  • BUG FIXES
    • GH #763: Fix exceptions in ajax routes clobbering layout (ilmari)
    • GH #748 & GH 647: Don't force override environment from PLACK_ENV (jwittkoski)
    • GH #762: fix param parsing lacking limit on split (leejo)
    • GH #758: Fix Dancer::Test: make sure the request is properly converted to a response. (Ovid)
    • GH #729: Fix dancer exception composition, and message pattern application (Damien Krotkine)
    • GH #752: Exceptions raised in hooks were not propagated back to the route code, but instead canceleld and replaced by a Dancer halt exception. That was wrong. Now it is fixed, exceptions raised in hooks can be properly caught in route code. (Damien Krotkine)
    • Be more flexible in single vs. mutliple values in key hiding. (Sam Kington)
    • Use isa() for checking relationships instead of ref() in Dancer::Test. (Ovid)
  • ENHANCEMENTS
    • Added 'strict_config' option to have the config return an object instead of a hashref. (Ovid)
    • GH #708: Added support for query strings in dancer_request (Jacob Rideout)
    • It's possible for the user to set the environments directory using a new environment variable (DANCER_ENVDIR) or using `set envdir => $path`
    • Sort hash keys when serializing references in log messages (Ovid).
  • DOCUMENTATION
    • Explain in POD that if there are multiple fields with the same name, params('fieldname') returns an arrayref of them (alexrj).
    • GH #750: Fix in Dancer::Deployment: appdir needs to be set before calling load_app (Paul Johnson)
    • Update 'before' hook document (David Cantrell).

Documentation

a quick-start guide to the Dancer web framework
common ways to put your Dancer app into use
guide for developers interested in contributing
guide for Dancer's core-team members
A gentle introduction to Dancer
interesting plugins to add to Dancer's capabilities
An example to get you dancing
helper script to create new Dancer applications
Sorry I can't dance, I'm hanging on to my friend's purse

Modules

lightweight yet powerful web application framework
how to configure Dancer to suit your needs
Access the config via methods instead of hashrefs
class representing cookies
a singleton storage for all cookies
handle deprecation messages
base class for Dancer engines
class for representing fatal errors
class for throwing and catching exceptions
the base class of all Dancer exceptions
helper providing file utilities
helper for rendering HTTP status codes for Dancer
a debug handler for easy tracing
a PSGI handler for Dancer applications
Class to manipulate hooks with Dancer
Properties attached to a hook
common interface for logging in Dancer
Abstract logging engine for Dancer
Capture dancer logs
a place to store captured Dancer logs
console-based logging engine for Dancer
Test::More diag() logging engine for Dancer
file-based logging engine for Dancer
Test::More note() logging engine for Dancer
blackhole-like silent logging engine for Dancer
Singleton object to handle MimeTypes
dynamic module loading helpers for Dancer core components
Objects base class for Dancer
Singleton base class for Dancer
helper for writing Dancer plugins
a plugin for adding Ajax route handlers
interface for accessing incoming requests
class representing file uploads requests
Response object for Dancer
route caching mechanism for Dancer
serializer wrapper for Dancer
serializer for handling JSON data
(De)Serialize content using the appropriate HTTP header
serializer for handling XML data
serializer for handling YAML data
session engine for the Dancer framework
abstract class for session engine
in-memory session backend for Dancer
YAML-file-based session backend for Dancer
template wrapper for Dancer
abstract class for Dancer's template engines
pure Perl 5 template engine for Dancer
Template Toolkit wrapper for Dancer
Test helpers to test a Dancer application
a timer for Dancer

Provides

in lib/Dancer/App.pm
in lib/Dancer/Continuation.pm
in lib/Dancer/Continuation/Halted.pm
in lib/Dancer/Continuation/Route.pm
in lib/Dancer/Continuation/Route/ErrorSent.pm
in lib/Dancer/Continuation/Route/FileSent.pm
in lib/Dancer/Continuation/Route/Forwarded.pm
in lib/Dancer/Continuation/Route/Passed.pm
in lib/Dancer/Continuation/Route/Templated.pm
in lib/Dancer/Factory/Hook.pm
in lib/Dancer/GetOpt.pm
in lib/Dancer/Handler.pm
in lib/Dancer/Handler/Standalone.pm
in lib/Dancer/Renderer.pm
in lib/Dancer/Route.pm
in lib/Dancer/Route/Registry.pm
in lib/Dancer/Serializer/Abstract.pm
in lib/Dancer/Serializer/Dumper.pm
in lib/Dancer/SharedData.pm