The docs say: “Any shortcode that refers to .Inner must be closed or self-closed.” Since 0.111, this is enforced the hard way: Hugo fails on our long-standing site with error messages like
failed to extract shortcode: shortcode "..." must be closed or self-closed
Seems it is time for us to understand what you mean by “closed or self-closed”. Are these terms defined somewhere? Are there examples? How can we debug this issue?
It points to a file and a line and column number. Why not open that file and fix the issue?
We fixed a bug. Earlier this error situation was just ignored and the content was truncated. Getting an error message that’s easy to fix is a much better situation.
We fixed a bug. Earlier this error situation was just ignored
Per Hyrum’s law, users write code that is supported by your compiler, not code that complies with your specification. The more so if the specification is a bit thin.
In the end, I just removed the {{.Inner}}. Output seems to be ok.
Let me hope that the {{.Inner}} was pointless from the onset, and was ignored by previous versions of Hugo, so that nothing has been broken now.
Cordial invitation to the maintainers of Hugo to improve the error message, to expand the explanation in the docs, and to rethink their policy on breaking backwards compatibility.
Again Hyrum’s law. The user code, which now turns out to be wrong, was encouraged by a compiler, which now is said to have had a bug.
So you are right about terminology. I do not just want backwards compatibility. I want bug compatibility. And if that cannot be achieved with reasonable effort, then at least I want clear and precise error messages.
Clear and precise error message is what you might get. Hugo is in active development state, so breaking changes are bound to happen, but backwards compatibility is maintained for features that affect a lot of (old) users.