v0.146.0

gohugoio/hugov0.146.0Apr 10, 2025by bep

AI Summary

A major overhaul of Hugo's template system, featuring a simplified architecture, new debugging functions, and a partial lookup cache, accompanied by a full dependency refresh.

Key Highlights

  • Fully refreshed and simplified template system
  • New templates.Current function for debugging call stacks
  • New time.In function for IANA time zones
  • Partial lookup cache added
  • Improved backwards compatibility with testing warnings

New Features

  • templates.Current function
  • time.In function
  • Partial lookup cache
  • Improved theme creation command

Full Release Notes

> [!NOTE]
> There's a [v0.146.1](https://github.com/gohugoio/hugo/releases/tag/v0.146.1) bug fix release that fixes a regression introduced in this release.

The big new thing in this release is a fully refreshed template system – simpler and much better. We're working on the updated documentation for this, but see [this issue](https://github.com/gohugoio/hugo/pull/13541) for some more information. We have gone to great lengths to make this as backwards compatible as possible, but make sure you test your site before going live with this new version. This version also comes with a full dependency refresh and some useful new template funcs:

* [templates.Current](https://gohugo.io/functions/templates/current/): Info about the current executing template and its call stack. Very useful for debugging.
* [time.In](https://gohugo.io/functions/time/in/): Returns the given date/time as represented in the specified IANA time zone.


## Bug fixes

* tpl/tplimpl: Fix full screen option in vimeo and youtube shortcodes 6f14dbe24 @jmooring #13531 

## Improvements

* tpl: Warn and skip non-hook templates inside /layouts/_markup 383dd82f9 @bep #13577 
* tpl: Add a partial lookup cache 208a0de6c @bep #13571 
* tpl: Add templates.Current d4c6dd16b @bep #13571 
* commands/new: Improve theme creation 24ac6a9de @jmooring #13489 #13544 
* tpl/tplimpl: Update embedded pagination template 1e0084248 @jmooring 
* Reimplement and simplify Hugo's template system 83cfdd78c @bep #13541 #13545 #13515 #7964 #13365 #12988 #4891 
* config: Use the non-global logger for deprecations when possible 812ea0b32 @bep 
* tpl/time: Add time.In function 07cbe5701 @jmooring #13548 
* resources: Add option to silence dependency deprecation warnings c15ebce2f @jmooring #13530 
* common/hreflect: Replace the map/RWMutex method cache with sync.Map 8d2379bcb @bep 
* common/hexec: Remove github.com/cli/safeexec a6bd67793 @jmooring #13516 
* parser/metadecoder: Improve errors for non-map XML root values f34cdc382 @thevilledev 
* identity: Use clear to clear the finder seen map 52561d561 @bep 
* cache: Apply httpcache defaults for polling config d28c84a87 @khayyamsaleem #13471 
* tpl/tplimpl: Add loading attribute to Vimeo shortcode b9add1c70 @jmooring #13445 
* commands: Add --omitEmpty flag to gen chromastyles 93df17661 @jmooring #13475 
* tpl: Add trailing newline to robots.txt template eebea9ec4 @willfaught 
* commands: Skip flaky test on Windows 3f2e1c08e @bep #13465 
* resources/image: Mark loong64 as FMA-using architecture 3a11d22da @hannesbraun 

## Dependency Updates

* build(deps): bump github.com/fsnotify/fsnotify from 1.8.0 to 1.9.0 18d2d2f98 @dependabot[bot] 
* build(deps): bump golang.org/x/tools from 0.31.0 to 0.32.0 cd3e3499b @dependabot[bot] 
* build(deps): bump github.com/evanw/esbuild from 0.25.1 to 0.25.2 8cd799aac @dependabot[bot] 
* build(deps): bump golang.org/x/image from 0.25.0 to 0.26.0 af0602c34 @dependabot[bot] 
* build(deps): bump github.com/pelletier/go-toml/v2 from 2.2.3 to 2.2.4 650fe6cd0 @dependabot[bot] 
* build(deps): bump github.com/alecthomas/chroma/v2 from 2.15.0 to 2.16.0 d63491beb @dependabot[bot] 
* build(deps): bump golang.org/x/net from 0.37.0 to 0.39.0 e6e18e912 @dependabot[bot] 
* build(deps): bump github.com/bep/imagemeta from 0.10.0 to 0.11.0 43af3bc07 @dependabot[bot] 
* deps: Upgrade github.com/gohugoio/hugo-goldmark-extensions/passthrough v0.3.0 => v0.3.1 10b55439a @jmooring 
* build(deps): bump golang.org/x/tools from 0.30.0 to 0.31.0 26d986fc0 @dependabot[bot] 
* build(deps): bump github.com/getkin/kin-openapi from 0.129.0 to 0.131.0 ebc069365 @dependabot[bot] 
* build(deps): bump github.com/spf13/afero from 1.11.0 to 1.14.0 7ca6bb06b @dependabot[bot] 
* build(deps): bump github.com/bep/imagemeta from 0.9.0 to 0.10.0 bddd2f900 @dependabot[bot] 
* build(deps): bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2 1c691358f @dependabot[bot] 
* build(deps): bump github.com/evanw/esbuild from 0.24.2 to 0.25.1 17db4edb0 @dependabot[bot] 
* build(deps): bump github.com/bep/godartsass/v2 from 2.4.0 to 2.4.1 3968f9158 @dependabot[bot] 
* build(deps): bump golang.org/x/net from 0.35.0 to 0.37.0 e9bd2373a @dependabot[bot] 
* build(deps): bump github.com/bep/godartsass/v2 from 2.3.2 to 2.4.0 f4f21f5ea @dependabot[bot] 
* build(deps): bump golang.org/x/image from 0.24.0 to 0.25.0 61c39ae63 @dependabot[bot] 
* deps: Upgrade golang.org/x/mod v0.23.0 => v0.24.0 2037137fb @bep #13484 
* build(deps): bump github.com/bep/overlayfs from 0.9.2 to 0.10.0 d78d4cf16 @dependabot[bot] 
* build(deps): bump github.com/bep/lazycache from 0.7.0 to 0.8.0 f9aae1581 @dependabot[bot] 
* build(deps): bump github.com/bep/imagemeta from 0.8.4 to 0.9.0 b0686712b @dependabot[bot] 
* build(deps): bump github.com/bep/simplecobra from 0.5.0 to 0.6.0 93d9c0533 @dependabot[bot] 

## Documentation

* commands/gen: Set url in command pages to /docs/reference/commands/ a98ec3bd0 @jmooring