Thx to team. Really impressed

Z



Sent from my Samsung Galaxy smartphone.


-------- Original message --------
From: Pedro Melo <[email protected]>
Date: 01/06/2016 05:02 (GMT+00:00)
To: Perl Dancer users mailing list <[email protected]>
Subject: Re: [dancer-users] Dancer2 0.200000 is finally out!

Wow... this a huge release... :)

Congratulations to all the team, really amazing stuff!


On Tue, May 31, 2016 at 9:22 PM, Sawyer X 
<[email protected]<mailto:[email protected]>> wrote:
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
[email protected]<mailto:[email protected]>
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users




--
Pedro Melo
@pedromelo
http://www.simplicidade.org/
xmpp:[email protected]<mailto:xmpp%[email protected]>
mailto:[email protected]<mailto:[email protected]>
_______________________________________________
dancer-users mailing list
[email protected]
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users

Reply via email to