Releases: gohugoio/hugo
v0.155.3
What's Changed
- hugolib: Don't render default site redirect for non-primary isHTML output formats 6ac7d08 @bep #14482
- server: Fix stuck server global error logging 24eb84f @bep #14469
- build(deps): bump github.com/evanw/esbuild from 0.27.2 to 0.27.3 95a3678 @dependabot[bot]
- server: Fix panic when the server browser error handler tried to use a config in a state of flux 9045797 @bep #14470
v0.155.2
Note that the bug fix below is for the two new dimensions introduced in v0.153.0 (version and role), multiple languages worked fine. Also, changes to the first version and role also worked, which had me head-scratching for a while. Oh, well, enjoy.
v0.155.1
v0.155.0
Some notable new things in this release are:
- Improvements to how versions are handled: We now support version (and also for the other dimension) range queries (e.g.
>= v1.0.0), and we now cache Go module version queries, which makes mounting multiple versions of the same GitHub repo with different version much more practical and enjoyable, se this site and config for an annotated example. - We finally have XMP and IPTC image metadata support, in addition to EXIF, see #13146
- Page
aliasesnow works in multidimensional sites (e.g. multiple languages), and it is now much easier to create e.g. Netlify_redirectsfiles that works in such setups. - There are several performance related WebP improvements in this release.
- Also, image processing in general (e.g. resize operations) should be considerably more effective.
Breaking change
Prior to v0.155.0, alias paths beginning with a slash (/) were treated as server-relative. In v0.155.0 and later, they are now site-relative. This change only affects multilingual single-host projects that used alias paths beginning with a slash (/) to cross language boundaries. See details.
Note
Bug fixes
- Fix data race when clearing cache in cachebusters 8a979d5 @wjiec
- resources/images: Fix comment for Quality field in ImageConfig fd49df8 @bep
- Fix panic reported in discourse c7b35c8 @bep #14441
- Fix recently introduced partial rendering bug 8dfcece @bep #14433
- tpl: Fix partial decorator panic when partial returns falsy f472dd4 @simonheimlicher #14419
- resources: Fix race condition in test helper 48566b6 @simonheimlicher
- Fix cascade draft panic 11f7f39 @bep #14409 #14412
- hugolib: Fix multilingual alias generation 5ba03bf @jmooring #14388
- Fix file mount specifity issue within the same module c1b2e58 @bep #14405
- warpc: Fix typed nil return in Start 2c61109 @Sam-404-404 #14372
- hugolib: Fix relative alias generation 32334d0 @jmooring #14381
Improvements
- Remove disableDate and disableLatLong from MetaConfig 5916b61 @bep #14437
- internal/warpc: Make webp C defaults match the Go defaults 7eafef2 @bep
- testscripts: Move server tests to own folder 00c4228 @bep #14439
- testing: Skip some slow tests when not running in CI 5f5b2f3 @bep #14438
- magefile: Skip commands test when running mage check locally ef7a22a @bep
- Remove -p 2 parallelism limit for local test runs 9a6bfe2 @bep
- Add AGENTS.md and CLAUDE.md 0fc63fb @bep
- Add == and != operators to range predicates 50973e7 @bep
- Add modulequeries file cache for module version queries b441472 @bep #14417
- Allow v1,v2 etc. style version names while still supporting full semver in queries ac2c3fb @bep #14414
- Add range matchers for site matrix vector store filtering 192e3c4 @bep #14359
- Misc webp performance work e569dd5 @bep #14370
- Move from github.com/disintegration/gift to github.com/gohugoio/gift 1a94731 @bep #14397
- resources/images: Stabilize order of valid sources in error message 8e9e04e @jmooring #14390
- Add XMP and IPTC image metadata support 8e2e60d @bep #13146
- output: Add TestCanonical integration test 2bc54df @bep
- Rename common/maps to common/hmaps (#14384) 608ed09 @bep
- Decode webp.ImageConfig natively d36a8f5 @bep #14371
Dependency Updates
- build(deps): bump golang.org/x/tools from 0.40.0 to 0.41.0 7d45614 @dependabot[bot]
- build(deps): bump github.com/olekukonko/tablewriter from 1.1.2 to 1.1.3 7f12c09 @dependabot[bot]
- build(deps): bump github.com/alecthomas/chroma/v2 from 2.23.0 to 2.23.1 dab2c33 @dependabot[bot]
- build(deps): bump github.com/aws/aws-sdk-go-v2/service/cloudfront 576d55d @dependabot[bot]
- build(deps): bump golang.org/x/image from 0.34.0 to 0.35.0 b9400b8 @dependabot[bot]
- build(deps): bump golang.org/x/mod from 0.31.0 to 0.32.0 ce0c7f4 @dependabot[bot]
- deps: Upgrade github.com/gohugoio/gift v0.1.0 => v0.2.0 7721411 @bep
- build(deps): bump github.com/alecthomas/chroma/v2 from 2.22.0 to 2.23.0 1878471 @dependabot[bot]
- build(deps): bump golang.org/x/net from 0.48.0 to 0.49.0 94f1ede @dependabot[bot]
- build(deps): bump github.com/bep/lazycache from 0.8.0 to 0.8.1 ab374e3 @dependabot[bot]
- deps: Upgrade github.com/alecthomas/chroma v2.21.1 => v2.22.0 1a91330 @jmooring #14368
Build Setup
Documentation
v0.154.5
v0.154.4
What's Changed
- tpl: Fix language resolution for markdown shortcodes ec178ea @BarkinBalci #14098
- For multiple dimensions setups, fix alias handling and multihost publish path 2d80b8a @bep #14354 #14356
- build(deps): bump github.com/goccy/go-yaml from 1.19.1 to 1.19.2 a2b2a5a @dependabot[bot]
Also see the new Page.OutputFormats.Canonical method.
v0.154.3
v0.154.2
v0.154.1
v0.154.0
Hugo v0.154.0 is the 14th release this year (not counting patch releases) and introduces partial decorators, or “partials with a twist.” This is a very powerful construct that I, @bep, have always wanted to have in Hugo, but I could never wrap my head around an implementation. Until now.
A small and not very useful example:
The above renders to:
- The new
innerkeyword can be used zero or more times in a partial template, typically with different data (e.g. pages in a range), and its presence signals a reversal of the execution -- the callee becomes the caller. - Decorators can be deeply nested, see this PR for an example.
This release also brings some new utility funcs in the reflect package to identify the core types in Hugo. For example, to identify an processable image hasn't been trivial, now it is:
Bug fixes
- tpl/collections: Fix apply to work with built-in funcs like len 5c7fad2 @bep #13418
- Revert "resources/page: Fix slugorcontentbasename for section pages" bf1d20d @bep #14104 #14325
Improvements
- helpers: Limit verbose watch output for better readability d3b5d47 @majiayu000 #14277
- tpl/reflect: Make the IsImageResource implementation less technical 86cd183 @bep
- internal/warpc: Increase WebP memory limit to 384 MiB 871da33 @jmooring #14309
- Update tpl/reflect/reflect.go 1deec99 @bep
- Add reflect.Is{Page,Site,Resource,ImageResource} b7bb557 @bep #14307
- Allow partials to work as decorators 7c19c19 @bep #13193
Dependency Updates
- build(deps): bump github.com/tetratelabs/wazero from 1.10.1 to 1.11.0 2637aa1 @dependabot[bot]