# Release 0.18.0 report and upgrade guide

> Docsy is now a Linux Foundation project, with its own GitHub organization and a new Hugo module path. Mermaid and friends become plugins you control from site configuration; jQuery is gone; doc-rooted sites can publish llms.txt.

---

Site [llms.txt](/fr/llms.txt)

---

<!-- markdownlint-disable descriptive-link-text no-space-in-emphasis -->

<div class="td-card card border me-4">
<div class="card-header">
      Highlights
    </div>
<div class="card-body">
    <p class="card-text">
        

- <i class="fa-solid fa-house text-info fa-lg"></i> <span>[New org, new home](#org-move):
  [`github.com/docsy`][docsy-org], a [Linux Foundation][] project</span>
- <i class="fa-solid fa-plug text-warning fa-lg"></i> <span>[Hello, plugins!](#plugins) Docsy's
  scripts, your config, no overrides</span>
- <i class="fa-solid fa-feather text-primary fa-lg"></i> <span>[Bye, jQuery!](#jquery) Lighter,
  faster-starting pages</span>
- <i class="fa-solid fa-robot text-success fa-lg"></i> <span>[Improved agent support:](#llms-txt)
  `llms.txt` for doc-rooted sites, and v2 discovery links</span>

</p>
      </div>
  </div>


## Release summary

- **[Docsy has a new home](#org-move)**
- **Scripts**:
  - [Plugins](#plugins): four of Docsy's optional scripts, [Mermaid](#mermaid)
    and [MarkMap](#markmap) included, controlled from site configuration; plugin
    authoring (experimental)
  - [jQuery dropped](#jquery)
- **[`llms.txt`](#llms-txt)**: doc-rooted sites, agent discovery
- **[Other notable changes](#other-notable-changes)**: see the release page
- **[For maintainers](#for-maintainers)**: workflow security analysis, Renovate
  hardening, branch model, link-cache refresh

## Ready to upgrade? <a id="breaking-changes"></a>

- :warning: Respect the [order of steps][] to avoid breaking your build.
- Review <span class="badge text-bg-warning rounded-pill text-small">BREAKING</span> changes:
  - <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> [Docsy has a new home](#org-move)
  - <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> [Plugins: scripts and settings moved](#plugins)
  - <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> [Mermaid](#mermaid)
  - <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> [MarkMap](#markmap)
  - <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> [jQuery dropped](#jquery)
  - <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i>
    [`llms.txt`: generic template overrides](#llms-txt-actions), if your project
    has one
- Optionally skim:
  - <i class="fa-regular fa-square-check fa-lg text-success px-1"></i> [Plugins: site scripts from configuration](#plugins)
  - <i class="fa-regular fa-square-check fa-lg text-success px-1"></i> [`llms.txt` for doc-rooted sites](#llms-txt)
  - <i class="fa-regular fa-wand-magic-sparkles fa-lg text-info px-1"></i> [Script-dependency versions you set](#upgrade)
  - [For maintainers](#for-maintainers)
- Work through the companion [Hugo 0.165+ upgrade guide][hugo-upgrade] if you
  build with a Hugo older than 0.166.0.
- <i class="fa-solid fa-rocket text-primary px-1"></i> Jump to [Upgrade to 0.18.0](#upgrade)
  yourself, or [ask an AI agent](#upgrading-with-ai).

## <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> Docsy has a new home: `docsy/docsy` {#org-move}

Docsy, created by Google and open sourced in 2018, is now a **[Linux
Foundation][]** project, as [announced][oss-eu-2026] by [Erin McKean][] at the
_Open Source Summit EU_ on October 7, 2026.

The project repositories have moved into their new [`docsy`][docsy-org] GitHub
organization:

- [github.com/docsy/docsy][repo], the main project monorepo
- [github.com/docsy/docsy-example][example-repo]

While GitHub redirects the old URLs, Hugo module paths don't follow redirects.
It is good practice to adopt the new canonical paths everywhere.

### Actions {#org-move-actions}

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** you import Docsy as a Hugo module.

1. Run `hugo mod get github.com/docsy/docsy/theme@v0.18.0`.
2. In your site config, change the theme's import path from
   `github.com/google/docsy/theme` to `github.com/docsy/docsy/theme`, whether
   it's listed under `module.imports` or under `theme`; re-key any
   `module.replacements` entry, `HUGO_MODULE_REPLACEMENTS` value, or `go.mod`
   `replace` directive the same way.
3. Run tidy and pack:
   - `hugo mod tidy`, which drops the old `require` line (and `hugo mod vendor`,
     if you vendor modules)
   - `hugo mod npm pack`, which regenerates the theme's [npm-dependency
     workspace][theme-npm-deps] from the re-pointed module; then `npm install`

<i class="fa-regular fa-wand-magic-sparkles fa-lg text-info px-1"></i> **Applies if** you install Docsy from GitHub through npm,
a git submodule, or a clone. Re-point your installation to `docsy/docsy`:

- **npm**: change the `docsy` spec in `package.json` from `google/docsy` to
  `docsy/docsy`, then run `npm install` and, as after every install of the
  GitHub package, `npm run install:theme-deps --prefix node_modules/docsy`.
- **Submodule**: run
  `git submodule set-url themes/docsy https://github.com/docsy/docsy.git` and
  commit the updated `.gitmodules`.
- **Clone**: run
  `git -C themes/docsy remote set-url origin https://github.com/docsy/docsy.git`.

<i class="fa-regular fa-wand-magic-sparkles fa-lg text-info px-1"></i> **Applies if** your docs link to the old Docsy `google`
organization.

- Replace `google` with `docsy` in links to the Docsy and `docsy-example`
  repositories.

The [`@docsy/theme`][npm-package] npm package is unaffected.

For the generic update procedure, which assumes the new path, see [Update
Docsy][].

## <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> / <i class="fa-regular fa-square-check fa-lg text-success px-1"></i> Plugins {#plugins}

Docsy 0.18 introduces [**plugins**][ug-plugins]: optional scripts you turn on or
off, pin, and configure from site configuration, with no layout override. Four
of Docsy's scripts ship as plugins:

- [Mermaid](#mermaid)
- [MarkMap](#markmap)
- [Tab persistence][ug-tabpane]
- [Click-to-copy][ug-click-to-copy]

You can also [add a script of your own][ug-plugin-authoring] (experimental).

### Actions {#plugins-actions}

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** you override `scripts.html`.

- Delete your copy and re-apply your change to the `scripts/*.html` sub-partial
  it belongs to; the file is now a dispatcher over them.

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** you disabled tab persistence by shipping
an empty `static/js/tabpane-persist.js`. The file moved, so the copy is ignored
and persistence is back on.

- Set `enable: false` on the [`tabpane-persist` entry][ug-plugins] and remove
  the file.

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** your site config sets `params.docsy`, or
`params.docsy.plugins`, to something other than a map (a string or a list, say).
Docsy now reserves `params.docsy` for theme settings, and a non-map value at
either key turns the theme plugins off with a [`docsy-config`
warning][ug-plugins-warnings]; the build stays green.

- Move your value to another key, and update the templates that read it.

<i class="fa-regular fa-square-check fa-lg text-success px-1"></i> **Applies if** you want a script of your own.

- [Add an entry and the files it names][ug-plugin-authoring].

<i class="fa-regular fa-wand-magic-sparkles fa-lg text-info px-1"></i> **Applies if** your site config has keys of its own under
`params.docsy` beside `plugins`. Docsy ignores them with a [`docsy-config`
warning][ug-plugins-warnings]; templates that read them still work.

- Move them to another key to silence the warning.

<i class="fa-regular fa-wand-magic-sparkles fa-lg text-info px-1"></i> **Applies if** you set
`params.disable_click2copy_chroma`, deprecated.

- Remove the key; if it was `true`, set `enable: false` on the [`click-to-copy`
  entry][ug-plugins] to keep the buttons off.

## <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> Mermaid

Mermaid is now a [plugin](#plugins): its [settings][mermaid-settings] and
[version pin][mermaid-version] live on its `params.docsy.plugins.mermaid` entry.

### Actions {#mermaid-actions}

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** your site config has `params.mermaid`,
even empty: the build fails.

- Move each setting onto the [`mermaid` entry][ug-plugins], then delete
  `params.mermaid`. By key:
  - `version`: move to the entry's `version` as a plain `X.Y.Z` string, only if
    you had overridden the theme's [pin][mermaid-version].
  - `enable`: delete it.
  - Mermaid settings (`theme`, `flowchart.diagramPadding`, …): move to the
    entry's [`options` string][mermaid-settings]; settings 0.17 ignored now take
    effect, so rendering may change.

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** you customized `scripts/mermaid.html`.
Your copy is ignored; its content splits three ways.

- Re-apply a changed pin check to the companion partial
  `scripts/plugins/mermaid.html`.
- Move runtime changes (start, dark mode) to `assets/js/plugins/mermaid.js`.
- Move settings to the entry's `options`.

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** your **Content Security Policy** (CSP)
allowed Mermaid's inline script by hash.

- Allow `'self'` for the same-origin script that replaces it; `cdn.jsdelivr.net`
  is still needed for the library.

<i class="fa-regular fa-square-check fa-lg text-success px-1"></i> **Applies if** you want to try Mermaid 12 early
(experimental).

- Set the entry's `version` to a 12.x release; for what to expect and where to
  report, see the user guide's [Mermaid 12][ug-mermaid-12] section.

## <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> MarkMap

MarkMap is now a [plugin](#plugins), and loads only on pages with a mind map;
its [version pin][markmap-version] lives on its `params.docsy.plugins.markmap`
entry.

### Actions {#markmap-actions}

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** your site config has `params.markmap`,
even empty: the build fails.

- Move each setting onto the [`markmap` entry][ug-plugins], then delete
  `params.markmap`. By key:
  - `enable`: move to the entry's `enable`.
  - `version`: move to the entry's `version` as a plain `X.Y.Z` string, only if
    you had overridden the theme's [pin][markmap-version].

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** you relied on `params.markmap.enable`
loading MarkMap on every page, or your maps come from anywhere but a `markmap`
fence written on the page itself: the `tab` or `readfile` shortcodes, content
pulled in with `.Content`, raw HTML, or section print. Docsy now loads MarkMap
only on pages whose own fence it renders, so those maps stay code blocks with a
green build.

- For the one-line remedy (experimental), see [When a MarkMap doesn't
  render][markmap-not-rendering].

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** your own scripts call MarkMap's API
(`window.markmap.autoLoader`). The autoloader is now a deferred script.

- [Wait for `DOMContentLoaded`][markmap-activating] before calling it.

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** you have a project-wide
`render-codeblock.html` hook. It no longer sees `markmap` fences: Docsy now
ships `render-codeblock-markmap.html`, which takes precedence for that language.

- Move any `markmap`-specific handling into an override of
  `render-codeblock-markmap.html`, keeping its
  `{{ .Page.Store.Set "hasMarkmap" true }}` line: that flag is what loads
  MarkMap on the page.

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** your build restricts Hugo's remote
fetches or has no network access. Docsy now fetches MarkMap's autoloader at
build time, from `cdn.jsdelivr.net`, where 0.17 left it to the browser.

- Allow the host, or serve a copy you host; see [MarkMap
  version][markmap-version].

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** you customized `scripts/markmap.html`.
Your copy is ignored; its content splits two ways.

- Re-apply a changed pin check to the companion partial
  `scripts/plugins/markmap.html`.
- Move autoloader settings and the map-sizing style to
  `assets/js/plugins/markmap.js`.

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** your Content Security Policy allowed
MarkMap's inline script or style by hash. Both are gone; a stale style hash
shrinks maps silently.

- Allow `'self'` for the autoloader, and keep allowing both `cdn.jsdelivr.net`
  and `unpkg.com`: the autoloader still probes both for MarkMap's libraries.
- Carry the map-sizing rule in a site stylesheet instead of a style hash.

## <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> / <i class="fa-regular fa-wand-magic-sparkles fa-lg text-info px-1"></i> jQuery dropped {#jquery}

The theme no longer loads [jQuery][]: `window.jQuery` and `$` are gone from
every page, and Docsy's own scripts use standard DOM APIs. Every page loses:

- A render-blocking request to `code.jquery.com` in the page `head`
- About 30 KB (compressed) on a first visit
- A third-party dependency

### Actions {#jquery-actions}

To determine if your project uses jQuery, search your script files and inline
`<script>` blocks for:

- `$(`
- `$.`
- `jQuery`

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** your own scripts rely on the jQuery that
Docsy loaded. Either:

- Convert them to [standard DOM APIs][mdn-dom]; for jQuery-to-native
  equivalents, see [You Don't Need jQuery][ydnj].
- Keep jQuery by loading it yourself: a plain (not deferred) `<script>` tag,
  first in a [hooks/head-end.html partial][head-end], so it runs before any
  script of yours; pin [3.7.1][jquery-releases], the version Docsy loaded, to
  keep your scripts' behavior unchanged.

<i class="fa-regular fa-wand-magic-sparkles fa-lg text-info px-1"></i> **Applies if** your Content Security Policy allows
`code.jquery.com`.

- Remove it from `script-src`, unless you load jQuery yourself.

## <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> / <i class="fa-regular fa-square-check fa-lg text-success px-1"></i> `llms.txt`: doc-rooted sites and agent discovery {#llms-txt}

[Doc-rooted sites][ug-doc-rooted-sites] can now publish
[`llms.txt`][ug-llms-txt] from their docs landing page, the page published at
the site root. Pages of sites publishing `llms.txt` now also carry the [llms.txt
proposal][llmstxt]'s v2 [discovery link][ug-discovery]. Agent support as a whole
is still [experimental][].

Two more changes apply to every site. The line after a Markdown version's title
and description now reads `Site llms.txt`, linking the current site's file, and
is omitted when the site publishes none. And the theme's `llms.txt` template is
now `all.llms.txt` (was `index.llms.txt`), so that section pages can render it;
a project's generic LLMS template now renders the root file too.

### Actions {#llms-txt-actions}

<i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **Applies if** your project has a generic `all.llms.txt`
or `list.llms.txt` template that must not serve as the root file of a regular
(not doc-rooted) site.

- Add `layouts/home.llms.txt`, which takes precedence for the root file; for the
  template's shape, see [customize output][ug-llms-customize].

<i class="fa-regular fa-square-check fa-lg text-success px-1"></i> **Applies if** your site is doc-rooted and you want an
`llms.txt`.

- [Add `LLMS` to the docs landing page's `outputs`][ug-doc-rooted], per
  language; to customize the file, see [customize output][ug-llms-customize].

<i class="fa-regular fa-square-check fa-lg text-success px-1"></i> **Applies if** your site publishes `llms.txt` and overrides
`head.html`.

- Add the [discovery link][ug-discovery] to your copy.

## Other notable changes

For all changes, see the [0.18.0][] release page.

## For maintainers

Changes in this section affect Docsy maintainers and contributors; the first two
also make the theme you depend on harder to compromise. The changelog's
[For-maintainers list][CL@0.18.0] itemizes them.

- **Workflow security**: PRs into `main` are now gated on a [zizmor scan of the
  GitHub Actions workflows][maintainer-notes-zizmor].
- **Dependency updates**: Renovate's [GitHub Actions
  bumps][maintainer-notes-deps] now come from GitHub Releases and are
  SHA-pinned.
- **Branch model**: the release procedure is now [written down][branch-model]
  against the rulesets that enforce it.
- **Link cache**: docsy.dev's committed link cache now follows the
  [link-cache][] package's format and prune rule, and a [scheduled
  workflow][maintainer-notes-links] proposes refreshes as PRs.

## <i class="fa-solid fa-rocket text-primary px-1"></i> Upgrade to 0.18.0 {#upgrade}

Follow [Update Docsy][] and as you do:



<!-- prettier-ignore -->
- :warning: Respect the [order of steps][] to avoid breaking your build.
  Tracking `main` between releases? Some actions may already be applied; check
  each gate.
- If you import Docsy as a Hugo module, re-point it at Docsy's [new
  home](#org-move) **as** you update the theme: the 0.18.0 module path is
  `github.com/docsy/docsy/theme`.
- Use these [supported versions][official support policy]:
  - **[Docsy][update-theme]**: [0.17.0][] -> [0.18.0][]
  - <i class="fa-solid fa-triangle-exclamation fa-lg text-warning px-1"></i> **[Hugo][update-hugo]**: [0.164.0][hugo-0.164.0] ->
    [0.166.0][hugo-supported-version] (theme minimum
    [0.160.1][hugo-min-version], unchanged); for its
    breaking changes, see the [Hugo 0.165+ upgrade guide][hugo-upgrade]
  - **[Node][update-node]**: LTS 24 (unchanged)
  - **[Dart Sass][install-sass]**: 1.102.0 -> 1.105.0
    (`sass-embedded`, on npm-based sites)
  - **[Script dependencies][ug-script-dep-versions]**:
    [KaTeX][katex-docs] 0.18.4 -> 0.18.9,
    [Mermaid][mermaid-docs] 11.17.0 -> 11.17.2,
    [Redoc][redoc-docs] 2.5.3 -> 2.5.4;
    [MarkMap][markmap-docs] 0.18.12 (unchanged)
- <i class="fa-regular fa-wand-magic-sparkles fa-lg text-info px-1"></i> Drop a script-dependency version param that only
  restates a 0.17.0 default, so that your site takes this release's pin.
- [Review your theme overrides][update-overrides]. Diffing each override against
  its new counterpart finds the changes in files that kept their place; the
  moved, replaced, and new files below need a look of their own.
  - <details>
    <summary>Theme files reworked in 0.18.0</summary>

    **Moved**, an old copy silently ignored:

    - `assets/js/click-to-copy.js` and `assets/js/markmap.js`, to
      `assets/js/plugins/`
    - `static/js/tabpane-persist.js`, to `assets/js/plugins/`
    - `_partials/algolia/scripts.html`, the override path 0.17's search guide
      named, to `_partials/scripts/algolia.html`

    **Replaced** ([Mermaid](#mermaid-actions), [MarkMap](#markmap-actions), and
    [Plugins](#plugins-actions) actions):

    - `_partials/scripts/markmap.html` and `mermaid.html`, by
      `_partials/scripts/plugins/*.html`
    - `_partials/scripts.html`, now a dispatcher over `_partials/scripts/*.html`

    **Renamed** ([`llms.txt`](#llms-txt)):

    - `index.llms.txt`, to `all.llms.txt`

    **Now taking effect**, an override Docsy previously ignored:

    - `_partials/algolia/head.html`

    **Takes precedence** ([MarkMap actions](#markmap-actions)):

    - `_markup/render-codeblock-markmap.html`, a new theme hook that takes
      `markmap` fences from a project-wide `render-codeblock.html`; a project
      file at that path shadows it

    **New theme files**, overrides if your project already has a file at the path:

    - `assets/js/plugins/mermaid.js`
    - `data/docsy/schema/params/docsy.yaml`
    - `_partials/scripts/main-bundle.html`, `plantuml-deflate.html`, `plugins.html`,
      and `prism.html`
    - `_partials/scripts/plugins/`, the plugin partials
    - `_partials/td/root-page.html`
    - `_shortcodes/_root-llms-txt-path.html`

    For the full list of changed theme files, run the following in a clone of
    [docsy/docsy][repo]:

    ```sh
    git diff --name-status v0.17.0 v0.18.0 -- theme/layouts theme/assets theme/static theme/i18n theme/data
    ```
    </details>

### <i class="fa-solid fa-robot text-info px-1"></i> Upgrading with AI?

Give your assistant this post and the companion [Hugo guide][hugo-upgrade] as
its upgrade instructions; both are written to be followed step by step.

<section class="td-checkbox-list-wrapper">

### <i class="fa-solid fa-square-check text-primary px-1"></i> Sanity checks

In addition to the [generic site checks][check], for this release:

- [ ] For a Hugo module, `hugo mod graph` lists `github.com/docsy/docsy/theme`
      at the version you pinned (or your replacement for it) and no
      `github.com/google/docsy` entry remains. If you re-pointed an
      npm-from-GitHub, submodule, or clone install, `package.json` names
      `docsy/docsy`, or `git -C themes/docsy remote -v` shows the new URL.
- [ ] With the browser console open, your key pages and search show no
      `$ is not defined` or similar error; see [jQuery](#jquery).
- [ ] If your site uses MarkMap, tab persistence, or click-to-copy, each still
      works on every page that had it; for the pages most likely to lose a map,
      see the [MarkMap actions](#markmap-actions).
- [ ] If your site uses Mermaid, diagrams render in light and dark mode; see
      [Mermaid](#mermaid).
- [ ] If your project has any LLMS template, the root `llms.txt` renders from
      the [one you intend for it](#llms-txt-actions).
- [ ] The build reports no `docsy-c2c-legacy` warning (a setting left under the
      old key) and no [`docsy-config` warning][ug-plugins-warnings] (a malformed
      `params.docsy` entry).
- [ ] If you pinned a Mermaid or MarkMap version, the build runs without a
      `*-floating-version` warning and diagrams render at that version.
- [ ] If you override the root `baseof.html`, it includes `scripts.html` with
      [`partial`, not `partialCached`][update-overrides].
- [ ] If you diff built output, investigate only differences beyond these
      expected ones:
  - [ ] The jQuery script element is gone from `head`.
  - [ ] Mermaid's inline module script, and MarkMap's inline script and style,
        are replaced by same-origin script entries, MarkMap's autoloader
        included; the plugin script tags moved.
  - [ ] If you enabled MarkMap, its tags appear only on pages with a map.
  - [ ] On pages that use the root `baseof.html`, script tags follow each page's
        own needs (page-gated diagrams and math, a per-page `body-end` hook)
        rather than the first-rendered page's.
  - [ ] On sites publishing `llms.txt`, every page `head` has a
        `rel="describedby"` link, an overridden `head.html` included once you've
        [added it](#llms-txt-actions), and the agent directive's wording
        changed.
  - [ ] Each Markdown version's line after its title and description reads
        [`Site llms.txt`](#llms-txt); a site without `llms.txt` loses that line
        and its separator.

</section>

## What's next?

Work towards the next release is tracked under the [0.19.0 milestone][].

<!-- prettier-ignore -->
> [!INFO]- Your opinion counts!
>
> - <i class="fa-solid fa-thumbs-up text-success px-1"></i> If you'd like a feature or fix to be
>   considered for inclusion in an upcoming release, **upvote** (with a thumbs up)
>   the associated issue or PR.
>
> - <i class="fa-solid fa-star text-warning px-1"></i> If you find Docsy useful, consider [starring
>   the repository][star-the-repo] to show your support.
{._list-unstyled}

## References

About this release:

- Changelog entry for [0.18.0][CL@0.18.0]
- Release page for [0.18.0][]
- [Release 0.18.0 preparation issue (#2775)][#2775]
- Git history since [0.17.0][compare-0.17.0]

<!-- prettier-ignore-start -->
[#2775]: https://github.com/docsy/docsy/issues/2775
[0.17.0]: https://github.com/docsy/docsy/releases/tag/v0.17.0
[0.18.0]: https://github.com/docsy/docsy/releases/tag/v0.18.0
[0.19.0 milestone]: https://github.com/docsy/docsy/milestone/28
[branch-model]: /project/build/git-repo/#branch-model
[check]: /docs/update/#check
[CL@0.18.0]: /project/about/changelog/#v0.18.0
[compare-0.17.0]: https://github.com/docsy/docsy/compare/v0.17.0...v0.18.0
[docsy-org]: https://github.com/docsy
[Erin McKean]: https://github.com/emckean
[example-repo]: https://github.com/docsy/docsy-example
[experimental]: /project/about/changelog/#experimental
[head-end]: /docs/content/lookandfeel/#add-code-to-head-or-before-body-end
[hugo-0.164.0]: https://github.com/gohugoio/hugo/releases/tag/v0.164.0
[hugo-min-version]: <https://github.com/gohugoio/hugo/releases/tag/v0.160.1>
[hugo-supported-version]: <https://github.com/gohugoio/hugo/releases/tag/v0.166.0>
[hugo-upgrade]: hugo-0.165.0+/
[install-sass]: /docs/get-started/docsy-as-module/installation-prerequisites/#install-dart-sass
[jquery-releases]: https://releases.jquery.com/
[jQuery]: https://jquery.com/
[katex-docs]: /docs/content/diagrams-and-formulae/#katex-version
[link-cache]: https://github.com/chalin/link-cache
[Linux Foundation]: https://www.linuxfoundation.org/
[llmstxt]: https://llmstxt.org/
[maintainer-notes-deps]: /project/about/maintainer-notes/#dependency-updates
[maintainer-notes-links]: /project/about/maintainer-notes/#link-checking-and-the-link-cache
[maintainer-notes-zizmor]: /project/about/maintainer-notes/#workflow-security-analysis
[markmap-activating]: /docs/content/diagrams-and-formulae/#activate-markmap-support
[markmap-docs]: /docs/content/diagrams-and-formulae/#markmap-version
[markmap-not-rendering]: /docs/content/diagrams-and-formulae/#when-a-markmap-doesnt-render
[markmap-version]: /docs/content/diagrams-and-formulae/#markmap-version
[mdn-dom]: https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/DOM_scripting
[mermaid-docs]: /docs/content/diagrams-and-formulae/#mermaid-version
[mermaid-settings]: /docs/content/diagrams-and-formulae/#mermaid-settings
[mermaid-version]: /docs/content/diagrams-and-formulae/#mermaid-version
[npm-package]: https://www.npmjs.com/package/@docsy/theme
[official support policy]: /project/about/changelog/#official-support
[order of steps]: /docs/update/#update-order
[oss-eu-2026]: https://osselceu2026.sched.com/event/2Rasq/keynote-technical-documentation-for-everyone-and-their-ai-agents-too-erin-mckean-staff-developer-relations-engineer-google-open-source-programs-office-google
[redoc-docs]: /docs/content/shortcodes/#redoc
[repo]: https://github.com/docsy/docsy
[star-the-repo]: https://github.com/docsy/docsy
[ug-discovery]: /docs/content/agent-support/#discovery
[ug-doc-rooted]: /docs/content/adding-content/#agent-support
[ug-doc-rooted-sites]: /docs/content/adding-content/#doc-rooted-sites
[ug-llms-customize]: /docs/content/agent-support/#customize-output
[ug-llms-txt]: /docs/content/agent-support/#llms-txt
[ug-mermaid-12]: /docs/content/diagrams-and-formulae/#mermaid-12
[ug-plugin-authoring]: /docs/content/plugins/#add-a-custom-script
[ug-plugins-warnings]: /docs/content/plugins/#warnings
[ug-plugins]: /docs/content/plugins/
[ug-tabpane]: /docs/content/shortcodes/#tabpane
[ug-click-to-copy]: /docs/content/lookandfeel/#copy-to-clipboard
[ug-script-dep-versions]: /docs/content/diagrams-and-formulae/#script-dep-versions
[theme-npm-deps]: /docs/get-started/docsy-as-module/start-from-scratch/#install-theme-npm-dependencies
[Update Docsy]: /docs/update/
[update-hugo]: /docs/update/#update-hugo
[update-node]: /docs/update/#update-node
[update-overrides]: /docs/update/#update-overrides
[update-theme]: /docs/update/#update-theme
[ydnj]: https://github.com/camsong/You-Dont-Need-jQuery
<!-- prettier-ignore-end -->
