This release is a dependency refresh (the new Goldmark version comes with a lot of bug fixes, as one example), many bug fixes, but also some nice new features:
We have added the configuration settingsincludeFiles and excludeFiles to the mount configuration. This allows fine grained control over what files to include, and it works for all of Hugo’s file systems (including /static).
We have also reimplemented archetypes. The old implementation had some issues, mostly related to the context (e.g. name, file paths) passed to the template. This new implementation is using the exact same code path for evaluating the pages as in a regular build. This also makes it more robust and easier to reason about in a multilingual setup. Now, if you are explicit about the target path, Hugo will now always pick the correct mount and language:
hugo new content/en/posts/my-first-post.md
This release represents 50 contributions by 13 contributors to the main Hugo code base. @bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @dependabot[bot], @jmooring, and @anthonyfok for their ongoing contributions.
And thanks to @digitalcraftsman for his ongoing work on keeping the themes site in pristine condition.
Many have also been busy writing and fixing the documentation in hugoDocs,
which has received 23 contributions by 9 contributors. A special thanks to @jmooring, @bep, @coliff, and @vipkr for their work on the documentation site.
Hugo now writes an empty file named .hugo_build.lock to the root of the project when building (also when doing hugo new mypost.md and other commands that requires a build). We recommend you just leave this file alone. Put it in .gitignore or similar if you don’t want the file in your source repository.
We have updated to ESBuild v0.13.12. The release notes for v0.13.0 mentions a potential breaking change.
We now only build AMD64 release binaries (see this issue) for the Unix OSes (e.g. NetBSD). If you need, say, a binary for ARM64, you need to build it yourself.
We now build only one release binary/archive for MacOS (see this issue) that works on both Intel and the new Arm M1 systems.
.File.ContentBaseName now returns the owning directory name for all bundles (branch an leaf). This is a bug fix, but worth mentioning. See this issue.
We have updated the Twitter shortcode to use Twitter’s new API. See this issue for details.