The default fallthrough to %variable has been removed from FormattableMarkup::placeholderFormat().
The currently defined placeholders for FormattableMarkup (SafeMarkup::format()) and TranslatableMarkup (t()) are:
- @variable
- %variable
- :variable
It used to be the case that any other placeholder (e.g. #variable, !variable, *variable, ...) could be used, which would fall back to a %variable-style replacement. Instead, a trigger_error() is now invoked when another placeholder is used, and the placeholder will not be replaced anymore.
New behavior in Drupal 8.2.0 for variable placeholders
Prior to Drupal 8.2.0, placeholders beginning with an alphabetic character (e.g. variable) were unintentionally supported. Following 8.2.0, this support is removed, and such placeholders will not be replaced. Additionally, a deprecation notice will be raised so that developers can locate any affected usages and correct them.