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