Releases: gohugoio/hugo
v0.134.1
v0.134.0
Hugo v0.134.0 brings render hooks for tables, ContentWithoutSummary, scoped content render and Obsidian style callout alerts.
ContentWithoutSummary and scoped content render
This release finally brings a Page.ContentWithoutSummary
method. This has been a long sought after method where the use case is obvious: render the summary with a more button that renders the ... content without summary. To enable this we have reimplemented the content summary handling in Hugo. This consolidates the 3 summary types (auto
, manual
and frontmatter
) – they are now all HTML. This is a slightly breaking change (manual
was plain text before), but the new behaviour should be much less confusing and easier to handle in the templates. If you want plain text, pipe it into plainify
: {{ .Summary | plainify }}
.
Before this release there was one instance of .Content
for a given page, it was e.g. not possible to render a page's content slightly different (e.g. different heading levels) on the list pages or the home page. This release anables that with a new Page.Markup
with an optional scope
argument.
In the list template you would do something like this:
You can think of the custom scope list
as a cache key: Multiple invocations on the same page with the same scope will give the same return value. You can now pass down some data or configuration to in .Page.Store
to the templates that render this markup (shortcodes, render hooks), or you can use the new global hugo.Context.MarkupScope
function made for this purpose:
Render hooks for tables
This has been a long sought after feature. Now you can have full control over how you render your Markdown tables with table render hooks.
Obsidian style callout alerts
Hugo v0.133.0
added blockquote render hooks with GitHub styled alerts. We have since then gotten some feedback about extended alert syntax in Obsidian, and in Hugo v0.134.0
we now support both.
Bug fixes
- github: Try to fix "no space left on device" on MacOS 96afea4 @bep
- Fix deprecation warning for resources.ToCSS 8fb9335 @deining
- output: Fix docshelper template lookup order for AMP pages 1ecd059 @jmooring #12797
Improvements
- markup/goldmark/blockquotes: Improve some tests 504a231 @bep
- Add support for Obsidian type blockquote alerts e651d29 @bep #12805 #12801
- Rename hstring.RenderedHTML => hstring.HTML 4691248 @bep
- Make all renderhook Text methods return template.HTML 6d97ee7 @bep
- Add Markdown render hooks for tables f738669 @bep #9316 #12811
- create/skeletons: Clean up lang attribute in base template b63f24a @jmooring
- tpl/resources: Improve resources.Concat error message a3684c8 @jmooring #7428
- tpl: Trim whitespace from google_analytics.html 53a8de2 @chalin
- Add Page.Contents with scope support 3760926 @bep #8680 #12761 #12778 #716
- hugolib: Add a test for overriding _internal templates 371246d @bep
Dependency Updates
- deps: Upgrade github.com/bep/golibsass v1.1.1 => v1.2.0 2b5c335 @bep #12649
- build(deps): bump github.com/evanw/esbuild from 0.23.0 to 0.23.1 12a28ef @dependabot[bot]
- build(deps): bump github.com/pelletier/go-toml/v2 from 2.2.2 to 2.2.3 4ded32d @dependabot[bot]
Documentation
- Update Dockerfile ae38158 @offgrid88
v0.133.1
v0.133.0
What's Changed
- Add config options page.nextPrevSortOrder/nextPrevInSectionSortOrder 01008ba @bep #12776
- build(deps): bump gocloud.dev from 0.38.0 to 0.39.0 53c0ddf @dependabot[bot]
- deps: Upgrade github.com/tetratelabs/wazero v1.7.4-0.20240805170331-2b12e189eeec => v1.8.0 133eeaf @bep
- Upgrade to Go 1.23 2168c5b @bep #12763
v0.132.2
What's Changed
- markup/goldmark/blockquotes: Fix handling of lower/mixed case GitHub alerts d72607a @bep #12767
- tpl/transform: Don't run ToMath tests in parallel 8323526 @bep #12765
- resources: Add URI GetRemote error 5220d37 @0xB10C
- loggers: Omit map nil check b2d4f67 @bep
- github: Add workflow_dispatch to the Docker workflow a99716b @bep #12753
- github: Simplify Docker workflow / only trigger on new tags 98aa536 @bep #12753
- github: Simplify Docker workflow 9231a7f @bep #12753
v0.132.1
v0.132.0
Server-side math rendering using KaTeX with Markdown render hooks support, blockquote Markdown render hooks with GitHub style alerts syntax support, and more.
Bug fixes
- Improve Katex error handling and fix handling of large expressions e1e1baa @bep #12748
- Fix compare of uints and ints in eq, gt etc. fbfccb3 @bep #12733
- Fix deprecation errors 69455fa @bep
Improvements
- internal/warpc: Add license headers 2192cf7 @bep
- Add katex option ThrowOnError e422635 @bep
- Add some more KaTeX options 891aa00 @bep #12745 #12746
- tpl/transform: Make Plainify and ToMath return template.HTML 946e6af @bep #8732
- Add build time math rendering 33c0938 @bep #11927
- github: Turn off the image workflow for pull request 0c3a1c7 @bep
- github: Update image actions versions and some adjustments ceed812 @bep
- github: Update GitHub actions versions dbff48e @bep
- markup: Add blockquote render hooks 665ac94 @bep #12590
- markup/goldmark/codeblocks: Simplify codeblcok hook code 4c162de @bep
- Add render hooks for inline and block passthrough snippets c6227f1 @bep #11927
- tpl/cast: Improve float 10891f3 @bep #12718
- Skip TestEchoParam c07e94f @bep
Dependency Updates
- deps: Upgrade github.com/bep/imagemeta v0.7.6 => v0.8.0 5d84f64 @bep #12741
- build(deps): bump golang.org/x/net from 0.27.0 to 0.28.0 1781b18 @dependabot[bot]
- build(deps): bump golang.org/x/image from 0.18.0 to 0.19.0 d6d9ddd @dependabot[bot]
- build(deps): bump github.com/bep/imagemeta from 0.7.5 to 0.7.6 (#12720) 8f8d12a @dependabot[bot] #12718
Documentation
Build Setup
- github: Build and publish Docker image on release b08de70 @morremeyer #10760
v0.131.0
Note that if you use Hugo's image processing, your processed images will get new (shorter!) file names when you build your site with this release. We have upgraded a third party hashing library to fix some rare but potential hash collisions, and since this would change some of the image hashes, we thought we might as well do some other related changes: We now use xxHash to create the image file hashes (very fast!) and we have removed the verbose processing information, making the filenames much shorter.
This release is also a full dependency refresh and it comes with one notable and very useful new feature. It is now possible to use permalinks
tokens in the front matter url
. See the documentation for more info. Thanks to @n1xx1 for the implementation.
Note
Bug fixes
Improvements
- revamp pagegroup tests with quicktest 914fa13 @n1xx1
- allow nested params when using Pages.GroupByParam and Pages.GroupByParamDate 51f09b1 @n1xx1
- Run go mod tidy a5db76f @bep
- resources/page: Expand parmalinks tokens in
url
566fe7b @n1xx1 #9714 - Bump to go 1.21 in go.mod 9257301 @bep
- tpl: Sync Go template packages with the Go 1.22.5 source 071f8b4 @bep
- Upgrade to Go 1.22.5 ae9d5e7 @bep
- Shorten processed image filenames 216a69a @bep #12688 #12656
- Consolidate all hashing to the common/hashing package e67886c @bep
- Replace the MD5 hashing of images with xxHash d5eda13 @bep
- resources: Add BenchmarkHashImage 8b5d796 @bep
- identity: Upgrade to github.com/mitchellh/hashstructure/v2 v2.0.2 78db8ae @bep #11644
- identity: Add BenchmarkHashString 3140e0b @bep
Dependency Updates
- build(deps): bump github.com/bep/godartsass/v2 from 2.0.0 to 2.1.0 be64358 @dependabot[bot]
- build(deps): bump google.golang.org/api from 0.152.0 to 0.189.0 20e4dd2 @dependabot[bot]
- build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 f411499 @dependabot[bot]
- build(deps): bump gocloud.dev from 0.36.0 to 0.38.0 47fee83 @dependabot[bot]
- build(deps): bump github.com/gorilla/websocket from 1.5.1 to 1.5.3 99665ef @dependabot[bot]
- build(deps): bump github.com/kyokomi/emoji/v2 from 2.2.12 to 2.2.13 eb2eeee @dependabot[bot]
- deps: Upgrade github.com/hairyhenderson/go-codeowners v0.4.0 => v0.5.0 bea5a46 @bep
- build(deps): bump github.com/fatih/color from 1.16.0 to 1.17.0 f1a7f3d @dependabot[bot]
- build(deps): bump github.com/evanw/esbuild from 0.21.4 to 0.23.0 08243be @dependabot[bot]
- build(deps): bump github.com/tdewolff/minify/v2 from 2.20.36 to 2.20.37 0490a8a @dependabot[bot]
- Revert "deps: Set toolchain go1.21.0 in go.mod" d795cac @bep
- deps: Set toolchain go1.21.0 in go.mod 78c9a18 @bep
- deps: Upgrade golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d => v0.23.0 79aa2ab @bep
- deps: Replace github.com/mitchellh/hashstructure/v2 with github.com/gohugoio/hashstructure c9d7577 @bep #11644
- deps: Upgrade github.com/bep/imagemeta v0.7.4 => v0.7.5 9989404 @bep
- deps: Upgrade github.com/aws/aws-sdk-go-v2 v1.26.1 => v1.30.3 b81ba2a @bep
- deps: Upgrade to github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 afdd87d @bep
v0.130.0
v0.129.0
This release brings a rewrite of the logic around browser refreshes when running hugo server
. We have seen some situations where asset changes (e.g. image/CSS/JS) has not been refreshed reliably in all browsers, even with the developer console open and the cache disabled. We suspect this comes from a recent browser bug (typically: Works fine in Safari, does not refresh in Chrome). The strategy we've been using when a change triggers multiple changes (e.g. both HTML and CSS) is to do one "browser force refresh", which in LiveReload ends up as a window.location.reload()
. With this release we:
- Are more specific about what we refresh, but fall back to "force refresh" for bigger change sets.
- INFO log exactly what we do in these situations with the prefix
livereload
.
Start the server with:
hugo server --logLevel info
And you should see how Hugo handles browser updates when you change content/templates etc.
A related tip; start the server with
hugo server --logLevel info -N
Hugo will navigate to the content file you're changing and log it in the console.
Also new in this release a new xxHash hashing function that is much faster than any of the other hashing functions in Hugo, especially for larger inputs.
Note
We have upgraded the integration with Git used to load GitInfo to be part of Hugo's Security Policy. We have added git
to the default whitelist, but if you have a custom security policy, you may have to update that.
Bug fixes
- commands: Fix --navigateToChanged server behavior when editing headless content cc2d19e @bep #12648
- commands: Fix hugo mod get -u ./... 251a23e @bep #12625
Improvements
- tpl: Use xxHash instead of MD5 to hash the deferred templates 4d8bfa7 @bep
- Throw error if resources.PostProcess is used in a deferred template f0ed91c @bep #12655
- commands: Simplify the browser live reload logic 094f746 @bep #12643
- Use xxHash for the change detector fb8909d @bep #12643
- source: Expose GitInfo Body 0ee2610 @PeskyPotato #10905
- Add hash.XxHash 644d554 @bep #12635