What's New
See the changelog of this version for a detailed list of changes.0.166.0 Minimum required Hugo version
Breaking Change requiring action after upgrade
Change Change of behavior, may require action
New New behavior, often introducing new options
Version 9
9.4.0 (XXXX-XX-XX)
Change
- Change The text of your content is now better readable.
New
-
New Your readers can now sort a table by its columns, also by several of them at once. Rows joined by merged cells stay together.
Tables are not sortable by default. Give a single table the class
sortable, or make all tables sortable with the newtable.sortableoption in your project configuration or a page’s front matter. A single table can then be excluded by the classnosortable.
9.3.0 (2026-10-21)
Change
-
Change Level one headings, the section titles of the sidebar menu and the title of the
openapishortcode are no longer forced to uppercase but show as written. The uppercase look, inherited from the Learn theme, became iconic for this theme, but it is strongly opinionated and looks strange with many fonts, especially script and serif fonts.If you want to keep the iconic look for headings and the sidebar menu, add the following to your
assets/css/custom.css: -
Change The greys of the theme now carry the tint of your theme variant.
The borders and stripes of tables, the borders of a zoomable Mermaid diagram and of tabs with
style=transparent, the shadows of cards and images, the hover of buttons, the titles of badges and the tracks of scrollbars now take their color from the variablesBOX-NEUTRAL-colorandBOX-GREY-color.BOX-NEUTRAL-colorinherits fromBOX-GREY-color. Formerly they were a fixed grey that could not be changed by a variant and was too faint in the high contrast variants.The border of code blocks,
CODE-BLOCK-BORDER-color, now inherits fromBOX-NEUTRAL-colorinstead ofCODE-BLOCK-BG-color. The shipped variants were adjusted to this.If your own variant does not set
CODE-BLOCK-BORDER-color, its code blocks now get a visible border in the neutral color. As code boxes take their color from it, the title and frame of callouts and tabs withstyle=codechange as well. To restore the previous look, setCODE-BLOCK-BORDER-colorin your variant to the value ofCODE-BLOCK-BG-color, or setBOX-CODE-colorto only change code boxes.If your variant sets
BOX-NEUTRAL-colororBOX-GREY-colorto a strong color, all these greys now show it as well. -
Change The logo of a variant is now set in the new
paramsof the variant, which holds the values that override the site’sparamswhile the variant is active. Settinglogodirectly on the variant is deprecated and you’ll get a warning; it still works for now.Change
{ identifier = 'neon', logo = { src = '/images/logo-neon.svg' } }to{ identifier = 'neon', params = { logo = { src = '/images/logo-neon.svg' } } }. -
Change Printing a page and its print version now use a print variant, by default
relearn-light, with the theme’s print variables made for paper on top of it. Formerly the print used a fixed look that no variant could change.Printed pages now also show the logo and title of your site.
You can choose the print variant of your site with the new
themeVariantPrintoption, or one for each variant with its newprintparameter. A variant that names itself as its print variant keeps its own fonts on paper.The variables
PRINT-MERMAID-theme,PRINT-OPENAPI-themeandPRINT-OPENAPI-CODE-themewere removed. If you’ve set them, setMERMAID-theme,OPENAPI-themeandOPENAPI-CODE-themein your copy of the print variables instead, or mark them!importantin your print variant. -
Change The color variant
relearn-brightis deprecated and will be removed with the next major release. You’ll get a warning if you use it.To keep it, copy
assets/css/theme-relearn-bright.cssfrom the theme into your site’sassets/cssdirectory under a different name, liketheme-my-bright.css, and use that name in thethemeVariantoption. -
Change The color variant
relearnhas only been kept for compatibility since 3.0.0, whererelearn-lightreplaced it. It will be removed with the next major release and you’ll now get a warning if you use it.It is identical to
relearn-light, use that name in thethemeVariantoption instead.
New
-
New The new color variants
tome-lightandtome-darkgive your site the look of a book, with calligraphic titles. They are the first shipped variants with tinted instead of grey content backgrounds, and show how colors the theme derives, like shadows, follow such a tint. Use them as a starting point for your own tinted variant.Many of the changes in this release were made to support this variant.
-
New The new color
yellowcan be used asstylein every shortcode taking one and set withBOX-YELLOW-colorin your theme variant. Each shipped variant picks a yellow that is readable with its title and text colors.To keep it apart from yellow,
orange- and with it thenoteseverity - is now a true orange instead of an amber, and darker so its titles are readable as well. -
New The entries of the variant switcher can now be grouped by putting dividers into the
themeVariantoption. A divider with a name labels its group.
9.2.0 (2026-10-11)
Hugo 0.166.0
- 0.166.0 This release requires a newer Hugo version.
Change
-
Change Accessibility is now a supported feature of the theme.
With the new option
link.underlineset totrue, links in your content are underlined, so they are told apart from the text around them by more than their color.To make accessibility happen, there were numerous changes, affecting all parts of the theme including the DOM.
As a side effect, the keyboard shortcuts of the theme are now documented as well.
-
Change The elements of your content, like tables, callouts, tabs, code blocks, blockquotes, Mermaid diagrams and images, now have rounded corners.
For images, this is the new image effect
rounded, which is enabled by default. If you want to restore the previous look of your images, setimageEffects.roundedtofalsein your project configuration. -
Change Markdown tables can now merge cells, using the syntax of Markdown Preview Enhanced. A cell containing only
>merges into the cell to its right, a cell containing only^into the cell above.If one of your tables already has such a cell and should show the character itself, escape it with two backslashes, like
\\>. -
Change The new
pagesshortcode lists pages of your site. Besides the layouts known from the now deprecatedchildrenshortcode, it can list descendants, siblings or ancestors, filter them and group and order them by any field or front matter parameter of a page.The
childrenshortcode still works but issues a deprecation warning for each use, naming thepagescall that replaces it. See the migration instructions.With
type=group, thechildrenshortcode no longer shows a multi-column layout. If you want to restore the previous behavior, replace it with thepagesshortcode andcolumns=3. -
Change The new
calloutshortcode replaces the now deprecatednoticeshortcode, matching the name of the Markdown callouts it shares its boxes with. The parameters are unchanged.The
noticeshortcode still works but issues a deprecation warning for each use. Rename your calls tocallout. See the migration instructions. -
Change Hugo’s built-in
detailsshortcode replaces the now deprecatedexpandshortcode, so your content stays portable to other themes.The
expandshortcode still works but issues a deprecation warning for each use. The parameters of thedetailsshortcode are named differently, so a call can not just be renamed. See the migration instructions.If you already use the
detailsshortcode, it now behaves like the one built into Hugo. Its content is rendered as Markdown if called with{{< details >}}, and thetitleparameter is honored. If your content is HTML or contains other shortcodes, set the newraw=trueparameter to have it written as it is. -
Change The
mathshortcode now renders your formulae using Hugo’s built-in KaTeX while your site is built, instead of the MathJax library in the browser.The theme finds your formulae by the delimiters of Hugo’s Passthrough configuration. If your site doesn’t have it yet, add it, otherwise formulae marked by these delimiters are not rendered. With the codefence, shortcode and partial syntax, content without delimiters is rendered as one formula regardless.
By default, formulae are written as MathML and displayed by the browser. If you prefer the look of KaTeX, which is the same in every browser, set
math.outputtohtmlAndMathml.The options
mathJaxInitializeandcustomMathJaxURLare gone. Instead, you can set any KaTeX option inmath. If you defined your own macros, move them tomath.macros.KaTeX doesn’t know every command of MathJax. A formula it can not render is written as its source and reported as a warning in your build.
-
Change The front matter
params.pagesreplacesparams.childrenand is now honored on every page, not only on taxonomy and term pages. Together with Hugo’scascade, you can give all listings of a subtree the same look.The former
params.childrenis still honored as long as thechildrenshortcode exists, but using it now prints a warning. -
Change How the logo and title are arranged is now set with the new
logo.layoutoption.The
logo.directionoption is deprecated. It still works, but the theme warns you if you use it. Replacedirectionset torowbylayoutset tosidebar-rowanddirectionset tocolumnbylayoutset tosidebar-column. -
Change The elements of the topbar, like its buttons, are now configured with the
topbarstart,topbarmiddle,topbarendandtopbarmoreoptions, the same way as the sidebar menus. The breadcrumb is now an element of the new middle area. You can set them in your project configuration or in the front matter of your pages.Redefining an area by a template in
layouts/partials/topbar/areaand calling the theme’s templates inlayouts/partials/topbar/buttonis deprecated. Such an area template still defines its area, taking precedence over the options, and the button templates can still be called, but the theme warns you if you use them. The elements now live inlayouts/partials/topbar/element. See the migration instructions. -
Change Versioning now builds on Hugo’s
versions. All versions of your site are generated in one build of one project, and the version switcher links directly to the same page in the other versions.Links can point to a page in another version of your site with the new
versionquery parameter, like/my-page?version=v1.0.0.The options
versions,versionandversionIndexURLare deprecated. They still work as long as you have not configured Hugo’sversions, but the theme warns you if you use them. See the migration instructions. -
Change Links into another language written with a language prefix like
/pir/my-pageare deprecated, and with them the optionenableLegacyLanguageLinks. They still work if the option is set, but the theme warns you for each such link. Use thelangquery parameter instead, like/my-page?lang=pir. -
Change The front matter
preandpost, renamed in 5.0.0, now issue a deprecation warning. UsemenuPreandmenuPostinstead. -
Change The options
customMermaidURLandcustomOpenapiURLare deprecated. They still work, but the theme warns you if you use them.To use a different version of a library, store it in the
assetsdirectory of your site, where it replaces the shipped version. See the documentation of themermaidandopenapishortcodes. -
Change The search with the Lunr engine now only looks for similarly written words if a word of your search term isn’t found as written. Previously, such words were always included and could bury the hits you were asking for.
New
-
New The new color variants
contrast-lightandcontrast-darkhave colors chosen for high contrast. -
New A color variant can now be selected by a link with the new
variantquery parameter, like/my-page?variant=relearn-dark. -
New Markdown blockquotes can name the author and the source of the quotation with the new
author,sourceandhrefMarkdown attributes. -
New The
calloutshortcode has a newhintparameter to show a tooltip for the title of the box. -
New The
tabshortcode has a newhintparameter to show a tooltip for a tab, which also names a tab that shows nothing but an icon. -
New The
buttonshortcode and topbar buttons have a newistoggleparameter for buttons that show and hide something, telling assistive technology whether it is shown. -
New The
cardsshortcode has a newcolumnsparameter to set the number of columns in full width mode. -
New The
resourcesshortcode has a newpagerefparameter to list the resources of another page bundle. -
New The
openapishortcode has a newlangparameter to set the language used for the reading direction of the Swagger UI and for the texts the theme adds to it. These texts are now translated. -
New The
mermaidshortcode’s graph can now be focused, panned and zoomed with the keyboard.They now contain a new button to show it in a lightbox, where it is panned and zoomed the same way as on the page itself. Like an enlarged image, the enlarged graph has its own URL.
-
New The results of the dedicated search page can now be printed, if your home page has print support activated. The new
search.page.outputsoption lets you decide this independently of your home page. -
New An entry of a Hugo menu can now be continued by the tree of the page it links to by setting
params.typetopage. For a taxonomy page, this shows all of its terms without listing them in your menu definition. -
New The theme writes no inline JavaScript anymore, so your site can be served with a strict Content Security Policy. On request, it also adds subresource integrity hashes to its scripts and stylesheets. The
buttonandcardshortcodes and topbar buttons have a newactionparameter to run your own code without inline JavaScript. -
New The theme now ships a machine-readable SBOM at
sbom.cdx.json, listing every third-party resource it can publish with your site, each with a license, a digest of the files the theme ships and - where upstream publishes them - a version and a package URL.
9.1.0 (2026-09-13)
Hugo 0.165.0
- 0.165.0 This release requires a newer Hugo version.
Change
-
Change Assets are now busted by their content instead of by the time of your build, so a visitor only refetches what actually changed.
Formerly every build appended a new id to each asset’s URL, emptying a visitor’s cache on each deployment even when no asset was different. If you referenced assets from your own partials,
assetbusting.gotmplis replaced byasset.gotmpl, which takes a resource and returns it ready to be linked. It is still honored but now issues a deprecation warning and will be removed with a future update of the theme.Below
staticthis only concernscss/custom.css,js/custom.jsand the favicon and logo images; everything else there is published as before. Those are published twice, once untouched and once processed - move them toassetsto avoid the superfluous copy.As a busted name changes with its content, a build no longer overwrites the file its predecessor wrote and both remain. Purge your output directory, e.g. by building with Hugo’s
--cleanDestinationDir, or it accumulates every version you ever built - which weighs most if you commit what you build, as publishing to a GitHub Pages branch does. -
Change The Perfect Scrollbar library is no longer shipped with the theme. All scrollbars are the ones of your browser now, styled by the theme.
The scrollbars colors come from new theme variant variables, four for each of the three areas, the main content, the menu and the topbar flyouts.
MAIN-SCROLLBAR-THUMB-color,MENU-SCROLLBAR-THUMB-colorandTOPBAR-SCROLLBAR-THUMB-colorcolor the moving thumb,MAIN-SCROLLBAR-TRACK-color,MENU-SCROLLBAR-TRACK-colorandTOPBAR-SCROLLBAR-TRACK-colorthe track it moves in. Each of them has a-HOVERcounterpart - likeMAIN-SCROLLBAR-THUMB-HOVER-colororMENU-SCROLLBAR-TRACK-HOVER-color- for the respective hovered area.How many of those twelve colors you see an effect from depends on the scrollbar model your browser implements, so don’t expect all of them to show everywhere. Where the theme draws the menus scrollbar itself, all four of its colors apply and the thumb reacts to being hovered on its own. A browser that offers only the standard styling has no state for the thumb, so there the
-HOVERcolors are taken while the surrounding area is hovered instead. And where a browser draws an overlay scrollbar for the content or the topbar flyouts, it keeps its own and the four colors of that area go unused. -
Change The theme variant configuration has a new
hiddenparameter.If set to
true, the variant will not be shown in the variant switcher but is still usable, e.g. as a sub-variant of an auto mode variant. -
Change The title above a page sidebar menu is now taken from the root page’s
linkTitlefront matter.Formerly this was documented to use the
menuTitlefront matter, although that was already removed in 6.0.0 in favor of Hugo’s ownlinkTitle. It is still honored if nolinkTitleis set but now issues a deprecation warning and will be removed with a future update of the theme. -
Change Images now carry the dimensions of their resource, so a browser can reserve the space they will take before they have arrived.
This avoids page reflows as each image loads and affects images that resolve to a resource Hugo can measure: a page resource or a file in your
assetsdirectory, in one of the common raster formats. An SVG, a remote address or a path in yourstaticdirectory has no dimensions to give and is unchanged. -
Change The Lunr Languages where updated to 1.21.0.
Searching with the Lunr adapter now finds terms that consist of digits only, like part or standard numbers.
New
-
New The
editURLoption has a new macro${BaseDir}, containing the directory${FilePath}is resolved against.Joined, the two are the location of the displayed page on your disk during build, which lets the edit button open your local editor instead of a web service.
The macro is written the way a URL writes a path - with forward slashes and without a leading slash - so the same setting works on Windows and on Unix-like systems.
-
New The
cardshortcode has a newimagealtparameter, giving the card’s image a text alternative. -
New The theme has updated its Mermaid dependency to 11.17.2. This adds support for swimlanes, Venn, Ishikawa, Wardley, Cynefin and TreeView.
-
New The translation for Portuguese was divided into European Portuguese and Brazilian Portuguese.
-
New The search now supports the Polish language.
9.0.0 (2026-01-01)
Hugo
-
Hugo When the theme introduced compatibility with Hugo 0.146.7 it had to remove a performance optimization due to a limitation in Hugo. This was later fixed in Hugo 0.149.0.
This release reintroduces the performance optimization and will cause your page build to fail with the above mentioned Hugo versions. You either need to upgrade or downgrade Hugo to an unaffected version.
Breaking
-
Breaking The
childrenshortcode has a new layout resembling the taxonomy and term pages by settingtype=group.Sadly, introducing usage of the shortcode in the taxonomy and term pages (see below) caused necessary breaking changes
- the shortcode now requires enabling block attributes in your project configuration by setting
markup.goldmark.parser.attribute.blocktotrue - the call syntax for
type=cardnow is{{< children >}}instead of{{% children %}}ifmarkup.goldmark.renderer.unsafeis set tofalsein your project configuration (which is the default)
In addition the shortcode learned some new parameter for displaying breadcrumbs and setting a heading depth.
- the shortcode now requires enabling block attributes in your project configuration by setting
Change
-
Change This release comes with a new way to configure your logo image and title in the menu sidebar.
With the new system you can
- rely on auto detection for an image
- remove the image completely
- override the image for each variant
- set color, sizes and fonts for title and image
- let the image and title lay out vertically or horizontally
- override the complete layout with your own partial (that’s the old way and still works)
Nevertheless, this required massive changes to the CSS and most likely your logo will require tweaking of the CSS styles after an update.
The easiest way to fix this is to remove a overridden
layouts/partials/logo.htmltemplate in your installation and rely on the new configuration. -
Change Font Awesome was updated to version 7.1.0 which results in slightly different icons.
-
Change The search results of the search box are now colored in the same way as the search results on the dedicated search page using color styles of the content area.
-
Change The
expandshortcode has changed its default text ofExpand me...toDetailsto be in sync with Hugo’s built-indetailsshortcode and thedetailsHTML element.
New
-
New The taxonomy and term pages are now internally using the
childrenshortcode. This makes it possible for you to set parameter of the children shortcode in your taxonomy/term pages front matter to change the layout.By that you can - for example - display the sub pages in a card layout. See the categories taxonomy for an example.
-
New The themes dark-mode support for the
openapishortcode was changed to the built-in implementation of the used Swagger library.