This release contains two security hardening fixes:
--permission flag with the permissions defined in security.node.permissions. This means that you need Node >= 22 installed and that css.TailwindCSS now requires that the Tailwind CSS CLI must be installed as a Node.js package. The standalone executable is no longer supportedBut there are some notable new features, as well:
Nested vars support in css.Build and css.SassA practical example in css.Build would be to have something like this in hugo.toml:
[params.style] primary = "#000000" background = "#ffffff" [params.style.dark] primary = "#ffffff" background = "#000000"
And in the stylesheet:
@import "hugo:vars"; @import "hugo:vars/dark" (prefers-color-scheme: dark); :root { color-scheme: light dark; }
The permalinks configuration is now much more flexible (the old setup still works). It uses the same target matchers as in the cascade config, meaning you can now do:
permalinks: - target: kind: page path: "/books/**" pattern: /books/:year/:slug/ - target: kind: section path: "/{books,books/**}" pattern: /libros/:sections[1:] - target: kind: page pattern: /other/:slug/
The above example isn't great, but it at least shows the gist of it.
A more flexible scheme for identifiers in filenamesWhat we had before was e.g. content/mypost.en.md which told Hugo that the content files was in English. With the new setup you could also name the file content/mypost._language_en_.md. This alone doesn't sound very useful, but this allows you to use more prefixes:
| Prefix | Description | Relevant for |
|---|---|---|
| language_ | Language | Content and layout files. |
| role_ | Role | Content and layout files. |
| version_ | Version | Content and layout files. |
| outputformat_ | Output format | Layout files. |
| mediatype_ | Media type | Layout files. |
| kind_ | Page kind | Layout files. |
| layout_ | Layout | Layout files. |
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Release v0.161.1 | 0 | 10 | 29-04-2026 |
| 2 | Release v0.160.1 | 0 | 10 | 08-04-2026 |
| 3 | Release v0.162.1 | 0 | 10 | 28-05-2026 |
| 4 | Release v0.160.0 | 0 | 10 | 04-04-2026 |
| 5 | Release v0.163.1 | 0 | 10 | 11-06-2026 |
| 6 | Release v0.162.0 | 0 | 10 | 26-05-2026 |
| 7 | Release v0.164.0 | 0 | 10 | 06-07-2026 |
| 8 | Release v0.163.0 | 0 | 10 | 08-06-2026 |
| 9 | Release v0.165.0 | 0 | 10 | 12-08-2026 |
| 10 | Release v0.163.2 | 0 | 10 | 15-06-2026 |