Bjørn Erik Pedersen
7b4ddd1863
contributing: Add a note about co-authoring attributions when borrowing test cases
2026-07-04 18:10:03 +02:00
bejaratommy
671897ae91
tpl/collections: Include key in IsSet unsupported-type warning
...
The warning logged when calling IsSet with an unsupported type did not
identify which key triggered it, making it hard to locate the offending
template. Include the key in the message.
Fixes #11794
2026-07-04 15:18:42 +02:00
dependabot[bot]
a879ebfaaa
build(deps): bump github.com/getkin/kin-openapi from 0.139.0 to 0.140.0
...
Bumps [github.com/getkin/kin-openapi](https://github.com/getkin/kin-openapi ) from 0.139.0 to 0.140.0.
- [Release notes](https://github.com/getkin/kin-openapi/releases )
- [Commits](https://github.com/getkin/kin-openapi/compare/v0.139.0...v0.140.0 )
---
updated-dependencies:
- dependency-name: github.com/getkin/kin-openapi
dependency-version: 0.140.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-04 14:43:32 +02:00
sjh9714
499794d19e
create: Keep new content placeholders buildable
...
Fixes #15078
2026-07-04 14:31:54 +02:00
hexbinoct
feb3d494b9
hugolib: Use the output format's suffix for alias paths
...
Alias generation hardcoded "index.html" and only recognized a ".html"
suffix, so an alias with an explicit ".htm" extension (or any other
suffix configured for the html media type) was written to the wrong
path. For example "d.htm" produced the directory "d.htm/index.html"
instead of the file "d.htm".
Build the alias file name from the output format's BaseName and the
media type's first suffix, and detect an explicit file by matching the
alias extension against the configured suffixes. The same check now
drives the uglyURLs case in Aliases.
Fixes #15066
2026-07-04 14:31:34 +02:00
Bjørn Erik Pedersen
65c82178b7
hugio: Speedup hasBytesWriter
...
The old implementation copied the incoming bytes into a fixed-size buffer
one byte at a time, and for every byte ran bytes.Contains for every
pattern over the whole buffer. That's O(n·patterns) scans of the buffer,
which showed up badly on large output (a full rendered page).
Scan each not-yet-matched pattern once per Write with bytes.Contains over
the chunk itself, in place, rather than per byte. The only carried state
is a small boundary window (the last maxPatternLen-1 bytes) joined with
the head of the next chunk, so a pattern straddling a Write boundary is
still detected. The chunk is never copied, so the extra allocation is
bounded by the longest pattern and independent of the output size. Once
all patterns have matched we mark done and drop the buffer.
patternLen summed the pattern lengths (to size the old buffer); the
boundary window only needs the longest pattern, so it's renamed
maxPatternLen and returns the max.
```bash
│ benchcmp.bench │ fix-hasbytewriter.bench │
│ sec/op │ sec/op vs base │
HasBytesWriter-10 2473.095µ ± ∞ ¹ 6.114µ ± ∞ ¹ -99.75% (p=0.029 n=4)
¹ need >= 6 samples for confidence interval at level 0.95
│ benchcmp.bench │ fix-hasbytewriter.bench │
│ B/op │ B/op vs base │
HasBytesWriter-10 48.00 ± ∞ ¹ 128.00 ± ∞ ¹ +166.67% (p=0.029 n=4)
¹ need >= 6 samples for confidence interval at level 0.95
│ benchcmp.bench │ fix-hasbytewriter.bench │
│ allocs/op │ allocs/op vs base │
```
2026-07-04 13:25:35 +02:00
dependabot[bot]
332d5ec823
build(deps): bump golang.org/x/mod from 0.36.0 to 0.37.0
...
Bumps [golang.org/x/mod](https://github.com/golang/mod ) from 0.36.0 to 0.37.0.
- [Commits](https://github.com/golang/mod/compare/v0.36.0...v0.37.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.37.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-04 12:54:41 +02:00
dependabot[bot]
212cc11ada
build(deps): bump github.com/pelletier/go-toml/v2 from 2.3.1 to 2.4.2
...
Bumps [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml ) from 2.3.1 to 2.4.2.
- [Release notes](https://github.com/pelletier/go-toml/releases )
- [Commits](https://github.com/pelletier/go-toml/compare/v2.3.1...v2.4.2 )
---
updated-dependencies:
- dependency-name: github.com/pelletier/go-toml/v2
dependency-version: 2.4.2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-04 12:54:04 +02:00
Bjørn Erik Pedersen
dfb35dcd7a
tpl/crypto: Add crypto.Hash
...
Add a generic crypto.Hash template function returning the hex-encoded
checksum of a string using one of md5, sha1, sha256 (default), sha384 or
sha512. The supported algorithms match those used for the SRI hash in
.Data.Integrity on fingerprinted resources, so an SRI hash can be built
by composing with encoding.HexDecode and encoding.Base64Encode.
Fixes #15072
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-03 18:03:05 +02:00
Bjørn Erik Pedersen
ef053faa6a
Merge commit 'af91eb1997ace34ef5eed0be31646e8483b78096'
2026-07-03 10:43:53 +02:00
Bjørn Erik Pedersen
af91eb1997
Squashed 'docs/' changes from e17426e2b6..c85af679bf
...
c85af679bf content: Miscellaneous edits
43149dae59 content: Cleanup trailing spaces
2b161d600c content: Improve hosting guides
edc02f6402 content: Improve description of scheduled Cloudflare builds
83dff65d50 content: Fix typos
a93f8b956b content: Fix formatting
3dde5702c7 content: Add instructions for scheduled Cloudflare builds
b1075d9c77 content: Change wrangler config format in Cloudflare hosting guide
565d3292c3 content: Add .mjs and .cjs variants to mounted config files
4fc418d223 content: Update version references
bf2efc9114 content: Update hosting guides
0d8ff2dfe1 Update HUGO_VERSION to 0.163.3
git-subtree-dir: docs
git-subtree-split: c85af679bfe21dd7c01924c47933444f002bdc6b
2026-07-03 10:43:53 +02:00
Bjørn Erik Pedersen
a5ec542393
Add encoding.HexDecode/Encode
...
Fixes #15068
See #15060
2026-06-28 21:39:51 +02:00
Bjørn Erik Pedersen
884439b9a2
deps: Upgrade github.com/evanw/esbuild v0.28.0 => v0.28.1
...
Test / test (1.26.x, ubuntu-latest) (push) Has been cancelled
Test / test (1.26.x, windows-latest) (push) Has been cancelled
Closes #15033
2026-06-28 19:07:48 +02:00
Joe Mooring
128fb17c2b
markup/pandoc: Add citation support
...
Closes #15062
Co-authored-by: Sebastian Höffner <info@sebastian-hoeffner.de >
2026-06-28 15:37:21 +02:00
Joe Mooring
e46d37a984
tpl/tplimpl: Make template name lookup case-insensitive
...
Closes #15057
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-28 15:36:29 +02:00
Bjørn Erik Pedersen
790a8aa474
deps: Add Chroma dark/light mode support
...
Test / test (1.26.x, ubuntu-latest) (push) Has been cancelled
Test / test (1.26.x, windows-latest) (push) Has been cancelled
Closes #15017
2026-06-27 18:21:20 +02:00
Joe Mooring
fe06735214
hugolib: Return error from .Render when template not found
...
Closes #15052
2026-06-25 12:09:52 +02:00
hugoreleaser
d15baf53a9
releaser: Prepare repository for 0.164.0-DEV
...
[ci skip]
2026-06-18 16:39:26 +00:00
hugoreleaser
4d22555aeb
releaser: Bump versions for release of 0.163.3
...
[ci skip]
v0.163.3
2026-06-18 16:18:24 +00:00
Bjørn Erik Pedersen
ce1a7e0bce
markup/highlight: Escape lang in default code block rendering
2026-06-18 18:14:40 +02:00
Bjørn Erik Pedersen
c86d9f4aa8
Squashed 'docs/' changes from 1f8ddb8a52..e17426e2b6
...
e17426e2b6 content: Adjust Cloudflare hosting guide
02edafd770 content: Add build caching instructions for Cloudflare Workers
3430b3c154 content: Update version references
ed8f6930e6 content: Fix examples
3e1a3030ab content: Miscellaneous edits
77f12f75d7 Update HUGO_VERSION to 0.163.2
943417e8f2 content: Remove Hugo SFTP Upload from community tools
62d04f0440 content: Add --global to git config command in CI/CD examples
b9fd5b6cad content: Document GitInfo limitation
9d28aa9e0e content: Fix link references
66bba81f82 content: Fix link references
b08128c0aa content: Fix function reference
2da3083578 content: Miscellaneous edits
40e048f605 content: Use consistent terminology for configuration settings
1b8d67c3fe content: Add HUGO_ENVIRONMENT to the configuration introduction
a931241abe content: Remove erroneous config setting
d621e2c38b Update HUGO_VERSION to 0.163.1
a23a5a0465 content: Fix fenced code block
1122f0e8b5 content: Fix typo
076184e983 content: Miscellaneous standardization edits
b53b801061 theme: Adjust code language substitutions
6fe0cc5f77 content: Fix formatting
f6fc643110 content: Fix link
8e9cdfb9e9 content: Fix link
ae2e15a51e content: Fix links
c73fefee7a content: Fix formatting
9d0390e927 content: Fix link destinations
938a76e00f content: Update comments.md
01d66b670c content: Fix typos
d1e70b81cb content: Improve segmentation documentation
a2a2f89f7f content: Clarify applicability of format-specific imaging config keys
e6c487eb80 content: Remove outdated feature badge
39aebec026 content: Updates for v0.163.0
e9bd8eca6b Update HUGO_VERSION to 0.163.0
f088cf8d19 content: Update hosting guides
ce481a8798 content: Fix broken links
e1f09a8783 content: Remove hidden showcases
54f3a7651e content: Standardize link references
344f8d660e theme: Add nofollow to external links
a83ccec106 theme: Remove the qr transition
5e73f514b4 theme: Hide the search modal on pageswap
57f89ce22d theme: Trim https://gohugo.io from search results when running the server
f12aa1d1d0 content: Fix formatting in Defer
5ab496dd2a content: Add FastComments to the list of commenting systems
1819171668 theme: Remove some unused code
218754408b theme: Replace Turbo with Speculation Rules
bddc24beff content: Fix typos
1a3b527595 content: Fix typo
b72ccefbd9 content: Fix typo
4bfd6c937f content: Miscellaneous link edits
4b57ca8555 content: Clarify :filename slug inference in front matter config
5b1a03ff68 content: Remove outdated new-in badges
bcc6647be8 content: Fix link
263efb81ec content: Add front matter to core-methods.md
41e27e2e54 theme: Render function/method link titles as inline code
8875ef7fe6 content: Replace "scratch pad" with clearer data structure terminology
6e186e591d Update HUGO_VERSION to 0.162.1
30a90c961d content: Add missing configuration key data types
c8e5b9fd2d content: Replace h3 method sequences with description lists
8b44afbe31 content: Fix typo
04109b0921 content: Change collections.Dictionary note regarding nil map
9de560ca01 content: Remove Commento from comments integration list
d2d1506598 content: Update PostCSS examples
6c4bd3a096 content: Updates for v0.162.0
46e6e2c66d Update HUGO_VERSION to 0.162.0
6900d27eea content: Remove date from content file
2c1e04da4a theme: Darken inline code elements in content for better readability
1c5bd6a4b4 content: Clarify resources.Copy publication path
911c1c7549 content: Wrap relevant description list terms in backticks
740e887e05 misc: Remove VS Code extension suggestions
git-subtree-dir: docs
git-subtree-split: e17426e2b63dafe06354e7a204ce61506dc79dc3
2026-06-18 16:28:21 +02:00
Bjørn Erik Pedersen
e8988c3141
Merge commit 'c86d9f4aa8a58931f52df6516f10b67c807505fb'
2026-06-18 16:28:21 +02:00
Bjørn Erik Pedersen
70a9068aa6
parser/pageparser: Preserve non-ASCII whitespace after e.g. summary divider
...
Make it insted consume just ASCII whitespace, which preserves e.g. ideographic space (U+3000) after the summary divider, which is important for e.g. Chinese and Japanese content, and possibly other Unicode whitespace characters with meaning.
Doing this is possibly breaking, but not likely, and obviously the correct thing to do.
2026-06-18 16:23:06 +02:00
Joe Mooring
9d66d513ce
resources: Support babel/postcss config variants
...
Allow modules to use .mjs and .cjs file extensions for Babel and PostCSS
configuration files instead of just .js.
Closes #15039
Closes #15040
Closes #15043
2026-06-18 16:22:10 +02:00
Joe Mooring
f013346667
hugolib: Fix page/section name collision regression
...
Fixes #15046
When a regular page (e.g. content/s1.md) and a section (content/s1/)
share the same tree key, the assembler must not overwrite the real page
with a synthetic section. Restore the existence guard that was present
in v0.152.2.
The fix checks if a node already exists at the section key before
inserting a synthetic section during root section creation.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-18 16:20:34 +02:00
hugoreleaser
96e06e1ab8
releaser: Prepare repository for 0.164.0-DEV
...
[ci skip]
2026-06-15 15:17:37 +00:00
hugoreleaser
19a5cec0b9
releaser: Bump versions for release of 0.163.2
...
[ci skip]
v0.163.2
2026-06-15 14:55:00 +00:00
Bjørn Erik Pedersen
134674f00d
Continue resolving on ERR_ACCESS_DENIED in Node's resolver
...
And then rethrow the ERR_ACCESS_DENIED if we cannot recover.
There's more details in #15041 , but this error has been seen on Netlify with the CJS because of how Netlify has their node_modules cache folder set up.
Fixes #15041
2026-06-15 15:53:19 +02:00
Joe Mooring
147f605f7d
markup: Standardize behavior when external converters are missing
...
Closes #14222
2026-06-13 20:19:47 +02:00
hugoreleaser
1f35beb918
releaser: Prepare repository for 0.164.0-DEV
...
[ci skip]
2026-06-11 15:55:44 +00:00
hugoreleaser
2a4fd58818
releaser: Bump versions for release of 0.163.1
...
[ci skip]
v0.163.1
2026-06-11 15:34:40 +00:00
dependabot[bot]
93c8c7d345
build(deps): bump golang.org/x/image from 0.41.0 to 0.42.0
...
Bumps [golang.org/x/image](https://github.com/golang/image ) from 0.41.0 to 0.42.0.
- [Commits](https://github.com/golang/image/compare/v0.41.0...v0.42.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/image
dependency-version: 0.42.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-11 16:15:56 +02:00
Bjørn Erik Pedersen
95e5e9f4ab
Fix multi --renderSegments merge behavior
...
Fixes #15024
2026-06-11 15:25:43 +02:00
Bjørn Erik Pedersen
a00b5c72ac
security: Normalize integer IPv4 host encodings in http.urls check
...
Canonicalize integer/hex/octal IPv4 hosts to dotted-decimal before
applying the security.http.urls policy so all encodings of an address
are treated alike.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-10 18:53:36 +02:00
Bjørn Erik Pedersen
cf9c8f93ca
Drop symlinks in os.ReadDir, os.ReadFile, os.Stat and os.FileExists
...
Fixes #15019
2026-06-10 18:53:36 +02:00
Bjørn Erik Pedersen
11f09f59fc
Update CI workflow to exclude macOS
...
Removed macOS from the CI test matrix.
2026-06-09 14:34:07 +02:00
Joe Mooring
2602796cf1
commands: Fix convert command
...
Closes #15012
2026-06-09 13:02:26 +02:00
hugoreleaser
72495f9fba
releaser: Prepare repository for 0.164.0-DEV
...
[ci skip]
2026-06-08 14:36:12 +00:00
hugoreleaser
4a9485336a
releaser: Bump versions for release of 0.163.0
...
[ci skip]
v0.163.0
2026-06-08 14:13:03 +00:00
anupamojha-eng
1d018ef857
pagesfromdata: Use relative path for content adapter template metrics
...
Fixes #14999
2026-06-08 15:56:47 +02:00
Bjørn Erik Pedersen
121bc6ceb2
ci: Re-add macos-latest to the test matrix
...
I suspect there will be some disk space issue, but let's try.
2026-06-08 15:55:43 +02:00
dependabot[bot]
0d29fc81bb
build(deps): bump github.com/bits-and-blooms/bitset
...
Bumps [github.com/bits-and-blooms/bitset](https://github.com/bits-and-blooms/bitset ) from 1.24.4 to 1.24.5.
- [Release notes](https://github.com/bits-and-blooms/bitset/releases )
- [Commits](https://github.com/bits-and-blooms/bitset/compare/v1.24.4...v1.24.5 )
---
updated-dependencies:
- dependency-name: github.com/bits-and-blooms/bitset
dependency-version: 1.24.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-08 11:32:09 +02:00
dependabot[bot]
bb57404f3d
build(deps): bump github.com/tetratelabs/wazero
...
Bumps [github.com/tetratelabs/wazero](https://github.com/tetratelabs/wazero ) from 1.11.1-0.20260521072212-475a1f8f0dc3 to 1.12.0.
- [Release notes](https://github.com/tetratelabs/wazero/releases )
- [Commits](https://github.com/tetratelabs/wazero/commits/v1.12.0 )
---
updated-dependencies:
- dependency-name: github.com/tetratelabs/wazero
dependency-version: 1.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-08 11:31:32 +02:00
Bjørn Erik Pedersen
781fabf4e4
all: Run go fix ./...
2026-06-07 21:20:40 +02:00
Bjørn Erik Pedersen
cf18b827e2
images: Deprecate Imaging.Compression and move it down to webp and avif configs
...
Also clean up and simplify the image config handling.
Closes #14998
2026-06-07 21:20:16 +02:00
Bjørn Erik Pedersen
98ad9b3c03
Only support the latest Go version
...
Which is currently Go 1.26.
Closes #14997
2026-06-07 17:01:04 +02:00
Bjørn Erik Pedersen
ff2903a931
resources/jsconfig: Remove deprecated baseUrl setting
...
baseUrl is deprecated in TypeScript and is no longer required when
paths is set (TypeScript 4.1+).
Fixes #14991
Closes #14996
2026-06-07 13:35:25 +02:00
dependabot[bot]
7d1b1fb33d
build(deps): bump github.com/rogpeppe/go-internal from 1.14.1 to 1.15.0
...
Bumps [github.com/rogpeppe/go-internal](https://github.com/rogpeppe/go-internal ) from 1.14.1 to 1.15.0.
- [Release notes](https://github.com/rogpeppe/go-internal/releases )
- [Commits](https://github.com/rogpeppe/go-internal/compare/v1.14.1...v1.15.0 )
---
updated-dependencies:
- dependency-name: github.com/rogpeppe/go-internal
dependency-version: 1.15.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-05 19:05:57 +02:00
Bjørn Erik Pedersen
b89e7fe675
page: Add IsBranch and deprecate IsNode
...
IsNode's meaning was murky. Add IsBranch, defined as the set of branch
node kinds (home, section, taxonomy, term), and make IsNode a deprecated
alias for it.
Fixes #11574
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 16:18:57 +02:00
Bjørn Erik Pedersen
e8fefc8388
images: Force cache invalidation for AVIF target
...
Fixes #14990
2026-06-05 16:18:23 +02:00