I am rendering some dates using .Date | time.Format "Jan 2006". The only dates which render correctly are those in September (across multiple years). I’ve tried other month formats like “January” or “01” and those all render fine for all months. Odd!
Is this a known bug?
Hugo version is 0.161.1.
Thanks!
Please show examples of your front matter.
All the dates look like this:
date: 2026-04-04T15:46:35+01:00
Please try this…
git clone --single-branch -b hugo-forum-topic-57153 https://github.com/jmooring/hugo-testing hugo-forum-topic-57153
cd hugo-forum-topic-57153
hugo server
…and compare the template code and front matter to what you have.
Works for me.
Odd! Your example works for me too with my installed version of Hugo. I haven’t rendered my site in a bit, but the dates were working previously and I haven’t touched them or the template code.
If you need additional assistance I think you’ll need to provide a public link to your project repository.
EDIT: removed links now that the issue has been identified
I’m also getting this issue, which seems to be a regression introduced no earlier than Apr 16.
Example #1:
This page renders date ranges using this template, which calls this partial. As with the OP, all months except for September fail to render. I introduced that partial on Apr 16, so presumably it was working normally at that date. You can look at the source to see that the datetime values are valid:
Example #2:
Here’s another example without the fancy date range logic:

This comes from this template, and in this case is using the :date_medium localisation token. As you can see in the template, I’ve added some invisible debug elements and it’s only :date_medium (and, by extension, the short-form month name) that has this issue:
locale in the config is set to en-gb. Hugo version information here (from this template).
OK, with the test site above I can reproduce the problem by changing the locale from en-US to en-GB. There may be other locales with the same problem.
This was introduced in v0.161.0 by PR #14794.
Consider this project configuration:
[languages.en]
locale = 'en-GB'
weight = 1
Prior to v0.161.0 Hugo used the language key (en) when calling the golocales package to localize dates, currencies, etc.
With v0.161.0 and later, Hugo uses the locale (en-GB) falling back to the language key (en).
This new behavior exposed an upstream problem in the golocales package where locale-specific data contains only CLDR overrides rather than fully-resolved values inherited from the parent locale. For en-GB , MonthsAbbreviated() returns Sept for September (the only override) and empty strings for all other months, instead of falling back to the en parent locale values.
See:
This is fixed in v0.162.1.