Releases: gohugoio/hugo
v0.124.0
The new feature in this release is a new segments configuration section and a new --renderSegments
flag/config key. This release also updates to Go 1.22.1 that fixes a security issue in the template package that Hugo uses (CVE-2023-45289, see golang/go#65697). We don't see how this could be exploited in Hugo, but we appreciate that Hugo users want to have a clean security report.
Bug fixes
- Fix .Parent when there are overlapping regular pages inbetween f1d7559 @bep #12263
- hugolib: Fix sitemap index with monolingual site 3935faa @jmooring #12266
- all: Typo fixes 78178d0 @coliff
- Fix translationKey handling for term pages 68d92ef @bep #12261
- Fix intersect and similar for term entry page collections b40f3c7 @bep #12254
- Fix server rebuilds when adding sub sections especially on Windows 07b2e53 @bep #12230
- Fix panic when changing archetype files when servere is running 9ca1de0 @bep #12195
- Fix front matter date location when value gets inherited from other dates 9668759 @bep #12236
- Fix Name for nested resourced fetched in resources.ByName and similar 9e9b1f1 @bep #12214
Improvements
- Add segments config + --renderSegments flag 1f1c62e @bep #10106
- hugolib: Remove Site.HomeAbsURL 558f74f @bep
- hugolib: Deprecate site methods Author, Authors, and Social d4d49e0 @jmooring #12228
- Upgrade to Go 1.22.1 57206e7 @bep #12250
- tpl/tplimpl: Modify figure shortcode to look for page resource 48a0fea @jmooring #12244 #12245
- common/hugo: Rename IsMultiHost and IsMultiLingual dc6a292 @jmooring #12232
- hugolib: Deprecate .Site.MultiLingual in favor of hugo.IsMultiLingual 4f92f94 @jmooring #12224
- tpl/tplimpl: Remove deprecated method from sitemapindex.xml f038a51 @jmooring
Dependency Updates
- deps: Upgrade github.com/gohugoio/hugo-goldmark-extensions/passthrough v0.1.0 => v0.2.0 ba03114 @bep
- build(deps): bump github.com/evanw/esbuild from 0.20.1 to 0.20.2 b1f8676 @dependabot[bot]
- build(deps): bump golang.org/x/tools from 0.18.0 to 0.19.0 b4bff61 @dependabot[bot]
- build(deps): bump github.com/tdewolff/minify/v2 from 2.20.17 to 2.20.19 d2cebee @dependabot[bot]
- deps: Upgrade github.com/alecthomas/chroma/v2 to v2.13.0 be914ff @myitcv #11862
- build(deps): bump golang.org/x/mod from 0.15.0 to 0.16.0 e626750 @dependabot[bot]
Documentation
Build Setup
v0.123.8
- docs: Fix hyphens and grammar in synopsis of command 'hugo server' ada3fce @deining
- Fix resource name in resources.ByType a4b1747 @bep #12190
- Fix global resource isn't published when using an uncommon code construct 4d5e173 @bep #12190
- Fix section page resource not published if resource filename partially matches content file name 4271b6b @bep #12198
- Fix taxonomy kind template lookup issue 0567a3e @bep #12193
- markup/goldmark: TOC: render strikethrough, emojis 134e7d1 @lyind #7169 #11783 #12022
- Add hugo.IsMultiHost 1f48b71 @razonyang
- resources/images: Retain newlines with text overlays 05e23bd @jmooring #12206
- Don't auto-create empty sections for nested taxonomies 7afac3f @bep #12188
- tpl/tplimpl: Honor markdown attributes in embedded image render hook 632ad74 @jmooring #12203
v0.123.7
What's Changed
- hugofs: Fix vertical mount merge issue 2b2f2b7 @bep #12175
- Fix and add integration test for the Bootstrap SCSS module for both Dart Sass and Libsass 0d6e593 @bep #12178
- Fix resources.GetMatch, resources.Match, and resources.ByType to they don't normalize permalinks 7023cf0 @bep #12182
- Make sure that sitemaps gets generated even if there is a content bundle with the same path 9dfa9e7 @bep #12183
- resources/page: Make Taxonomy.Get and Taxonomy.Count case-insensitive 3f217fd @jmooring #12177
v0.123.6
v0.123.5
What's Changed
v0.123.4
- Fix cascade-pattern-with-extension for cascade in site config 1736ef7 @bep #12151
- Fix term template lookup when its backed by a content file f27e578 @bep #12146
- Fix panic for disableKinds page for content resources 049dd1d @bep #12144
- tocss: Fix the import resolving from absolute to relative assets paths 189b723 @bep #12137
- config/allconfig: Fix typo 80e6934 @jmooring #12134
- resource: Revert the normalization of Resource.Name d310595 @bep #12142
- build(deps): bump github.com/spf13/fsync from 0.10.0 to 0.10.1 d4be164 @dependabot[bot]
v0.123.3
Bug fixes
- hugolib: Fix a .Page.GetPage from bundle case f521336 @bep #12120
- cache/dynacache: Reset ticker in case one cache eviction takes some time 03b88c6 @bep #12129
- Speed up GetPage bf14d0c @bep
- resources: Skip the image golden tests when running locally c4fe45f @bep #12119
- js: Support JSX and JSXImportSourceOptions 554aa58 @baltpeter #12118
- hugolib: Add capitalizeListTitles config option 36bf3cb @jmooring #9793 #12115
v0.123.2
What's Changed
- Fix it so not all bundled resources are removed when one translation is drafted db3bb62 @bep #12105
- commands/mod: Ignore invalid module path f5fd7ec @razonyang
- Fix regression on handling of overlapping file mounts 16406d9 @bep #12103
- Sitemap should not use list.xml e757849 @bep #12101
- Fix rebuild when adding a bundle with space in name b8ab5c9 @bep #12092
- Fix relative import issue in libsass/dart sass cf7023c @bep #12094
- Fix relref regression with trailing slash fd0185a @bep #12096
v0.123.1
- Fix server rebuilding of pages without default content language eceeb19 @bep #12082
- Fix dart sass import regression 621194a @bep #12072
- Fix robots.txt using the built-in template regression a118cb4 @bep #12071
- tpl/tplimpl: Resolve fragments in link render hook c9f7ebf @jmooring #12084
- Fall back to original name in Resources.GetMatch/Match 48eec2a @bep #12076
v0.123.0
The work title for the v0.123.0
release has been "the million pages release", introducing a new memory limit that allows for a streaming build, shifting large objects out of memory when not in use. This release is also a rewrite of the Hugo core, fixing lots of long-lived bugs and adding some other exciting improvements (see below). There are some breaking changes that have been announced for a long time. Most sites will not be affected by this, but we recommend that you test your site with the new Hugo version before you set it up to build to production. Many people have contributed to this release, but a special shoutout goes to @bep and @jmooring, but also to @TiGR and @McShelby for their help testing and reporting bugs.
A list of notable new features:
- You can now set a upper memory limit (default 25% of system memory) via the OS environment variable
HUGO_MEMORYLIMIT
(in gigabytes) allowing for much larger data/page sets and/or running on lower specced PCs. This is backed by a partitioned LRU cache used throughout Hugo. A cache that gets dynamically resized in low memory situations, allowing Go's Garbage Collector to free the memory. Note that for regular sized Hugo sites, the performance should be about the same as before. - New dependency tracker for partial server rebuilds. This quickly calculates the delta given a changed resource (e.g. a content file, template, JS file etc.) and supports transitive relations.
- A new document store. Previously, a little simplified, we split the document store (where we store pages and resources) in a tree per language. This worked pretty well, but the structure made some operations harder than they needed to be. We have now restructured it into one Radix tree for all languages. Internally the language is considered to be a dimension of that tree, and the tree can be viewed in all dimensions concurrently. This makes some operations re. language simpler (e.g. finding translations is just a slice range), but the idea is that it should also be relatively inexpensive to add more dimensions if needed (e.g. role). With this we also introduce a new logical page Path which we will used going forward to support other content data sources.
- Add warnidf template function, see docs
- Add the
[params]
concept to front matter, see docs - Add images.Dither filter, see docs
Bug fixes
- Fix handling of build options for term pages 5ada27b @bep #12058
- Fix sample logic when adding content files in server afe5b6d @bep #12054
- all: Fix typos and some URLs 168d375 @coliff
- Fix handling of draft term pages fc6aabe @bep #12055
- commands: Fix --clock with the list command 4835f9e @bep #11888
- Fix server panic on i18n file change 9679443 @bep #12048
- Fix rebuild regression on non-default content language edits 68f67c9 @bep #12043
- Fix i18n rebuild regression f1491c9 @bep #12039
- Fix rebuild with resources.Concat 639073e @bep #12017
- all: Fix typos 0672b5c @coliff
- resources/page: Fix typo e309f82 @rosano
- Fix taxonomy term with backing file regression caba6ba @bep #12020
- Fix rebuild of changed bundled content files a65622a @bep #12000
- Fix site.Taxonomies for taxonomies with space in name 146aedd @bep #12001
- Misc resource fixes/improvements 2873324 @bep #11974
- Fix disabled languages regression 4174a78 @bep #11959
- tpl/data: Fix GetCSV deprecation message 5dd06b4 @jmooring
- Fix failing test on Windows d8f0e30 @bep
- deploy: Fix CloudFront invalidation with AWS SDK2 d8c2734 @bep
- Fix build error 34d63c8 @bep
- Fix recent regression .Resources.Get for resources with spaces in filename 80595bb @bep #11944
- hugofs/glob: Fix dropped test error ec22bb3 @alrs
Improvements
- Handle rebuilds when resources passed to transform.Unmarshal etc. changes 5dbc29d @bep #12065
- Don't use the same value in .Data.Term.Title as in .Title 5bdda0b @bep #12041
- Let standard library handle charset parameter to MIME types 43ea2cd @datosh #10734
- Add images.Dither filter 21d9057 @jmooring #8598
- markup/goldmark: Improve TOC tests f4575e5 @jmooring
- Move the duplicate page/resource filter 0851c17 @bep #12013
- Upgrade to Go 1.22 9571246 @bep #12010
- Avoid impporting deploy from config when nodeploy tag is set 0257eb5 @bep #12009
- commands: Remove unused memstats flag bd0200d @bep
- source: Remove unused Filesystem struct a80c302 @bep
- Filter dot files etc. in i18n 9df7b29 @bep #11993
- commands: Revert the recent changes that allowed profiling on server rebuilds c37bf19 @bep
- Handle resource changes when the resources is already evicted from cache 609d798 @bep #11988 #11973 #11988
- all: Rename Unmormalized => Unnormalized 53f2043 @bep
- hugolib: Formally deprecate .Page.NextPage .Page.PrevPage 7f82461 @jmooring
- hugio: Rename strigReadSeeker => stringReadSeeker b72f909 @bep
- resources/page: Formally deprecate .Site.LastChange 3a665dd @jmooring
- Preserve file/dir name case when loading data 46575ba @bep #11979
- Detect now invalid path patterns in cascade 058f230 @bep #11977
- Handle build vs _build in front matter a66480f @bep #11970
- resources: Optimize reading resource Content when it's already a string e33a632 @bep
- tpl/tplimpl: Update embedded instagram, twitter, and vimeo shortcodes d0788b9 @jmooring #11971
- Add some more context to error 034fbef @bep #11970
- Improve nilpointer error message 8d42a79 @bep
- hugolib: Adjust a test case f5ec75d @bep
- hugolib: Revert deprecation of .Page.Lang 6cb3bda @jmooring
- all: Deprecate .Page.Lang and .Page.File.Lang 963cecc @jmooring
- config/security: Add SYSTEMDRIVE to OsEnv allowlist b6def61 @jmooring
- hugolib: Add some more details to the "paginator not supported" error 1891d5e @bep #11949
- Run go mod tidy 156f08d @bep
- Upgrade to deploy to use AWS SDK V2 a1c6498 @frankywahl
- Improve error message when attempting to paginate from a single page template 6c3b6ba @bep #11953
- Filter out duplicate content resource files bd66d30 @bep #11946
- output: Prevent setting Name directly in new output formats 309d61b @bep #11947
- Create default link and image render hooks 5b7cb25 @bep #11933
- Emit a warning that can be turned off when overwriting built-in .Params values afee781 @bep #11941
- Add warnidf template function 4e84f57 @bep #9189
- Add path, kind and lang to content front matter f31a6db @bep #11544
- all: Run gofumpt -l -w . a795acb @bep
- testing: Simplify some integration tests 982d951 @bep
- Add the [params] concept to front matter 6dedb4e @bep #11055
- tpl/data: Deprecate data.GetJSON and data.GetCSV 292626e @bep
- modules: Print required Hugo version for incompatible modules 60d954c @razonyang
- hugolib: Remove unused test image 63e0a92 @bep
- navigation: Improve menu cache ce7daa6 @Kandulanaveennaidu
- testing: Rename integration_test.go to PACKAGE_integration_test.go 2a03294 @bep
- Port some integration tests to new test setup 50dc327 @bep
- all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 7285e74 @bep #11455 #11455 #11549 #10169 #10364 #10482 #10630 #10656 #10694 #10918 #11262 #11439 #11453 #11457 #11466 #11540 #11551 #11556 #11654 #11661 #11663 #11664 #11669 #11671 #11807 #11808 #11809 #11815 #11840 #11853 #11860 #11883 #11904 #7388 #7425 #7436 #7544 #7882 #7960 #8255 #8307 #8863 #8927 #9192 #9324
Dependency Updates
- build(deps): bump github.com/tdewolff/minify/v2 from 2.20.16 to 2.20.17 f54ba6f @dependabot[bot]
- build(deps): bump github.com/evanw/esbuild from 0.20.0 to 0.20.1 4019b17 @dependabot[bot]
- build(deps): bump golang.org/x/tools from 0.17.0 to 0.18.0 4a53fd5 @dependabot[bot]
- build(deps): bump golang.org/x/net from 0.20.0 to 0.21.0 2d1681d @dependabot[bot]
- build(deps): bump golang.org/x/mod from 0.14.0 to 0.15.0 301bafa @dependabot[bot]
- build(deps): bump github.com/yuin/goldmark from 1.6.0 to 1.7.0 58d7f83 @dependabot[bot]
- build(deps): bump github.com/getkin/kin-openapi from 0.122.0 to 0.123.0 54ad51e @dependabot[bot]
- build(deps): bump github.com/tdewolff/minify/v2 from 2.20.13 to 2.20.16 bd1bcc0 @dependabot[bot]
- build(deps): bump github.com/evanw/esbuild from 0.19.12 to 0.20.0 b332f24 @dependabot[bot]
- deps: Update gocloud.dev/aws d8e1e82 @bep
- build(deps): bump github.com/aws/aws-sdk-go from 1.48.6 to 1.50.7 4d98b0e @dependabot[bot]
- build(deps): bump golang.org/x/image from 0.14.0 to 0.15.0 15b9976 @dependabot[bot]
Documentation
- docs: Regen docshelper 60b176c @bep
- docs: Regen CLI docs 068ccde @bep
- docs: Regenerate docshelper 7cb447a @bep
- docs: Make null booleans falsy in the docs helper 5161544 @bep
- docs: Regen docs helper 7caa5b3 @bep
- docs: Prepare for new sub tree fc7de71 @bep #11925