10.301004  2021-06-06 13:30:28-04:00 America/New_York
2
3    [ BUG FIXES ]
4    * GH #1624: Fix missing gen subcommand in tutorial (racke)
5    * PR #1626: Add File::Which to Dancer2 dependencies (Jason A. Crome)
6
7    [ ENHANCEMENTS ]
8    * None
9
10    [ DOCUMENTATION ]
11    * None
12
130.301003  2021-06-03 09:24:33-04:00 America/New_York
14
15    [ BUG FIXES ]
16    * GH #1611: Redirect '/' doesn't always work as expected (Russell
17      @veryrusty Jenkins, Christopher Gurnee)
18    * PR #1620: Quiet spammy failing CI builds (Jason A. Crome)
19    * PR #1623: Copy Dockerfile from the right spot (Jason A. Crome)
20
21    [ ENHANCEMENTS ]
22    * PR #1613: Add git features to Dancer2 CLI (Jason A. Crome)
23    * PR #1614: Generate Dockerfile when creating new app (Jason A. Crome)
24
25    [ DOCUMENTATION ]
26    * PR #1563: Fix typos in perlcritic.rc notes (Achyut Kumar Panda)
27    * PR #1609: Document and test for missing DSL keywords (racke, Jason A.
28      Crome)
29    * PR #1618: Provide a consistent list of community resources (Jason A.
30      Crome)
31    * PR #1619: Clarify Dancer2::Template::Simple's role in life (Jason A.
32      Crome)
33
340.301002  2021-04-18 15:29:32-04:00 America/New_York
35
36    [ BUG FIXES ]
37    * None
38
39    [ ENHANCEMENTS ]
40    * GH #1593: Log files used to build config (Nick Tonkin)
41    * PR #1608: Migrate CLI to CLI::Osprey (Jason A. Crome)
42    # PR #1610: Replace File::Find with Path::Tiny in CLI (Jason A. Crome)
43
44    [ DOCUMENTATION ]
45    * PR #1597: Update Core/Hook.pm Pod (Paul Clements)
46
470.301001  2021-03-17 08:52:34-04:00 America/New_York
48
49    [ BUG FIXES ]
50    * PR #1607: Fix broken tests following App::Cmd removal (Jason Crome)
51
52    [ ENHANCEMENTS ]
53    * PR #1606: Clean up various build prereqs (Graham Knop)
54
55    [ DOCUMENTATION ]
56    * None
57
580.301000  2021-03-15 18:58:17-04:00 America/New_York
59
60    [ BUG FIXES ]
61    * PR #1586: Run version checks against MetaCPAN (Jason A. Crome)
62    * PR #1604: Remove App::Cmd dependency; have script/dancer2 bail if
63      it's not installed (David Precious)
64
65    [ ENHANCEMENTS ]
66    * GH #1064: Add DSL keyword request_data (Mickey Nasriachi)
67    * PR #1581: Disable scheduled GitHub action on Forks (Gabor Szabo)
68    * PR #1590: Improve install/documentation of XS modules (Jason A. Crome)
69    * PR #1591: Add more plugins to GitHub Actions CI (Gabor Szabo)
70
71    [ DOCUMENTATION ]
72    * GH #1582: Small fixes in Migration POD (Sergiy Borodych)
73    * PR #1595: Add cookbook recipe for enabling/disabling routes at
74      runtime (Nick Tonkin)
75    * PR #1599: Punctuation correction in docs (Nick Tonkin)
76
770.300005  2021-01-26 15:57:41-05:00 America/New_York
78
79    [ BUG FIXES ]
80    * GH #1546: Add MIME type for all files served from public (Russell
81      @veryrusty Jenkins)
82    * GH #1555: Remove all leftovers of warnings config setting (Sergiy
83      Borodych)
84    * GH #1557: Remove HTTP::XSCookies workaround (Alexander Pankoff)
85    * GH #1564: Add script_name to redirects beginning with / (Nigel Gregoire)
86    * GH #1567: Fix CSS so errors do not display ourside of <pre> HTML
87      element (Elliot Holden)
88    * GH #1568: Serializer::Mutable doesn't auto-load other serializers
89      (Russell @veryrusty Jenkins)
90    * GH #1579: Fix missing push_header method in Response::Delayed
91      (Paul Clements)
92
93    [ ENHANCEMENTS ]
94    * GH #1552: Update jQuery (Sergiy Borodych)
95    * GH #1558: Test to make sure uploads aren't discarded after the
96      forward keyword is used (Alexander Pankoff)
97    * GH #1571: Add GitHub Actions support (Gabor Szabo)
98    * GH #1572: Install Dancer2::Session::Cookie in order to run the test
99      t/issues/gh-811.t (racke)
100
101    [ DOCUMENTATION ]
102    * GH #1490: Document Dancer2::Core::App->template() (Steve Dondley)
103    * GH #1551: Fix pod for cookie same site attribute (Sergiy Borodych)
104    * GH #1562: Fix links, missing code in Tutorial (cloveistaken)
105
1060.300004  2020-05-26 20:52:34-04:00 America/New_York
107
108    [ BUG FIXES ]
109    * GH #1509: Request instantiation fails throw 400 Bad Response (Russell
110      @veryrusty Jenkins). This resolves GH #1056, 1482, 1496, 1507, 1508,
111      and 1510.
112
113    [ ENHANCEMENTS ]
114    * GH #1510: Test for proper multi-part form handing (ice-lenor, Sawyer X)
115    * GH #1547: Cookie SameSite support (Russell @veryrusty Jenkins)
116
117    [ DOCUMENTATION ]
118    * None
119
1200.300003  2020-04-09 10:39:55-04:00 America/New_York
121
122    [ BUG FIXES ]
123    * None
124
125    [ ENHANCEMENTS ]
126    * None
127
128    [ DOCUMENTATION ]
129    * GH #1543: Various tutorial cleanups (Peter Mottram - SysPete)
130
1310.300002  2020-04-07 11:44:59-04:00 America/New_York
132
133    [ BUG FIXES ]
134    * GH #1541: Fix broken test that is skipped under CI (Peter Mottram -
135      SysPete)
136
137    [ ENHANCEMENTS ]
138    * None
139
140    [ DOCUMENTATION ]
141    * None
142
1430.300001  2020-04-06 12:14:47-04:00 America/New_York
144
145    [ BUG FIXES ]
146    * GH #1461: Relax redirect to match RFC_7231 (James Raspass)
147    * GH #1499: Don't double decode date strings (simbabque)
148    * GH #1536: Fix storing objects in YAML sessions (Tom Hukins)
149
150    [ ENHANCEMENTS ]
151    * GH #1540: Improve configuration handling (Tom Hukins)
152
153    [ DOCUMENTATION ]
154    * GH #1425: Revamped Tutorial (Steve Dondley)
155    * GH #1521: Documentation on configuring the adress to listen on:
156      "server" does not seem to work, but "host" does (Ma_Sys.ma)
157    * GH #1530: Fix missing space in docs (ferki)
158    * GH #1535: Fix example code in SessionFactory::File (Sergiy Borodych)
159    * GH #1538: Defined or should not be an assignment (Timothy Alexis
160      Vass)
161
1620.300000  2019-12-23 23:55:09-06:00 America/Chicago
163
164    [ BUG FIXES ]
165    * None
166
167    [ ENHANCEMENTS ]
168    * GH #1127, GH #1476: Route parameters with types (Peter Mottram -
169      SysPete)
170
171    [ DOCUMENTATION ]
172    * None
173
1740.208002  2019-12-14 16:08:46-05:00 America/New_York
175
176    [ BUG FIXES ]
177    * GH#1527: Update travis dist to 'trusty' (Sergiy Borodych)
178
179    [ ENHANCEMENTS ]
180    * GH #1525: Remove use of Return::MultiLevel, and implement stack frame
181      jumping manually (Graham Knop)
182
183    [ DOCUMENTATION ]
184    * GH #1505: Fix Flaskr link (Mohammad S Anwar)
185    * GH #1506, 1520: Explain what add_route() does with args (Tom Hukins)
186    * GH #1519: Fix Template Toolkit config docs (Tom Hukins)
187    * GH #1522: Fix itetare typo (Stefan Hornburg - Racke)
188    * GH #1523: Fix typo in Template Toolkit documentation (Mike Katasonov)
189    * GH #1524: Fix error in configuration documentation (Tom Hukins)
190    * GH #1526: Mention that TT2 config start_tag/end_tag need escaping
191      (Chris White)
192    * GH #1528: Note that"Engines" key must be merged in config.yml (Chris
193      White)
194
1950.208001  2019-08-04 21:06:25-04:00 America/New_York
196
197    [ BUG FIXES ]
198    * GH #1515: Add Types::Standard to cpanfile (Russell @veryrusty Jenkins)
199
200    [ ENHANCEMENTS ]
201    * None
202
203    [ DOCUMENTATION ]
204    * GH #1513: Fix Dancer2::Test typo (Utkarsh Gupta)
205
2060.208000  2019-06-19 10:21:16-04:00 America/New_York
207
208    [ BUG FIXES ]
209    * PR #1493: Fix body not being sent on forward (Johannes Piehler)
210    * PR #1498: Load missing Encode in logger role (simbabque)
211    * PR #1501: Set :raw when copying files to new project (xenu)
212    * GH #1502: Update jquery (racke)
213
214    [ ENHANCEMENTS ]
215    * GH #1320: Implement prepare_app keyword (Sawyer X)
216
217    [ DOCUMENTATION ]
218    * Tidy up Cookbook POD. (Mohammad S Anwar)
219
2200.207000  2018-11-14 17:24:25-05:00 America/New_York
221
222    [ BUG FIXES ]
223    * GH #1427: Allow layout_dir to be configured by set keyword (Russell
224      @veryrusty Jenkins)
225    * GH #1456: Engine logging respects minimum level filtering (Daniel Perrett)
226    * PR #1479: Remove arbitrary Perl 5.10 requirement from tests (Dan Book)
227    * PR #1480: Correct dynamic HTTP::XSCookies requirement (Dan Book)
228    * PR #1486: Install dzil deps for use by Appveyor (Dan Book)
229
230    [ ENHANCEMENTS ]
231    * GH #1418: Send plain text content with send_as() (Steve Dondley)
232    * PR #1457: Serializer mutable with custom mapping. Also resolves issues
233      #795, #973, and #901 (Russell @veryrusty Jenkins, Yanick Champoux,
234      Daniel Böhmer, Steven Humphrey)
235    * PR #1459: Add no default middleware feature. Also resolves #1410
236      (Russell @veryrusty Jenkins)
237    * GH #1469: Code of Conduct enhancements (MaxPerl)
238
239    [ DOCUMENTATION ]
240    * GH #1166: Add behind_proxy docs to Deployment manual (Nuno Ramos
241      Carvalho)
242    * GH #1417: Add "set engines" documentation (Deirdre Moran)
243    * PR #1450: Add calculator example (Gabor Szabo)
244    * PR #1452: Fix Pod formatting for CPAN (simbabque)
245    * PR #1454: Fix typos in docs (Gil Magno)
246    * PR #1464: Can't set environment with 'set' keyword (Ben Kaufman)
247    * PR #1470: Use session for flash and explain in detail (simbabque)
248    * PR #1472: Migration, tutorial, other doc fixes (Jason A. Crome)
249    * PR #1473: Show support resources after generating new app (Jason A.
250      Crome)
251    * PR #1474: Use the correct URL for HAProxy (Jason A. Crome)
252    * PR #1475: Add manual section for security concerns (Jason A. Crome)
253    * PR #1487: Clarify deprecation of Dancer2::Test (Steve Dondley)
254
2550.206000  2018-04-19 22:09:46-04:00 America/New_York
256
257    [ BUG FIXES ]
258    * GH #1090, #1406: Replace HTTP::Body with HTTP::Entity::Parser in
259      Dancer2::Core::Request. (Russell @veryrusty Jenkins)
260    * GH #1292: Fix multiple attribute definitions within Plugins
261      (Nigel Gregoire)
262    * GH #1304: Fix the order by which config files are loaded, independently
263      of their filename extension (Alberto Simões, Russell @veryrusty Jenkins)
264    * GH #1400: Fix infinite recursion with exceptions that use circular
265      references. (Andre Walker)
266    * GH #1430: Fix `dancer2 gen` from source directory when Dancer2 not
267      installed. (Tina @perlpunk Müller - Tina)
268    * GH #1434: Add `validate_id` method to verify a session id before
269      requesting the session engine fetch it from its data store.
270      (Russell @veryrusty Jenkins)
271    * GH #1435, #1438: Allow XS crush_cookie methods to return an arrayref
272      of values. (Russell @veryrusty Jenkins)
273    * GH #1443: Update copyright year (Joseph Frazer)
274    * GH #1445: Use latest HTTP::Headers::Fast (Russell @veryrusty Jenkins)
275    * PR #1447: Fix missing build requires (Mohammad S Anwar)
276
277    [ ENHANCEMENTS ]
278    * PR #1354: TemplateToolkit template engine will log (at debug level)
279      if a template is not found. (Kiel R Stirling, Russell @veryrusty Jenkins)
280    * GH #1432: Support Content-Disposition of inline in
281      send_file() (Dave Webb)
282    * PR #1433: Verbose testing in AppVeyor (Graham Knop)
283
284    [ DOCUMENTATION ]
285    * GH #1314: Documentation tweaks (David Precious)
286    * GH #1317: Document serializer configuration (sdeseille)
287    * GH #1386: Add Hello World example (Gabor Szabo)
288    * PR #1408: List project development resources (Steve Dondley)
289    * PR #1426: Move performance improvement information from Migration guide
290      to Deployment (Pedro Melo)
291
2920.206000_02 2018-04-09 21:48:24-04:00 America/New_York (TRIAL RELEASE)
293
294    [ BUG FIXES ]
295    * GH #1090, #1406: Replace HTTP::Body with HTTP::Entity::Parser in
296      Dancer2::Core::Request. (Russell @veryrusty Jenkins)
297    * GH #1304: Fix the order by which config files are loaded, independently
298      of their filename extension (Alberto Simões, Russell @veryrusty Jenkins)
299    * GH #1400: Fix infinite recursion with exceptions that use circular
300      references. (Andre Walker)
301    * GH #1430: Fix `dancer2 gen` from source directory when Dancer2 not
302      installed. (Tina @perlpunk Müller - Tina)
303    * GH #1434: Add `validate_id` method to verify a session id before
304      requesting the session engine fetch it from its data store.
305      (Russell @veryrusty Jenkins)
306    * GH #1435, #1438: Allow XS crush_cookie methods to return an arrayref
307      of values. (Russell @veryrusty Jenkins)
308    * GH #1443: Update copyright year (Joseph Frazer)
309    * GH #1445: Use latest HTTP::Headers::Fast (Russell @veryrusty Jenkins)
310
311    [ ENHANCEMENTS ]
312    * PR #1354: TemplateToolkit template engine will log (at debug level)
313      if a template is not found. (Kiel R Stirling, Russell @veryrusty Jenkins)
314    * GH #1432: Support Content-Disposition of inline in
315      send_file() (Dave Webb)
316    * PR #1433: Verbose testing in AppVeyor (Graham Knop)
317
318    [ DOCUMENTATION ]
319    * GH #1317: Document serializer configuration (sdeseille)
320    * PR #1426: Move performance improvement information from Migration guide
321      to Deployment (Pedro Melo)
322
3230.205002  2017-10-17 16:08:25-05:00 America/Chicago
324
325    [ BUG FIXES ]
326    * GH #1362: Make cookies http_only by default (David Precious)
327    * GH #1366: Use proper shebang on dancer script and make EU::MM do the job
328    * GH #1373: Unset Dancer environment vars before testing (Alberto Simões)
329    * GH #1380: Consider class of error displayed when using show_errors
330      (Nick Tonkin).
331    * GH #1383: Remove Deflater from default app skeleton (Pierre Vigier)
332    * GH #1385: Fix links inside the documentation (Alberto Simões)
333    * GH #1390: Honour no_server_tokens config in error responses (Russell
334      @veryrusty Jenkins)
335
336    [ DOCUMENTATION ]
337    * GH #1285: Add "Default Template Variables" section to manual (simbabque)
338    * GH #1312: Fix docs for Dancer2::Core::Route->match, which takes a request
339      object (simbabque).
340    * GH #1368: Don't allow XSS in tutorial (simbabque)
341    * GH #1383: Remove full URL on links to third party modules (Alberto Simoes)
342    * GH #1395: Customize TT behavior via subclassing (simbabque).
343
3440.205001  2017-07-11 08:03:21-05:00 America/Chicago
345
346    [ BUG FIXES ]
347    * GH #1332: Add check for old version of HTTP::XSCookies (Peter Mottram -
348      SysPete)
349    * GH #1336: Fix warnings on 5.10 and below. (Sawyer X)
350    * GH #1347: Add Perl versions 5.22-5.26 and appveyor to Travis-CI
351      configuration (Dave Jacoby)
352
353    [ ENHANCEMENTS ]
354    * GH #1281: Use Ref::Util in Core for all reference checks (Mickey
355      Nasriachi)
356    * GH #1338: Add message explaining how to run newly-created application
357      (Jonathan Cast)
358
359    [ DOCUMENTATION ]
360    * GH #1334: Fix prefix example in Cookbook (Abdullah Diab)
361    * GH #1335: Add missing word in request->host docs (Glenn Fowler)
362    * GH #1337: Fix link in SEE ALSO section of Dancer2::Core::Types (Stefan
363      Hornburg - Racke)
364    * GH #1341: Clarify plugin documentation (Stefan Hornburg - Racke)
365    * GH #1345, #1351, #1356: Fix password check code example in tutorial
366      (Jonathan Cast)
367    * GH #1355: Fix typo (Gregor Herrmann)
368
3690.205000  2017-03-10 15:37:52-06:00 America/Chicago
370
371    [ BUG FIXES ]
372    * GH #1325: Support multi-value cookies when using HTTP::XSCookies.
373      (James Raspass)
374    * GH #1303: Read configuration options when send_as() creates a new
375      serializer (Paul Williams)
376    * GH #1290: Properly check buffer length in _read_to_end() (Marketa
377      Wachtlova)
378    * GH #1322: Deprecate broken request->dispatch_path in favor of
379      request->path. Warn the developer of the deprecation (Russell
380      @veryrusty Jenkins).
381
382    [ ENHANCEMENTS ]
383    * GH #1326: Speed up by using Type::Tiny, again. (Pete SysPete Mottram)
384    * GH #1318: Add support for the SameSite cookie attribute. (James Raspass)
385    * GH #1283: Skeleton now provides an example of setting the appdir.
386      (Jason Lewis)
387    * GH #1315: Adjust dist.ini to set "build_requires" for
388      ExtUtils::MakeMaker. (Atoomic)
389    * GH #1331: Preliminary prepare_app() work (Sawyer X)
390
391    [ DOCUMENTATION ]
392    * GH #1324: Fix broken link to send_file. (Fabrice Gabolde)
393    * GH #1311: Typo and link fixes. (Breno G. de Oliveira - @garu)
394    * GH #1310: Document query string parameters in uri_for. (Michael J South)
395    * GH #1329: Remove dead code from file upload example (Stefan Hornburg -
396      Racke)
397    * GH #1256: Additions to migration manual (Daniel Perrett)
398    * GH #1330: Add middleware examples to scaffolder (David - sbts)
399
4000.204004  2017-01-26 18:29:34+01:00 Europe/Amsterdam
401
402    [ BUG FIXES ]
403    * GH #1307: Fix breakage of Template::Toolkit, caused by
404      previous release. (Peter SysPete Mottram)
405
4060.204003  2017-01-25 15:21:40-06:00 America/Chicago
407
408    [ BUG FIXES ]
409    * GH #1299: Fix missing CPANTS prereqs (Mohammad S. Anwar)
410
411    [ ENHANCEMENTS ]
412    * GH #1249: Improve consistency with Template::Toolkit,
413      using correct case for 'include_path', 'stop_tag', 'end_tag',
414      and 'start_tag', removing ANYCASE option.
415      (Klaus Ita)
416    * Call route exception hook before logging an error, allowing devs to
417      raise their own errors bedore D2 logging takes over. (Andy Beverley)
418
419    [ DOCUMENTATION ]
420    * Add another example of the delayed asynchronous mechanism
421      (Ed @mohawk2 J., Sawyer X)
422    * GH #1291: Document 'change_session_id' in Dancer2::Core::App.
423      (Peter SysPete Mottram)
424    * Fix typo in Dancer2::Core::Response (Gregorr Herrmann)
425    * Document Dancer2::Plugin::RootURIFor (Mario Zieschang)
426
4270.204002  2016-12-21 15:40:02-06:00 America/Chicago
428
429    [ BUG FIXES ]
430    * GH #975: Fix "public_dir" configuration to work, just like
431      DANCER_PUBLIC. (Sawyer X)
432
433    [ ENHANCEMENTS ]
434    * You can now call '$self->find_plugin(...)' within a plugin
435      in order to find a plugin, in order to use its DSL in your
436      custom plugin. (Sawyer X)
437
438    [ DOCUMENTATION ]
439    * GH #1282: Typo in Cookbook. (Kurt Edmiston)
440    * GH #1214: Update Migration document. (Sawyer X)
441    * GH #1286: Clarify hook behavior when disabling layout (biafra)
442    * GH #1280: Update documentation to use specific parameter
443                keywords (Hunter McMillen)
444
4450.204001  2016-10-17 08:29:00-05:00 America/Chicago
446
447    [ BUG FIXES ]
448    * Restore 5.8 support (fix test which required captures).
449      (Russell @veryrusty Jenkins)
450    * PR #1271: fix wrong regex check against $_ (Mickey Nasriachi)
451
452    [ ENHANCEMENTS ]
453    * GH #1262: Add 'encode_json' and 'decode_json' DSL, which are
454      recommended instead of 'to_json' and 'from_json'.
455      (Dennis @episodeiv lichtenthäler)
456
457    [ DOCUMENTATION ]
458    * Fix some typos.(Dennis @episodeiv lichtenthäler)
459    * GH #1031: Remove D2::Core::Context remnants from docs.
460      (Sawyer X)
461
462    [ PACKAGING ]
463    * GH #1273: Do not require Test::Perl::Critic to install.
464      (Dennis lichtenthäler)
465
4660.204000  2016-10-10 20:56:51-05:00 America/Chicago
467
468    [ BUG FIXES ]
469    * GH #1255: Fix hook overriding in plugin. (Yves Orton)
470    * GH #1191: Named capture prior to dispatch breaks dispatch.
471      (Yves Orton)
472    * GH #1235: Clean up descriptions for HTTP codes 303 and 305.
473      (Yanick Champoux)
474    * Remove duplicate (and errornous) 451 error message.
475      (Sawyer X)
476    * GH #1116, #1245: Ensure cached Hash::MultiValue parameters are cloned
477      into the new request. (Russell @veryrusty Jenkins)
478
479    [ ENHANCEMENTS ]
480    * You can now provide a $EVAL_SHIM to Dancer2::Core::App in order
481      to have custom code run on eval{} calls. One example of this
482      is to handle proper counting of stack frames when you want to
483      unwind/unroll the stack for custom error reporting.
484      (Yves Orton)
485    * Added a cpanfile to allow installing local dependencies with
486      carton. (Mickey Nasriachi)
487    * GH #1260: Specify optional charset to send_file and send_as
488      (Russell @veryrusty Jenkins)
489    * PR #1162: Change skeleton template tags so skeletons can generate
490      applications that use Template Toolkit default tags (Jason Lewis)
491    * GH #1149: Fix config loading inconsistencies, support local config
492      files in addition to standard Dancer conf files (Jonathan Scott Duff)
493    * PR #1269: Stash decoded body_parameters separately from those
494      in Plack::Request (Russell @veryrusty Jenkins)
495    * GH #1253: Static middleware should send 304 Not Modified to enable
496      intermediate level caching. (Russell @veryrusty Jenkins)
497
498    [ DOCUMENTATION ]
499    * GH #608: Remove extra general COPYRIGHT notice in Tutorial.
500      (Sawyer X)
501    * Simplify upload example. (Alberto Simões, Sawyer X)
502
5030.203001  2016-09-03 20:59:47-05:00 America/Chicago
504
505    [ BUG FIXES ]
506    * GH #1237: Specify minimum version of List::Util required for pair*
507      functionals. (Russell @veryrusty Jenkins)
508
509    [ ENHANCEMENTS ]
510    * PR #1242: Replace Class::Load with Module::Runtime (Russell
511      Jenkins - @veryrusty)
512
5130.203000  2016-08-24 22:09:56-05:00 America/Chicago
514
515    [ BUG FIXES ]
516    * GH #1232: Force deserialization of body data even when an existing
517      Plack::Request object has already parsed request body. Don't double
518      decode deserialized data. (Russell Jenkins - @veryrusty)
519
520    [ ENHANCEMENTS ]
521    * GH #1195: Add change_session_id() method - both as a good security
522      practice and to comply with other established security standards.
523      (Peter Mottram)
524    * GH #1234: Add convenience functions to access Dancer's HTTP_CODES
525      table. (Yanick Champoux)
526
527    [ DOCUMENTATION ]
528    * Fix Typo (Stefan Hornburg - Racke)
529    * Document $session->data (Stefan Hornburg - Racke)
530
5310.202000  2016-08-13 13:50:30-05:00 America/Chicago
532
533    [ BUG FIXES ]
534    * Fix memory leak in plugins. (Sawyer X)
535    * GH #1180, #1220: Revert (most of) GH #1120. Change back to using
536      MooX::Types::MooseLike until issues around Type::Tiny are resolved.
537      Peter (@SysPete) Mottram
538    * GH #1192: Decode body|query|request_parameters (Peter Mottram)
539    * GH #1224: Plugins defined with :PluginKeyword attribute are now
540      exported. (Yanick Champoux)
541    * GH #1226: Plugins can now call the DSL of the app via $self->dsl
542      (Sawyer X)
543
544    [ ENHANCEMENTS ]
545    * PR #1223: Add YAML::XS to Recommends (Peter Mottram)
546    * PR #1117: If installed, use HTTP::XSCookies and all cookie operations
547      will be faster (Peter Mottram)
548    * PR #1228: Allow register_plugin() to pass @_ properly (Sawyer X)
549    * PR #1231: Plugins can now call the syntax of plugins they loaded
550      (Sawyer X)
551
552    [ DOCUMENTATION ]
553    * PR #1151: Note that config is immutable after first read (Peter Mottram)
554    * PR #1222: Update list of files generated by `dancer2 -a`, make name of
555      sample app consistent (Daniel Perrett)
556
5570.201000  2016-07-22 08:26:18-05:00 America/Chicago
558
559    [ BUG FIXES ]
560    * GH #1216: Make DSL work in edge-case of plugins calling DSL before the
561      app class loaded Dancer2. (Sawyer X)
562    * GH #1210: Show proper module/line number in log output (Masaaki Saito)
563
564    [ ENHANCEMENTS ]
565    * GH #900: Switch from to_json to encode/encode_json (Nuno Ramos Carvalho)
566    * GH #1196: Move serializer from JSON to JSON::MaybeXS (Nuno Ramos Carvalho)
567    * GH #1215: Remove unused DANCER2_SHARE_DIR env variable (Jason A. Crome)
568
569    [ DOCUMENTATION ]
570    * PR #1213: Clarify params merging docs and related examples
571      (Daniel Perrett)
572    * Add Peter Mottram (@SysPete) to list of core developers. (Russell Jenkins)
573    * PR #1208: Introduce appdir before it's used; simplify description of what
574      a view is (James E Keenan)
575    * GH #1218: By request, remove David Golden from list of core developers.
576      Created "emeritus" section to honor the contributions of former core
577      developers. Thanks, xdg!
578
5790.200003  2016-07-11 17:17:57+02:00 Europe/Amsterdam
580
581    [ BUG FIXES ]
582    * PR #1198: Session::YAML should not accept bad session cookie value
583      from client (Peter Mottram)
584    * Require minimum version of YAML of 0.86 (to satisfy GH #899) and a
585      maximum version of YAML 1.15. YAML 1.16 causes test failures as
586      reported by CPAN Testers.
587    * Remove session test data from builds. (Peter Mottram)
588
589    [ ENHANCEMENTS ]
590    * Require minimum version of ExtUtils::MakeMaker of 7.1101 to support
591      a range of prereq version numbers (rjbs, Jason Crome, Sawyer X)
592    * GH #1188: Add error message to open_file (exercism-1)
593    * Support showing private variables in templates under
594      Template::Toolkit. (Alberto Simões)
595
596    [ DOCUMENTATION ]
597    * GH #1193: Spelling correction (Gregor Herrmann)
598    * Fix typo of config option in Pod. (Nuno Carvalho)
599    * Fix POD syntax error. (Nuno Carvalho)
600    * Fix Manual error. (James E Keenan)
601    * Move documentation index to dancer2. (Alan Berndt)
602    * GH #1209: Clean up examples for 'set views' and 'set public_dir'
603      in Dancer2::Manual (James E Keenan)
604
6050.200002  2016-06-22 16:39:13+02:00 Europe/Amsterdam
606
607    [ BUG FIXES ]
608    * Using `var` with a `forward`ed request now works.
609      (Sawyer X, Jason Crome)
610
611
6120.200001  2016-06-16 15:51:04+02:00 Europe/Amsterdam
613
614    [ BUG FIXES ]
615    * GH #1175: Plugins are not required to be in the Dancer2::Plugin
616      namespace. (Russell @veryrusty Jenkins)
617    * GH #1176, #1177: Remove Test::Deep as a test dependency.
618      (Nuno Carvalho, Peter Mottram)
619    * GH #1185: Fails on 5.25.1. (Tony Cook)
620
621    [ DOCUMENTATION ]
622    * GH #1178: Update D2::Manual with links to new plugin architecture.
623      (Joel Berger, Jason A. Crome)
624    * GH #1184: Use 'before_template_render' rather than the special case
625      'before_template' in D2::Manual and D2::Tutorial (Philippe Bricout)
626
627    [ ENHANCEMENTS ]
628    * GH #1018: Additional plugin hook tests (Ruben Amortegui)
629
6300.200000  2016-05-31 15:05:46+02:00 Europe/Amsterdam
631
632    [ BUG FIXES ]
633    * GH #1174: Update plugin tests to stop deprecation warnings
634      (Peter Mottram)
635    * GH #1173: Reword error when serialization / deserialization fails
636      to be more generic (Russell @veryrusty Jenkins)
637
638    [ ENHANCEMENTS ]
639    * Introduce an improved variation of the Dancer2::Plugin::SendAs
640      into core. You can now override the serializer (or lack thereof)
641      at any point in time for a response by calling `send_as`. You
642      can also send the options of `send_file` (like the Content-Type)
643      and the charset for the app is also respected.
644      (Russell @veryrusty Jenkins)
645
6460.166001_04 2016-05-27 14:54:53+02:00 Europe/Amsterdam (TRIAL RELEASE)
647
648    [ BUG FIXES ]
649    * GH #1171: Ensure request query parameter parsing is independent of
650      Plack version (Russell Jenkins)
651
6520.166001_03 2016-05-27 13:23:52+02:00 Europe/Amsterdam (TRIAL RELEASE)
653
654    [ BUG FIXES ]
655    * GH #1165, #1167: Copy is_behind_proxy attribute into new request
656      on forward. (Russell Jenkins)
657
658    [ ENHANCEMENTS ]
659    * GH #1120: Move from MooX::Types::MooseLike to Type::Tiny for
660      performance. (Peter Mottram)
661    * GH #1145, #1164: Replace Class::Load with Module::Runtime
662      (Sawyer X)
663    * GH #1159, #1163: Make template keyword global.
664      (Sawyer X, Russell Jenkins)
665
666    [ DOCUMENTATION ]
667    * GH #1158: List both static and shared modules in Apache's deploy
668      instructions. (Varadinsky)
669
6700.166001_02 2016-04-29 16:42:54+02:00 Europe/Amsterdam (TRIAL RELEASE)
671
672
673    [ BUG FIXES ]
674    * GH #1160: Engines receive correct log callback on build
675      (Peter Mottram)
676    * GH #1148: Ensure request body parameter parsing is independent of
677      Plack version (Russell Jenkins)
678
6790.166001_01 2016-04-19 21:50:35+02:00 Europe/Amsterdam (TRIAL RELEASE)
680
681    [ BUG FIXES ]
682    * GH #1102: Handle multiple '..' in file path utilities.
683      (Oleg A. Mamontov, Peter Mottram)
684    * GH #1114: Fix missing prereqs as reported by CPANTS.
685      (Mohammad S Anwar)
686    * GH #1128: Shh warning if optional megasplat is not present.
687      (David Precious)
688    * GH #1139: Fix incorrect Content-Length header added by AutoPage
689      handler (Michael Kröll, Russell Jenkins)
690    * GH #1144: Change tt tags to span in skel (Jason Lewis)
691    * GH #1046: "no_server_tokens" configuration option doesn't work.
692      (Sawyer X)
693    # GH #1155, #1157: Fix megasplat value splitting when there are empty
694      trailing path segments. (Tatsuhiko Miyagawa, Russell Jenkins)
695      NOTE: Paths matching a megasplat that end with a '/' will now include
696      an empty string as the last value. For the route pattern '/foo/**',
697      the path '/foo/bar', the megasplat gives ['bar'], whereas '/foo/bar/'
698      now gives ['bar','']. Joining the array of megasplat values will now
699      always be the string matched against for the megasplit.
700
701    [ DOCUMENTATION ]
702    * GH #1119: Improve the deployment documentation. (Andrew Beverley)
703    * GH #1123: Document import of utf8 pragma. (Victor Adam)
704    * GH #1132: Fix spelling mistakes in POD (Gregor Herrmann)
705    * GH #1134: Fix spelling errors detected by codespell (James McCoy)
706    * GH #1153: Fix POD rendering error. (Sawyer X)
707
708    [ ENHANCEMENTS ]
709    * GH #1129: engine.logger.* hooks are called around logging a message.
710      (Russell @veryrusty Jenkins)
711    * GH #1146: Cleaner display of error context (Vernon Lyon)
712    * GH #1085: Add consistent keywords for accessing headers;
713      'request_header' for request, 'response_header', 'response_headers'
714      and 'push_response_header' for response. (Russell @veryrusty Jenkins)
715    * GH #1010: New Dancer2::Plugin architecture, includes support for
716      plugins using other plugins. (Yanick Champoux, Russell Jenkins,
717      Sawyer X, Damien Krotkine, Stefan @racke Hornburg, Peter Mottram)
718      Note: Considerable effort has gone into working with the authors
719      of existing plugins to ensure their plugins are compatible with both
720      the 'old' and the new reworked plugin architecture. Please upgrade
721      your plugins to a recent release.
722      (Special thanks to Peter @SysPete Mottram)
723
7240.166001  2016-01-22 07:54:46+01:00 Europe/Amsterdam
725
726    [ BUG FIXES ]
727    * GH #1105, #1106, #1108: Autopage + Template Toolkit broke in last
728      release. (Kaitlyn Parkhurst @symkat, Russell Jenkins)
729
7300.166000  2016-01-12 19:01:51+01:00 Europe/Amsterdam
731
732    [ BUG FIXES ]
733    * GH #1013, #1092: Remove race condition caused by caching available
734      engines. (Sawyer X, Menno Blom, Russell Jenkins)
735    * GH #1089: Exact macthing of route regex comments for tokens/splats.
736      (Sawyer X)
737    * GH #1079, #1082: Allow routes to return '0' as response content,
738      and serializer hooks are called when default response content is
739      to be returned. (Alberto Simões, Russell Jenkins)
740    * GH #1093, 1095: Use a dynamic TT2 INCLUDE_PATH to allow relative
741      views with relative includes; fixing regression introduced by #1037.
742      (Russell Jenkins)
743    * GH #1096, #1097: Return compatibility on Perl 5.8.x!
744      (Peter Mottram - @SysPete)
745
746    [ DOCUMENTATION ]
747    * GH #1076: Typo in Dancer2::Core::Hook POD. (Jonathan Scott Duff)
748
749    [ ENHANCEMENTS ]
750    * GH #1074: Add sample session engine config to skeleton app.
751      (Peter Mottram - @SysPete)
752    * GH #1088: Return route objects when defining new routes.
753      (Sawyer X)
754
7550.165000  2015-12-17 09:19:13+01:00 Europe/Amsterdam
756
757    [ BUG FIXES ]
758    * Revert session_name change, as this would invalidate all existing
759      changes. We will need to rethink this change.
760      (Stefan @racke Hornburg, Sawyer X)
761
7620.164000  2015-12-16 23:42:24+01:00 Europe/Amsterdam
763
764    [ DOCUMENTATION ]
765    * Update core team members and contributors list. (Russell Jenkins)
766    * GH #1066: Fix typo in Cookbook. (gertvanoss)
767    * Correct typo. It's "query_parameters", not "request_parameters".
768      Thanks to mst for letting me know and making sure I fix it!
769      (Sawyer X)
770
771    [ BUG FIXES ]
772    * GH #1040: Forward with a post body no longer tries to re-read body
773      filehandle. (Bas Bloemsaat)
774    * GH #1042: Add Diggest::SHA as explicit prequisite for installs on
775      perl < v5.9.3. (Russell Jenkins)
776    * GH #1071, #1070: HTML escape the message in the default error page.
777      (Peter Mottram)
778    * GH #1062, #1063: Command line interface didn't support
779      "-s SKELETON_DIRECTORY" in any order.
780      (Nuno Carvalho)
781    * GH #1052, #1053: Always call before_serializer hook when serializer
782      is set.
783      (Mickey Nasriachi)
784    * GH #1034: Correctly use different session cookie name for Dancer2.
785      (Jason A. Crome)
786    * GH #1060: Remove trailing slashes when providing skeleton
787      directory.
788      (Gabor Szabo)
789
790    [ ENHANCEMENTS ]
791    * Use Plack 1.0035 to make sure you only have HTTP::Headers::Fast
792      in the Plack::Request object internally.
793    * GH #951 #1037: Dancer2::Template::TemplateToolkit no longer sets TT2
794      INCLUDE_PATH directive, allowing `views` setting to be non-absolute
795      paths. (Russell Jenkins)
796    * GH #1032 #1043: Add .dancer file to new app scaffolding.
797      (Jason A. Crome)
798    * GH #1045: Small cleanups to Request class. (Russell Jenkins)
799    * GH #1033: strict && warnings in Dancer2::CLI. (Mohammad S Anwar)
800    * GH #1052, #1053: Allow before_serializer hook to change the content
801      using @_.
802      (Mickey Nasriachi)
803    * GH #1060: Ignore .git directory when using an external skeleton
804      directory.
805      (Gabor Szabo)
806    * GH #1060: Support more asset file extensions. (Gabor Szabo)
807    * GH #1072: Add request->is_options(). (Theo van Hoesel)
808
8090.163000  2015-10-15 12:47:57+02:00 Europe/Amsterdam
810
811    [ DOCUMENTATION ]
812    * GH: #1030: Fix pod references pointing to Dancer package
813      (Mohammad S Anwar, Russell Jenkins)
814
8150.162000_01 2015-10-13 17:05:09+02:00 Europe/Amsterdam (TRIAL RELEASE)
816
817    [ BUG FIXES ]
818    * GH #996: Fix warning with optional arguments. (Bas Bloemsaat)
819    * GH #1001: Do not trigger an internal error on 404. (Russell Jenkins)
820    * GH #1008,#976: Hack to quiet warning while plugins
821      architecture is being rewritten. (Russell Jenkins)
822    * Use Safe::Isa when calling their functions in the respected eval.
823      (Sawyer X)
824
825    [ ENHANCEMENTS ]
826    * GH #738, #740, #988: route_parameters, query_parameters, and
827      body_parameters keywords added, providing Hash::MultiValue objects!
828      (Sawyer X)
829    * #941, #999: delayed() keyword now has "on_error" option for controlling
830      errors.
831      (Sawyer X)
832    * dancer2 app now support -s switch to supply an app skeleton
833      (Nuno Carvalho)
834    * "perl_version" token in templates now uses $^V, not $]. (Sawyer X)
835    * GH #966: Remove Dist::Zilla::Plugin::AutoPrereqs. (Vernon)
836    * GH #992: Deprecate creating route named placeholders ":captures"
837      and ":splat". (Sawyer X)
838    * Bump Moo requirement to 2.000000. (Alberto Simões)
839    * GH #1012: Add :nopragmas import flag. (Sawyer X)
840
841    [ DOCUMENTATION ]
842    * GH #974: Use correct classname. (Sawyer X)
843    * GH #958: Fix manual example with loading additional routes. (Sawyer X)
844    * GH #960: Fix a few links. (Sawyer X)
845    * Document you can install Scope::Upper for greater speed. (Sawyer X)
846    * GH #1000: Correct POD name for Dancer2::Manual::Deployment.
847      (Jason A. Crome)
848    * GH #1017: Fix instructions on running app.psgi. Highlight
849      beginner-friendly application running instructions. (Jason Crome)
850    * GH #920, #1020: Remove deprecated functionality from example plugin.
851      (Jason Crome)
852    * GH #1002: Correct execute_hook() call in plugins documentation.
853      (Jason Crome)
854    * Expand on auto-reloading options using Plack Shotgun loader.
855      (Jason Crome, @girlwithglasses)
856    * GH #1024: Document the need to define static_handler when changing
857      the public_dir option. (Sébastien Deseille)
858
8590.162000  2015-09-06 13:08:05+02:00 Europe/Amsterdam
860
861    [ BUG FIXES ]
862    * Not exactly bug fix, but now captures() always returns hashref.
863      (Sawyer X)
864    * GH #931: Using params() keyword, route parameters now override body
865      parameters which override query parameters. (Sawyer X)
866
867    [ ENHANCEMENTS ]
868    * Small speed bump: use eval{} instead of Try::Tiny. (Sawyer X)
869
870    [ DOCUMENTATION ]
871    * Replace File::Slurp with File::Slurper in tutorial.
872      (Nick Tonkin)
873
8740.161000_01 2015-08-28 15:29:00+02:00 Europe/Amsterdam
875
876    [ BUG FIXES ]
877    * GH #947, #948: Escape file paths in regex patterns. (A. Sinan Unur)
878    * GH #944: Setting response content in before hook when a serializer
879      is set no longer triggers an error.
880      (Russell Jenkins, Dmitrii Tcyganov)
881    * GH #965: Remove non-existant role from Response::Delayed.
882      (Vernon, Russell Jenkins)
883    * GH #971: Route options matching no longer uses each iterator.
884      (Tina Müller)
885    * GH #959: Custom error template rendering fixed. (Russell Jenkins)
886    * GH #961: Render custom error templates in before hooks. (Russell Jenkins)
887    * GH #978: Tests - fix response regex after html_encode (Vernon)
888    * GH #972: Exceptions thrown by serializers no longer masked.
889      (Russell Jenkins)
890
891    [ DOCUMENTATION ]
892    * GH #967: Fix upload example. (Alberto Simões)
893    * GH #881: Add cookie timeout example. (Andy Beverley)
894    * GH #963: Document all available template tokens. (Sawyer X)
895
896    [ ENHANCEMENTS ]
897    * Optimize the s*#t out of basic routing. Faster than Dancer 1 now.
898      (Sawyer X)
899    * Only load HTTP::Server::PSGI when asked to start a development
900      server not under Plack. (Sawyer X, Mickey Nasriachi)
901    * GH #949: Produce cleaner, non-verbose test output (Vernon)
902    * GH #950: Decode characters in param keys (Patrick Zimmermann)
903    * GH #914: Include stack trace on default error page when
904      show_errors is true. (Vernon)
905    * GH #980, #981: halt keyword sets response content if provided,
906      as Dancer 1 does. (Achilles Kars)
907    * GH #909, #957, #983: HTML5 templates in generated apps and
908      default error template (Gabor Szabo, Kadir, Vernon)
909    * GH #972, #719, #969, #644, #647: Streamline serializer helpers.
910      to_json/from_json now faster. (Russell Jenkins)
911
9120.161000  2015-07-08 14:57:16+02:00 Europe/Amsterdam
913
914    [ BUG FIXES ]
915    * GH #915, #930: Check existence of optional extension headers when
916      behind proxy. (Andy Beverley, Pedro Melo, Russell Jenkins)
917    * GH #926, #940: Set session directory default to $apprdir/session.
918      (Russell Jenkins)
919    * GH #936, #939: Use the error_template configuration on a 404.
920      (Russell Jenkins)
921    * GH #844, #937: Non-hash serialized params do not cause a crash. (Sawyer X)
922    * GH #943: Pass @_ to UNIVERSAL's VERSION so it validates version number.
923      (Sawyer X)
924    * GH #934: Cleanup internals in the old Dispatcher. (Russell Jenkins)
925
926    [ DOCUMENTATION ]
927    * Sanitize Changes
928    * GH #938: Fix POD link to params keyword. (Ludovic Tolhurst-Cleaver)
929    * GH #935: Provide more details and considerations when using
930      behind_proxy. (Andy Beverley)
931
932    [ ENHANCEMENT ]
933    * GH #933: use note in tests to produce cleaner non-verbose output (Vernon)
934    * Remove unnecessary dependencies: build chain should be smaller. (Sawyer X)
935    * No need for Module::Build. (Sawyer X)
936    * GH #911: Dancer2 request object is now a subclass of Plack::Request.
937      It's also much faster now. (Sawyer X)
938
9390.160003  2015-06-06 11:09:00+02:00 Europe/Amsterdam
940
941    [ BUG FIXES ]
942    * GH #921, #922: Plack >= 1.0035. (Russell Jenkins, Alberto Simões)
943
944    [ ENHANCEMENT ]
945    * #922: Use HTTP::Headers::Fast in request and response objects
946    (Russell Jenkins)
947
9480.160002  2015-06-04 13:03:38+02:00 Europe/Amsterdam
949
950    [ BUG FIXES ]
951    * GH #920: Sanitize session IDs in file-based sessions.
952      (Russell Jenkins, Andrew Beverley)
953
954    [ DOCUMENTATION ]
955    * GH #908: Cleanup Dancer references in DBIC section of cookbook
956      (Julien Fiegehenn)
957    * GH #910: Misc spelling and grammar fixes (Gregor Herrmann)
958    * GH #916: Fix test example. (Peter Mottram - @SysPete)
959    * GH #912, #913: Fix documentation on when stacks are printed.
960      (Andrew Solomon)
961
9620.160001  2015-05-14 20:40:10+02:00 Europe/Amsterdam
963
964    [ BUG FIXES ]
965    * GH #893, #895: Catch config parse errors when Config::Any doesn't throw
966      them. (Russell Jenkins)
967    * GH #899: Minimum YAML version supported is v0.86 (Shlomi Fish)
968    * GH #906: send_file - missing import and fix logic error for streaming
969      by default (Russell Jenkins)
970
971    [ DOCUMENTATION ]
972    * GH #897: Remove docs for unimplemented 'load' keyword (Fayland Lam)
973
974    [ ENHANCEMENT ]
975    * GH #894, #898: Add status and headers methods to ::Response::Delayed
976      (Yanick Champoux, Charlie Gonzalez)
977
9780.160000  2015-04-27 00:12:55+02:00 Europe/Amsterdam
979
980    [ BUG FIXES ]
981    * GH #868: Fix incorrect access name in $error->throw. (cdmalon)
982    * GH #879, #883: Fix version numbering in packaging and tests.
983      (Russell Jenkins)
984    * File serving (send_file) won't call serializer. (Russell Jenkins)
985    * GH #892, #510: Workaround for multiple plugins with hooks.
986      (Russell Jenkins, Alberto Simões)
987    * GH #558: Remove "prefix" inconsistency with possibly missing postfixed
988      forward slash. (Sawyer X)
989
990    [ DOCUMENTATION ]
991    * GH #816, #874 Document session engine changes in migration documentation.
992      (Chenchen Zhao)
993    * GH #866, #870: Clarify that you cannot forward to a static file, why,
994      and two different ways of accomplishing it without forward.
995      (Sakshee Vijayvargia)
996    * GH #878: Rework example for optional named matching due to operator
997      precedence. (Andrew Solomon)
998    * GH #844: Document Simple session backend is the default. (Sawyer X)
999
1000    [ ENHANCEMENT ]
1001    * GH #869: Streaming file serving (send_file). (Russell Jenkins)
1002    * GH #793: "prefix" now supports the path definition spec. (Sawyer X)
1003    * GH #817, #845: Route spec under a prefix doesn't need to start with
1004      a slash (but must without a prefix).
1005      (Sawyer X, Russell Jenkins)
1006    * GH #871: Use Safe.pm instead of eval with Dancer2::Serializer::Dumper.
1007      (David Zurborg)
1008    * GH #880: Reduce and cleanup different logging calls in order to handle
1009      the stack frames traceback for logging classes. (Russell Jenkins)
1010    * GH #857, #875: When failing to render in Template::Toolkit, make the
1011      error reflect it's a TT error, not an internal one.
1012      (valerycodes)
1013
10140.159003  2015-03-23 14:57:15+01:00 Europe/Amsterdam
1015
1016    [ BUG FIXES ]
1017    * Fixed another memory leak with compiled hooks. (Sawyer X)
1018    * Fixed a memory leak with conditionally applied static middleware
1019      (Russell Jenkins)
1020
1021    [ DOCUMENTATION ]
1022    * GH #854, #858: Fix after_template_render hook example. (Adam Weinberger)
1023    * GH #861: Improve documentation of 'forward'. (Andy Beverley)
1024
10250.159002  2015-03-03 19:21:21+01:00 Europe/Amsterdam
1026
1027    [ BUG FIXES ]
1028    * GH #856: Memory leak when throwing exception from a hook. (Sawyer X)
1029
10300.159001  2015-02-25 15:31:35+01:00 Europe/Amsterdam
1031
1032    [ BUG FIXES ]
1033    * GH #855: Ensure Dancer2::Test is compatible with Pod::Simple 3.30.
1034      (Russell Jenkins)
1035
1036    [ DOCUMENTATION ]
1037    * Add an example for delayed (async) streaming response. (Sawyer X)
1038    * Small link fix. (Sawyer X)
1039
10400.159000  2015-02-24 04:51:20+01:00 Europe/Amsterdam
1041
1042    [ BUG FIXES ]
1043    * GH #762: Delay app cleanup until errors are rendered. (Russell Jenkins)
1044    * GH #835: Correct Logic error in Logger if no request exists.
1045               (Lennart Hengstmengel)
1046    * GH #839: Correct "no_server_tokens" definition in production.yml.
1047               (Nikita K)
1048    * GH #853, #852: Handle malformed (contentless) cookies. (pants)
1049    * GH #840, #842: Ensure session data available to template engines.
1050                     (Russell Jenkins)
1051    * GH #565, #847, #849: Fix HTTP Status template logic and documentation.
1052                           (Daniel Muey, Russell Jenkins, Dávid Kovács)
1053    * GH #843: Add missing attributes to Moo class used in tests. (Graham Knop)
1054
1055    [ ENHANCEMENT ]
1056    * GH #836: Support delayed (asynchronous) responses!
1057               ("Delayed responses" in Dancer2::Manual for more information.)
1058               (Sawyer X)
1059    * GH #824: Use Plack::MIME by default, MIME::Types as failback if available.
1060               (Alberto Simões)
1061    * GH #792, #848: Keywords can now use prototypes.
1062                     (Russell Jenkins, Sawyer X)
1063
1064    [ DOCUMENTATION ]
1065    * GH #837, #838, #841: Major documentation restructure. (Snigdha Dagar)
1066      (Check eb9416e9 and a78e27d7 for more details.)
1067    * GH #823: Cleanup Manual and Cookbook docs. (Omar M. Othman)
1068    * GH #828: Provide README.mkdn. (Nuno Carvalho)
1069    * GH #830: Fix typo in Session::YAML pod. (Vince W)
1070    * GH #831,#832: Fix broken link in Session::YAML pod. (Vince W)
1071
10720.158000  2015-01-01 18:08:04+01:00 Europe/Amsterdam
1073
1074    ** Happy new year! **
1075
1076    [ ENHANCEMENT ]
1077    * GH #778: Avoid hard-coded static page location. (Dávid Kovács)
1078    * Speed up big uploads significantly. (Rick Myers)
1079    * GH #821: Use Import::Into to import pragmas. (Russell Jenkins)
1080    * GH #782: Fix utf8 pragma import. (Maxim Vuets)
1081    * GH #786: Perlbrew fix. (Dávid Kovács)
1082    * GH #622: Refactoring. (James Raspass)
1083
1084    [ DOCUMENTATION ]
1085    * GH #713: Change order of statements in Cookbook to not imply that
1086      D2::P::Ajax::ajax() calls have priority. (Sawyer X)
1087
10880.157001  2014-12-21 20:40:13+01:00 Europe/Amsterdam
1089
1090    [ ENHANCEMENT ]
1091    * GH #814, #815: Rename "app.pl" to "app.psgi". (Sawyer X)
1092
10930.157000  2014-12-14 18:23:33+01:00 Europe/Amsterdam
1094
1095    [ BUG FIXES ]
1096    * GH #799: Set current request earlier so log formats using requests
1097      will work. (Sawyer X)
1098    * GH #650: Provide default environment to app for templating.
1099      (Dávid Kovács, Chi Trinh)
1100    * GH #800: Better portability code, for different Windows situations.
1101      (Christian Walde)
1102    * Less littering of the test directories with session files. (Sawyer X)
1103
1104    [ ENHANCEMENT ]
1105    * GH #810: strict && warnings in the app.pl. (Sawyer X)
1106    * Use to_app keyword in skeleton. (Sawyer X)
1107    * GH #801: Under production, server tokens are disabled. (Sawyer X)
1108    * GH #588, #779: Remove LWP::UserAgent in favor of HTTP::Tiny.
1109      (Dávid Kovács, simbabque, Sawyer X)
1110    * Remove all usages of Test::TCP in favor of Plack::Test. (Sawyer X)
1111
1112    [ DOCUMENTATION ]
1113    * GH #802: Remove indication of warnings configuration option
1114      and add explanation in migration document. (Sawyer X)
1115    * GH #806: Link in main docs to the migration document. (Gabor Szabo)
1116    * GH #807: Update migration document with more session data,
1117      changes to app.pl, and Template::Toolkit configuration. (Gabor Szabo)
1118    * GH #813: Update migration document with information on encoding and
1119      usage of Plack::Request internally. (Gabor Szabo, Sawyer X)
1120
11210.156001  2014-12-08 23:03:43+01:00 Europe/Amsterdam
1122
1123    [ DOCUMENTATION ]
1124    * Documentations suggested serializers aren't consistent. We fixed it
1125      so we make sure docs reflect that. (Sawyer X)
1126
11270.156000  2014-12-07 18:04:14+01:00 Europe/Amsterdam
1128
1129    [ BUG FIXES ]
1130    * Do not try to deserialize empty content.
1131      (Lennart Hengstmengel, Sawyer X)
1132    * Do not call serialization hooks when no serialization took place.
1133      (Sawyer X)
1134    * Be more cautious on undef output from serializer.
1135      (Daniel Böhmer, Sawyer X)
1136
1137    [ ENHANCEMENTS ]
1138    * Add cpanfile when scaffolding a new app.
1139      (Dávid Kovács, Sawyer X)
1140    * Response "content" attribute no longer stringifies. This should help
1141      reduce warnings, odd debugging problems, etc. (Sawyer X)
1142    * DSL "uri_for" no longer returns URI object. Instead just the URI.
1143      (Sawyer X)
1144
1145    [ DOCUMENTATION ]
1146    * GH #777: Fix doc for mentioning public dir.
1147      (Dávid Kovács, Sawyer X)
1148    * GH #787: Document all environment variables. (Sawyer X)
1149
11500.155004  2014-12-04 11:51:23+01:00 Europe/Amsterdam
1151
1152    [ BUG FIXES ]
1153    * Guard against content length being empty strings. This is really
1154      bizarre case but saw it once. (Sawyer X)
1155
11560.155003  2014-12-03 22:32:12+01:00 Europe/Amsterdam
1157
1158    [ BUG FIXES ]
1159    * GH #798: More test fixes on Windows. (A. Sinan Unur)
1160
11610.155002  2014-12-02 22:59:32+01:00 Europe/Amsterdam
1162
1163    [ BUG FIXES ]
1164    * Fix test on Windows. (A. Sinan Unur)
1165
11660.155001  2014-11-28 17:42:24+01:00 Europe/Amsterdam
1167
1168    [ BUG FIXES ]
1169    * Small typo in test. (Dávid Kovács)
1170
11710.155000  2014-11-28 01:18:39+01:00 Europe/Amsterdam
1172
1173    [ BUG FIXES ]
1174    * GH #773, #775: AutoPage handler no longer renders layouts.
1175      (Dávid Kovács, Sawyer X)
1176    * GH #770: Prevent crazy race condition between the logger engine and
1177      other engines. This means engines now call "log_cb" to log.
1178      (Sawyer X)
1179    * App now has default name to caller package. (Sawyer X)
1180    * Serializers will not try to serialize empty content. (Sawyer X)
1181    * Lots of cleanups in Core::Request in favor of Plack::Request.
1182      (Sawyer X)
1183
1184    [ ENHANCEMENTS ]
1185    * Layouts directory can be configured using 'layout_dir'.
1186      (Sawyer X)
1187    * GH #648, #760: Logger format now supports 'h', 'u', 'U', 'h', 'i'.
1188      They are documented but weren't really available.
1189      (Lennart Hengstmengel)
1190    * Serializers having errors will not fail if there is no logger.
1191      (Sawyer X)
1192    * Create a request object with a single argument of $env, like
1193      Plack::Request. (Sawyer X)
1194
1195    [ DOCUMENTATION ]
1196    * Remove documented hack for static content because we use the middleware
1197      now anyway. (Sawyer X)
1198    * Document further the difference between splat and megasplat.
1199      (Dávid Kovács)
1200
12010.154000  2014-11-17 15:36:31+01:00 Europe/Amsterdam
1202
1203    [ BUG FIXES ]
1204    * GH #744: Serialize anything, not just references. (Sawyer X)
1205    * GH #744: Serialize regardless of content_type of serializer. (Sawyer X)
1206    * GH #764: Catch template render errors. (Russell Jenkins, Steven Humphrey)
1207    * Calling uri_for(undef) doesn't crash. (Sawyer X)
1208    * GH #732: Correct name for 403 (Forbidden, not Unauthorized).
1209      (Theo van Hoesel, Sawyer X, Mickey Nasriachi, Omar M. Othman)
1210    * GH #753: Syntax of parameterized types. (Russell Jenkins)
1211    * GH #734: Failing tests on Windows. (Russell Jenkins, Sawyer X)
1212
1213    [ ENHANCEMENTS ]
1214    * GH #664, #684, #715: Handler::File replaced for static files with
1215      Plack::Middleware::Static, allowing files to be served *before* routes.
1216      This means hooks do not apply to static files anymore!
1217      (Russell Jenkins, DavsX)
1218    * Engines now have "logger" attribute to log errors. It sends the
1219      Dancer2::Logger:: object, if one exists. (Sawyer X)
1220    * Serializers do not need to implement "loaded" method. (Sawyer X)
1221    * GH #733: In core: response_xxx removed in favor of generic
1222      standard_response. (Sawyer X, Mickey Nasriachi, Omar M. Othman)
1223    * GH #514, #642, #729: Allow mixing named params, splat, and
1224      megasplat. (Russell Jenkins, Johan Spade, Dávid Kovács)
1225    * GH #596: no_server_tokens works, as well as DANCER_NO_SERVER_TOKENS.
1226      (Omar M. Othman, Sawyer X, Mickey Nasriachi)
1227    * GH #639: Validate engine types in configuration.
1228      (Sawyer X, Omar M. Othman, Mickey Nasriachi, Russell Jenkins)
1229    * GH #663, #741: Remove "accept_type" attribute and other references.
1230      (Mickey Nasriachi, Theo van Hoesel)
1231    * GH #748: Provide forwarded_host, forwarded_protocol. (Sawyer X)
1232    * GH #748: Do not provide a default env, require env for a request.
1233      (Sawyer X)
1234    * GH #742: Update test skeleton to use to_app. (Dávid Kovács)
1235    * GH #636: Use Plack::Test in more tests. (Dávid Kovács)
1236
1237    [ DOCUMENTATION ]
1238    * GH #656: Dancer2::Manual::Testing as a guide for testing Dancer2
1239      applications. (Sawyer X)
1240    * Improved documentation of route matching. (Russell Jenkins)
1241    * Migration document update relating to enhancements.
1242      (Sawyer X, Mickey Nasriachi)
1243    * GH #731: Document changes in session.
1244      (racke, Sawyer X, Mickey Nasriachi, Omar M. Othman)
1245    * Document "id" attribute in Request object. (Sawyer X)
1246    * Correct Cookbook examples on command line scripts. (Sawyer X)
1247
12480.153002  2014-10-30 09:23:52+01:00 Europe/Amsterdam
1249
1250    [ BUG FIXES ]
1251    * GH #734: More failing tests. (Sawyer X)
1252
12530.153001  2014-10-27 12:39:54+01:00 Europe/Amsterdam
1254
1255    [ BUG FIXES ]
1256    * GH #734: Failing tests on Windows. (Sawyer X)
1257
1258    [ DOCUMENTATION ]
1259    * GH #724: Plack::Test example in Dancer2::Test. (Jakob Voss)
1260
12610.153000  2014-10-23 23:45:36+02:00 Europe/Amsterdam
1262
1263    [ BUG FIXES ]
1264    * GH #634, #687: Fix file logger defaults.
1265      (Russell Jenkins, Dávid Kovács, Sawyer X)
1266    * GH #730: Make App use app-level config for behind_proxy. (Sawyer X)
1267    * GH #727: Disable regex metachars when calculating app location in tests
1268      (Gregor Herrmann)
1269    * GH #681, #682, #712: Clear session engine within destroy_session.
1270      (DavX, Russell Jenkins)
1271    * Ignore :tests in importing, don't suggest :script. (Sawyer X)
1272
1273    [ ENHANCEMENT ]
1274    * Internal: Move the implementation of send_file from DSL to App.
1275      (Russell Jenkins)
1276
1277    [ DOCUMENTATION ]
1278    * GH #728: Typos in Policy document. (Olaf Alders, Sawyer X)
1279
12800.152000  2014-10-14 04:30:59+02:00 Europe/Amsterdam
1281
1282    [ BUG FIXES ]
1283    * GH #723: Redispatched requests lose data. (Sawyer X)
1284
1285    [ ENHANCEMENT ]
1286    * Provide 'content' keyword to set the response content. (Sawyer x)
1287    * GH #616, #155, #615: Session engines are now lazy! (Russell Jenkins)
1288    * Dancer2 response objects can be created from arrays or from
1289      Plack::Response objects. (Sawyer X)
1290    * GH #718: Clean up App's Template engine. (Russell Jenkins)
1291    * Adding class-based tests. (Sawyer X)
1292
1293    [ DOCUMENTATION ]
1294    * Add a policy document under Dancer2::Policy. (Sawyer X)
1295    * Document log_format instead of logger_format. (Sawyer X)
1296
12970.151000  2014-10-08 21:49:06+02:00 Europe/Amsterdam
1298
1299    [ ENHANCEMENT ]
1300    * Apps are now a proper independent PSGI application. Forwarding
1301      and passing requests between apps will still work if you use the
1302      'Dancer2->psgi_app' method without providing a class, but it might
1303      still be phased out in the future.
1304      (Sawyer X)
1305
1306    [ DOCUMENTATION ]
1307    * Migration document! (Snigdha Dagar)
1308    * GH #667: Fix typo in cookbook pod. (Lindsey Beesley)
1309    * GH #649, #670: Document core logger. (simbabque)
1310    * GH #689: Git guide markdown fixes. (Paul Cochrane)
1311    * GH #690, #691, #694, #696, #698, #699, #700, #702, #703,
1312         #704, #705, #706, #707, #708, #710: Doc cleanups.
1313      (Paul Cochrane)
1314    * GH #688: Improve testing documentation. (Paul Chochrane)
1315    * GH #692: Document serving static files using
1316      Plack::Middleware::Static. (Dávid Kovács @DavsX)
1317    * GH #695: Correct Dancer2::Logger::Capture, add test example.
1318      (Dávid Kovács @DavsX)
1319    * GH #716: Correct document on proxy procotol forwarding
1320      in Apache. (Andy Beverley)
1321
13220.150000  2014-08-17 01:35:16CEST+0200 Europe/Amsterdam
1323
1324    [ DOCUMENTATION ]
1325    * GH #657: Update multi-app example in cookbook to include route
1326      merging. (Bas Bloemsaat)
1327    * GH #643: Improve session factory docs by mentioning Dancer2::Config.
1328      (Andy Jack)
1329
1330    [ BUG FIXES ]
1331    * Postponed hooks are no longer sent to all Apps.
1332      (Sawyer X, Mickey Nasriachi)
1333    * 404 File Not Found Application reworked to stay up to date with
1334      postponed hooks merging in multiple apps. (Russell Jenkins)
1335    * GH #610, #662: Removed two circular references memory leaks!
1336      (Russell Jenkins)
1337    * GH #633: Log an error when a hook dies. (DavsX)
1338
1339    [ ENHANCEMENT ]
1340    * Allow settings apps in the psgi_app() call by name or regex.
1341      (Sawyer X)
1342    * GH #651: silly typo in clearer method name (DavsX).
1343
13440.149000_02 2014-08-10 13:50:39CEST+0200 Europe/Amsterdam
1345
1346    [ ENHANCEMENT ]
1347    * GH #641: Adding a shim layer to prevent available hooks (and
1348      thus plugins) from breaking.
1349    * Each App can now define its own configuration. The Runner's
1350      application-specific configure has been untangled.
1351      (Russell @veryrusty Jenkins, Sawyer X, Mickey Nasriachi)
1352    * Multiple Dancer App support. You can now create a App-specific
1353      PSGI application using MyApp->psgi_app.
1354      (Russell @veryrusty Jenkins, Sawyer X, Mickey Nasriachi)
1355    * Add routes and hooks to an existing app on import.
1356      (Russell @veryrusty Jenkins, Stevan Humphrey, Stefan racke
1357      Hornburg, Jean Stebens, Chunzi, Sawyer X, Mickey Nasriachi)
1358    * Allow DSL class to be specified in configuration file.
1359      (Stevan Humphrey)
1360    * forward() now returns a new request which is then just runs
1361      the dispatching loop again. (Sawyer X, Mickey Nasriachi)
1362
1363    [ BUG FIXES ]
1364    * GH #336: Set log level correctly.
1365      (Andrew Solomon, Pedro Bruno)
1366    * GH #627, #607: Remove potential context issues with returning
1367      undef explicitly. (Javier Rojas)
1368    * GH #646: Fix whitespacing for tests. (DavsX)
1369
13700.149000_01 2014-07-23 21:31:21CEST+0200 Europe/Amsterdam
1371
1372    *************************** NOTICE ***************************
1373    * This very is a major upgrade                               *
1374    * We untangled the context, DSL implementation a bit         *
1375    * Please check your code, including your plugins, thoroughly *
1376    * Thank you                                                  *
1377
1378    [ ENHANCEMENTS ]
1379    * GH #589: Removing Dancer2::Core::Context global context variable.
1380      Finally in.
1381      (Sawyer X, Mickey Nasriachi, Russell @veryrusty Jenkins)
1382
1383    [ BUG FIXES ]
1384    * GH #606, #605: Fix for setting public directory.
1385      (Ivan Kocienski, Russell Jenkins, Stefan @racke Hornburg)
1386    * GH #618, #620: Fix jQuery link generated by CLI skeleton.
1387      (Michał Wojciechowski)
1388    * GH #589: Major memory leak fix by removal of Dancer2::Core::Context.
1389
1390    [ ENHANCEMENTS ]
1391    * GH #620: Bump jQuery to 1.11.1. (Michał Wojciechowski)
1392
13930.143000  2014-07-05 21:39:28CEST+0200 Europe/Amsterdam
1394
1395    [ BUG FIXES ]
1396    * GH #538, #539: Coerce propogated exceptions to strings within Error object.
1397      (Steven Humphrey)
1398    * GH #531: Generate valid HTML when show_errors is true from Error objects.
1399      (Steven Humphrey)
1400    * GH #603: Update skeleton test to use Plack::Test. (Sawyer X)
1401
1402    [ ENHANCEMENTS ]
1403    * Provide psgi_app in top-level Dancer.pm to make it easier to change it.
1404      (Sawyer X)
1405
14060.142000  2014-06-24 15:16:42CEST+0200 Europe/Amsterdam
1407
1408    [ BUG FIXES ]
1409    * GH #550, #555: Allow the content type to be set when using send_file
1410      as per the documentation. (Russell Jenkins, Steven Humphrey)
1411
1412    [ ENHANCEMENTS ]
1413    * GH #512, #520, #602: Pass all settings into JSON serializer engine.
1414      (Jakob Voss, Russell Jenkins)
1415    * GH #532: Serialize runtime errors such as those produced by die if a
1416      serializer exists. (Steven Humphrey)
1417
14180.141000  2014-06-08 22:27:03CEST+0200 Europe/Amsterdam
1419
1420    * No functional changes.
1421
14220.140900_01 2014-06-07 23:32:56IDT+0300 Asia/Jerusalem
1423
1424    [ BUG FIXES ]
1425    * GH #447: Setting the apphandler now triggers the Dancer Runner
1426      configuration change, which works. (Sawyer X)
1427    * GH #578: Remove the default engine configurations. (Sawyer X)
1428    * GH #567: Check for proper module names in loading engines. Might help
1429      with taint mode. (Sawyer X)
1430    * GH #585, #595: Return 405 Method Not Allowed instead of 500.
1431      (Omar M. Othman)
1432    * GH #570, #579: Ensure keywords pass, send_error and send_file
1433      exit immediately when executed. (Russell Jenkins)
1434
1435    [ ENHANCEMENTS ]
1436    * GH #587: Serializer::Mutable alive! (Pedro Bruno)
1437
1438    [ DOCUMENTATION ]
1439    * Fix doc for params(). Ported from Dancer#1025 (Stefan Hornburg)
1440
14410.140001  2014-05-01 10:49:25CEST+0200 Europe/Amsterdam
1442
1443    [ BUG FIXES ]
1444    * Bugfix for extracting multiple cookies within a request.
1445      (Cymon, Russell Jenkins)
1446    * Require minimum version of Plack to make sure we can add the Head
1447      middleware. Not exactly a bug, but not a feature. (Sawyer X)
1448
1449    [ DOCUMENTATION ]
1450    * Correct reference to HTTP::Server::Simple::PSGI. (Russell Jenkins)
1451
14520.140000  2014-04-28 23:14:31CEST+0200 Europe/Amsterdam
1453
1454    [ ENHANCEMENTS ]
1455    * Replace Config role with better ConfigReader role.
1456      (Mickey Nasriachi, Stefan Hornburg, Sawyer X)
1457    * Move App-related attributes (engines) to App instead of config role.
1458      (Mickey Nasriachi, Stefan Hornburg, Sawyer X)
1459    * Untangle Runner-Server (removing Server entirely).
1460      (Mickey Nasriachi, Stefan Hornburg, Sawyer X)
1461    * Replace HTTP::Server::Simple::PSGI with HTTP::Server::PSGI.
1462      (Mickey Nasriachi, Stefan Hornburg, Sawyer X)
1463    * GH #527: Build request cookie objects from request headers, not env.
1464      (Russell Jenkins)
1465    * GH #569: Transform cookie using the HTTP_COOKIE header, per PSGI spec.
1466      (Russell Jenkins)
1467    * GH #559, #544: Use Plack middleware for HEAD request content removal.
1468      (Russell Jenkins)
1469    * GH #513, #483: Deserialize body content for DELETE requests.
1470      (Russell Jenkins, Yanick Champoux, Sawyer X)
1471
14720.13      2014-04-13 19:19:44CEST+0200 Europe/Amsterdam
1473
1474    [ ENHANCEMENTS ]
1475    * GH #562: Change YAML::Any to YAML (Steven Humphrey, Russell Jenkins).
1476
1477    [ BUG FIXES ]
1478    * GH #524: Double encoding for YAML sessions.
1479    * GH #557: Switch to using YAML::Old.
1480    * GH #548: Deserializer test failure.
1481
14820.12      2014-04-07 22:42:12 Europe/Amsterdam
1483
1484    [ ENHANCEMENTS ]
1485    * GH#518: Bump jQuery to 1.10.2 (Grzegorz Rożniecki).
1486    * GH#535: Support OPTIONS and PATCH requests in Server::Standalone.
1487      (Russell Jenkins)
1488    * GH#553: Dancer2 CLI: specify directory to write app skeleton
1489      (Jean Stebens)
1490    * GH#543: Additional HTTP Methods for Ajax plugin (Jean Stebens).
1491
1492    [ DOCUMENTATION ]
1493    * RT#91428: POD encoding set to UTF-8 in main .pm (Gregor Herrmann).
1494    * GH#517: Miscellaneous documentation fixes (Cesare Gargano).
1495    * GH#518: "Getting started" demo page fixes (Grzegorz Rożniecki).
1496    * GH#522: s/PerlHandler/PerlResponseHandler/ in Apache2 sample configuration
1497      (Grzegorz Rożniecki)
1498    * GH#521: Remove duplicated POD and clean up list details (Shlomi Fish)
1499    * GH#526: Cleanup POD formating and code snippets in manual.
1500      (Grzegorz Rożniecki)
1501
1502    [ BUG FIXES ]
1503    * GH#528,529: Force PSGI server in dispatch scripts for CGI or fcgi
1504      deployments (Erik Smit, Alberto Simões)
1505    * GH#550,GH#551: Update all headers in Handler::File
1506      (Sawyer X, Stefan @racke Hornburg)
1507    * GH#540: Fix hook execution when default scalar was used in hook code.
1508      (baynes, Russell Jenkins)
1509    * GH#552: Rework test suite to use Plack::Test
1510      (Sawyer X, Stefan @racke Hornburg)
1511    * GH#560: Return value of hooks do not alter response content.
1512      (Jean Stebens)
1513
15140.11      2013-12-15 14:19:22 Europe/Amsterdam
1515
1516    [ ENHANCEMENTS ]
1517    * GH#481: Don't pollute @INC automatically when Dancer2 is imported, each
1518      runner is now responsible of including the local ./lib dir if needed.
1519    * GH#469, 418: Dancer2::Plugin provides a ':no_dsl' flag for modern Plugins
1520      (Pedro Melo)
1521    * GH#485: Keywords 'redirect' and 'forward' exit immediately when executed in
1522      a route/hook. New dependency on Return::MultiLevel (Russell Jenkins).
1523    * GH#495: Use accessor and predicates instead of direct access.
1524      Addresses GH#493 too. (Russell Jenkins)
1525    * GH#502,GH#472: Rework halt to use with_return from Return::MultiLevel.
1526      (Russell Jenkins)
1527    * GH#479,GH#480,GH#508: Pass parameters to params() in the DSL.
1528      (Slava Goltser, unickuity, Russell Jenkins)
1529    * GH#505: Fix empty HTTP_REFERER in Dancer::Core::Request (Menno Blom).
1530    * GH#503: Multiple reverse proxy support (Menno Blom).
1531    * GH#371,GH#506: CLI tool rewrite (using App::Cmd, supports plugins, etc.).
1532      (Ivan Kruglov, Samit Badle, Sawyer X)
1533    * GH#498: Add some missing items in MANIFEST.SKIP (Gabor Szabo, Sawyer X).
1534
1535    [ DOCUMENTATION ]
1536    * GH#489: Remove link to Dancer2::Deployment pod which does not exist
1537      (Sweet-kid)
1538    * GH#511: s/Deflator/Deflater/; (Cesare Gargano)
1539    * GH#491: Updated config paths for template_toolkit in cookbook.
1540      (Mark A. Stratman)
1541    * GH#494: Update session config details (Dancer2::Config),
1542      namespace fixup in Dancer2::Core::cookie.
1543      (Russell Jenkins)
1544    * GH#470: Fix Plack::Builder mount usage (Pedro Melo).
1545    * GH#507: Fix plenty of typos (David Steinbrunner).
1546    * GH#477: Document problem with Plack Shotgun on Windows (Ahmad M. Zawawi).
1547    * GH#504: Add link to Dancer2::Plugin::Sixpack (Menno Blom).
1548    * GH#490: Document Dancer2 should be FatPackable (Sawyer X).
1549    * GH#452: Make a complete authors section, clean it up (Pau Amma).
1550    * More fixes to main documentation (Pau Amma).
1551
15520.10      2013-09-28 15:26:41 Europe/Paris
1553
1554    [ DOCUMENTATION ]
1555    * GH#431: Miscellaneous documentation fixes (Gideon D'souza)
1556    * Small POD corrections (Ashvini V)
1557
1558    [ ENHANCEMENTS ]
1559    * GH#482: Show the startup banner when the worker starts by default
1560      (Alexis Sukrieh).
1561    * GH#481: Include local lib dir in @INC by defaults (Alexis Sukrieh).
1562    * GH#423: Remove ':tests' from Dancer.pm import (Alberto Simões).
1563    * GH#422: Get rid of core_debug method (Alberto Simões).
1564    * GH#421: Support Plugin::Ajax content_type (Russell Jenkins).
1565    * GH#428: Make default errors CSS path relocatable (Russell Jenkins).
1566    * GH#427, GH#443: Replace global warnings with lexical (Russell Jenkins).
1567    * GH#374: Don't create an app from app.psgi (Alberto Simões).
1568    * Cleanup Core::Request, Core::Request::Upload (Mickey Nasriachi).
1569    * GH#445: Test Template::Simple (Alexis Sukrieh, Russell Jenkins).
1570    * GH#449: Test Session hooks (Gideon D'souza)
1571    * GH#434,440: Imutable attributes (Mickey Nasriachi).
1572    * GH#435: Allow send_error to serialize error (Russell Jenkins).
1573    * Add more tests to session id rw (Pedro Melo).
1574    * Whitespace cleanup (Ivan Bessarabov).
1575
1576    [ BUG FIXES ]
1577    * GH#424,425: Fix logger tests for different timezones, and close
1578                  logfile before deleting it: Windows dixit.
1579                  (Gideon D'souza, Russell Jenkins)
1580
15810.09      2013-09-02 00:12:58 Asia/Jerusalem
1582
1583    [ ENHANCEMENTS ]
1584    * Rewite DSL keyword engine (Mickey Nasriachi)
1585    * Require minimum Role::Tiny 1.003000 (Alberto Simões)
1586    * GH#382: Move Request attributes to params, and fix serializers
1587              behavior (Russell Jenkins)
1588    * GH#406: Replace Dancer2::ModuleLoader with Class::Load
1589              (Alberto Simões, Sawyer X)
1590    * GH#329: Remove 'load_app' DSL keyword. Remove reference to
1591              'load' as well. (Sawyer X)
1592    * GH#412: Autopages are now called properly with correct MIME.
1593              (Alberto Simões)
1594
1595    [ DOCUMENTATION ]
1596    * GH#390: minor cookbook documentation fixes (Russell Jenkins)
1597    * GH#392: remove support to auto_reload and suggest alternative
1598      in Dancer2::Cookbook (Ahmad M. Zawawi)
1599    * GH#397,407: Miscellaneous documentation fixes (Andrew Solomon)
1600    * Documentation cleanups (Alex Beamish)
1601
1602    [ BUG FIXES ]
1603    * When compiling route regex object with prefix, add the closing anchor
1604      (Mickey Nasriachi)
1605    * GH#386: honor log level defined in config file (Alberto Simões)
1606    * GH#396,409: Miscellaneous bug fixes (Russell Jenkins)
1607    * GH#403: Fix forward behavior (Russell Jenkins)
1608
16090.08      2013-08-18 15:22:45 Asia/Jerusalem
1610
1611    [ ENHANCEMENTS ]
1612    * GH#352: Define content_type as a property for serializers. (Franck Cuny)
1613    * Cleanup duplicate HTTP status code between Core::Error and Core::HTTP
1614      (Russel Jenkins)
1615    * GH#363: Move core methods to Dancer2::Core (Alberto Simões)
1616    * GH#362: Serializers documentation and test cleanup. (Franck Cuny)
1617    * Refactoring of the engine method. (Franck Cuny)
1618    * Misc. code cleanup. (Russel Jenkins)
1619    * GH#280: Remove the unused ':syntax' importing tag (Sawyer X)
1620    * Display startup info only if environment is "development" (Franck Cuny)
1621    * Move postponed_hooks to server from runner (Sawyer X)
1622    * Provide easier access to global runner (Sawyer X)
1623    * Bunch of code cleanups which also includes speed boost (Sawyer X)
1624    * More immutability in the runner class and config role (Sawyer X)
1625
1626    [ BUG FIXES ]
1627    * GH#85, GH#354: Fix autopages, especially in subdirs
1628      (Stefan Hornburg, Alberto Simões)
1629    * GH#365: Fix serializer settings (Steven Humphrey)
1630    * GH#333: callerstack for logger was too short (Alberto Simões)
1631    * GH#369: Move request deserialization from Dispatcher to Content & Request
1632      (Russell Jenkins)
1633
1634    [ DOCUMENTATION ]
1635    * GH#192: Documentation the current usage of middlewares using
1636              Plack::Builder (Sawyer X)
1637    * GH#195, GH#197, GH#372: Multiple apps with Plack::Builder (Sawyer X)
1638    * GH#348: Documentation of Role::Logger (Franck Cuny)
1639    * GH#350: Move part of README.md to GitGuide.md (Franck Cuny)
1640    * GH#353: Documentation of Role::Serializer (Alberto Simões, Franck Cuny)
1641    * Misc. minor documentation tweak (Alberto Simões, Franck Cuny)
1642
16430.07      2013-08-04 01:14:59 Asia/Jerusalem
1644
1645    [ ENHANCEMENTS ]
1646    * GH#344, GH#284: Now forward() calls preserve sessions (cym0n, Alberto Simões)
1647    * Separation of engines from triggers and configuration (Sawyer X, Franck Cuny)
1648    * GH#347: Remove old compatibility option 'log_path' (Franck Cuny)
1649    * GH#156, GH#250, GH#349: Remove unused module (Alberto Simões, mokko)
1650    * GH#331: Hook cleanups and documentation. (Franck Cuny)
1651    * GH#335: Serializing cleanup. (Franck Cuny)
1652    * GH#332: Clean up multiple definitions of core_debug (Franck Cuny)
1653    * GH#338: Clean up route builder (Mickey Nasriachi)
1654    * Clean up of the dzil configuration (Alberto Simões)
1655
1656    [ BUG FIXES ]
1657    * GH#334: Fix for GH#86, to display custom 500 page/template on
1658      internal server errors (Russell Jenkins)
1659    * GH#346: Fix tests on 5.8.9 (Albert Simões)
1660
1661    [ DOCUMENTATION ]
1662    * GH#345: Documentation reorganization (Alberto Simões, Franck Cuny)
1663
16640.06 2013-07-30 (Sawyer X)
1665
1666    [ ENHANCEMENTS ]
1667    * Clean up of the dzil configuration (Alberto Simões,Franck Cuny, Russel Jenkins)
1668    * GH#327: Add support for 'info' log level (Russell Jenkins)
1669    * Remove 'for_versions' usage from tests (Alberto Simões)
1670
1671    [ BUG FIXES ]
1672    * GH#326, GH#232: don't end up with empty views and layout (Franck Cuny)
1673    * GH#325: don't die or complain when two routes have the same path (Franck Cuny)
1674    * GH#320: fix plugin_setting deprecation warning (David Golden)
1675
1676    [ DOCUMENTATION ]
1677    * POD cleanup (Sawyer X, Franck Cuny)
1678
16790.05      2013-07-20 18:51:53 Europe/Paris
1680
1681    [ DEPRECATION ]
1682
1683    * Dancer2::Plugin drops support for Dancer 1 (issue #207)
1684      a DEPRECATION notice is issued when a plugin uses the old syntax
1685      (Alexis Sukrieh, Mokko, David Golden)
1686    * Drop support for 'use Dancer2 :moose' (Franck Cuny)
1687
1688    [ ENHANCEMENTS ]
1689    * Add support for HTTP_X_FORWARDED_PROTO (Yanick Champoux)
1690    * Don't inflate custom types (Graham Knop)
1691    * Encode UTF8 params in Dancer2::Test (Vincent Bachelier)
1692    * Make Dancer2::Core::Request more lazy (Franck Cuny)
1693    * Don't use rootdir for app location (David Golden)
1694    * Improve File logger (David Golden)
1695    * Drop body when status is 1x or [23]04 (Franck Cuny)
1696    * Add support for HTTP_X_FORWARDED_PROTO (Yanick Champoux)
1697    * Prevent duplicate routes from being created (Franck Cuny)
1698    * Add support for route options (Franck Cuny)
1699    * Add support for prefix with route defined with regex (Franck Cuny)
1700    * Methods to return path of views and layout in the Template role
1701      (Franck Cuny, Yanick Champoux).
1702    * GH#31, GH#221: Config merging support (Russell Jenkins)
1703
1704    [ BUG FIXES ]
1705    * GH#272: test function 'route_doesnt_exist' was not handling test comment
1706      properly. (Jeff Boes, Yanick Champoux)
1707    * GH#228: handle UTF-8 correctly in JSON serializer (Steven Humphrey)
1708    * GH#270: handle correctly serializer's options (Keith Broughton)
1709    * GH#274: `dancer -v' returns the correct version (Dinis Rebolo)
1710    * GH#286: for HEAD request, drop response's body (Franck Cuny)
1711    * GH#293: fix defaults tests for a newly generated app (Franck Cuny)
1712    * GH#216: check 'show_errors' when returning an internal error (Franck Cuny)
1713    * GH#246: Add serialization of log messages (Stefan Hornburg)
1714    * GH#268: Dancer2::Core::Response->status accepts stringy HTTP codes
1715      (Franck Cuny)
1716    * GH#308: Add support for ENV{DANCER_CONFDIR} and ENV{DANCER_ENVDIR}
1717      (Franck Cuny)
1718    * GH#210: Don't print startup banner if startup_info is set to 0
1719      (Maurice Mengel, Franck Cuny)
1720    * plugin_setting does not trigger a DEPRECATION warning anymore
1721      (Report by Alberto Simões, fix by Alexis Sukrieh)
1722    * GH#251: Support for on-the-fly changes of layouts/views (Franck Cuny)
1723    * GH#302: Avoid double encoding in Handler::File (Russell Jenkins)
1724
1725    [ DOCUMENTATION ]
1726    * Lots of documentation cleanup (Mokko, David Precious)
1727    * Documenting Dancer2::Handler::AutoPage (Sabiha Imran, Sawyer X)
1728    * Documenting Dancer2::Core::Dispatcher (Babitha Balachandran)
1729    * Documenting Dancer2::Manual::DSL (David Precious, Franck Cuny)
1730    * Various typo (Shlomi Fish, Colin Kuskie, Stefan Hornburg, Rick Yakubowski)
1731    * Documenting some internals (Colin Kuskie)
1732    * Documenting Dancer2::Core::MIME (Babitha B.)
1733    * Documenting Manual::Developers (Maurice Mengel)
1734    * Documenting Dancer2::Core::Response (Colin Kuskie)
1735
17360.04 - 2013-04-22 (Alexis Sukrieh)
1737
1738    [ BUG FIXES ]
1739    * Fix "Internal Sever Error" when sending a file with send_file
1740      (Dinis Rebolo)
1741    * Allow the setting of the 'views' directory, like stated in documentation
1742      (Alexander Karelas)
1743
1744    [ ENHANCEMENTS ]
1745    * Implement Dancer2::Test file uploads (Steven Humphrey)
1746    * Give Dancer2::Test the ability to handle multiselect inputs
1747      (Steven Humphrey)
1748    * Make Cookie objects stringify to their value. (David Precious)
1749    * New routines for Dancer2::Test to check pod coverage in apps routes
1750      (Dinis Rebolo)
1751    * New script dancer2 to bootstrap an application (mokko)
1752    * Fix tests when running under Windows environments (Russell Jenkins)
1753    * Serializing modify the response's content type (Yanick Champoux)
1754
1755    [ DOCUMENTATION ]
1756    * Make introduction more fluid in Dancer2's POD. (mokko)
1757
1758    [ PACKAGING ]
1759    * Remove prereq Digest::SHA (mokko)
1760    * Dancer::P::Bcrypt recommends Dancer::P::Passphrase (Blabos de Blebe)
1761
17620.03 - 2013-03-07 (Alexis Sukrieh)
1763
1764    [ ENHANCEMENTS ]
1765    * Don't create a session when just checking if a value exists
1766      (David Golden)
1767    * Only flush sessions if they are dirty
1768      (David Golden)
1769    * Allow the default template file extension to be changed.
1770      (David Precious)
1771    * Add on_plugin_import function to Dancer2::Plugin (David Golden)
1772      (Fix for issue #284)
1773
1774    [BUG FIXES]
1775    * Dancer2::ModuleLoader now use Module::Runtime at its core
1776      (issue #166, Yanick Champoux)
1777
1778    [ DOCUMENTATION ]
1779    * changed <% to [% in documentations (Alexander Karelas)
1780    * Improve Dancer2::Plugin documentation (David Golden)
1781
17820.02 - 2013-02-24   (Alexis Sukrieh)
1783
1784    [ DOCUMENTATION ]
1785    * No more "TODO" tokens in the documentations
1786    * More documentation for Core classes
1787    (Alexis Sukrieh)
1788
1789    [ ENHANCEMENTS ]
1790    * Removed the "api_version" code that is useless and was breaking some
1791      tests.
1792    (Alexis Sukrieh)
1793
17940.01
1795
1796    [ ENHANCEMENTS ]
1797    * Dancer::Test takes a hash instead of an array for better backward
1798      compatibility with Dancer 1.
1799      (Celogeek)
1800    * Session revamp: better decoupling between Session and SessionFactory,
1801      support for session destruction and session values deletion. Everythin
1802      regarding session settings is now configurable.
1803      (David Golden).
1804    * Add route_exists and route_doesnt_exist in Dancer::Test (Mokko)
1805    * session cookie duration can be expressed with human readable strings
1806    * instead of numeric values (Alexis Sukrieh, issue #157).
1807
1808    [ BUG FIXES ]
1809    * The engine configuration is now passed down to
1810      Dancer::Template::Implementation::ForkedTiny (Damien Krotkine).
1811    * Dancer App lookup now try to detect the dir "bin" and "lib" or ".dancer"
1812      file. (Celogeek)
1813    * Issues #125 and #126
1814      Support for configuration bits for session objects, possible to change the
1815      cookie name instead of the hard-coded value 'dancer.session'.
1816      (Reported by David Golden, fixed by Alexis Sukrieh).
1817
1818    [ DOCUMENTATION ]
1819    * Add more POD in Dancer::Test (Mokko)
1820
18211.9999_02
1822
1823    * Fix tests for previous release, tests cannot assume we're under Dancer 2
1824      when the version is 1.9999
1825      (Alexis Sukrieh)
1826
18271.9999_01
1828
1829    * First DEVELEOPER release of Dancer 2
1830      complete rewrite of Dancer with a Moo backend.
1831      (Alexis Sukrieh, David Precious, Damien Krotkine, SawyerX, Yanick Champoux
1832      and others, plus Matt S. Trout as a reviewer).
1833