[Tex/LaTex] ‘Generic hook is deprecated’ warning after update

hookslthooksupdatingwarnings

I have had a warning for a few days (since I updated MiKTeX):

LaTeX hooks Warning: Generic hook
(hooks)              'file/after/translations-basic-dictionary-french.trsl' is
(hooks)              deprecated.
(hooks)              Use hook
(hooks)              'file/translations-basic-dictionary-french.trsl/after'
(hooks)              instead.

Is there a (simple) way to solve this?

Best Answer

Warnings of the form:

LaTeX hooks Warning: Generic hook 'file/after/<name>' is deprecated.
(hooks)              Use hook 'file/<name>/after' instead.

are due to a recent change in the LaTeX kernel in which we normalised generic hooks to have the variable part in the middle, because we had env/<name>/after and file/after/<name> which was simply confusing. Now the file, package, class, and include hooks have the same form as other hooks: file/<name>/after.

To avoid complete breakage of thousands of documents (including yours, dear reader), the old hook names will be available for a while, until packages (like translations) have time to adjust. The warning is just there as a reminder, but it is completely harmless for your document, so there is nothing to worry about (except maybe ask the package author for an update :).


Just for the sake of discoverability by search engines, similar warnings will be:

LaTeX hooks Warning: Generic hook 'package/after/<name>' is deprecated.
(hooks)              Use hook 'package/<name>/after' instead.
LaTeX hooks Warning: Generic hook 'class/after/<name>' is deprecated.
(hooks)              Use hook 'class/<name>/after' instead.
LaTeX hooks Warning: Generic hook 'include/after/<name>' is deprecated.
(hooks)              Use hook 'include/<name>/after' instead.