Skip to content

Releases: gohugo-ananke/ananke

Release v2.19.0

Choose a tag to compare

@davidsneighbour davidsneighbour released this 07 Jun 09:45
Immutable release. Only release title and notes can be modified.
v2.19.0
c31ff85

2.19.0 (2026-06-07)

Features

  • add edit-page shortcode for GitHub edit links (#1028) (688f358)

Bug Fixes

  • normalise GoHugo to Hugo (45143b5)
  • various changes to workspace, testing, linting, etc. (c43eae2)

Build

  • vscode: update workspace configuration (9e1d7b9)

Documentation

  • ai: add release notes prompt (606eaac)

Release v2.18.0

Choose a tag to compare

@davidsneighbour davidsneighbour released this 07 Jun 03:52
Immutable release. Only release title and notes can be modified.
v2.18.0
307e391

2.18.0 (2026-06-07)

Features

Bug Fixes

Build

  • deps: update dependencies (3395d1f)
  • fix: proper discussion category for GH release (2b51bf7)
  • fix: proper discussion category for GH release (0a0bc21)
  • vscode: update workspace configuration (90a7775)

Documentation

Tests

Release v2.17.1

Choose a tag to compare

@davidsneighbour davidsneighbour released this 06 Jun 01:13
Immutable release. Only release title and notes can be modified.
v2.17.1
9c1f363

2.17.1 (2026-06-06)

Bug Fixes

  • apply configured social colours on hover for follow and share (#861) (#979) (237551f)
  • test local working tree in quickstart test (#938) (#978) (d545fdf)

Build

  • deps-dev: bump @biomejs/biome from 2.4.15 to 2.4.16 (#977) (ccbcc32)
  • deps-dev: bump @types/node from 25.8.0 to 25.9.1 (#976) (8743905)
  • deps-dev: bump lint-staged from 17.0.4 to 17.0.5 (#975) (447ede2)
  • deps: bump postcss from 8.5.14 to 8.5.15 (#974) (7cd8756)

Chores

Release v2.17.0

Choose a tag to compare

@davidsneighbour davidsneighbour released this 17 May 08:16
Immutable release. Only release title and notes can be modified.
v2.17.0
69f2871

This release brings Hooks and Filters to Ananke. That's all. And some smaller fixes.

2.17.0 (2026-05-17)

Features

Bug Fixes

Build

  • config: update workspace configuration (bcc90b5)
  • fix: create a release on github when publishing a new release (d72fdad)
  • fix: create discussion on release (9a5cadd)

CI

  • fix: do not check the whole code base on TS changes (998b060)

v2.16.0

Choose a tag to compare

@davidsneighbour davidsneighbour released this 16 May 01:33
Immutable release. Only release title and notes can be modified.
v2.16.0
cab7f63

Release Notes

BREAKING CHANGE: Ananke is now using the latest css.Build functionality of Hugo. This means that the old SASS/SCSS pipeline is removed and you need to update your build process if you were relying on it.

Configuration Changes

  • custom_css moved to ananke.custom_css.
  • custom_css expects a list of paths to CSS files in assets and/or HTML files in layouts/_partials.

Example:

[params]
custom_css = ["ananke/css/custom.css", "custom-css-partial.html"] # old, deprecated
[params.ananke]
# looks for custom.css in `assets/ananke/css` and for custom-css-partial.html in `layouts/_partials`
custom_css = ["ananke/css/custom.css", "custom-css-partial.html"]

SASS/SCSS changes

If you don't use SASS/SCSS then you can ignore this section.

Ananke itself is NOT processing any Sass/SCSS files. This means we can rely on the standard Hugo CSS pipeline and remove the dependency on Hugo Extended. This also means that you can use any CSS preprocessor you like, as long as you place the output in assets/ananke/css/ or load it as a separate partial in our pipeline.

If you are using SASS/SCSS then put something along the lines of this in a partial inside of layouts/_partials/:

{{ $opts := dict "enableSourceMap" true }}
{{ return resources.Get "sass/main.scss" | css.Sass $opts }}

Make sure that the partial returns the processed CSS, NOT the SASS source. Your original SASS file in the example above is located at assets/sass/main.scss. You also MUST install the Extended Hugo version and have the sass binary available in your system for this to work. It is NOT Anankes task to help you with that, please refer to the Hugo Community if you need help setting up SASS to work with Hugo.

Development vs Production

  • Source maps are linked in development and disabled outside development.
  • Production output gets fingerprinted.
  • hugo server runs the development pipeline by design.

Further Notes

  • Custom CSS that is found in assets/ananke/css/ is processed by Hugo and emitted as a single theme file. This allows you to write your own custom CSS and have it included in the build without needing to change any of the Ananke templates.
  • Custom CSS that is not found in assets/ananke/css/ is emitted as a separate <link> AFTER the Ananke theme CSS. This allows you to override Ananke styles with your own custom CSS.
  • The resulting theme file is now theme.css instead of main.css. This is a cosmetic change and only breaking your build if you were assuming the name somewhere in your system.
  • Any other post processing? That should work the same way you would add SASS to the pipeline: Add your processor as a partial and add it to the custom CSS pipeline.
  • If you @imported font files in your previous setup from the static folder, you need to move them now into the assets folder and import them from there. Having those files in the static folder will lead to js.Build errors when processing the CSS.

Further Reading

Requirements

  • Hugo v0.161+

Changelog

2.16.0 (2026-05-16)

Features

  • rework stylesheet pipeline (f78134c)

Build

  • deps: update bundled Tachyons from 4.9.1 to 4.12.0 (433ef8f)
  • fix: run test only on main branch push hook (148aa95)
  • fix: update version numbers and fix release setup (29f0f4d)

Full Changelog: v2.15.0...v2.16.0

v2.15.0

Choose a tag to compare

@davidsneighbour davidsneighbour released this 15 May 22:31
Immutable release. Only release title and notes can be modified.
v2.15.0
6a05f5e

BREAKING CHANGE: This release changes the icon set we are using for social media icons. More and more icon sets are removing their icons for social media platforms due to the legal issues around the usage rights . Ananke switched to using Simple Icons which is a free and open source icon set that is licensed under the CC0 License. This means that we can continue to use these icons without any legal issues. However, this also means that some icons may look different than before and some may be missing. If you are missing an icon that you need, please open a discussion and we will guide you to add them to your site.

A couple of icons have been added to the theme, but we will cut them down too in the near future. The preferred way to add an icon is for you to download and add them to your collection. The theme itself will maintain all icons that are mentioned in the documentation and cookbook section for convenience.

Adding new icons

  • find the icon you want to add on https://simpleicons.org/
  • download the SVG file for that icon
  • copy it into /assets/ananke/socials/
  • use the icon name as key in your configuration (if the files called mastodon.svg you use mastodon as key)
[ananke.social.follow]
networks = ["mastodon"]

[ananke.social.mastodon]
profilelink = "https://mastodon.social/@ananke_theme"
username = "ananke_theme"

Further Reading

Changelog:

2.15.0 (2026-05-15)

Features

  • add simple icons and maintenance script (f6fa927)

Build

  • fix: remove improper cooldown config for GH actions (079b757)
  • fix: smaller fixes to the release configuration (0672476)
  • fix: update release setup (229588b)

Chores

Full Changelog: v2.13.3...v2.15.0

v2.13.3 (and 2 and 1 too)

Choose a tag to compare

@davidsneighbour davidsneighbour released this 15 May 04:32
Immutable release. Only release title and notes can be modified.
v2.13.3
2756490

This was supposed to be "just" a quick maintenance release to get a couple of branch rules working and then grew into a couple of "somehow this should work" releases.

2.13.3 (2026-05-15)

Build

  • fix: proper release key attribution (59b44f2)

2.13.2 (2026-05-15)

Build

  • fix: proper release key attribution (db5561d)

2.13.1 (2026-05-15)

Build

  • deps-dev: bump @release-it/conventional-changelog from 10.0.6 to 11.0.0 (#953) (c3ada3f)
  • deps-dev: bump release-it from 19.2.4 to 20.0.1 (#954) (50a4ce9)
  • deps: bump actions/checkout from 4 to 6 (#945) (5d40ea3)
  • deps: bump actions/setup-node from 4 to 6 (#946) (dc0a822)
  • deps: bump postcss from 8.5.10 to 8.5.13 (#955) (ed5f168)
  • deps: bump the npm_and_yarn group across 1 directory with 2 updates (#956) (09a1dea)
  • deps: update dependencies (9347892)
  • fix: always use latest node version (17401b9)
  • fix: dependabot must pull agains development branch (036acd7)
  • rework release configuration (2b6c1fe)

Chores

  • set up branch protection rules and workflows (c0c179c)
  • update package.json (aaa7016)

CI

  • fix: allow quickstart workflow to run on request (a1dd0f6)
  • fix: lint only staged markdown files (60eb57d)
  • update branch setup/rules and CONTRIBUTING.md (c336f54)

Documentation

  • add AI contributor guide to CONTRIBUTING.md (a819d1e)
  • ai: add DESIGN.md with initial setup (d262f3a)
  • ai: add issue analysis prompt (437d60c)
  • ai: fix test script prompt (d569659)
  • ai: update issue analysis prompt with documentation instructions (c5c37be)
  • fix: update links to documentation repository (feb14b2)
  • readme: link to deployed documentation (#959) (f63ea20)

v2.13.0

Choose a tag to compare

@davidsneighbour davidsneighbour released this 24 Apr 01:03
v2.13.0
02c358d

BREAKING CHANGE: Repository Migration

This interim release bundles all fixes since the previous version.

The primary reason for publishing now is the migration of the theme repository to a dedicated GitHub organisation. During this transition, some links may temporarily break, and this release helps ensure a smoother update path before the next major version.

Ananke moved to its own organisation on April 23, 2026. Please update your references from github.com/theNewDynamic/gohugo-theme-ananke to github.com/gohugo-ananke/ananke. We are currently updating documentation and links across all repositories. In the meantime, both URLs will continue to function for links, cloning, and submodule usage.

Updating your setup

For Hugo Modules

Search and replace all instances of github.com/theNewDynamic/gohugo-theme-ananke/v2 with github.com/gohugo-ananke/ananke/v2 in your site configuration, then run hugo mod tidy to refresh dependencies.

For Git Submodules

Update the remote URL of your existing submodule:

cd path/to/your/repo/themes/ananke # adjust path as needed, keep 'themes/ananke'
git remote set-url origin https://github.com/gohugo-ananke/ananke.git

Next, open .gitmodules in the root of your repository and replace all instances of theNewDynamic/gohugo-theme-ananke with gohugo-ananke/ananke.
Finally, run:

git submodule sync

Troubleshooting

If you are using Hugo Modules and encounter issues after updating, ensure that your go.mod file reflects the new module path and go.sum does not contain stale entries. Running hugo mod tidy should resolve most issues by refreshing your dependencies. DO NOT forget to add v2 to the module path. This is a requirement of Go Modules to differentiate major versions.

If you are experiencing issues with Git submodules, double-check that the remote URL has been updated correctly and that .gitmodules reflects the new path. Running git submodule sync is crucial to ensure that your local repository is in sync with the updated configuration.

git -C themes/ananke remote get-url origin <-- should return the new URL or SSH path, if not, set it with the next command
git -C themes/ananke remote set-url origin https://github.com/gohugo-ananke/ananke.git

Questions or issues?
Please use GitHub Discussions to get in touch.

What's Changed

New Contributors

Full Changelog: v2.12.1...v2.13.0

Bugfix release

Choose a tag to compare

@davidsneighbour davidsneighbour released this 13 May 00:34
v2.12.1
5a352dd

A couple of smaller bugfixes and cleanups.

2.12.1 (2025-05-13)

Documentation

Theme

  • fix: hyperlink text color on home different from other pages (cd83033)
  • fix: hyperlink text color on home different from other pages (on more layouts) (c789473)
  • fix: replace username only when given (1027ebf), closes #843
  • fix: use html.dir attribute configured in language setup (92ee7ad)

Refactors

  • move all template methods to proper GoHugo methods (1804711)
  • sort css classes (36503c4)

Build System

Full Changelog: v2.12.0...v2.12.1

v2.12.0

Choose a tag to compare

@davidsneighbour davidsneighbour released this 09 Feb 11:18
v2.12.0
8e3303d

This release fixes some messes with the social media integrations and the way main sections are evaluated. Add some refactoring and cleanup and you have a new release.

Breaking Changes

  • Module Integration: This was added in one of the previous releases, but lead to issues and misunderstandings. The way modules are handled in Golang (and GoHugo) is NOT only the path to the github repository, but also a version string, that can be left out if the major version is 0 or 1. Because this themes major version is 2 that leads to two effects.

    Using github.com/theNewDynamic/gohugo-theme-ananke in your config file will lead to GoHugo using the latest HEAD of the repository, which is not recommended. You will receive every single latest commit on update, which might and has broken the theme.

    Using github.com/theNewDynamic/gohugo-theme-ananke/v2 will lead to GoHugo using the latest release of the repository, which is recommended. You will receive only the latest release on update, which should be stable.

    If you are using the GoHugo Modules way to integrate the theme, then please update to the latter method. If you are using the submodule way... well... this is a completely different story. It's not versioned, but it also only updates on manual request (for instance via git pull && git checkout v2.10.3 inside of the theme directory).

  • Index page: the way main sections were evaluated was unclear and probably changed much from the original design in GoHugo. This has been fixed and the main sections are now evaluated in a more consistent way. This might affect what is shown on your website, so open a discussion if you see something wrong and try to explain exactly what you expected to see in sense of included posts and order of those posts.

    The old way did this: check all configured main sections (or post, if nothing is set) > range through the section and display the first n+m posts (n = number of full previews, m = number of title previews only).

    The new way does this: load all posts in the main sections > range through the collection and display the first n+m posts (n = number of full previews, m = number of title previews only).

    Basically, the old way took every single section you configured and displayed them separate, the new way takes all posts from all sections and displays them in one list. This is more consistent and should be more predictable for you as a user. It's also the way it was intended to work from the beginning according to the documentation.

  • Social Media Icons: creating new networks had to be changed to a more flexible way.

    # old way
    [[ananke.social.networks]]
    slug = "linkedin"
    ...
    
    # new way
    [ananke.social.networks.linkedin]
    slug = "linkedin"

Full Changelog: v2.11.3...v2.12.0