Dancer2 0.205000 improves application speed, deprecates request->dispatch_path

Dancer2 0.205000 is on it’s way to CPAN, and brings with it a number of bug fixes, documentation improvements, and enhancements. The changes with the most potential impact to your existing applications include:

  • Migrating from MooX::Types to Type::Tiny. This will improve the speed of any Dancer2 application automatically.

  • Deprecating request->dispatch_path. This was originally introduced to fix a buggy request->path implementation; fixing request->path caused dispatch_path to incorrectly fail a route match when SCRIPT_NAME was also a prefix of the PATH_INFO. request->path now functions as intended, and is the preferred method of dispatch. request->dispatch_path will throw a warning if used, and will call request->path instead. The method will be removed entirely two releases from now.

  • A new method is being added to Dancer2 applications, prepare_app(). This method will eventually get called automatically when to_app() is invoked. In preparation of this, any application that may already contain a prepare_app() method will complain - loudly - that implementation of this method is coming. Expect to see the final implementation of prepare_app() two releases from now.

Finally, this release saw a large number of community contributions, especially from first-time contributors. The Dancer Core Team is extremely appreciative of the efforts by its users - thanks so much for making Dancer an even better framework!

The full changelog is as follows:

0.205000  2017-03-10 15:37:52-06:00 America/Chicago

[ BUG FIXES ]
* GH #1325: Support multi-value cookies when using HTTP::XSCookies.
  (James Raspass)
* GH #1303: Read configuration options when send_as() creates a new 
  serializer (Paul Williams)
* GH #1290: Properly check buffer length in _read_to_end() (Marketa 
  Wachtlova)
* GH #1322: Deprecate broken request->dispatch_path in favor of 
  request->path. Warn the developer of the deprecation (Russell 
  @veryrusty Jenkins).

[ ENHANCEMENTS ]
* GH #1326: Speed up by using Type::Tiny, again. (Pete SysPete Mottram)
* GH #1318: Add support for the SameSite cookie attribute. (James Raspass)
* GH #1283: Skeleton now provides an example of setting the appdir.
  (Jason Lewis)
* GH #1315: Adjust dist.ini to set "build_requires" for 
  ExtUtils::MakeMaker. (Atoomic)
* GH #1331: Preliminary prepare_app() work (Sawyer X)

[ DOCUMENTATION ]
* GH #1324: Fix broken link to send_file. (Fabrice Gabolde)
* GH #1311: Typo and link fixes. (Breno G. de Oliveira - @garu)
* GH #1310: Document query string parameters in uri_for. (Michael J South)
* GH #1329: Remove dead code from file upload example (Stefan Hornburg - 
  Racke)
* GH #1256: Additions to migration manual (Daniel Perrett)
* GH #1330: Add middleware examples to scaffolder (David - sbts)

Happy Dancing!

Leave a comment

About Jason A. Crome

user-pic Dancer developer, pilot, and hockey player.