v0.149.0

gohugoio/hugov0.149.0Aug 27, 2025by bep

AI Summary

Built with Go 1.25, this release introduces a new random number generation function, new permalink tokens specifically for multilingual sites, and improvements to Markdown rendering.

Key Highlights

  • Built with Go 1.25
  • Added collections.D function for random integer sequences
  • Added :sectionslug and :sectionslugs permalink tokens
  • Improved Table of Contents rendering from Markdown
  • Added 'format' option to transform.Unmarshal

New Features

  • collections.D random integer function
  • sectionslug and sectionslugs permalink tokens
  • format option in transform.Unmarshal

Full Release Notes

> [!NOTE]  
> If running on Netlify, make sure you have configured your build with their latest build image, see [this issue](https://github.com/gohugoio/hugo/issues/13942#issuecomment-3228959652).

Hugo `v0.149.0`  comes with bug fixes and a set of new features/improvements, notably:

* We now build with the recently released [Go 1.25](https://tip.golang.org/doc/go1.25)
* A new [collections.D](https://gohugo.io/functions/collections/d/) template function that generates random sequences of integers using  J. S. Vitter’s Method D, by some called [The Best Algorithm No One Knows About](https://getkerf.wordpress.com/2016/03/30/the-best-algorithm-no-one-knows-about/).
* Two new [permalinks tokens](https://gohugo.io/configuration/permalinks/#tokens), `:sectionslug` and `:sectionslugs`, especially useful in multilingual Hugo projects.
* A new `--omitClassComments` flag on `hugo gen chromastyles`
* Several improvements to how ToC from Markdown gets rendered, see #13401  and #12605.
* A new `format` option in [transform.Unmarshal](https://gohugo.io/functions/transform/unmarshal/)



## Note

* Remove test with deprecated path usage 80e973ea5 @bep


## Bug fixes

* create: Fix new content command with future dates bb4e66cd7 @justuswilhelm #12599 
* Fix server rebuild when adding a new leaf bundle with resources in one go 13b43e611 @bep #13925 
* Fix rebuild when deleting a content adapter file 87e100e61 @bep 

## Improvements

* tpl/collections: Add an integration test for collections.D 84b512391 @bep 
* tpl/collections: Add collections.D using Vitter's Method D for sequential random sampling 1ba80874e @bep 
* commands: Deprecate --omitEmpty on chromastyles command 61ec7a20a @bep 
* commands: Add --omitClassComments to the chromastyles command c289fcaaa @bep 
* all: Use slices.Equal ecdef2be7 @minxinyi 
* resources/page: Add :sectionslug and :sectionslugs permalink tokens 12ace3ad5 @DustinFischer #13788 
* Upgrade to Go 1.25 c14fdddad @bep #13924 #13931 
* common/hcontext: Replace with external package 186934feb @bep 
* resources/page: Use reflect.TypeFor bff4dddb1 @cuiweixie 
* tpl/strings: Remove unnecessary error check 348aae91e @Nigel2392 
* markup/goldmark: Apply Hugo Goldmark Extras when rendering TOC 61482cfab @jmooring #12605 
* markup/goldmark: Sanitize TOC heading titles 5fdcc0906 @jmooring #13401 
* Add a key to the partialCached deadlock prevention 221602862 @n1xx1 #13889 
* transform: Add support for "format" option in transform.Unmarshal ecc3dd1f5 @n1xx1 #13887 
* Skip flakey test on CI de4a7f1e0 @bep 

## Dependency Updates

* build(deps): bump github.com/getkin/kin-openapi from 0.132.0 to 0.133.0 45ec2f88b @dependabot[bot] 
* build(deps): bump google.golang.org/api from 0.247.0 to 0.248.0 84dd495f2 @dependabot[bot] 
* build(deps): bump github.com/evanw/esbuild from 0.25.6 to 0.25.9 327bbc613 @dependabot[bot] 
* build(deps): bump gocloud.dev from 0.40.0 to 0.43.0 2447138f1 @dependabot[bot] 
* deps: Upgrade github.com/alecthomas/chroma/v2 v2.19.0 => v2.20.0 cfc38ecfe @bep #13917 
* build(deps): bump github.com/aws/aws-sdk-go-v2/service/cloudfront 22e579e05 @dependabot[bot] 
* build(deps): bump github.com/tdewolff/minify/v2 from 2.23.11 to 2.24.0 b886615d1 @dependabot[bot] 
* build(deps): bump github.com/tdewolff/minify/v2 from 2.23.8 to 2.23.11 885cd299b @dependabot[bot] 
* build(deps): bump github.com/olekukonko/tablewriter from 1.0.8 to 1.0.9 debf3c559 @dependabot[bot] 
* build(deps): bump google.golang.org/api from 0.237.0 to 0.247.0 1649f3126 @dependabot[bot] 
* build(deps): bump github.com/aws/aws-sdk-go-v2 from 1.36.4 to 1.38.0 ccd6a4b71 @dependabot[bot] 
* build(deps): bump golang.org/x/tools from 0.35.0 to 0.36.0 6dc1a1752 @dependabot[bot] 
* build(deps): bump github.com/bep/simplecobra from 0.6.0 to 0.6.1 806d4848c @dependabot[bot] 
* build(deps): bump golang.org/x/mod from 0.25.0 to 0.27.0 04ee1b978 @dependabot[bot] 
* build(deps): bump github.com/yuin/goldmark from 1.7.12 to 1.7.13 7a86fe990 @dependabot[bot] 
* build(deps): bump golang.org/x/image from 0.28.0 to 0.30.0 f5245a7d5 @dependabot[bot] 
* deps: Upgrade github.com/niklasfasching/go-org v1.8.0 => v1.9.1 5029676ac @jmooring #13846 

## Documentation

* misc: Update Go version to 1.24.0 in README 291241595 @jmooring 
* Update README.md 01b0eda96 @bep