]>
git.maquefel.me Git - brevno-suite/hugo/log
Bjørn Erik Pedersen [Wed, 3 Dec 2025 10:51:37 +0000 (11:51 +0100)]
release: Skip pushing stable and docs update for pre-releases
Bjørn Erik Pedersen [Tue, 2 Dec 2025 15:51:22 +0000 (16:51 +0100)]
release: Support alpha, beta, and RC releases
Joe Mooring [Tue, 2 Dec 2025 07:44:24 +0000 (23:44 -0800)]
snap: Address snapcraft deprecations
dependabot[bot] [Mon, 1 Dec 2025 08:34:17 +0000 (08:34 +0000)]
build(deps): bump github.com/goccy/go-yaml from 1.18.0 to 1.19.0
Bumps [github.com/goccy/go-yaml](https://github.com/goccy/go-yaml) from 1.18.0 to 1.19.0.
- [Release notes](https://github.com/goccy/go-yaml/releases)
- [Changelog](https://github.com/goccy/go-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/goccy/go-yaml/compare/v1.18.0...v1.19.0)
---
updated-dependencies:
- dependency-name: github.com/goccy/go-yaml
dependency-version: 1.19.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Mon, 1 Dec 2025 08:34:31 +0000 (08:34 +0000)]
build(deps): bump github.com/olekukonko/tablewriter from 1.1.1 to 1.1.2
Bumps [github.com/olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) from 1.1.1 to 1.1.2.
- [Commits](https://github.com/olekukonko/tablewriter/compare/v1.1.1...v1.1.2)
---
updated-dependencies:
- dependency-name: github.com/olekukonko/tablewriter
dependency-version: 1.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Mon, 1 Dec 2025 08:34:25 +0000 (08:34 +0000)]
build(deps): bump github.com/JohannesKaufmann/html-to-markdown/v2
Bumps [github.com/JohannesKaufmann/html-to-markdown/v2](https://github.com/JohannesKaufmann/html-to-markdown) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/JohannesKaufmann/html-to-markdown/releases)
- [Commits](https://github.com/JohannesKaufmann/html-to-markdown/compare/v2.4.0...v2.5.0)
---
updated-dependencies:
- dependency-name: github.com/JohannesKaufmann/html-to-markdown/v2
dependency-version: 2.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Bjørn Erik Pedersen [Fri, 28 Nov 2025 20:24:28 +0000 (21:24 +0100)]
langs/i18n: Prefer languageCode when picking translation file
Fixes #14204
Closes #14217
Co-authored-by: Patrice Chalin <pchalin@gmail.com>
Bjørn Erik Pedersen [Thu, 27 Nov 2025 19:43:03 +0000 (20:43 +0100)]
Add entitlements for WebAssembly for macOS Tahoe
Fixes #14220
Bjørn Erik Pedersen [Thu, 27 Nov 2025 19:41:56 +0000 (20:41 +0100)]
testscripts: Move layouts file to new structure
Joe Mooring [Thu, 27 Nov 2025 16:09:08 +0000 (08:09 -0800)]
resources: Skip integration test if Dart Sass is not installed
dependabot[bot] [Wed, 26 Nov 2025 08:02:42 +0000 (08:02 +0000)]
build(deps): bump github.com/aws/aws-sdk-go-v2/service/cloudfront
Bumps [github.com/aws/aws-sdk-go-v2/service/cloudfront](https://github.com/aws/aws-sdk-go-v2) from 1.57.0 to 1.58.1.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.57.0...service/s3/v1.58.1)
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/cloudfront
dependency-version: 1.58.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Bjørn Erik Pedersen [Thu, 27 Nov 2025 11:04:47 +0000 (12:04 +0100)]
testing: Replace legacy config.toml with hugo.toml in most tests
Bjørn Erik Pedersen [Thu, 27 Nov 2025 09:42:29 +0000 (10:42 +0100)]
testing: Port integration tests to new templates structure
As introduced in v0.146.0. Keep some legecy test to preserve backwards compatibility.
Bjørn Erik Pedersen [Thu, 27 Nov 2025 08:48:54 +0000 (09:48 +0100)]
github: Correct dependabot => dependabot[bot]
Joe Mooring [Mon, 28 Apr 2025 18:40:06 +0000 (11:40 -0700)]
config/privacy: Change GoogleAnalytics.RespectDoNotTrack default to true
Closes #13307
Bjørn Erik Pedersen [Wed, 26 Nov 2025 14:24:04 +0000 (15:24 +0100)]
Add signed and notarized MacOS pkg builds
Closes #14135
Bjørn Erik Pedersen [Wed, 26 Nov 2025 12:49:43 +0000 (13:49 +0100)]
Upgrade to Go 1.25.4
Joe Mooring [Tue, 25 Nov 2025 18:28:35 +0000 (10:28 -0800)]
tpl/urls: Add PathEscape and PathUnescape functions
Closes #14209
Bjørn Erik Pedersen [Tue, 25 Nov 2025 14:37:24 +0000 (15:37 +0100)]
Fix slow server startup of very big content trees
As in content trees with 10 thousand of directories and more.
A benchmark with the bottle neck code in `helpers.ExtractAndGroupRootPaths`:
```
│ cmp20251125.bench │ fix-extractandgrouproot-14211.bench │
│ sec/op │ sec/op vs base │
ExtractAndGroupRootPaths-10
1282818 .8µ ± 8% 493.8µ ± 38% -99.96% (p=0.002 n=6)
│ cmp20251125.bench │ fix-extractandgrouproot-14211.bench │
│ B/op │ B/op vs base │
ExtractAndGroupRootPaths-10 3343.8Ki ± 0% 146.3Ki ± 0% -95.63% (p=0.002 n=6)
│ cmp20251125.bench │ fix-extractandgrouproot-14211.bench │
│ allocs/op │ allocs/op vs base │
ExtractAndGroupRootPaths-10 20.043k ± 0% 2.979k ± 0% -85.14% (p=0.002 n=6)
```
For test project that started this (a 60k directory conent tree), the server startup with no rendering, wen from 1.5 minutes to less than 4 seconds:
```
hugop server --renderSegments none main ✚ ✖ ✱ ◼
Watching for changes in /Users/bep/dev/sites/hugotestsites/60k/content/{section0,section1,section10,section100,section101,section102,section103,section104,section105,section106,...}
Watching for changes in /Users/bep/dev/sites/hugotestsites/60k/layouts/_default
Watching for config changes in /Users/bep/dev/sites/hugotestsites/60k/config.toml
Start building sites …
hugo v0.153.0-DEV-
7e27c303904ed8b221d6a5a4fc9a764bb7b2935b darwin/arm64 BuildDate=2025-11-25T15:02:58Z
│ EN
──────────────────┼────
Pages │ 0
Paginator pages │ 0
Non-page files │ 0
Static files │ 0
Processed images │ 0
Aliases │ 0
Cleaned │ 0
Built in 3884 ms
Environment: "development"
Serving pages from disk
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at //localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop
```
Note that the output may be a little different and a little more verbose than before., but the information is correct and this implementation is significantly faster and simpler.
Fixes #14211
Bjørn Erik Pedersen [Fri, 21 Nov 2025 13:20:59 +0000 (14:20 +0100)]
Speedup and simplify page assembly for deeper content trees
This commit moves to a forked version go-radix (fork source has not had any updates in 3 years.), whith 2 notable changes:
* It's generic (using Go generics) and thus removes a lot of type conversions/assertions.
* It allows nodes to be replaced during walk, which allows to partition the tree for parallel processing without worrying about locking.
For this repo, this means:
* The assembly step now processes nested sections in parallel, which gives a speedup for deep content trees with a slight allocation penalty (see benchmarks below).
* Nodes that needs to be reinserted are inserted directly.
* Also, there are some drive-by fixes of some allocation issues, e.g. avoid wrapping mutexes in returned anonomous functions, a common source of hidden allocations.
```
│ master.bench │ perf-p3.bench │
│ sec/op │ sec/op vs base │
AssembleDeepSiteWithManySections/depth=1/sectionsPerLevel=1/pagesPerSection=50-10 6.958m ± 3% 7.015m ± 3% ~ (p=0.589 n=6)
AssembleDeepSiteWithManySections/depth=1/sectionsPerLevel=6/pagesPerSection=100-10 14.25m ± 1% 14.56m ± 8% ~ (p=0.394 n=6)
AssembleDeepSiteWithManySections/depth=1/sectionsPerLevel=6/pagesPerSection=500-10 48.07m ± 3% 49.23m ± 3% ~ (p=0.394 n=6)
AssembleDeepSiteWithManySections/depth=2/sectionsPerLevel=6/pagesPerSection=100-10 66.66m ± 4% 66.47m ± 6% ~ (p=0.485 n=6)
AssembleDeepSiteWithManySections/depth=4/sectionsPerLevel=2/pagesPerSection=100-10 59.57m ± 4% 50.73m ± 5% -14.85% (p=0.002 n=6)
geomean 28.54m 27.92m -2.18%
│ master.bench │ perf-p3.bench │
│ B/op │ B/op vs base │
AssembleDeepSiteWithManySections/depth=1/sectionsPerLevel=1/pagesPerSection=50-10 4.513Mi ± 0% 4.527Mi ± 0% +0.33% (p=0.002 n=6)
AssembleDeepSiteWithManySections/depth=1/sectionsPerLevel=6/pagesPerSection=100-10 15.35Mi ± 0% 15.49Mi ± 0% +0.94% (p=0.002 n=6)
AssembleDeepSiteWithManySections/depth=1/sectionsPerLevel=6/pagesPerSection=500-10 62.50Mi ± 0% 63.19Mi ± 0% +1.10% (p=0.002 n=6)
AssembleDeepSiteWithManySections/depth=2/sectionsPerLevel=6/pagesPerSection=100-10 86.78Mi ± 0% 87.73Mi ± 0% +1.09% (p=0.002 n=6)
AssembleDeepSiteWithManySections/depth=4/sectionsPerLevel=2/pagesPerSection=100-10 62.96Mi ± 0% 63.66Mi ± 0% +1.12% (p=0.002 n=6)
geomean 29.84Mi 30.11Mi +0.92%
│ master.bench │ perf-p3.bench │
│ allocs/op │ allocs/op vs base │
AssembleDeepSiteWithManySections/depth=1/sectionsPerLevel=1/pagesPerSection=50-10 60.44k ± 0% 60.97k ± 0% +0.87% (p=0.002 n=6)
AssembleDeepSiteWithManySections/depth=1/sectionsPerLevel=6/pagesPerSection=100-10 205.8k ± 0% 211.4k ± 0% +2.70% (p=0.002 n=6)
AssembleDeepSiteWithManySections/depth=1/sectionsPerLevel=6/pagesPerSection=500-10 831.1k ± 0% 858.3k ± 0% +3.27% (p=0.002 n=6)
AssembleDeepSiteWithManySections/depth=2/sectionsPerLevel=6/pagesPerSection=100-10 1.157M ± 0% 1.197M ± 0% +3.41% (p=0.002 n=6)
AssembleDeepSiteWithManySections/depth=4/sectionsPerLevel=2/pagesPerSection=100-10 839.9k ± 0% 867.8k ± 0% +3.31% (p=0.002 n=6)
geomean 398.5k 409.3k +2.71%
```
Joe Mooring [Fri, 24 Oct 2025 19:11:54 +0000 (12:11 -0700)]
markup/asciidocext: Improve Asciidoctor integration
Fixes an issue where improper attribute derivation from the page's
relative permalink caused failures with `outdir`, `imagesoutdir`, and
`imagesdir` when `markup.asciidocext.workingFolderCurrent` is enabled.
The updated logic now correctly handles:
- Multi-byte characters
- Multilingual multi-host sites
- Site builds from a subdirectory
- Pages using ugly URLs
Supports diagram caching as implemented in v3.1.0 of the asciidoctor-diagram
extension:
- Enables caching by default
- Sets default cache location to the compiled value of caches.misc.dir
Reduces duration of integration tests by:
- Generating GoAT diagrams instead of Ditaa diagrams
- Taking advantage of asciidoctor-diagram caching
Closes #9202
Closes #10183
Closes #10473
Closes #14160
Bjørn Erik Pedersen [Mon, 24 Nov 2025 20:00:24 +0000 (21:00 +0100)]
gemini: Remove styleguide.md (for now)
Bjørn Erik Pedersen [Mon, 24 Nov 2025 19:37:19 +0000 (20:37 +0100)]
github: Reenable Gemini, but no auto code review
Bjørn Erik Pedersen [Mon, 24 Nov 2025 18:42:28 +0000 (19:42 +0100)]
github: Partition tests by their root
Bjørn Erik Pedersen [Mon, 24 Nov 2025 18:04:33 +0000 (19:04 +0100)]
github: Make the clean commands work
Bjørn Erik Pedersen [Mon, 24 Nov 2025 17:38:53 +0000 (18:38 +0100)]
github: Also test the root package (left out in previous commit)
Bjørn Erik Pedersen [Mon, 24 Nov 2025 17:38:21 +0000 (18:38 +0100)]
github: More disk space saving optimizations
Joe Mooring [Fri, 21 Nov 2025 18:16:21 +0000 (10:16 -0800)]
github: Add PR Template
Bjørn Erik Pedersen [Fri, 21 Nov 2025 15:19:24 +0000 (16:19 +0100)]
Adjust benchmark
Bjørn Erik Pedersen [Thu, 20 Nov 2025 10:01:23 +0000 (11:01 +0100)]
tpl/openapi: Add support for OpenAPI external file references
Fixes #8067
dependabot[bot] [Fri, 21 Nov 2025 08:02:41 +0000 (08:02 +0000)]
build(deps): bump github.com/aws/aws-sdk-go-v2/service/cloudfront
Bumps [github.com/aws/aws-sdk-go-v2/service/cloudfront](https://github.com/aws/aws-sdk-go-v2) from 1.56.3 to 1.57.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ecs/v1.56.3...service/s3/v1.57.0)
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/cloudfront
dependency-version: 1.57.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Thu, 20 Nov 2025 09:40:19 +0000 (09:40 +0000)]
build(deps): bump golang.org/x/image from 0.32.0 to 0.33.0
Bumps [golang.org/x/image](https://github.com/golang/image) from 0.32.0 to 0.33.0.
- [Commits](https://github.com/golang/image/compare/v0.32.0...v0.33.0)
---
updated-dependencies:
- dependency-name: golang.org/x/image
dependency-version: 0.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Thu, 20 Nov 2025 09:40:15 +0000 (09:40 +0000)]
build(deps): bump golang.org/x/crypto from 0.43.0 to 0.45.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.43.0 to 0.45.0.
- [Commits](https://github.com/golang/crypto/compare/v0.43.0...v0.45.0)
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.45.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Bjørn Erik Pedersen [Fri, 21 Nov 2025 10:46:26 +0000 (11:46 +0100)]
github: Skip dependabot for AI Watchdog workflow
dependabot[bot] [Fri, 21 Nov 2025 08:02:57 +0000 (08:02 +0000)]
build(deps): bump github.com/tdewolff/minify/v2 from 2.24.5 to 2.24.7
Bumps [github.com/tdewolff/minify/v2](https://github.com/tdewolff/minify) from 2.24.5 to 2.24.7.
- [Release notes](https://github.com/tdewolff/minify/releases)
- [Commits](https://github.com/tdewolff/minify/compare/v2.24.5...v2.24.7)
---
updated-dependencies:
- dependency-name: github.com/tdewolff/minify/v2
dependency-version: 2.24.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Bjørn Erik Pedersen [Fri, 21 Nov 2025 10:00:50 +0000 (11:00 +0100)]
github: Remove the 386 test step in GitHub test workflow
Fixes #14201
Bjørn Erik Pedersen [Fri, 21 Nov 2025 08:49:26 +0000 (09:49 +0100)]
github: Remove test binaries after CI test runs
Bjørn Erik Pedersen [Thu, 20 Nov 2025 12:24:33 +0000 (13:24 +0100)]
github: Fix "no space left on device" issue in CI
dependabot[bot] [Thu, 20 Nov 2025 08:02:49 +0000 (08:02 +0000)]
build(deps): bump github.com/aws/aws-sdk-go-v2/service/cloudfront
Bumps [github.com/aws/aws-sdk-go-v2/service/cloudfront](https://github.com/aws/aws-sdk-go-v2) from 1.56.0 to 1.56.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.56.0...service/ecs/v1.56.3)
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/cloudfront
dependency-version: 1.56.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Thu, 20 Nov 2025 08:02:54 +0000 (08:02 +0000)]
build(deps): bump golang.org/x/tools from 0.38.0 to 0.39.0
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.38.0 to 0.39.0.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.38.0...v0.39.0)
---
updated-dependencies:
- dependency-name: golang.org/x/tools
dependency-version: 0.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Thu, 20 Nov 2025 08:01:33 +0000 (08:01 +0000)]
build(deps): bump github.com/tetratelabs/wazero from 1.10.0 to 1.10.1
Bumps [github.com/tetratelabs/wazero](https://github.com/tetratelabs/wazero) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/tetratelabs/wazero/releases)
- [Commits](https://github.com/tetratelabs/wazero/compare/v1.10.0...v1.10.1)
---
updated-dependencies:
- dependency-name: github.com/tetratelabs/wazero
dependency-version: 1.10.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Bjørn Erik Pedersen [Wed, 19 Nov 2025 15:01:38 +0000 (16:01 +0100)]
github: Adjust watchdog run logic (now with correct spelling)
Bjørn Erik Pedersen [Wed, 19 Nov 2025 14:59:33 +0000 (15:59 +0100)]
github: Adjust watchdog run logic (again)
Bjørn Erik Pedersen [Wed, 19 Nov 2025 14:49:52 +0000 (15:49 +0100)]
github: Adjust watchdog run logic
Bjørn Erik Pedersen [Wed, 19 Nov 2025 14:32:28 +0000 (15:32 +0100)]
github: Only run AI Watchdog when the PR is ready for review
dependabot[bot] [Wed, 19 Nov 2025 11:40:23 +0000 (11:40 +0000)]
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.22.0 to 1.24.4.
- [Release notes](https://github.com/bits-and-blooms/bitset/releases)
- [Commits](https://github.com/bits-and-blooms/bitset/compare/v1.22.0...v1.24.4)
---
updated-dependencies:
- dependency-name: github.com/bits-and-blooms/bitset
dependency-version: 1.24.4
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Wed, 19 Nov 2025 11:40:43 +0000 (11:40 +0000)]
build(deps): bump github.com/olekukonko/tablewriter from 1.1.0 to 1.1.1
Bumps [github.com/olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) from 1.1.0 to 1.1.1.
- [Commits](https://github.com/olekukonko/tablewriter/compare/v1.1.0...v1.1.1)
---
updated-dependencies:
- dependency-name: github.com/olekukonko/tablewriter
dependency-version: 1.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Wed, 19 Nov 2025 11:40:32 +0000 (11:40 +0000)]
build(deps): bump golang.org/x/text from 0.30.0 to 0.31.0
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.30.0 to 0.31.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.30.0...v0.31.0)
---
updated-dependencies:
- dependency-name: golang.org/x/text
dependency-version: 0.31.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Wed, 19 Nov 2025 11:16:23 +0000 (11:16 +0000)]
build(deps): bump github.com/evanw/esbuild from 0.25.12 to 0.27.0
Bumps [github.com/evanw/esbuild](https://github.com/evanw/esbuild) from 0.25.12 to 0.27.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.12...v0.27.0)
---
updated-dependencies:
- dependency-name: github.com/evanw/esbuild
dependency-version: 0.27.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Bjørn Erik Pedersen [Wed, 19 Nov 2025 11:37:14 +0000 (12:37 +0100)]
Update aiwatchdog.yml
Bjørn Erik Pedersen [Wed, 19 Nov 2025 11:29:22 +0000 (12:29 +0100)]
Update aiwatchdog.yml
Bjørn Erik Pedersen [Wed, 19 Nov 2025 11:27:47 +0000 (12:27 +0100)]
Update aiwatchdog.yml
Bjørn Erik Pedersen [Wed, 19 Nov 2025 11:13:11 +0000 (12:13 +0100)]
github: Add label to AI suspects and do not fail when confident
The latter is mostly to get the dependabot PRs through. We may add a filter to that later.
Bjørn Erik Pedersen [Tue, 18 Nov 2025 19:29:22 +0000 (20:29 +0100)]
github: Adjust AI Watchdog workflow to make it run PRs from forks
Bjørn Erik Pedersen [Tue, 18 Nov 2025 18:37:32 +0000 (19:37 +0100)]
github: Adjust workflow permissions
Bjørn Erik Pedersen [Tue, 18 Nov 2025 12:58:19 +0000 (13:58 +0100)]
performance: Misc allocation improvements
```
│ stash.bench │ perf-allloc20251118.bench │
│ sec/op │ sec/op vs base │
CreateShortcodePlaceholders-10 54.16n ± ∞ ¹ 39.06n ± ∞ ¹ -27.87% (p=0.029 n=4)
¹ need >= 6 samples for confidence interval at level 0.95
│ stash.bench │ perf-allloc20251118.bench │
│ B/op │ B/op vs base │
CreateShortcodePlaceholders-10 52.00 ± ∞ ¹ 48.00 ± ∞ ¹ -7.69% (p=0.029 n=4)
¹ need >= 6 samples for confidence interval at level 0.95
│ stash.bench │ perf-allloc20251118.bench │
│ allocs/op │ allocs/op vs base │
CreateShortcodePlaceholders-10 2.000 ± ∞ ¹ 1.000 ± ∞ ¹ -50.00% (p=0.029 n=4)
¹ need >= 6 samples for confidence interval at level 0.95
````
Bjørn Erik Pedersen [Tue, 18 Nov 2025 11:30:50 +0000 (12:30 +0100)]
hugolib/doctree: Simplify lock setup in SimpleThreadSafeTree to reduce read allocation
```
│ sec/op │ sec/op vs base │
SimpleThreadSafeTree/Get-10 45.80n ± 11% 27.71n ± 7% -39.51% (p=0.002 n=6)
SimpleThreadSafeTree/Insert-10 40.96n ± 1% 40.36n ± 0% -1.47% (p=0.002 n=6)
SimpleThreadSafeTree/LongestPrefix-10 47.12n ± 0% 32.60n ± 1% -30.81% (p=0.002 n=6)
geomean 44.54n 33.16n -25.57%
│ cmp152.bench │ perf-allloc20251118.bench │
│ B/op │ B/op vs base │
SimpleThreadSafeTree/Get-10 16.00 ± 0% 0.00 ± 0% -100.00% (p=0.002 n=6)
SimpleThreadSafeTree/Insert-10 8.000 ± 0% 8.000 ± 0% ~ (p=1.000 n=6) ¹
SimpleThreadSafeTree/LongestPrefix-10 16.00 ± 0% 0.00 ± 0% -100.00% (p=0.002 n=6)
````
Bjørn Erik Pedersen [Tue, 18 Nov 2025 18:05:13 +0000 (19:05 +0100)]
github: Add ai-watchdog workflow and update other workflows' versions
See #14147
dependabot[bot] [Tue, 11 Nov 2025 08:03:35 +0000 (08:03 +0000)]
build(deps): bump google.golang.org/api from 0.251.0 to 0.255.0
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.251.0 to 0.255.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.251.0...v0.255.0)
---
updated-dependencies:
- dependency-name: google.golang.org/api
dependency-version: 0.255.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Tue, 11 Nov 2025 08:04:50 +0000 (08:04 +0000)]
build(deps): bump github.com/aws/aws-sdk-go-v2/service/cloudfront
Bumps [github.com/aws/aws-sdk-go-v2/service/cloudfront](https://github.com/aws/aws-sdk-go-v2) from 1.54.4 to 1.56.0.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.54.4...service/s3/v1.56.0)
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/cloudfront
dependency-version: 1.56.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Tue, 11 Nov 2025 08:03:12 +0000 (08:03 +0000)]
build(deps): bump github.com/tetratelabs/wazero from 1.9.0 to 1.10.0
Bumps [github.com/tetratelabs/wazero](https://github.com/tetratelabs/wazero) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/tetratelabs/wazero/releases)
- [Commits](https://github.com/tetratelabs/wazero/compare/v1.9.0...v1.10.0)
---
updated-dependencies:
- dependency-name: github.com/tetratelabs/wazero
dependency-version: 1.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Joe Mooring [Sun, 16 Nov 2025 19:23:14 +0000 (11:23 -0800)]
tpl/collections: Improve collections.D
Changes:
- If n > hi, return the full, sorted range [0, hi) of size hi.
- Throw errors when seed, n, or hi are < 0
- Improve error messages
Closes #14143
Bjørn Erik Pedersen [Sun, 16 Nov 2025 12:28:43 +0000 (13:28 +0100)]
Optimize memory allocations for sites matrix vector stores
By
* Caching common sites matrix setups (e.g. the single site in single site setups).
* Adding a fast path to IntSets.HasAnyVector for the common case of single vector input.
```
AssembleDeepSiteWithManySections/depth=3/sectionsPerLevel=2/pagesPerSection=100-10 31.62m ± 46% 30.68m ± 42% ~ (p=0.310 n=6)
│ master.bench │ perfcommon.bench │
│ B/op │ B/op vs base │
AssembleDeepSiteWithManySections/depth=3/sectionsPerLevel=2/pagesPerSection=100-10 31.98Mi ± 0% 31.24Mi ± 0% -2.30% (p=0.002 n=6)
│ master.bench │ perfcommon.bench │
│ allocs/op │ allocs/op vs base │
AssembleDeepSiteWithManySections/depth=3/sectionsPerLevel=2/pagesPerSection=100-10 460.9k ± 0% 419.9k ± 0% -8.90% (p=0.002 n=6)
````
Bjørn Erik Pedersen [Mon, 17 Nov 2025 13:50:22 +0000 (14:50 +0100)]
gemini: Disable auto PR codereviews for now
I'm assuming it's still possible to trigger commands like `/gemini review` manually.
Jordan Elver [Fri, 24 Oct 2025 09:52:16 +0000 (10:52 +0100)]
docs: Fix link to CGO wiki page
The Go wiki is no longer hosted on GitHub, and has moved to go.dev. See https://github.com/golang/go/wiki/
Joe Mooring [Sun, 16 Nov 2025 20:36:05 +0000 (12:36 -0800)]
github: Update asciidoctor-diagrams extension and add GoAT
Bjørn Erik Pedersen [Sun, 16 Nov 2025 19:25:33 +0000 (20:25 +0100)]
Fix grammatical error in styleguide.md
Bjørn Erik Pedersen [Sun, 16 Nov 2025 19:05:32 +0000 (20:05 +0100)]
Update styleguide.md
Bjørn Erik Pedersen [Sun, 16 Nov 2025 18:30:46 +0000 (19:30 +0100)]
Add gemini setup files
Ahamed_Meyan [Sun, 16 Nov 2025 10:10:20 +0000 (15:40 +0530)]
static: Preserve .gitignore and .gitattributes in --cleanDestinationDir
Fixes #14097
Bjørn Erik Pedersen [Sat, 15 Nov 2025 10:40:18 +0000 (11:40 +0100)]
hugolib: Fix recently introduced data race
This introduces a new thread safe maps.Map type to avoid abusing the exsting maps.Cache for regular map uses.
Fixes #14140
Bjørn Erik Pedersen [Wed, 12 Nov 2025 11:55:27 +0000 (12:55 +0100)]
hugolib: Improve performance of content trees with many sections
Hugo's build process is roughly divided into three steps:
1. Process content (walk file system and insert source nodes into content tree)
2. Assemble content (assemble pages and resources according to sites matrix)
3. Render content
In #13679 we consolidated the page creation logic into one place (the assemble step). This made it much simpler to reason about, but it lost us some performance esp. in big content trees.
This commit re-introduces parallelization in the first step in the assemble step by handling each top level section in its own goroutine. This gives significant performance improvements for content trees with many sections.
Compared to master:
```
AssembleDeepSiteWithManySections/depth=1/sectionsPerLevel=6/pagesPerSection=100-10 19.26m ± ∞ ¹ 14.54m ± ∞ ¹ -24.52% (p=0.029 n=4)
AssembleDeepSiteWithManySections/depth=2/sectionsPerLevel=2/pagesPerSection=100-10 19.74m ± ∞ ¹ 16.45m ± ∞ ¹ -16.71% (p=0.029 n=4)
AssembleDeepSiteWithManySections/depth=2/sectionsPerLevel=6/pagesPerSection=100-10 106.18m ± ∞ ¹ 71.23m ± ∞ ¹ -32.91% (p=0.029 n=4)
AssembleDeepSiteWithManySections/depth=3/sectionsPerLevel=2/pagesPerSection=100-10 38.85m ± ∞ ¹ 30.47m ± ∞ ¹ -21.59% (p=0.029 n=4)
```
Joe Mooring [Thu, 13 Nov 2025 16:23:12 +0000 (08:23 -0800)]
markup/asciidocext: Support boolean document attributes
Closes #14138
Joe Mooring [Wed, 12 Nov 2025 18:33:51 +0000 (10:33 -0800)]
github: Allow AsciiDoc content in tests to render Ditaa diagrams
In
2c80dee3586caec7ac5cec7af92eb590c6fc3ff3 we enabled rendering of
PlantUML diagrams within integration tests. This commit removes PlantUML
support from the tests in favor of rendering Ditaa diagrams, which take
less time to generate.
Bjørn Erik Pedersen [Wed, 12 Nov 2025 17:09:09 +0000 (18:09 +0100)]
Add a site assembly benchmark test for a deeper site structure with more sections and pages
Bjørn Erik Pedersen [Wed, 12 Nov 2025 08:33:56 +0000 (09:33 +0100)]
sitesmatrix: Clary default dimension values
And make the default content version `v.1.0.0`. It has not much practical difference, but this encourages semver usage.
Bjørn Erik Pedersen [Wed, 12 Nov 2025 11:58:30 +0000 (12:58 +0100)]
Run go mod tidy to clean up go.mod and go.sum
Bjørn Erik Pedersen [Tue, 11 Nov 2025 10:27:26 +0000 (11:27 +0100)]
docshelper: Fix some YAML serialization issues with sites matrix configuration
Fixes #14132
David Karlsson [Mon, 10 Nov 2025 08:33:15 +0000 (09:33 +0100)]
resources/page: Fix slugorcontentbasename for section pages
The slugorcontentbasename permalink token was creating an extra
subdirectory for section pages (_index.md files). This was because
pageToPermalinkContentBaseName did not have the same special handling
for _index.md files as pageToPermalinkFilename.
This commit adds the special handling to return an empty string for
section pages, ensuring backward compatibility with slugorfilename.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixes #14104
dependabot[bot] [Mon, 3 Nov 2025 08:01:47 +0000 (08:01 +0000)]
build(deps): bump github.com/evanw/esbuild from 0.25.11 to 0.25.12
Bumps [github.com/evanw/esbuild](https://github.com/evanw/esbuild) from 0.25.11 to 0.25.12.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.11...v0.25.12)
---
updated-dependencies:
- dependency-name: github.com/evanw/esbuild
dependency-version: 0.25.12
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Bjørn Erik Pedersen [Sat, 8 Nov 2025 10:22:56 +0000 (11:22 +0100)]
testing: Rewrite all the old style integration tests to txtar style tests
And remove some not worth keeping (or too much work to convert).
Alexandru Grigore [Sun, 9 Nov 2025 19:41:45 +0000 (21:41 +0200)]
commands: newDocsHelper encode integers as ints in generated YAML
Previously the JSON -> map roundtrip produced float64 values which caused the YAML encoder to emit integers like 404.0 instead of 404. Use the YAML encoder option yaml.AutoInt() so numbers that are integer-valued are encoded as integers.
This change affects the
ewDocsHelper command (commands/gen.go) where the docs data is written to docs/data/docs.yaml. After this change generated YAML will contain integer values (e.g. status: 404) instead of floats (e.g. status: 404.0).
Fixes #14122
Joe Mooring [Sat, 8 Nov 2025 20:39:42 +0000 (12:39 -0800)]
config: Add struct tags to deprecated and unused fields
This will remove these fields from the output of newDocsHelper.
Bjørn Erik Pedersen [Fri, 7 Nov 2025 17:37:44 +0000 (18:37 +0100)]
hugolib: Delete some old integration tests
We have had several had several integration test setups over the years. What we have now, backed by txtar files, has been working very well for a long time.
The tests deleted here may lose us some coverage, but they are painful to maintain and it's unlikely that we will port them to the new setup.
Bjørn Erik Pedersen [Thu, 6 Nov 2025 15:22:02 +0000 (16:22 +0100)]
testing: Revise usage of b.N and b.Loop() in benchmarks
Bjørn Erik Pedersen [Thu, 6 Nov 2025 09:43:12 +0000 (10:43 +0100)]
all: Fix some benchmarks broken by modernize
It's not possible to use `b.Loop()` when `b.N` is used to prepare test data.
See
264022a75a8e4d91d7461747eef4d06267cc519f
See #14107
Bjørn Erik Pedersen [Wed, 5 Nov 2025 19:41:17 +0000 (20:41 +0100)]
all: Run modernize -fix ./...
Closes #14107
Bjørn Erik Pedersen [Wed, 5 Nov 2025 14:52:47 +0000 (15:52 +0100)]
Add roles and versions as new dimensions (in addition to language)
See the main issue #13776 for details.
Fixes #519
Fixes #13680
Fixes #13663
Fixes #13776
Fixes #13855
Fixes #13648
Fixes #13996
Fixes #14001
Fixes #14031
Fixes #13818
Fixes #13196
Bjørn Erik Pedersen [Tue, 4 Nov 2025 09:57:26 +0000 (10:57 +0100)]
Update CONTRIBUTING.md
Joe Mooring [Fri, 31 Oct 2025 19:47:40 +0000 (12:47 -0700)]
github: Allow AsciiDoc content in tests to render diagrams
Bjørn Erik Pedersen [Sun, 26 Oct 2025 16:45:57 +0000 (17:45 +0100)]
hreflect: Cache reflect method lookups used in collections.Where and others
We already cached the method index on the struct, but caching the resolved `reflect.Method` itself saves us from having to do another lookup on each call, which is escpeciall import in the hot path used by collections.Where and otherrs:
```bash
│ master.bench │ fix-reflectmethodcache.bench │
│ sec/op │ sec/op vs base │
WhereSliceOfStructPointersWithMethod-10 592.2µ ± ∞ ¹ 390.1µ ± ∞ ¹ -34.14% (p=0.029 n=4)
¹ need >= 6 samples for confidence interval at level 0.95
│ master.bench │ fix-reflectmethodcache.bench │
│ B/op │ B/op vs base │
WhereSliceOfStructPointersWithMethod-10 205.14Ki ± ∞ ¹ 64.52Ki ± ∞ ¹ -68.55% (p=0.029 n=4)
¹ need >= 6 samples for confidence interval at level 0.95
│ master.bench │ fix-reflectmethodcache.bench │
│ allocs/op │ allocs/op vs base │
WhereSliceOfStructPointersWithMethod-10 9.003k ± ∞ ¹ 4.503k ± ∞ ¹ -49.98% (p=0.029 n=4)
````
Bjørn Erik Pedersen [Thu, 23 Oct 2025 09:00:38 +0000 (11:00 +0200)]
all: Simplify the reflect usage
* Use helper funcs in hreflect package when possible.
* Use hreflect.ConvertIfPossible to handle conversions when possible.
* Move scratch.go from common/maps to common/hstore to clear cyclic import in the next step.
* Move Indirect to hreflect and reimplementing it and adusting the behavior to preserve struct pointers.
* Adjust evaluateSubElem used by where and others making the struct pointer method case slightly faster.
hugoreleaser [Fri, 24 Oct 2025 15:44:59 +0000 (15:44 +0000)]
releaser: Prepare repository for 0.153.0-DEV
[ci skip]
hugoreleaser [Fri, 24 Oct 2025 15:31:49 +0000 (15:31 +0000)]
releaser: Bump versions for release of 0.152.2
[ci skip]
Joe Mooring [Fri, 24 Oct 2025 14:33:05 +0000 (07:33 -0700)]
deps: Update github.com/tdewolff/minify v2.24.4 => v2.24.5
Closes #14086
Bjørn Erik Pedersen [Fri, 24 Oct 2025 08:36:32 +0000 (10:36 +0200)]
hugofs: Make node_modules a "special case" mount
For this and similar mounts in a theme:
```toml
[[module.mounts]]
source = 'node_modules/bootstrap'
target = 'assets/vendor/bootstrap'
```
We first check the theme itself, then the project root.
For backwards compatibility, we also make any `../../node_modules/...` `source` paths into `node_modules/...` paths when defined in themes/modules.
Fixes #14089
Jordan Elver [Fri, 24 Oct 2025 12:30:48 +0000 (14:30 +0200)]
github: Fix typo in stale PR message
hugoreleaser [Wed, 22 Oct 2025 19:24:59 +0000 (19:24 +0000)]
releaser: Prepare repository for 0.153.0-DEV
[ci skip]
hugoreleaser [Wed, 22 Oct 2025 19:10:44 +0000 (19:10 +0000)]
releaser: Bump versions for release of 0.152.1
[ci skip]
Bjørn Erik Pedersen [Wed, 22 Oct 2025 17:12:11 +0000 (19:12 +0200)]
Expand the numeric conversions to template funcs/methods
So the example mentioned in #14079 also works for TOML and JSON front matter.
See #14079