can't evaluate field Err in type resource.Resource: Resource.Err was removed in Hugo v0.141.0 and replaced with a new try keyword, see https://gohugo.io/functions/go-template/try/
Wouldn’t it be a good idea to deprecate methods before breaking them?
Wouldn’t it be an even better idea to have the explanation page not 404 on the day of the release in question?
I’m in the middle of doing the release now. The updated documentation depended on the new release, so a 404 for a few minutes was unavoidable. The page is there now.
Wouldn’t it be a good idea to deprecate methods before breaking them?
We always try to do that, but in this particular case it was not possible.
I understand a proper deprecation procedure may have been impossible, but a little warning along the lines of “hey, this will change in the next release, be prepared” wouldn’t hurt, I suppose.
I recently tested some newer Hugo builds (v0.14x.x, up from somewhere between v0.88-v0.115), and got a cryptic error about “couldn’t find _internals/google_analytics.html” with no link to documentation or notice of deprecation. I guessed it was something to do with Google Analytics v4 and the deprecation of some internal template referenced by the theme I was using, and had to revert to an older version of Hugo for the site to build again.
Was a mite frustrating; it would have been nice to have “Error 1337: Google Analytics changed a lot in v4 and the template has been deprecated since Hugo v0.xxx”
I am glad I have been worried with recent Hugo versions’ other breaking changes. I definitely got an error relating to could not find google analytics, though. I’ll get a screenshot tomorrow from my other machine where it occured.
I suspect you are referring to the asynchronous analytics template which we removed in March of last year after throwing warnings for six months.
I was eager to cleanup the internal template space, and prematurely removed that template without throwing an error for 6 releases, which would have been consistent with our deprecation model. So, sorry about that, but it sounds like that woudn’t have been enough either.
We’re not going to keep dead code around forever. At some point we strip it out, which means we no longer have any mechanism to tell you when we removed it… the build fails and tells you why, but not when.