Dancer2 0.300005 Released

Well, it’s been a hot minute since the last release, hasn’t it? Dancer2 0.300005 has landed on CPAN and features a number of bug fixes, enhancements, and doc patches:

0.300005  2021-01-26 15:57:41-05:00 America/New_York

[ BUG FIXES ]
* GH #1546: Add MIME type for all files served from public (Russell 
  @veryrusty Jenkins)
* GH #1555: Remove all leftovers of warnings config setting (Sergiy 
  Borodych)
* GH #1557: Remove HTTP::XSCookies workaround (Alexander Pankoff)
* GH #1564: Add script_name to redirects beginning with / (Nigel Gregoire)
* GH #1567: Fix CSS so errors do not display ourside of <pre> HTML
  element (Elliot Holden)
* GH #1568: Serializer::Mutable doesn't auto-load other serializers
  (Russell @veryrusty Jenkins)
* GH #1579: Fix missing push_header method in Response::Delayed 
  (Paul Clements)

[ ENHANCEMENTS ]
* GH #1552: Update jQuery (Sergiy Borodych)
* GH #1558: Test to make sure uploads aren't discarded after the
  forward keyword is used (Alexander Pankoff)
* GH #1571: Add GitHub Actions support (Gabor Szabo)
* GH #1572: Install Dancer2::Session::Cookie in order to run the test 
  t/issues/gh-811.t (racke)

[ DOCUMENTATION ]
* GH #1490: Document Dancer2::Core::App->template() (Steve Dondley)
* GH #1551: Fix pod for cookie same site attribute (Sergiy Borodych)
* GH #1562: Fix links, missing code in Tutorial (cloveistaken)

I have already lined up a number of issues for inclusion into the next release, which should be landing in early February (as of now).

Thanks for your patience with the long break between the releases, we (hopefully) won’t do that to you again.

Happy Dancing! See you in February!

The Twelve Days of Dancer, 2020 Edition

Need some joy this holiday season? Head over to the Dancer Advent Calendar for this year's Twelve Days of Dancer. With a little help from our friends, we've put together a 12-day mini advent calendar featuring some great software built in Dancer, some helpful tips and tricks, new features, and more.

Thanks for being such a great community, and for your continued support of Dancer! Wishing you the happiest of holiday seasons!

CromeDome (on behalf of the Dancer Core Developers)

Dancer2 0.300004 Released

The Dancer Core Team would like to announce the availability of Dancer2 0.300004. This release brings several important fixes and enhancements:

  • Session cookies can be restricted to a first-party or same-site context

  • There were a number of spots where Dancer2 would return a 500 error upon receiving an invalid request, rather than (correctly) returning 400 - Bad Request. Many, if not all, of these have been fixed.

For more information about same-site context, please refer to RFC-6265bis.

To use this, add the cookie_same_site key to your session engine configuration in the appropriate YAML file. Valid settings include Strict, Lax, and None.

The complete changelog is as follows: 0.300004 2020-05-26 20:52:34-04:00 America/New_York

[ BUG FIXES ]
* GH #1509: Request instantiation fails throw 400 Bad Response (Russell
  @veryrusty Jenkins). This resolves GH #1056, 1482, 1496, 1507, 1508,
  and 1510.

[ ENHANCEMENTS ]
* GH #1510: Test for proper multi-part form handing (ice-lenor, Sawyer X)
* GH #1547: Cookie SameSite support (Russell @veryrusty Jenkins)

[ DOCUMENTATION ]
* None

Thanks for your pull requests and bug reports. We really appreciate the help we receive from our community!

Until next time, keep on Dancing!

Dancer2 0.300001 Released

On behalf of the Dancer Core Team, I’d like to announce the availability of Dancer2 0.300001. This maintenance release brings brings a revamped tutorial, fixing of a YAML-related regression, repair of an encoding bug, and a slew of documentation fixes.

The full changelog is as follows:

0.300001  2020-04-06 12:14:47-04:00 America/New_York

[ BUG FIXES ]
* GH #1461: Relax redirect to match RFC_7231 (James Raspass)
* GH #1499: Don't double decode date strings (simbabque)
* GH #1536: Fix storing objects in YAML sessions (Tom Hukins)

[ ENHANCEMENTS ]
* GH #1540: Improve configuration handling (Tom Hukins)

[ DOCUMENTATION ]
* GH #1425: Revamped Tutorial (Steve Dondley)
* GH #1521: Documentation on configuring the adress to listen on: 
  "server" does not seem to work, but "host" does (Ma_Sys.ma)
* GH #1530: Fix missing space in docs (ferki)
* GH #1535: Fix example code in SessionFactory::File (Sergiy Borodych)
* GH #1538: Defined or should not be an assignment (Timothy Alexis 
  Vass)

Personally, I’d like to thank SysPete for spending a lot of time helping me to prepare for this release, and to my employer Clearbuilt for giving me some spare cycles at work to get this out the door.

The Dancer Core Team hopes that you are all staying safe in these difficult times. Wash your hands, maintain a safe distance from others, and keep on dancing!

Dancer2 0.300000 released

The Dancer Core Team has one more holiday treat in store for you: Dancer2 0.300000 is headed to CPAN, and it's a good one: Dancer now offers typed route parameters!

To be clear, all of the existing route syntax is unaffected. You don't have to use types, and typed parameters might not be good for all situations. There is a lot to be gained from having them though, and we're excited to bring them to you!

Using them in your own code is simple:

get '/thing/:id[Int]' => sub {};

# if not Int then perhaps a Num...
get '/thing/:id[Num]' => sub {};

The default type checking library is Type::Tiny, but you can also specify your own type checking library too. See the manual for more information.

A big thanks to SysPete for making this long-standing request a reality.

I'd also like to apologize to Tom Hukins. I erroneously listed a PR of his in the last release that didn't seem to make it in. I believe that I have made things better in this release.

Happy holidays from your friends at Dancer! See you in 2020.