chore(deps): update dependency hugo-extended to v0.167.0 #31

Open
renovate-bot wants to merge 1 commits from renovate/hugo-extended-0.x into main
pull from: renovate/hugo-extended-0.x
Collaborator

This PR contains the following updates:

Package Type Update Change
hugo-extended tools minor 0.165.0 → 0.167.0

Release Notes

gohugoio/hugo (hugo-extended)

v0.167.0

Compare Source

This release brings relative partial references, slug support for branch pages, and a handful of security hardening fixes.

Relative partial references. A partial name starting with ./ or ../ is now resolved relative to the directory of the calling partial. This makes it much easier to write self-contained, movable partial trees, e.g. {{ partial "./item.html" . }} from within layouts/_partials/card/list.html. Relative paths are only allowed from within partials, and paths resolving outside the partials directory is an error. See #​15373 and the documentation.

Slugs for section, taxonomy and term pages. The slug front matter now works for branch pages, not just regular pages, and it cascades to descendants. This is particularly useful in multilingual sites, where e.g. content/help/_index.es.md with slug: ayuda gives /es/ayuda/, /es/ayuda/avanzado/ etc. See #​14352.

Other notable improvements include the new build.cleanDestinationDir config with keepFiles/keepDirs Glob patterns (#​14937, docs), hugo now builds without a config file (#​15393), exact numeric comparisons in eq, where, in and the set functions (#​15322, #​15358), and automatic summaries that no longer end inside an open list or blockquote (#​14044).

Security

This release contains several hardening fixes. None of them are known to be exploited, but if you build sites with untrusted themes or modules, you should upgrade.

  • Sass imports not found in Hugo's file systems were resolved by the Sass compiler itself, which follows symlinks and knows nothing about the project root. A theme could import a file outside the project and get its content into the published CSS. These imports are now resolved by Hugo and checked against the same security.allowRead roots as the Node.js tools and js.Build. 41040cc (thanks to @​Hama1cco)
  • Likewise, imports not found in /assets were resolved and read by ESBuild itself. The resolved path is now checked against the allowed read paths before ESBuild loads it. 2aa51f3 (thanks to @​Hama1cco)
  • A symlinked directory in a theme at the parent of a nested mount could expose files outside the module. 2fe9bab
  • Explicit heading IDs (e.g. ## Foo {id="..."}) were written unescaped into the table of contents href, allowing attribute breakout. 671fbf2

Note

  • The default baseURL is now https://example.org/ (it was empty). Hugo has always required a valid URL to work properly, so this mostly affects new and test sites, but if you relied on the empty default for relative URLs, set baseURL explicitly. bc68654 @​bep #​14625 #​15384
  • The root cleanDestinationDir config key is deprecated in favour of build.cleanDestinationDir.enable. The --cleanDestinationDir flag maps to the new key. Note that .git files in the publish dir are now kept by default. 9086193 @​bep #​14937
  • eq now compares numeric values the same way as lt, le etc., so e.g. eq 1 1.0 is now true. Also, in, intersect, union, uniq, symdiff, complement and where's in/not in now compare numbers exactly rather than via float64, and no longer require the Go types to match. 4d628bb 366377b @​bep #​15322 #​15358
  • A user table render hook is now preferred over the embedded one. 140d936 @​jmooring #​15389
  • Automatic summaries are expanded past summaryLength when needed so they don't end inside an open container element. This may change the summary for some pages. d692a24 @​bep #​14044

Bug fixes

Improvements

Dependency Updates

Documentation

Build Setup

v0.166.0

Compare Source

This release is mostly about hardening and bug fixes, but there are some notable changes:

  • .Render now takes an optional context argument: {{ .Render "view" $ctx }}, mirroring the partial API. This makes it possible to pass e.g. a dict to a content view. See #​15077.
  • The return keyword in templates has been reimplemented. It now works in any template (not just partials) and can be used anywhere, e.g. inside if or range blocks. See #​15212.
  • New resources.Publish template function and IndexOf method on Pages.
  • related config: new tokenize option for index values, and index creation is faster.
  • Several security fixes; see the notes below.

Note

Glob patterns

The glob library used for e.g. module mounts (includeFiles, excludeFiles), cascade targets, segments, deployment matchers and noVendor has been upgraded to v1.0.0. This is a complete rewrite of the matching engine that fixes a long list of correctness bugs, but it also means that some patterns may behave differently:

  • Malformed patterns (e.g. an unclosed {, an empty [] class) now fail with a syntax error instead of being silently accepted.
  • ** matches any sequence of characters including separators, but it is not the **/ "globstar" of shells: **/x requires the literal / and does not match x, and a/**/b does not match a/b. Use {**/,}x if you need both.
  • \ is the escape character, so a literal backslash must be written as \\.

If a pattern that used to match no longer does (or vice versa), it was most likely relying on a bug in the old engine.

Security
  • text/org content is now denied by default, as Org mode's export blocks and @@html:...@@ snippets pass raw HTML through unescaped, making it the same XSS sink as text/html. Sites with Org content can opt back in via security.allowContent.
  • Remote fetches (resources.GetRemote etc.) now validate the resolved address at dial time and reject loopback, private, link-local, CGNAT and similar ranges. This only applies under the default security.http.urls allowlist; if you have customized it, you have opted into your own hosts and the check stands down. Proxies from HTTP_PROXY/HTTPS_PROXY hide the destination address from this check and are now ignored unless you set security.http.proxyFromEnvironment = true.
  • Node.js tools (PostCSS, Tailwind CSS etc.) now fail before invocation if a symlink inside the project resolves outside the allowed read/write roots. If you have a legitimate link, add its target to security.node.permissions.allowRead.
  • Mount roots that are themselves symlinks (e.g. themes/mytheme/assets -> /somewhere/else) are now dropped. This closes a gap in the themes/ confinement; absolute mount source values are still allowed.
Other
  • {{ return <value> }} outside a partial is now an error; it was previously silently ignored.
  • A page without an explicit slug whose title contains a / (e.g. Watch/listen to this) now gets a single URL segment (.../watch-listen-to-this/) instead of a nested one (.../watch/listen-to-this/). Taxonomy and term pages are not affected.
  • Hugo is now built with Go 1.27.
KaTeX

When upgrading to Hugo v0.166.0, sites using transform.ToMath with the output option set to html or htmlAndMathml must update the KaTeX stylesheet referenced in their template(s) to version 0.18.4 or higher. Using older CSS versions like 0.16.21 will cause certain mathematical or chemical expressions to render incorrectly.

Example update:

- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.21/dist/katex.min.css">
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.18.4/dist/katex.min.css">

See these examples:

Bug fixes

Improvements

Dependency Updates


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [hugo-extended](https://github.com/gohugoio/hugo) | tools | minor | `0.165.0` → `0.167.0` | --- ### Release Notes <details> <summary>gohugoio/hugo (hugo-extended)</summary> ### [`v0.167.0`](https://github.com/gohugoio/hugo/releases/tag/v0.167.0) [Compare Source](https://github.com/gohugoio/hugo/compare/v0.166.0...v0.167.0) This release brings relative partial references, slug support for branch pages, and a handful of security hardening fixes. **Relative partial references.** A partial name starting with `./` or `../` is now resolved relative to the directory of the calling partial. This makes it much easier to write self-contained, movable partial trees, e.g. `{{ partial "./item.html" . }}` from within `layouts/_partials/card/list.html`. Relative paths are only allowed from within partials, and paths resolving outside the partials directory is an error. See [#&#8203;15373](https://github.com/gohugoio/hugo/issues/15373) and the [documentation](https://gohugo.io/functions/partials/include/#relative-paths). **Slugs for section, taxonomy and term pages.** The `slug` front matter now works for branch pages, not just regular pages, and it cascades to descendants. This is particularly useful in multilingual sites, where e.g. `content/help/_index.es.md` with `slug: ayuda` gives `/es/ayuda/`, `/es/ayuda/avanzado/` etc. See [#&#8203;14352](https://github.com/gohugoio/hugo/issues/14352). **Other notable improvements** include the new `build.cleanDestinationDir` config with `keepFiles`/`keepDirs` Glob patterns ([#&#8203;14937](https://github.com/gohugoio/hugo/issues/14937), [docs](https://gohugo.io/configuration/build/#clean-destination-directory)), `hugo` now builds without a config file ([#&#8203;15393](https://github.com/gohugoio/hugo/issues/15393)), exact numeric comparisons in `eq`, `where`, `in` and the set functions ([#&#8203;15322](https://github.com/gohugoio/hugo/issues/15322), [#&#8203;15358](https://github.com/gohugoio/hugo/issues/15358)), and automatic summaries that no longer end inside an open list or blockquote ([#&#8203;14044](https://github.com/gohugoio/hugo/issues/14044)). #### Security This release contains several hardening fixes. None of them are known to be exploited, but if you build sites with untrusted themes or modules, you should upgrade. - Sass imports not found in Hugo's file systems were resolved by the Sass compiler itself, which follows symlinks and knows nothing about the project root. A theme could import a file outside the project and get its content into the published CSS. These imports are now resolved by Hugo and checked against the same `security.allowRead` roots as the Node.js tools and `js.Build`. [`41040cc`](https://github.com/gohugoio/hugo/commit/41040cc7) (thanks to [@&#8203;Hama1cco](https://github.com/Hama1cco)) - Likewise, imports not found in `/assets` were resolved and read by ESBuild itself. The resolved path is now checked against the allowed read paths before ESBuild loads it. [`2aa51f3`](https://github.com/gohugoio/hugo/commit/2aa51f34) (thanks to [@&#8203;Hama1cco](https://github.com/Hama1cco)) - A symlinked directory in a theme at the parent of a nested mount could expose files outside the module. [`2fe9bab`](https://github.com/gohugoio/hugo/commit/2fe9bab7) - Explicit heading IDs (e.g. `## Foo {id="..."}`) were written unescaped into the table of contents `href`, allowing attribute breakout. [`671fbf2`](https://github.com/gohugoio/hugo/commit/671fbf2c) #### Note - The default `baseURL` is now `https://example.org/` (it was empty). Hugo has always required a valid URL to work properly, so this mostly affects new and test sites, but if you relied on the empty default for relative URLs, set `baseURL` explicitly. [`bc68654`](https://github.com/gohugoio/hugo/commit/bc686541) [@&#8203;bep](https://github.com/bep) [#&#8203;14625](https://github.com/gohugoio/hugo/issues/14625) [#&#8203;15384](https://github.com/gohugoio/hugo/issues/15384) - The root `cleanDestinationDir` config key is deprecated in favour of `build.cleanDestinationDir.enable`. The `--cleanDestinationDir` flag maps to the new key. Note that `.git` files in the publish dir are now kept by default. [`9086193`](https://github.com/gohugoio/hugo/commit/90861931) [@&#8203;bep](https://github.com/bep) [#&#8203;14937](https://github.com/gohugoio/hugo/issues/14937) - `eq` now compares numeric values the same way as `lt`, `le` etc., so e.g. `eq 1 1.0` is now `true`. Also, `in`, `intersect`, `union`, `uniq`, `symdiff`, `complement` and `where`'s `in`/`not in` now compare numbers exactly rather than via `float64`, and no longer require the Go types to match. [`4d628bb`](https://github.com/gohugoio/hugo/commit/4d628bbd) [`366377b`](https://github.com/gohugoio/hugo/commit/366377b6) [@&#8203;bep](https://github.com/bep) [#&#8203;15322](https://github.com/gohugoio/hugo/issues/15322) [#&#8203;15358](https://github.com/gohugoio/hugo/issues/15358) - A user table render hook is now preferred over the embedded one. [`140d936`](https://github.com/gohugoio/hugo/commit/140d9362) [@&#8203;jmooring](https://github.com/jmooring) [#&#8203;15389](https://github.com/gohugoio/hugo/issues/15389) - Automatic summaries are expanded past `summaryLength` when needed so they don't end inside an open container element. This may change the summary for some pages. [`d692a24`](https://github.com/gohugoio/hugo/commit/d692a243) [@&#8203;bep](https://github.com/bep) [#&#8203;14044](https://github.com/gohugoio/hugo/issues/14044) #### Bug fixes - hugolib: Fix failing integration test [`fdbba5a`](https://github.com/gohugoio/hugo/commit/fdbba5a6) [@&#8203;jmooring](https://github.com/jmooring) - Fix build with Go 1.26 on Fedora 44 Beta [`2782bfd`](https://github.com/gohugoio/hugo/commit/2782bfd3) [@&#8203;flyn-org](https://github.com/flyn-org) - Fix smartcrop with rotation ([#&#8203;15371](https://github.com/gohugoio/hugo/issues/15371)) [`5edd05b`](https://github.com/gohugoio/hugo/commit/5edd05bb) [@&#8203;bep](https://github.com/bep) [#&#8203;11266](https://github.com/gohugoio/hugo/issues/11266) [#&#8203;15369](https://github.com/gohugoio/hugo/issues/15369) - ci: Fix broken magefile [`1d87ee5`](https://github.com/gohugoio/hugo/commit/1d87ee5b) [@&#8203;bep](https://github.com/bep) - tpl/collections: Fix union of slices with different numeric element types [`ffbcdba`](https://github.com/gohugoio/hugo/commit/ffbcdba9) [@&#8203;hktitof](https://github.com/hktitof) [#&#8203;15323](https://github.com/gohugoio/hugo/issues/15323) - Fix stale page content when several files in the same dir change in one batch [`a374b86`](https://github.com/gohugoio/hugo/commit/a374b865) [@&#8203;bep](https://github.com/bep) [#&#8203;15330](https://github.com/gohugoio/hugo/issues/15330) #### Improvements - Update .gitignore [`f6606f1`](https://github.com/gohugoio/hugo/commit/f6606f1f) [@&#8203;bep](https://github.com/bep) - tocss: Confine Sass import fallbacks to the allowed read paths [`41040cc`](https://github.com/gohugoio/hugo/commit/41040cc7) [@&#8203;bep](https://github.com/bep) - js: Confine ESBuild's fallback resolver to the allowed read paths [`2aa51f3`](https://github.com/gohugoio/hugo/commit/2aa51f34) [@&#8203;bep](https://github.com/bep) - commands: Allow building without a config file [`c7f9999`](https://github.com/gohugoio/hugo/commit/c7f99993) [@&#8203;bep](https://github.com/bep) [#&#8203;15393](https://github.com/gohugoio/hugo/issues/15393) - collections: Preserve slice type when appending an empty slice [`dd16df1`](https://github.com/gohugoio/hugo/commit/dd16df14) [@&#8203;jakezwang](https://github.com/jakezwang) [#&#8203;11131](https://github.com/gohugoio/hugo/issues/11131) - tpl/tplimpl: Prefer user table render hook over embedded [`140d936`](https://github.com/gohugoio/hugo/commit/140d9362) [@&#8203;jmooring](https://github.com/jmooring) [#&#8203;15389](https://github.com/gohugoio/hugo/issues/15389) - Avoid allocating in SitesMatrix.MatchSiteVector [`83ab799`](https://github.com/gohugoio/hugo/commit/83ab7999) [@&#8203;bep](https://github.com/bep) - Add slug support for section, taxonomy and term pages [`5d43ab7`](https://github.com/gohugoio/hugo/commit/5d43ab70) [@&#8203;bep](https://github.com/bep) [#&#8203;14352](https://github.com/gohugoio/hugo/issues/14352) - tpl: Avoid reflect.Value.Call for common signatures [`806a62e`](https://github.com/gohugoio/hugo/commit/806a62e8) [@&#8203;bep](https://github.com/bep) [#&#8203;15385](https://github.com/gohugoio/hugo/issues/15385) - ci: Disable vet when running tests [`8bac4de`](https://github.com/gohugoio/hugo/commit/8bac4de7) [@&#8203;bep](https://github.com/bep) - tpl/partials: Support relative partial paths from within partials ([#&#8203;15376](https://github.com/gohugoio/hugo/issues/15376)) [`bd1588b`](https://github.com/gohugoio/hugo/commit/bd1588bd) [@&#8203;bep](https://github.com/bep) [#&#8203;15373](https://github.com/gohugoio/hugo/issues/15373) - config: Add build.cleanDestinationDir config [`9086193`](https://github.com/gohugoio/hugo/commit/90861931) [@&#8203;bep](https://github.com/bep) [#&#8203;14937](https://github.com/gohugoio/hugo/issues/14937) - commands: Make testscripts/commands/hugo__clean_destination_dir.txt portable [`a74b753`](https://github.com/gohugoio/hugo/commit/a74b7539) [@&#8203;bep](https://github.com/bep) [#&#8203;8433](https://github.com/gohugoio/hugo/issues/8433) - commands: Handle missing staticDir in cleanDestinationDir [`07b9fba`](https://github.com/gohugoio/hugo/commit/07b9fba1) [@&#8203;jmooring](https://github.com/jmooring) [#&#8203;8433](https://github.com/gohugoio/hugo/issues/8433) - hugofs: Cache symlink checks [`09fa49b`](https://github.com/gohugoio/hugo/commit/09fa49be) [@&#8203;bep](https://github.com/bep) - hugofs: Drop symlinks in virtual ancestor dirs of nested mounts [`2fe9bab`](https://github.com/gohugoio/hugo/commit/2fe9bab7) [@&#8203;bep](https://github.com/bep) - markup/tableofcontents: Escape heading IDs in ToC HTML [`671fbf2`](https://github.com/gohugoio/hugo/commit/671fbf2c) [@&#8203;bep](https://github.com/bep) - hugofs: Allow symlinked mount roots in the main project [`25f2856`](https://github.com/gohugoio/hugo/commit/25f2856a) [@&#8203;bep](https://github.com/bep) [#&#8203;15367](https://github.com/gohugoio/hugo/issues/15367) - Expand and consolidate BOM trimming [`cb6a707`](https://github.com/gohugoio/hugo/commit/cb6a7072) [@&#8203;bep](https://github.com/bep) [#&#8203;15355](https://github.com/gohugoio/hugo/issues/15355) [#&#8203;15361](https://github.com/gohugoio/hugo/issues/15361) - tpl/collections: Compare numbers exactly in set operations and where [`366377b`](https://github.com/gohugoio/hugo/commit/366377b6) [@&#8203;bep](https://github.com/bep) [#&#8203;15358](https://github.com/gohugoio/hugo/issues/15358) [#&#8203;15359](https://github.com/gohugoio/hugo/issues/15359) - ci: Skip vet on Windows [`10bb97b`](https://github.com/gohugoio/hugo/commit/10bb97ba) [@&#8203;bep](https://github.com/bep) - Revert "parser/metadecoders: Strip BOM from data prior to unmarshalling" [`51cd9e6`](https://github.com/gohugoio/hugo/commit/51cd9e6c) [@&#8203;bep](https://github.com/bep) - parser/metadecoders: Strip BOM from data prior to unmarshalling [`ec578f0`](https://github.com/gohugoio/hugo/commit/ec578f0c) [@&#8203;jmooring](https://github.com/jmooring) [#&#8203;15355](https://github.com/gohugoio/hugo/issues/15355) - tpl: Reformat templates with new formatter version [`5698de9`](https://github.com/gohugoio/hugo/commit/5698de94) [@&#8203;bep](https://github.com/bep) - resources/page: Balance container tags in automatic summaries [`d692a24`](https://github.com/gohugoio/hugo/commit/d692a243) [@&#8203;bep](https://github.com/bep) [#&#8203;14044](https://github.com/gohugoio/hugo/issues/14044) [#&#8203;14927](https://github.com/gohugoio/hugo/issues/14927) - config/security: Add an integration test [`3be817e`](https://github.com/gohugoio/hugo/commit/3be817ed) [@&#8203;bep](https://github.com/bep) - tpl/compare: Consolidate numeric comparisions [`4d628bb`](https://github.com/gohugoio/hugo/commit/4d628bbd) [@&#8203;bep](https://github.com/bep) [#&#8203;15322](https://github.com/gohugoio/hugo/issues/15322) [#&#8203;15347](https://github.com/gohugoio/hugo/issues/15347) - tpl/strings: Add a strings.FirstLower function [`aaacd12`](https://github.com/gohugoio/hugo/commit/aaacd12c) [@&#8203;jmooring](https://github.com/jmooring) [#&#8203;15332](https://github.com/gohugoio/hugo/issues/15332) - Update brevity guideline in AGENTS.md [`881c0ec`](https://github.com/gohugoio/hugo/commit/881c0ec7) [@&#8203;bep](https://github.com/bep) #### Dependency Updates - build(deps): bump github.com/olekukonko/tablewriter from 1.1.4 to 1.1.5 [`1567bde`](https://github.com/gohugoio/hugo/commit/1567bdef) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump github.com/dustin/go-humanize from 1.0.1 to 1.1.0 [`9e4059c`](https://github.com/gohugoio/hugo/commit/9e4059cf) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump golang.org/x/tools from 0.49.0 to 0.50.0 [`8e3bbe6`](https://github.com/gohugoio/hugo/commit/8e3bbe67) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump golang.org/x/image from 0.45.0 to 0.46.0 [`753c5fc`](https://github.com/gohugoio/hugo/commit/753c5fc1) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump golang.org/x/text from 0.41.0 to 0.42.0 [`facde8a`](https://github.com/gohugoio/hugo/commit/facde8aa) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump go.opentelemetry.io/otel/sdk from 1.44.0 to 1.45.0 [`c7e1a8e`](https://github.com/gohugoio/hugo/commit/c7e1a8e6) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - deps: Bump github.com/bep/imagemeta from 1.0.0 to 1.0.1 ([#&#8203;15338](https://github.com/gohugoio/hugo/issues/15338)) [`ec57bb7`](https://github.com/gohugoio/hugo/commit/ec57bb7d) [@&#8203;dependabot](https://github.com/dependabot)\[bot] [#&#8203;15324](https://github.com/gohugoio/hugo/issues/15324) #### Documentation - readme: Bump minimum Go version [`7a46cd2`](https://github.com/gohugoio/hugo/commit/7a46cd2b) [@&#8203;mikoxyz](https://github.com/mikoxyz) #### Build Setup - Update release image to Go 1.27.1 ([#&#8203;15342](https://github.com/gohugoio/hugo/issues/15342)) [`34d8cdb`](https://github.com/gohugoio/hugo/commit/34d8cdb1) [@&#8203;bep](https://github.com/bep) ### [`v0.166.0`](https://github.com/gohugoio/hugo/releases/tag/v0.166.0) [Compare Source](https://github.com/gohugoio/hugo/compare/v0.165.0...v0.166.0) This release is mostly about hardening and bug fixes, but there are some notable changes: - [`.Render`](https://gohugo.io/methods/page/render/) now takes an optional context argument: `{{ .Render "view" $ctx }}`, mirroring the `partial` API. This makes it possible to pass e.g. a dict to a content view. See [#&#8203;15077](https://github.com/gohugoio/hugo/issues/15077). - The [`return`](https://gohugo.io/functions/go-template/return/) keyword in templates has been reimplemented. It now works in any template (not just partials) and can be used anywhere, e.g. inside `if` or `range` blocks. See [#&#8203;15212](https://github.com/gohugoio/hugo/issues/15212). - New [`resources.Publish`](https://gohugo.io/functions/resources/publish/) template function and [`IndexOf`](https://gohugo.io/methods/pages/indexof/) method on `Pages`. - [`related`](https://gohugo.io/configuration/related-content/) config: new `tokenize` option for index values, and index creation is faster. - Several [security](https://gohugo.io/configuration/security/) fixes; see the notes below. #### Note - tpl/transform: Bump fileCacheEntryVersion in transform.ToMath (note) [`8d88b8b`](https://github.com/gohugoio/hugo/commit/8d88b8b4) [@&#8203;bep](https://github.com/bep) [#&#8203;15267](https://github.com/gohugoio/hugo/issues/15267) - resources/images: Bump formatVersionNumbers.PNG and fix version cache busting for images.Filter (note) [`d19e0a4`](https://github.com/gohugoio/hugo/commit/d19e0a4b) [@&#8203;bep](https://github.com/bep) [#&#8203;12536](https://github.com/gohugoio/hugo/issues/12536) [#&#8203;12543](https://github.com/gohugoio/hugo/issues/12543) [#&#8203;15266](https://github.com/gohugoio/hugo/issues/15266) - warpc/js: Upgrade katex to 0.18.4 (note) [`ec52e63`](https://github.com/gohugoio/hugo/commit/ec52e638) [@&#8203;bep](https://github.com/bep) [#&#8203;15254](https://github.com/gohugoio/hugo/issues/15254) - hexec: Fail on symlinks that escape the Node.js permission paths [`c05c012`](https://github.com/gohugoio/hugo/commit/c05c012a) [@&#8203;bep](https://github.com/bep) - config/security: Deny text/org content by default [`e6abb9c`](https://github.com/gohugoio/hugo/commit/e6abb9c3) [@&#8203;bep](https://github.com/bep) - config/security: Add http.proxyFromEnvironment and document the resolved address check [`6a2a955`](https://github.com/gohugoio/hugo/commit/6a2a955d) [@&#8203;bep](https://github.com/bep) [#&#8203;15301](https://github.com/gohugoio/hugo/issues/15301) [#&#8203;15302](https://github.com/gohugoio/hugo/issues/15302) - deps: Upgrade github.com/gobwas/glob v0.2.3 => v1.0.0 [`efd2456`](https://github.com/gohugoio/hugo/commit/efd24562) [@&#8203;bep](https://github.com/bep) [#&#8203;15273](https://github.com/gohugoio/hugo/issues/15273) - hugofs: Drop symlinked mount roots [`938c820`](https://github.com/gohugoio/hugo/commit/938c8206) [@&#8203;bep](https://github.com/bep) - tpl: Improve the return keyword in templates [`8405b80`](https://github.com/gohugoio/hugo/commit/8405b802) [@&#8203;bep](https://github.com/bep) [#&#8203;15212](https://github.com/gohugoio/hugo/issues/15212) - resources/page: Don't let a title's "/" split an auto-derived slug [`39507d5`](https://github.com/gohugoio/hugo/commit/39507d51) [@&#8203;ipince](https://github.com/ipince) [#&#8203;4092](https://github.com/gohugoio/hugo/issues/4092) [#&#8203;3577](https://github.com/gohugoio/hugo/issues/3577) [#&#8203;5571](https://github.com/gohugoio/hugo/issues/5571) [#&#8203;4090](https://github.com/gohugoio/hugo/issues/4090) ##### Glob patterns The glob library used for e.g. module mounts (`includeFiles`, `excludeFiles`), `cascade` targets, `segments`, `deployment` matchers and `noVendor` has been upgraded to v1.0.0. This is a complete rewrite of the matching engine that fixes a long list of correctness bugs, but it also means that some patterns may behave differently: - Malformed patterns (e.g. an unclosed `{`, an empty `[]` class) now fail with a syntax error instead of being silently accepted. - `**` matches any sequence of characters including separators, but it is not the `**/` "globstar" of shells: `**/x` requires the literal `/` and does not match `x`, and `a/**/b` does not match `a/b`. Use `{**/,}x` if you need both. - `\` is the escape character, so a literal backslash must be written as `\\`. If a pattern that used to match no longer does (or vice versa), it was most likely relying on a bug in the old engine. ##### Security - `text/org` content is now denied by default, as Org mode's export blocks and `@@html:...@@` snippets pass raw HTML through unescaped, making it the same XSS sink as `text/html`. Sites with Org content can opt back in via `security.allowContent`. - Remote fetches (`resources.GetRemote` etc.) now validate the resolved address at dial time and reject loopback, private, link-local, CGNAT and similar ranges. This only applies under the default `security.http.urls` allowlist; if you have customized it, you have opted into your own hosts and the check stands down. Proxies from `HTTP_PROXY`/`HTTPS_PROXY` hide the destination address from this check and are now ignored unless you set `security.http.proxyFromEnvironment = true`. - Node.js tools (PostCSS, Tailwind CSS etc.) now fail before invocation if a symlink inside the project resolves outside the allowed read/write roots. If you have a legitimate link, add its target to `security.node.permissions.allowRead`. - Mount roots that are themselves symlinks (e.g. `themes/mytheme/assets -> /somewhere/else`) are now dropped. This closes a gap in the `themes/` confinement; absolute mount `source` values are still allowed. ##### Other - `{{ return <value> }}` outside a partial is now an error; it was previously silently ignored. - A page without an explicit `slug` whose title contains a `/` (e.g. `Watch/listen to this`) now gets a single URL segment (`.../watch-listen-to-this/`) instead of a nested one (`.../watch/listen-to-this/`). Taxonomy and term pages are not affected. - Hugo is now built with Go 1.27. ##### KaTeX When upgrading to Hugo v0.166.0, sites using `transform.ToMath` with the `output` option set to `html` or `htmlAndMathml` must update the KaTeX stylesheet referenced in their template(s) to version 0.18.4 or higher. Using older CSS versions like 0.16.21 will cause certain mathematical or chemical expressions to render incorrectly. Example update: ```diff - <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.21/dist/katex.min.css"> + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.18.4/dist/katex.min.css"> ``` See these examples: - <https://gohugo.io/functions/transform/tomath/#step-3> - <https://gohugo.io/render-hooks/passthrough/#example> #### Bug fixes - tpl/strings: Fix replaceRE with zero-width assertions [`ae07063`](https://github.com/gohugoio/hugo/commit/ae07063f) [@&#8203;youdie006](https://github.com/youdie006) - common/hreflect: Fix the off-by-one in the float to int overflow guards [`5130d00`](https://github.com/gohugoio/hugo/commit/5130d000) [@&#8203;youdie006](https://github.com/youdie006) - resources/images: Fix filters on transparent colors and paletted images [`7785668`](https://github.com/gohugoio/hugo/commit/77856683) [@&#8203;bep](https://github.com/bep) [#&#8203;12536](https://github.com/gohugoio/hugo/issues/12536) [#&#8203;12543](https://github.com/gohugoio/hugo/issues/12543) - github: Fix workflow for stale issues [`efe5cbc`](https://github.com/gohugoio/hugo/commit/efe5cbc7) [@&#8203;jmooring](https://github.com/jmooring) [#&#8203;15261](https://github.com/gohugoio/hugo/issues/15261) - all: Run modernize -fix ./... [`7b5199f`](https://github.com/gohugoio/hugo/commit/7b5199fd) [@&#8203;bep](https://github.com/bep) - commands: Fix lang flag description in config command [`87260e4`](https://github.com/gohugoio/hugo/commit/87260e4a) [@&#8203;jmooring](https://github.com/jmooring) [#&#8203;15223](https://github.com/gohugoio/hugo/issues/15223) - hugolib: Fix slice bounds panic when deleting multiple nodes at same path [`49dceb1`](https://github.com/gohugoio/hugo/commit/49dceb19) [@&#8203;bep](https://github.com/bep) [#&#8203;15207](https://github.com/gohugoio/hugo/issues/15207) - hugolib: Fix ReadingTime and FuzzyWordCount calculations [`5e70992`](https://github.com/gohugoio/hugo/commit/5e709925) [@&#8203;jmooring](https://github.com/jmooring) [#&#8203;15206](https://github.com/gohugoio/hugo/issues/15206) #### Improvements - js: Add es2025 as supported build target [`857120b`](https://github.com/gohugoio/hugo/commit/857120b7) [@&#8203;bep](https://github.com/bep) [#&#8203;15307](https://github.com/gohugoio/hugo/issues/15307) - hugofs: Drop symlinked mount roots [`938c820`](https://github.com/gohugoio/hugo/commit/938c8206) [@&#8203;bep](https://github.com/bep) - markup/highlight: Escape lineAnchors before passing it to Chroma [`3b2d3b8`](https://github.com/gohugoio/hugo/commit/3b2d3b82) [@&#8203;bep](https://github.com/bep) - tpl/partials: Slight performance improvement of the common partialCached case [`9c2527f`](https://github.com/gohugoio/hugo/commit/9c2527f8) [@&#8203;bep](https://github.com/bep) - Add internalExternal.IgnoreTailwindCSSSecurityError config option [`a36bd27`](https://github.com/gohugoio/hugo/commit/a36bd274) [@&#8203;bep](https://github.com/bep) - config/security: Harden the default http.urls and resolved address checks ([#&#8203;15285](https://github.com/gohugoio/hugo/issues/15285)) [`24d5e42`](https://github.com/gohugoio/hugo/commit/24d5e42f) [@&#8203;bep](https://github.com/bep) - resources/images: Preserve the source palette for geometric filter chains [`9e7c978`](https://github.com/gohugoio/hugo/commit/9e7c978e) [@&#8203;bep](https://github.com/bep) [#&#8203;12543](https://github.com/gohugoio/hugo/issues/12543) - resources/images: Add golden test cases for geometric filter chains on paletted images [`6b5b7d8`](https://github.com/gohugoio/hugo/commit/6b5b7d82) [@&#8203;bep](https://github.com/bep) [#&#8203;12543](https://github.com/gohugoio/hugo/issues/12543) - resources/images: Add some golden test cases [`62e24b7`](https://github.com/gohugoio/hugo/commit/62e24b7e) [@&#8203;bep](https://github.com/bep) [#&#8203;12536](https://github.com/gohugoio/hugo/issues/12536) [#&#8203;12543](https://github.com/gohugoio/hugo/issues/12543) - related: Speed up index creation [`f61346e`](https://github.com/gohugoio/hugo/commit/f61346ed) [@&#8203;bep](https://github.com/bep) - related: Add tokenize option for index values [`850f11c`](https://github.com/gohugoio/hugo/commit/850f11c0) [@&#8203;jmooring](https://github.com/jmooring) [#&#8203;7515](https://github.com/gohugoio/hugo/issues/7515) [#&#8203;15199](https://github.com/gohugoio/hugo/issues/15199) - resources/page: Don't let a title's "/" split an auto-derived slug [`39507d5`](https://github.com/gohugoio/hugo/commit/39507d51) [@&#8203;ipince](https://github.com/ipince) [#&#8203;4092](https://github.com/gohugoio/hugo/issues/4092) [#&#8203;3577](https://github.com/gohugoio/hugo/issues/3577) [#&#8203;5571](https://github.com/gohugoio/hugo/issues/5571) [#&#8203;4090](https://github.com/gohugoio/hugo/issues/4090) - config/allconfig: Improve resilience of hugo mod init [`90fe506`](https://github.com/gohugoio/hugo/commit/90fe5068) [@&#8203;jmooring](https://github.com/jmooring) [#&#8203;15253](https://github.com/gohugoio/hugo/issues/15253) - tpl: Separate deferred templates by escaping mode [`49835f8`](https://github.com/gohugoio/hugo/commit/49835f8f) [@&#8203;Soundcreates](https://github.com/Soundcreates) [#&#8203;15234](https://github.com/gohugoio/hugo/issues/15234) - resources: Validate the resolved address on remote fetches [`d6e6f9e`](https://github.com/gohugoio/hugo/commit/d6e6f9e5) [@&#8203;bep](https://github.com/bep) [#&#8203;15247](https://github.com/gohugoio/hugo/issues/15247) - markup: Escape code-fence attribute values in the default renderer [`e4dc48c`](https://github.com/gohugoio/hugo/commit/e4dc48cf) [@&#8203;bep](https://github.com/bep) [#&#8203;15247](https://github.com/gohugoio/hugo/issues/15247) - hugolib: Make .Render take an optional context argument [`bcde806`](https://github.com/gohugoio/hugo/commit/bcde8063) [@&#8203;bep](https://github.com/bep) [#&#8203;15077](https://github.com/gohugoio/hugo/issues/15077) - modules/npm: Make the generated workspace package private with a stable name [`df4ac34`](https://github.com/gohugoio/hugo/commit/df4ac348) [@&#8203;bep](https://github.com/bep) [#&#8203;15245](https://github.com/gohugoio/hugo/issues/15245) - common/hstore: Keep read lock while sorting map values [`166d3ee`](https://github.com/gohugoio/hugo/commit/166d3ee1) [@&#8203;Soundcreates](https://github.com/Soundcreates) [#&#8203;15237](https://github.com/gohugoio/hugo/issues/15237) - metrics: Improve template metrics duration formatting [`a25af7f`](https://github.com/gohugoio/hugo/commit/a25af7fa) [@&#8203;Shiwang0-0](https://github.com/Shiwang0-0) [#&#8203;15027](https://github.com/gohugoio/hugo/issues/15027) - Remove comments from rebuild test functions [`723579f`](https://github.com/gohugoio/hugo/commit/723579ff) [@&#8203;bep](https://github.com/bep) - hugolib: Add some fast render mode integration tests [`85ad5e4`](https://github.com/gohugoio/hugo/commit/85ad5e48) [@&#8203;bep](https://github.com/bep) - Upgrade to Go 1.27 [`e31ff54`](https://github.com/gohugoio/hugo/commit/e31ff547) [@&#8203;bep](https://github.com/bep) [#&#8203;15228](https://github.com/gohugoio/hugo/issues/15228) - tpl: Improve the return keyword in templates [`8405b80`](https://github.com/gohugoio/hugo/commit/8405b802) [@&#8203;bep](https://github.com/bep) [#&#8203;15212](https://github.com/gohugoio/hugo/issues/15212) - page: Add IndexOf method to Pages [`bf05832`](https://github.com/gohugoio/hugo/commit/bf05832d) [@&#8203;Shiwang0-0](https://github.com/Shiwang0-0) [#&#8203;13589](https://github.com/gohugoio/hugo/issues/13589) - tpl/resources: Add resources.Publish [`a05736c`](https://github.com/gohugoio/hugo/commit/a05736cb) [@&#8203;bep](https://github.com/bep) [#&#8203;15208](https://github.com/gohugoio/hugo/issues/15208) - markup/pandoc: Support pandoc 3.11 and later [`423e9ce`](https://github.com/gohugoio/hugo/commit/423e9cea) [@&#8203;jmooring](https://github.com/jmooring) [#&#8203;15271](https://github.com/gohugoio/hugo/issues/15271) [#&#8203;15280](https://github.com/gohugoio/hugo/issues/15280) #### Dependency Updates - build(deps): bump google.golang.org/grpc from 1.83.1 to 1.83.2 [`3fbfd27`](https://github.com/gohugoio/hugo/commit/3fbfd273) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump golang.org/x/sync from 0.22.0 to 0.23.0 [`393de58`](https://github.com/gohugoio/hugo/commit/393de587) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump golang.org/x/mod from 0.40.0 to 0.41.0 [`870f746`](https://github.com/gohugoio/hugo/commit/870f7464) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump github.com/getkin/kin-openapi from 0.146.0 to 0.149.0 [`6152e22`](https://github.com/gohugoio/hugo/commit/6152e22e) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump github.com/bits-and-blooms/bitset [`5b6e7c2`](https://github.com/gohugoio/hugo/commit/5b6e7c23) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump github.com/bep/lazycache from 0.8.1 to 0.9.0 [`dc03bb2`](https://github.com/gohugoio/hugo/commit/dc03bb27) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump github.com/bep/tmc from 0.6.0 to 0.7.0 [`701dd33`](https://github.com/gohugoio/hugo/commit/701dd337) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump github.com/yuin/goldmark from 1.8.5 to 1.8.6 [`b4062c8`](https://github.com/gohugoio/hugo/commit/b4062c84) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump golang.org/x/image from 0.44.0 to 0.45.0 [`cdd1627`](https://github.com/gohugoio/hugo/commit/cdd16273) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - deps: Upgrade github.com/gobwas/glob v0.2.3 => v1.0.0 [`efd2456`](https://github.com/gohugoio/hugo/commit/efd24562) [@&#8203;bep](https://github.com/bep) [#&#8203;15273](https://github.com/gohugoio/hugo/issues/15273) - build(deps): bump golang.org/x/mod from 0.39.0 to 0.40.0 [`d462968`](https://github.com/gohugoio/hugo/commit/d4629682) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump github.com/tdewolff/minify/v2 from 2.24.16 to 2.24.17 [`fd5f7c6`](https://github.com/gohugoio/hugo/commit/fd5f7c6e) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump github.com/gohugoio/httpcache from 0.8.0 to 0.9.0 [`6b33517`](https://github.com/gohugoio/hugo/commit/6b335176) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump google.golang.org/grpc from 1.82.1 to 1.83.1 [`5f0d88b`](https://github.com/gohugoio/hugo/commit/5f0d88b8) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump golang.org/x/tools from 0.48.0 to 0.49.0 [`9171dae`](https://github.com/gohugoio/hugo/commit/9171daeb) [@&#8203;dependabot](https://github.com/dependabot)\[bot] - build(deps): bump software.sslmate.com/src/go-pkcs12 from 0.7.0 to 0.7.2 [`d1ee825`](https://github.com/gohugoio/hugo/commit/d1ee825b) [@&#8203;dependabot](https://github.com/dependabot)\[bot] </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC44Mi4xIiwidXBkYXRlZEluVmVyIjoiNDQuMTM4LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
renovate-bot force-pushed renovate/hugo-extended-0.x from 0390c924d0 to 16b0fa143f 2026-10-02 03:17:10 +02:00 Compare
renovate-bot changed title from chore(deps): update dependency hugo-extended to v0.166.0 to chore(deps): update dependency hugo-extended to v0.167.0 2026-10-02 03:17:11 +02:00
renovate-bot added 1 commit 2026-10-07 03:17:52 +02:00
chore(deps): update dependency hugo-extended to v0.167.0
renovate/stability-days Updates have met minimum release age requirement
Website build and deploy / build (pull_request) Successful in 1m4s
eed9f5db30
renovate-bot force-pushed renovate/hugo-extended-0.x from 16b0fa143f to eed9f5db30 2026-10-07 03:17:52 +02:00 Compare
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
Website build and deploy / build (pull_request) Successful in 1m4s
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/hugo-extended-0.x:renovate/hugo-extended-0.x
git checkout renovate/hugo-extended-0.x
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mxmehl/mehl.mx#31