On behalf of the Dancer Core Team, I am beyond excited to present you with Dancer2 1.0.0.
So how did we get here? Why now? I'll cover the specifics in a future blog post, but suffice it to say for now, we're stable, and we've been stable for a long time, but this was never reflected in our versioning. It's beyond time to commemorate that milestone.
If you're expecting big changes, you'll be disappointed that there aren't many on the technical side. Much of what's in this release involves adding some polish in spots, and smoothing out some jagged edges in others. Some important highlights include:
- We've enabled GitHub Discussions (https://github.com/PerlDancer/Dancer2/discussions) on a trial basis as a means to better provide support and greater interaction with the community
- Going forward, Dancer2 is (doing a better job of) adhering to the Semantic Versioning specification (https://semver.org/) making our version numbering easier to understand (and that includes for us, the core team!)
- The Perl Toolchain gang recently announced that going forward, they’ll be tracking the Perl of 10 years ago (https://rjbs.cloud/blog/2023/05/pts-2023-lyon-amendment-2-5/) We have decided to follow suit. That doesn’t mean we will deliberately break backwards compatibility; that doesn’t mean Dancer2 won’t run on old Perl versions, but if something breaks on a Perl more than 10 years old it does mean we (probably) aren’t going to support that. It also means that going forward you'll see some newer Perl idioms and keywords in the Dancer2 code, especially when it makes code easier to implement and understand.
- We’ve updated our contribution guidelines (https://github.com/PerlDancer/Dancer2/blob/main/Contributing.md) providing new contributors with some more helpful guidance, and making our expectations for contributions clearer.
- We’ve hard deprecated a mountain of old code (https://github.com/PerlDancer/Dancer2/milestone/27?closed=1) Hopefully you weren’t using it. The Core Team made some effort to either submit PRs or contact maintainers of plugins that are affected.
For more details, please see the Changes (https://github.com/PerlDancer/Dancer2/blob/main/Changes) file.
We've recently partnered with TPRF to make it easier to donate to Dancer2. We’ll have more details to offer about this soon, but TL;DR: donating to Dancer2 will now be easier to do, and donations will be tax-deductible. The Core Team hopes you’ll take advantage of this new arrangement and help fund future development of Dancer2 and its ecosystem.
A number of bugs and minor enhancements have been made to our website (https://perldancer.org) in preparation for this release. We’ve got some additional incremental improvements ahead, but we hope you find this to be a nicer resource than it has been previously.
There's a lot of excitement among members of the core team, and Dancer2 1.0.0 is just the beginning. We've got some awesome ideas coming to fruition in the weeks and months ahead.
How can you help? Use Dancer2! Blog about it, tell your friends, especially your non-Perl using friends. Report bugs, send pull requests, improve the docs, donate some coffee or pizza or spare change... it all helps us to keep delivering.
Thank you for being such an amazing community. You make this worth doing for all of us.
Love, hugs, and, of course, the dance of joy (https://www.youtube.com/watch?v=z_5J1csi1AU)
Jason Crome / CromeDome, on behalf of the entire Dancer Core Team
--
Jason A. Crome / CromeDome
CPAN: https://metacpan.org/author/CROMEDOME
GitHub: https://github.com/cromedome
Blog: https://cromedome.net
Dancer2 developers,
Are someone picking up on HTMX (http://htmx.org) like
Django is doing? HTMX finally allows interactivity by
the server rather than client Javascript. A great
relief for us who think the best use of Javascript is
minimal.
I have made a rather large perl based single user DNA
analysis package that is deployed in industry. Its
results outputs are sets of text tables and corresponding
inter-linked HTML files that the user can navigate.
Lately the need for more interactivity and instrument
control has come about, and then I thought of Dancer
+ HTMX. A simple route handler that calls my functions
that produce smaller or larger pieces of HTML should
be enough. No need for Plack, an "app" file layout,
login, security, just a route handler where I can set
the port number. Your tutorial, below this appealing
script:
#!/usr/bin/env perl
use Dancer2;
get '/' => sub {
return 'Hello World!';
};
start;
state "We want to emphasize that writing a script
file like this with a start command is not how you
would typically begin writing a Dancer2 app." But
why is that? is there a speed problem? I will have my
own cron-loop and could just make sure this runs in
background, like I do with Apache web server. But I
must be able to set the port at install time, since
3000 may be busy for other things. Also, the route
handler will always be on localhost, i think.
Finally, I see long-standing bugs on github and nearly
no traffic on the mailing list. This makes me wonder
if I dare base my package on it.
Comments?
Niels L
Niels Larsen, PhD, CEO
Danish Genome Institute
Skt. Lucas Kirkeplads 8
8000 Aarhus C
Denmark
E-mail: niels(a)genomics.dk
Skype: niels_larsen_denmark
Mobile: +45-3091-5426 (GMT+1)