This release adds css.Build, native and very fast bundling/transformation/minifying of CSS resources. Also see the new strings.ReplacePairs, a very fast option if you need to do many string replacements.
Notes
- Upgrade to to Go 1.26.1 (#14597) (note) 1f578f16 @bep [#14595]. This fixes a security issue in Go's template package used by Hugo: https://www.cve.org/CVERecord?id=CVE-2026-27142
Deprecations
The methods and config options are deprecated and will be removed in a future Hugo release.
Also see this article
Language configuration
languageCode→ Uselocaleinstead.languages.<lang>.languageCode→ Uselanguages.<lang>.localeinstead.languages.<lang>.languageName→ Uselanguages.<lang>.labelinstead.languages.<lang>.languageDirection→ Uselanguages.<lang>.directioninstead.
Language methods
.Site.LanguageCode→ Use.Site.Language.Localeinstead..Language.LanguageCode→ Use.Language.Localeinstead..Language.LanguageName→ Use.Language.Labelinstead..Language.LanguageDirection→ Use.Language.Directioninstead.
Bug fixes
- tpl/css: Fix external source maps e431f90b @bep [#14620]
- hugolib: Fix server no watch 59e0446f @jmooring [#14615]
- resources: Fix context canceled on GetRemote with per-request timeout 842d8f10 @bep [#14611]
- tpl/tplimpl: Prefer early suffixes when media type matches 4eafd9eb @bep [#13877] [#14601]
- all: Run go fix ./... e3108225 @bep
- internal/warpc: Fix SIGSEGV in Close() when dispatcher fails to start c9b88e4d @bep [#14536]
- Fix index out of range panic in fileEventsContentPaths f797f849 @bep [#14573]
Improvements
- resources: Re-publish on transformation cache hit 3c980c07 @bep [#14629]
- create/skeletons: Use css.Build in theme skeleton 404ac000 @jmooring [#14626]
- tpl/css: Add a test case for rebuilds on CSS options changes 06fcb724 @bep
- hugolib: Allow regular pages to cascade to self 9b5f1d49 @jmooring [#14627]
- tpl/css: Allow the user to override single loader entries 623722bb @bep [#14623]
- tpl/css: Make default loader resolution for CSS @import and url() always behave the same a7cbcf15 @bep [#14619]
- internal/js: Add default mainFields for CSS builds 36cdb2c7 @jmooring [#14614]
- Add css.Build 3e3b849c @bep [#14609] [#14613]
- resources: Use full path for Exif etc. decoding error/warning messages c47ec233 @bep [#12693]
- Move to new locales library and upgrade CLDR from v36.1 to v48.1 4652ae4a @bep
- tpl/strings: Add strings.ReplacePairs function 13a95b9c @jmooring [#14594]
- github: Remove pull_request_template.md 54c80487 @bep
- testing: Make commands tests pass in Go 1.26.1 157bfddd @bep
- refactor: Deprecate language configuration and template methods d4f2122d @jmooring [#14269]
- Replace Exif with Meta in tests 991d2f9a @bep
- resources: Improve getImageOps error message e8577771 @jmooring [#14571]
- resources/images: Add IsImageResourceWithMeta etc. tests for bmp and gif 44dc3847 @bep [#14568]
Dependency Updates
- deps: Upgrade github.com/evanw/esbuild v0.27.3 => v0.27.4 0e46a97e @bep
- build(deps): bump github.com/getkin/kin-openapi from 0.133.0 to 0.134.0 c27d9e8f @dependabot[bot]
- build(deps): bump golang.org/x/tools from 0.42.0 to 0.43.0 098eac59 @dependabot[bot]
- build(deps): bump gocloud.dev from 0.44.0 to 0.45.0 87f8de8c @dependabot[bot]
- build(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 67ef6c68 @dependabot[bot]
- build(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (#14569) b29c2f7a @dependabot[bot]
- build(deps): bump github.com/tdewolff/minify/v2 from 2.24.9 to 2.24.10 (#14585) e91d1911 @dependabot[bot]
- build(deps): bump github.com/bep/imagemeta from 0.15.0 to 0.17.0 (#14584) a8a54bd0 @dependabot[bot]