I have just upgraded from D8 beta11 to rc3 and it seems that the ! placeholder is no longer valid. After the update I immediately tried to visit /drupal8/admin/reports/status and received
Invalid placeholder: !message in /drupal8/core/lib/Drupal/Component/Render/FormattableMarkup.php on line 240
After reading the source code in FormattableMarkup.php it looks like urls which previously were given in !variable should now be :variable
I have manually updated scheduler.install, as I discovered that this was what was causing the error, as it gives the timecheck message on the status page, and will work on a full patch.
Comments
Comment #2
jonathan1055 commentedForgot to say, this error stops the page being rendered, so it is fairly important, as any site with Scheduler installed will be unusable in D8 rc3
Comment #3
jonathan1055 commentedThe core issue and source of the change is #2575703: Remove default fall-through from PlaceholderTrait::placeholderFormat() committed to 8.x on 1st November. RC3 was released on 4th November.
Comment #4
jonathan1055 commentedOnly two places needed to be fixed - (a) the timecheck message in .install and (b) the link to php date function in the main settings page. Both : and @ work in these cases and I have used @ as this is stated as the preferred choice (according to the header comments in placeholderFormat). However this probably means we are doing unnecessary sanitation of the strings, as they are clean already. Is this OK, or does anyone have a preference for : instead?
Comment #5
jonathan1055 commentedForgot to set the status, but I know it will fail the tests and go back to 'needs work'
We are working on #2594615: Automated testing in 8.x [meta] and hopefully it won't be too long before we can get them running green on D.O.
Comment #6
jonathan1055 commentedComment #8
jonathan1055 commentedThis work was done on the testing branch in #2594615: Automated testing in 8.x [meta]
and committed via the branch merge in https://www.drupal.org/node/2594615#comment-10580656
Hence no commit is needed here and the issue is fixed.