[dancer-users] New Dancer2 releases: 0.162000 ... 0.166000!

Sawyer X xsawyerx at gmail.com
Tue Jan 12 19:12:40 GMT 2016

Hi everyone,

I haven't written about our last releases because I was a bit stressed
for time. Allow me to apologize for that.

We have just released a new version of Dancer2 and I think it's time
to share the work we've done recently and where we're going with the
next releases.

Big changes in 0.166000:

* Menno Blom (@b10m) discovered a problem with the interaction of
`set` and hooks (GH #1013). This turned up being a race condition
which is now fixed. Thanks, Menno!

* Alberto Simões (@ambs) discovered a problem with returning 0 as the
response content. Working with Russell Jenkins (@veryrusty), they have
fixed it.

* Andy Beverley (@abeverley) discovered a problem with dynamic include
paths in the Template::Toolkit template engine. Russell Jenkins jumped
in to help and they fixed the problem! Thanks, Andy, for all the help
on researching this!

* We somehow ended up being incompatible with 5.8. Our policy is to
continue supporting it until we can't. Peter Mottram (@SysPete) worked
on sorting this out blazingly fast. We're now compatible again!

* Defining routes with DSL now returns the route objects created. This
is still experimental but it's available and seems good. Take into
account oddities such as `get()` routes returning two objects - one
for "GET" and one for "HEAD". If we were to ever serve the HEAD routes
through a middleware (which we did and then removed, for speed's
sake), this might change. So, experimental and all that. :) It was
mainly added to allow us to implement GH #33.

Older changes:

We have released a few versions who did not receive a proper
announcement and I would like to go over the bigger issues:

* Bas Bloemsaat fixed a problem in `forward` with a post body
re-reading the body filehandle. (GH #1040)

* Mickey Nasriachi made sure the `before_serializer` is *always*
called, as it should, when a serializer is set.

* Thanks to additional work by Mickey Nasriachi, the
`before_serializer` hook can now change the content! (via `@_`).

* We finally added Hash::MultiValue parameter keywords:
`route_parameters`, `query_parameters`, and `body_parameters`. Please
use them! We intend to discourage the `param` and `params` keywords.

* Dmitrii Tcyganov fixed an error that was triggered when a before
hook would set the content.

* Dancer2 is a heck of a lot faster now!

I want to take a moment to thank the following people for all the work
in these versions (in no particular order):
Gabor Szabo, Kadir, Vernon, Achilles Kars, Patrick Zimmermann, Andy
Beverley, Tina Müller, Dmitrii Tcyganov, A. Sinan Unur, Nick Tonkin,
Sébastien Deseille, @girlwithglasses, Nuno Carvalho, Bas Bloemsaat,
Mohammad S Anwar, Theo van Hoesel, gertvanoss, Jonathan Scott Duff,
and Menno Blom, and thanks to all the core team, especially those
involved in this release: Russell Jenkins, Mickey Nasriachi, Alberto
Simões, Jason A. Crome, Peter Mottram, and Stefan @racke Hornburg.


We finished (!) the new plugin system. Yanick Champoux has moved from
focusing on maintaining Dancer 1 to working on Dancer 2. Big thank you
to David Precious for taking on Dancer 1 maintenance. Yanick has then
worked on rewriting the plugin system. It is now *available* on a

We're working tirelessly on making sure plugins continue to work using
the old syntax while we start deprecating it in favor of the new
system. We intend to throw a lot of warnings (which we will consider
reducing) and keep some form of compatibility for a while.

In order to reduce the change shock, we're going through as many
plugins as possible, trying to smooth them over before having to move
to the new plugin system. The ticket to track the current status of it


What do you think should be our next major focus? Would you like to
help? Let us know!

Have a pleasant dancing experience,
And thanks for being an awesome community,

Sawyer X and the Dancer Core Team. <3

More information about the dancer-users mailing list