[dancer-users] Dancer2 0.200000 is finally out!

Flavio Poletti polettix at gmail.com
Wed Jun 1 10:08:25 BST 2016


Congratulations, an effort worth... Dancer 3 probably :)

BTW, is it Module::Runtime <https://metacpan.org/pod/Module::Runtime> or
Module::Refresh <https://metacpan.org/pod/Module::Refresh>? The latter is
linked but the former is named.

Ciao,

    Flavio.


2016-05-31 22:22 GMT+02:00 Sawyer X <xsawyerx at gmail.com>:

> The long awaited new version of Dancer2 <https://metacpan.org/pod/Dancer2>
> is finally on its way to CPAN mirror near you!
>
> Why did it take so long, what's changed, and why the big bump in version?
>
> In short: A new plugin system, reworked from scratch, that is still
> (mostly) backwards compatible.
>
>
> *The plugin system*
> One of the sore points left in Dancer2 is its plugin architecture. The
> idea was to have an easy, comfortable plugin system (similar to Dancer 1)
> but much smarter. Unfortunately while the idea was there, and some of the
> code was there, the goals were not fully achieved, due to tuit shortage.
>
> This led to various problems with plugins, most notably, using plugins
> within other plugins. This was beyond frustrating for several plugin
> developers. The current system was simply insufficient. We decided to
> finally tackle this. I have an entire story about that, but I'll leave it
> for another time.
>
> The new plugin system provides each plugin with its own instance, full Moo
> <https://metacpan.org/pod/Moo> classes (use attributes, roles, other
> plugins, whatever you want), full access to the internal objects (which, as
> a plugin developer, you might as well use), and cleanly decouples it from
> the user namespace. Despite it being object oriented, we still carefully
> try and handle the old keyword-based interface that the previous plugin
> system used. In places where it was not possible, we contacted the module
> authors, and provided pull requests to implement the new parts. We even
> collected statistics on which modules are supported, whether we submitted a
> PR, whether it was merged, and whether a new release was made. You can see
> this here <https://github.com/PerlDancer/Dancer2/issues/1078>.
>
> The compatibility layer was incredibly involved and tasking and took
> several good developers, and myself, to get it done. Damien Krotkine (dams)
> even came back from semi-retirement just to help remove AUTOLOAD usage. He
> was missed. :)
>
> Peter Mottram has worked tirelessly to get everything running as smooth as
> possible. He tracked everything, debugged, tested, submitted PRs, contacted
> and worked with authors, and basically did the work of about 20 people at
> once.
>
>
> *New core plugin*
> A beautiful gem that was a result of the second Dancer Conference (
> DancerConf <http://perl.dance/>), Dancer2::Plugin::SendAs
> <https://metacpan.org/pod/Dancer2::Plugin::SendAs> is now in core! Most
> people do not know about it. It allows you to override the serializer (or
> the lack thereof) per response.
>
> Well, that's not really true. The truth is that we introduced a stronger
> version of it with more features!
>
>
> *New keywords*
> The original keyword spec for Dancer <https://metacpan.org/pod/Dancer>
> and Dancer2 <https://metacpan.org/pod/Dancer2> included header and
> push_header. This is only for response, not request. We now introduced
> variations explicitly for request and response, namely request_header and
> response_header (and more).
>
>
> *Megasplat fix*
> We fixed a problem with Megasplat, reported by Miyagawa-san.
>
>
> *Plack support*
> We support new Plack <https://metacpan.org/pod/Plack> versions, a
> breakage that we marked as a mandatory high-priority issue.
>
>
> *A bit faster*
> We've internally moved to Type::Tiny <https://metacpan.org/pod/Type::Tiny>
> which will automatically load Type::Tiny::XS
> <https://metacpan.org/pod/Type::Tiny::XS>, making your program faster.
>
> We also moved from Class::Load <https://metacpan.org/pod/Class::Load> to
> Module::Runtime <https://metacpan.org/pod/Module::Refresh> to both reduce
> dependencies and speed up the framework.
>
> There had been quite a few more improvements and we would like to thank
> everyone who helped make this release such a great one. You can view all
> the changes in the Changes
> <https://metacpan.org/changes/distribution/Dancer2> log.
>
>
> *Onwards*
> Now that we got the new plugin architecture out of the way, we can start
> concentrating on additional improvements and interesting changes. We will
> introduce a completely reworked documentation, named routes (or route
> aliases), and maybe a rainbow-colored pony which sneezes sunshine.
>
> With much love, The Dancer Core Team.
>
> _______________________________________________
> dancer-users mailing list
> dancer-users at dancer.pm
> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.preshweb.co.uk/pipermail/dancer-users/attachments/20160601/2777cd78/attachment.html>


More information about the dancer-users mailing list