Quoting Dave Cross <dave@dave.org.uk>:
Has something changed (deliberately!) in the handling of 404 errors between Dancer2 0.165000 and 0.166000?
I have a project that is being tested with Travis-CI. The last test that used 0.165000[1] worked fine, but (after a few weeks not working on the project) the next test run used 0.166000[2] and failed on two tests[3] that generate 404 errors.
I updated my local copy of Dancer2 and found I could reproduce the problem in the web app. The problem seemed to be that the app was always trying to use views/404.tt (which didn't exist) instead of using public/404.html if it can't find views/404.tt - which was the old behaviour.
Looking through the Changes file, it seems that it might be related to this:
* GH #1093, 1095: Use a dynamic TT2 INCLUDE_PATH to allow relative views with relative includes; fixing regression introduced by #1037. (Russell Jenkins)
But I haven't had time to investigate further.
I've fixed the problem by adding a views/404.tt file to the project. But I think that's just a workaround.
I plan to dig a little deeper into the problem later in the week, but I thought I'd mention it here first in case anyone had any insights that could save me some time.
Update: Looks like 0.166001 (released this morning) fixes this problem. Dave...
[1] https://travis-ci.org/davorg/lystyng/builds/97884180 [2] https://travis-ci.org/davorg/lystyng/builds/102335005 [3] https://github.com/davorg/lystyng/blob/master/t/004_public_urls.t