Hugo 0.89.0 Brings Fine Grained File Filters, Archetype Rewrite, Dependency Refresh, and More

Download Hugo 0.89 visit Hugo releases on GitHub.

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:

Hugo team have added the configuration settings includeFiles 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).

Hugo team 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). Hugo team recommend you just leave this file alone. Put it in .gitignore or similar if you don’t want the file in your source repository.
  • Hugo team have updated to ESBuild v0.13.12. The release notes for v0.13.0 mentions a potential breaking change.
  • Hugo team 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.
  • Hugo team 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.
  • Hugo team have updated the Twitter shortcode to use Twitter’s new API. See this issue for details.







Related Posts