NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3416 most downloaded on PyPI
A modern static site generator built by the creators of Material for MkDocs
Last release 4 days ago
30 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
67 releases · first in 2024
One column per month.
Zensical now supports Material for MkDocs’ social plugin natively, generating social cards and Open Graph and Twitter metadata with bundled or custom
Zensical now supports Material for MkDocs’ social plugin natively, generating social cards and Open Graph and Twitter metadata with bundled or custom layouts. This release also adds native llmstxt and exclude plugins for Markdown exports and file exclusions.
Additionally, the user interface is updated to v0.0.34, adding a Copy as Markdown button.
llmstxt MkDocs plugin replacementsocial MkDocs plugin replacementexclude MkDocs plugin replacementgithub-admonitions MkDocs plugin replacementThis version adds compatibility with mkdocs-autoapi and mkdocs-api-autonav , making it easier to document Python projects. These plugins discover modu
This version adds compatibility with mkdocs-autoapi and mkdocs-api-autonav, making it easier to document Python projects. These plugins discover modules and packages, generate API reference pages, and organize them in your site's navigation. They build on mkdocstrings, which renders the reference content from your code and docstrings, so you can skip manually creating a page for each module.
It also fixes responsive image URLs in raw HTML, ensures sitemaps include all published pages, and adds support for custom InlineHilite formatters configured through TOML.
Additionally, the user interface is updated to v0.0.33, adding styling for mkdocstrings backlinks in both themes, restoring GLightbox styles after instant navigation, respecting custom Mermaid node label colors, and fixing the / search shortcut.
This version expands MkDocs compatibility with a native replacement for the rss plugin and support for mkdocstrings backlinks. Zensical can now genera
This version expands MkDocs compatibility with a native replacement for the rss plugin and support for mkdocstrings backlinks. Zensical can now generate RSS 2.0 and JSON Feed 1.1 feeds for created and updated pages. Python API documentation can also show which pages reference a documented object, with backlinks kept current across cached builds.
version_selector settingenable_inventory settingrss plugin replacement (#443)Many of you have been waiting for this one: Zensical now includes native blog support. As a direct port of the Material for MkDocs blog plugin, it pre
Many of you have been waiting for this one: Zensical now includes native blog support. As a direct port of the Material for MkDocs blog plugin, it preserves the familiar configuration, metadata, URLs, archives, categories, authors, pagination, and more. We're happy to finally put it into your hands, with more flexible blogging functionality planned for the future.
blog plugin replacementThis version ensures pages containing snippets rebuild when source files change during local preview and excludes hidden files and directories from th
This version ensures pages containing snippets rebuild when source files change during local preview and excludes hidden files and directories from the generated site. It also fixes preview-site root redirects and returns proper 404 responses while preserving custom error pages.
Additionally, the user interface is updated to v0.0.31, fixing empty submenus for sections containing only an index page and improving task list checkbox sizing and alignment in the modern theme. It also updates dependencies and adds 60 new icons across Lucide, Octicons, and Simple Icons.
This version adds support for the mkdocs-callouts plugin, which renders Obsidian-style callouts as admonitions. It also improves compatibility with ex
This version adds support for the mkdocs-callouts plugin, which renders Obsidian-style callouts as admonitions. It also improves compatibility with existing MkDocs projects by accepting more plugin settings and fixes builds when the project configuration file is included in watch.
Additionally, the user interface is updated to v0.0.30, ensuring that anchor links reveal targets inside collapsed details, content tabs, and annotations – including deeply nested combinations – before scrolling to them.
This version adds more comprehensive support for documentation redirects in mkdocs.yml and zensical.toml . Zensical supports page and anchor redirects
This version adds more comprehensive support for documentation redirects in mkdocs.yml and zensical.toml. Zensical supports page and anchor redirects, resolves redirect chains, rejects cycles, and preserves links when pages are moved or split.
Renaming a heading normally breaks bookmarks and external links to its old anchor. For example, after renaming ## Installation to ## Getting started, add:
[project.plugins.redirects.redirect_maps]
"guide.md#installation" = "guide.md#getting-started"Existing links to /guide/#installation will then redirect to /guide/#getting-started. The same configuration can redirect anchors between pages or preserve individual sections when splitting a page.
Zensical Studio detects renamed headings and offers an Add anchor redirect CodeLens. It can complete, validate, navigate to, and repair redirect targets while compacting repeated changes, updating redirect chains, and removing redundant self-redirects.
This version updates the user interface to 0.0.28, fixing navigation pruning and alternate-link handling while adding 51 new icons. It also adds direc
This version updates the user interface to 0.0.28, fixing navigation pruning and alternate-link handling while adding 51 new icons. It also adds direct support for the table-reader plugin and fixes template inclusion with macros on Windows extended-length paths.
This version fixes navigation title precedence, Windows custom_dir paths, material/meta activation, and inline SVG icons processed by the minify plugi
This version fixes navigation title precedence, Windows custom_dir paths, material/meta activation, and inline SVG icons processed by the minify plugin.
minify plugin breaks icons circle and rect elementscustom_dir path interpreted incorrectly on Windows (#902)meta plugin only enabled when using material/meta (#898)This version marks a major evolution of Zensical's build architecture and completes the most essential MkDocs plugin replacements.
This version marks a major evolution of Zensical's build architecture and completes the most essential MkDocs plugin replacements.
Six new plugin replacements are now included:
metaredirectsminifytagsliterate-navawesome-navThe existing search, mkdocstrings, and autorefs replacements have also been migrated to the new architecture. We kept their behavior close to the upstream plugins while moving almost all processing into Rust. Python is now primarily responsible for configuration normalization and the narrow Python-Markdown adapter used by literate-nav.
Under the hood, the build pipeline now runs on a substantially more efficient ZRX scheduler and stream architecture. Together with more compact intermediate data, shared page state, and fewer allocations, this reduces peak memory usage by roughly 30–40% on large projects. Builds are also modestly faster.
Most remaining build time is now spent rendering Markdown through Python-Markdown. One of our next major performance steps is replacing that stage with our Rust-based, Python-Markdown-compatible parser, as announced in the June edition of Zensical Monthly.
Over the coming weeks, we'll focus on adding more plugin replacements so that increasingly complex existing projects can switch to Zensical without missing out on functionality. We'll also continue evolving the module API and make it available to interested early users before releasing it publicly.
awesome-nav MkDocs plugin replacementliterate-nav MkDocs plugin replacementtags MkDocs plugin replacementminify MkDocs plugin replacementredirects MkDocs plugin replacementmeta MkDocs plugin replacementautorefs MkDocs plugin replacementmkdocstrings MkDocs plugin replacementsearch MkDocs plugin replacementThis version improves compatibility with markdown-exec by supporting pymdownx blocks, raises the maximum HTTP header value size to 8 KiB for proxy-gen
This version improves compatibility with markdown-exec by supporting pymdownx blocks, raises the maximum HTTP header value size to 8 KiB for proxy-generated cookies, and updates the UI dependency stack and bundled icons. UI performance and palette tooltip behavior were also improved, especially on large pages and in Safari.
This version fixes a regression introduced in 0.0.55, making Zensical report false positives for the deprecated unresolved_references setting. Additio…
This version fixes a regression introduced in 0.0.55, making Zensical report false positives for the deprecated unresolved_references setting. Additionally, checking of autorefs is moved to the invalid_links setting. Please disable unresolved_references - it is not supported anymore, and will be replaced by the reference parser that we're currently testing in Zensical Studio.
invalid_links validation settingThis version fixes two false positives in the reference extractor and reverts Zensical's bootstrapped zensical.toml to TOML 1.0, since most editor too
This version fixes two false positives in the reference extractor and reverts Zensical's bootstrapped zensical.toml to TOML 1.0, since most editor tooling does not yet support TOML 1.1. Zensical understands both, TOML 1.0 and TOML 1.1, so this change does not affect the functionality of Zensical itself.
This release also corrects mike configuration defaults and updates webbrowser to address a security vulnerability.
This version reduces peak memory usage by 8–10x, making builds of large documentation projects substantially more efficient. It also improves reference validation by preventing false positives for links successfully resolved through autorefs.
Additionally, the user interface is updated to v0.0.25, fixing instant navigation for inline scripts and version aliases created with mike. This release also corrects mike configuration defaults and updates webbrowser to address a security vulnerability.
mike incorrectly setwebbrowser to address CVEThe generated zensical.toml now uses TOML 1.1 syntax, and pymdownx is updated to version 11.0 to address a vulnerability.
This version adds support for enabling strict mode directly in mkdocs.yml or zensical.toml, allowing warnings to fail builds consistently without the --strict command-line option. It also reduces memory usage by sharing cross-reference data between navigation clones.
Additionally, the user interface is updated to v0.0.24, improving search rendering for right-to-left languages and adding four new Lucide icons. The generated zensical.toml now uses TOML 1.1 syntax, and pymdownx is updated to version 11.0 to address a vulnerability.
strict configuration option (#840)pymdownx to 11.0 to fix vulnerabilityArc to reduce memory usage (#838)zensical.toml to TOML 1.1 syntaxThis version adds search support for CJK languages: Chinese, Japanese, and Korean. Search needs to segment text into individual words before it can in
This version adds search support for CJK languages: Chinese, Japanese, and Korean. Search needs to segment text into individual words before it can index and match them. While many languages separate words with spaces, this is not consistently the case for CJK text, particularly Chinese and Japanese. Search now uses locale-aware segmentation to identify meaningful word boundaries, ensuring that content and queries are indexed and matched correctly.
Set the site language to zh, zh-Hant, zh-TW, ja, or ko to enable segmentation.
The search modal is also larger, showing more results and context at once. Additionally, keyboard keys inside admonitions now use the correct background color in the modern theme.
Dependencies and development tooling were updated, including TypeScript 7. The build scripts now use tsx instead of ts-node, and npm-run-all2 replaces the unmaintained npm-run-all. Updated icon packages add 56 new icons: 23 Font Awesome icons, 21 Lucide icons, 8 Octicons, and 4 Simple Icons.
…files, and upgrades soupsieve to address vulnerabilities.
This version improves cached rebuilds by persisting objects.inv and autorefs data, fixes stale builds after removing files, and upgrades soupsieve to address vulnerabilities.
This version fixes a regression introduced in 0.0.48 which broke search.
This version fixes a regression introduced in 0.0.48 which broke search.
This version updates the user interface to v0.0.21, bringing the latest fixes for Pyodide-powered code execution, search, and ANSI color rendering.
This version updates the user interface to v0.0.21, bringing the latest fixes for Pyodide-powered code execution, search, and ANSI color rendering.
It also improves configuration parsing, and fixes relative and scoped cross-references for mkdocstrings-python.
This version adds support for markdown-exec, an MkDocs plugin that executes Python code blocks during the build and injects the result into the render
This version adds support for markdown-exec, an MkDocs plugin that executes Python code blocks during the build and injects the result into the rendered page. In practice, this makes it easier to build interactive technical documentation, generated examples, and executable snippets that integrate directly with the theme in both classic and modern variants.
Additionally, the user interface is updated to v0.0.20, which includes several styling and interaction fixes. Mermaid diagram colors are now applied correctly for sequence numbers and activations, flow chart arrows, and state diagram arrows. Search filter scrollbars no longer overlap selectable items, and images using data-gallery are attributed correctly again.
site_dir and docs_dir (#780)& in URLs used in templates and sitemap (#772)0f11c7f – update pyo3 to 0.29.0 to mitigate 2 vulnerabilities
This version improves search result quality and includes several bug fixes and refactorings.
Search results now include excerpts, making it easier to understand why a result matches. Search remains fully client-side and as fast as before, even for projects with thousands of pages. We still consider search an active area of iteration and expect to further improve it and expose more configuration options over time.
<img width="1280" height="661" src="https://github.com/user-attachments/assets/7bea5301-98c0-4712-9102-6f73dedc46d1" />
The user interface is updated to v0.0.19, which includes several navigation and interaction fixes. Search highlighting now ignores single-character tokens, which avoids noisy matches like highlighting every e for queries such as e-mail. Instant previews now include a hover bridge so moving the cursor from a link to the tooltip no longer drops the popup across the visual gap.
Dependencies were also updated, including TypeScript 6 and SVGO 4 compatibility adjustments. 83 new icons were added, 2 icons were removed, and 19 icons were modified. The Lucide icon set was updated to version v1.21.0.
The validation options unresolved_references, unresolved_footnotes, unused_definitions, unused_footnotes, shadowed_definitions, and shadowed_footnotes are now disabled by default. These checks remain available when explicitly enabled, but they have proven too unstable in edge cases with the current reference parser. They will eventually be superseded by the higher-fidelity parser that is already used by Zensical Studio and is planned for Open Source release and later integration into Zensical.
small tags in generated search indexpyo3 to 0.29.0 to mitigate 2 vulnerabilitiesThis version reverts a behavior change in link validation that was introduced in 0.0.44 which is causing false positives.
This version reverts a behavior change in link validation that was introduced in 0.0.44 which is causing false positives.
This version fixes several bugs related to link validation and macros, and ensures that dotfiles are not removed from the site directory during genera
This version fixes several bugs related to link validation and macros, and ensures that dotfiles are not removed from the site directory during generation.
[//]: ... during link validationconf attribute in macros' env objectThis version fixes further edge cases in link validation, and adds support for UTF-8 encoding with byte-order-marks.
This version fixes further edge cases in link validation, and adds support for UTF-8 encoding with byte-order-marks.
path.md/#anchor as invalid during link validation (#690)[TOC] marker during link validation (#686)This version includes a number of bug fixes and refactorings to improve the stability and accuracy of link validation, and fixes a reload loop when th
This version includes a number of bug fixes and refactorings to improve the stability and accuracy of link validation, and fixes a reload loop when the custom_dir, which is auto-watched, is explicitly added to watch. Moreover, GLightbox is now only downloaded when needed, which fixes an issue when using Zensical in air-gapped environments.
\r is present$ at end of line breaks link validation (#659)zensical[] and [][] link references (#663)This version adds support for [integrating tabular data] as Markdown tables, covering the functionality of the [mkdocs-table-reader-plugin], as well a
This version adds support for integrating tabular data as Markdown tables, covering the functionality of the mkdocs-table-reader-plugin, as well as the watch option to automatically rebuild on changes in unmonitored files. Table reading is implemented as part of macros, which we shipped in 0.0.40. You can now embed CSV and other file formats with:
{{ read_csv("data/team.csv") }}
Additionally, the stability of link validation has been drastically improved, reducing the rate of false positives. We're working on support for validating links using autorefs, which we'll provide in one of the next versions.
This version adds support for [macros], covering the functionality of the mkdocs-macros-plugin. Macros allow you to define custom variables and functi
This version adds support for macros, covering the functionality of the mkdocs-macros-plugin. Macros allow you to define custom variables and functions that can be used in your Markdown files, making it easier to manage and reuse content across your documentation.
We've implemented macros support as a Python Markdown extension, since it's essentially a Markdown preprocessor that doesn't need to be aware of the rest of Zensical's rendering process, except for the current page and configuration. The benefit is that it can now also be used in Python docstrings to build API documentation with mkdocstrings.
\r present (#615)\r\n line feedszensical serve returns 404 after suspend (#574)mkdocs-glightbox fails when only defaults are set (#611)This version fixes several bugs related to link validation and lightbox configuration.
This version fixes several bugs related to link validation and lightbox configuration.
$...$ and $$...$$ blocks to exclusions for link validation (#599)caption_position on glightbox extension (#604)glightbox config options to dataclassThis version adds [link and footnote validation] and [strict mode] – two of the most frequently requested features. Zensical now checks all internal r
This version adds link and footnote validation and strict mode – two of the most frequently requested features. Zensical now checks all internal references at build time and reports issues with precise source locations, so broken links don't make it into your published documentation. Unlike MkDocs, which only validates final rendered links, Zensical also checks for unresolved references, as well as unused and shadowed definitions – covering the full lifecycle of a reference from definition to use.
Zensical scans every Markdown file in your project and resolves all internal references against each other: inline links, reference-style links, footnotes, link definitions, and anchor targets. Every check is individually configurable and enabled by default.
$ zensical build
...
Warning: page does not exist
╭─[ index.md:3:14 ]
│
3 │ [id]: non-existent.md
│ ───────┬───────
│ ╰───────── page does not exist
───╯
The following checks for links and footnotes are now available:
unresolved_referencesunresolved_footnotesunused_definitionsunused_footnotesshadowed_definitionsshadowed_footnotesinvalid_linksinvalid_link_anchorsThe new --strict command line flag causes the build to fail when any enabled validation check triggers, turning warnings into errors. This is useful for CI pipelines where you want to enforce link integrity and prevent broken documentation from being published:
$ zensical build --strict
...
Warning: unresolved link reference
╭─[ index.md:1:35 ]
│
1 │ This is an [unresolved reference][id].
│ ─┬
│ ╰── unresolved link reference
───╯
1 issue found
Aborted because --strict flag is set
No changes to your configuration are required – all checks are enabled by default. It's quite likely that you'll run into at least some warnings – as we did – when upgrading, since before, it was easy to miss unused link definitions or unresolved references. If you want to disable validation entirely, you can use:
[project]
validation = false
As always, if you run into any problems, please open an issue.
--strict mode (#175)zrx upgradeThis version adds support for [installable themes]. You can now bundle your theme overrides and package them into a custom theme which can be installe
This version adds support for installable themes. You can now bundle your theme overrides and package them into a custom theme which can be installed via pip.
As of now, we closely mirror the process used by MkDocs, where themes just need to register themselves in the mkdocs.themes entrypoint, to allow users that already have derivations of Material for MkDocs to run them on Zensical. In the coming months, with the advent of the component system, we'll make this process much more flexible and foster reuse at the component level. For now, this is a first step to allow sharing of theme overrides and default configurations inside organizations with dozens or even thousands of projects.
[!TIP]
If your organization has been a happy user of Material for MkDocs and is considering switching to Zensical, please support our work through Zensical Spark. Your financial contribution helps us achieve full compatibility with MkDocs much faster, gives you access to hands-on support by the core team, and allows you to shape Zensical together with us.
Markdown processors to extend functionalityThis version adds the missing update of the user interface that should've been included with v0.0.35.
This version adds the missing update of the user interface that should've been included with v0.0.35.
> Please update to v0.0.36 – this version is missing some changes to the user interface for the new features.
[!WARNING]
Please update to v0.0.36 – this version is missing some changes to the user interface for the new features.
This version adds native support for GLightbox, a JavaScript lightbox library to add zoom and gallery features to images. Images can be automatically annotated with the new glightbox Markdown extension. Add the following to zensical.toml:
[project.markdown_extensions.zensical.extensions.glightbox]
[!NOTE]
In order to integrate with configuration in
mkdocs.yml, where GLightbox is implemented as a plugin, a compatibility shim is included, so no re-configuration is necessary if you're already using the plugin. Note that our extension is more efficient and faster than the plugin, as it does not re-parse the entire HTML of each page, but instead uses Python Markdown's native extension API.
Additionally, section titles in the table of contents will now render with HTML markup, so you can use emojis and other inline features in section titles and have them render correctly in the table of contents. In Material for MkDocs, this functionality was implemented with the typeset plugin. Zensical now supports this natively.
<img width="3160" height="1798" alt="table-of-contents-fs8" src="https://github.com/user-attachments/assets/e753a2cf-8a1e-4029-bf26-35c0c730ba51" />
Relative links in raw HTML are now correctly resolved. Initially, we carried over the link processing and resolution logic from MkDocs, which does not support relative links in raw HTML to this day. We implemented a Python Markdown postprocessor, to ensure that relative links in raw HTML are handled as well.
glightboxglightbox (#290)img attributes moved to parent in GLightboxExtensionGLightboxExtensionNone attributes are not added by GlightboxExtensionGLightbox extension to regular PostprocessorThis version moves Zensical to the latest version of [ZRX], the foundation for Zensical and its ecosystem. It includes the module system, as well as a
This version moves Zensical to the latest version of ZRX, the foundation for Zensical and its ecosystem. It includes the module system, as well as a ground up rewrite of the scheduler and streaming API. We did extensive testing with several hundred projects we obtained from GitHub, so we don't expect any issues. However, if you encounter any problems, please let us know.
Moreover, this version ships support for usage of TOML v1.1.0 in zensical.toml, which allows new lines in inline tables. Thus, configuration files can now be made more readable, especially when they contain long lists of items. For example:
Prior to this version
palette = [
{ scheme = "default", toggle = { icon = "lucide/sun", name = "Switch to dark mode" } },
{ scheme = "slate", toggle = { icon = "lucide/moon", name = "Switch to light mode" } },
]
With this version
palette = [
{
scheme = "default",
toggle = {
icon = "lucide/sun",
name = "Switch to dark mode"
}
},
{
scheme = "slate",
toggle = {
icon = "lucide/moon",
name = "Switch to light mode"
}
},
]
Additionally, Markdown pages with snippets are now rebuilt when snippets are updated, and an issue with breadcrumbs was fixed when the top-level index.md was not at the root of explicit navigation.
README.html links to index.html links when directory URLs aren't set (#531)index.md a homepage, like MkDocs (#476)rand to 0.9.4 to mitigate CVEThis version updates our official [Docker image] to be based on Alpine Linux for better compatibility and ease of use. It also adds all recommended Ma
This version updates our official Docker image to be based on Alpine Linux for better compatibility and ease of use. It also adds all recommended Markdown Extensions to the generated zensical.toml file when bootstrapping a project with zensical new, ensuring a smoother setup experience. Additionally, the user interface is updated to v0.0.13, which includes two bug fixes for anchor links in the table of contents.
zensical.tomlAdditionally, the Pygments dependency was updated to mitigate a vulnerability.
This version fixes a bug where Markdown files used as snippets were included into auto-generated navigation, and a bug with prefix stripping when the site URL contains a path component. Additionally, the Pygments dependency was updated to mitigate a vulnerability.
This version updates the [user interface] to [v0.0.12], which includes the [removal of 19 brand icons] due to the update of Lucide to v1, and the addi
This version updates the user interface to v0.0.12, which includes the removal of 19 brand icons due to the update of Lucide to v1, and the addition of 166 new icons, most of them in SimpleIcons and FontAwesome. Additionally, there are bug fixes related to the latest changes of the table of contents in the modern theme and instant navigation on anchor links.
This version adds support for [mike], a tool for managing multiple versions of MkDocs projects on GitHub Pages. We created [a tailored fork of mike] f
This version adds support for mike, a tool for managing multiple versions of MkDocs projects on GitHub Pages. We created a tailored fork of mike for Zensical – all mike commands should work as expected. Please refer to our documentation for setup instructions, and mike's documentation for advanced usage patterns and options.
Note that this is a temporary solution. Zensical will ship native support for versioning in the near future, which will remove the GitHub Pages constraint and offer more flexibility in how versions are deployed and served.
The user interface is updated to v0.0.11, which adds a floating table of contents menu for mobile to the modern theme. The toggle sits at the bottom of the screen for easy thumb access, and the sidebar scrolls to accommodate arbitrarily long tables of contents. This release also includes several improvements: snappier sidebar animations, better tooltip readability, and improved inline code block sizing.
mikeThis version fixes an issue with absolute paths in links, as well as changed files not being picked up by Zensical on Windows 11.
This version fixes an issue with absolute paths in links, as well as changed files not being picked up by Zensical on Windows 11.
This version updates the [user interface] to [v0.0.10], which fixes a couple of bugs related to search and code annotation rendering. Additionally, it
This version updates the user interface to v0.0.10, which fixes a couple of bugs related to search and code annotation rendering. Additionally, it adds support for version selectors in the modern theme, paving the way for adding support for mike to manage multiple versions of documentation on GitHub Pages.
In addition, this release adds new configuration options for the file watcher to improve compatibility in certain environments.
You can now opt into using a polling-based file watcher, which is particularly useful when running Docker on Windows, where filesystem event limitations (e.g., inotify constraints) can cause issues.
To enable the polling watcher:
export ZENSICAL_POLL_WATCHER=1
The polling interval is configurable and defaults to 500 milliseconds (aligned with MkDocs behavior):
export ZENSICAL_POLL_INTERVAL=500
zensical.tomlThis version fixes a reload loop for when auto-appended snippets are located inside of the docs directory, and auto-reload for pages with Chinese path
This version fixes a reload loop for when auto-appended snippets are located inside of the docs directory, and auto-reload for pages with Chinese path segments.
…in version 1.12.5. Additionally, it fixes a deprecation warning on Python 3.14 when using the emoji extension.
This version fixes a regression introduced in 0.0.25 where the wheels built for manylinux x86 would be based on Python 3.8 instead of Python 3.10, making Zensical unusable on those architectures. This is related to a recent bug in our upstream dependency maturin, which was introduced in version 1.12.5. Additionally, it fixes a deprecation warning on Python 3.14 when using the emoji extension.
codecs.open, deprecated in Python 3.14 (#429)This version updates the [user interface] to [v0.0.9], which improves on accessibility and fixes some minor rendering issues. Additionally, it fixes s
This version updates the user interface to v0.0.9, which improves on accessibility and fixes some minor rendering issues. Additionally, it fixes some bugs related to configuration parsing and plugin handling in zensical serve, ensuring a smoother development experience.
zensical serve now keeps running on configuration parsing errorspymdownx.snippets files are now watched for changeszensical serve (#403)pymdownx.snippets files for changes (#148)zensical.toml (#394)This version updates the [user interface] to [v0.0.8], which fixes issues with instant previews for Chinese and other non-ASCII languages, and layout
This version updates the user interface to v0.0.8, which fixes issues with instant previews for Chinese and other non-ASCII languages, and layout shifts when switching from short to long pages in the modern theme. Additionally, same-page links for when directory URLs are disabled where not resolved correctly, which is fixed as well.
This version fixes a regression introduced in 0.0.22, where builds would error with mkdocstrings being not found, although the plugin wasn't configure
This version fixes a regression introduced in 0.0.22, where builds would error with mkdocstrings being not found, although the plugin wasn't configured.
This version adds support for the [autorefs] plugin, and further improves performance for large mkdocstrings projects. The [user interface] is updated
This version adds support for the autorefs plugin, and further improves performance for large mkdocstrings projects. The user interface is updated to v0.0.7, which fixes some isses with the mobile browsering experience.
: need to start with ./ (#345)This version updates the [user interface] to [v0.0.6], which fixes excessive memory usage for pages with hundreds of links that are marked with data-p
This version updates the user interface to v0.0.6, which fixes excessive memory usage for pages with hundreds of links that are marked with data-preview (for instant previews), among several other improvements and bug fixes.
modern themeextra_css not automatically reloaded (#328)zensical.tomlThis version fixes excessive memory usage when building large mkdocstrings-powered documentation sites. Additionally, it fixes an issue where the buil
This version fixes excessive memory usage when building large mkdocstrings-powered documentation sites. Additionally, it fixes an issue where the build sometimes terminates prematurely. We're working on further improvements to memory consumption and stability in upcoming releases, as we're currently refactoring a significant part of the runtime.
This version adds support for the generation of objects.inv for your [mkdocstrings]-powered documentation site, allowing external tools to discover an
This version adds support for the generation of objects.inv for your mkdocstrings-powered documentation site, allowing external tools to discover and link to your API documentation. No changes to your configuration are necessary.
[!NOTE]
Please also update to mkdocstrings v1.0.2.
This version fixes a reload loop when mkdocstrings paths setting is set to ., which was introduced in 0.0.17 as a regression, and a race condition rel
This version fixes a reload loop when mkdocstrings paths setting is set to ., which was introduced in 0.0.17 as a regression, and a race condition related to caching is resolved. Additionally, Zensical was too retrictive, only allowing specific meta keys for the navigation templates. This has been relaxed to allow any meta keys to be used.
. (#294)This version brings support for automatic and manual API cross-references. Symbol names on pages that include auto-generated API documentation now aut
This version brings support for automatic and manual API cross-references. Symbol names on pages that include auto-generated API documentation now automatically link to the relevant section. Additionally, manual cross-references can be created both in Markdown pages and Python docstrings with the following syntax:
See [the FastAPI class][fastapi.FastAPI] for reference.
Moreover, cross-references from loaded inventories are now supported as well.
[!NOTE]
Support for
objects.invwill follow in one of the next releases.
--open (#275)nav (#272)mkdocstrings source files for auto-reloadThis version updates the [user interface] to [v0.0.4], which fixes searching for & characters, as well as usage of Lucide icons in the footer, and add
This version updates the user interface to v0.0.4, which fixes searching for & characters, as well as usage of Lucide icons in the footer, and adds support for custom admonition icons via theme configuration.
This release updates the [user interface] to [v0.0.3], which includes support for fuzzy search, and improves tooltip behavior on touch devices.
This release updates the user interface to v0.0.3, which includes support for fuzzy search, and improves tooltip behavior on touch devices.
This release includes the [official Docker image] for Zensical, and fixes problems with hanging builds on Linux and Windows, as well as the build cach
This release includes the official Docker image for Zensical, and fixes problems with hanging builds on Linux and Windows, as well as the build cache not being invalidated when templates were changed in overrides.
You can pull and run the Docker image with:
docker run --rm -it -p 8000:8000 -v ${PWD}:/docs zensical/zensical
mkdocstrings-python to DockerfileDockerfileDockerfile to build Docker image (#12)custom_dir setting crashes buildDockerfile for fast rebuildsDockerfileDockerfile…fixes, and ships 132 new icons. It might be a breaking change, as Simple icons removed 44 icons in their latest release, so make sure you're not using…
This release updates the user interface to v0.0.2, which includes various improvements and bug fixes, and ships 132 new icons. It might be a breaking change, as Simple icons removed 44 icons in their latest release, so make sure you're not using them. See the v0.0.2 release notes for details.
repo_name replaced with host name (#205)This release fixes several issue with mkdocs.yml parsing, problems with zensical new, and other bugs. It's also the first release that goes through ou
This release fixes several issue with mkdocs.yml parsing, problems with zensical new, and other bugs. It's also the first release that goes through our new release workflow powered by mono, our new mono repository automation tool.
mkdocs.yml on Windows (#189)zensical new (#72)type="module" for .mjs files (#183).mjs files5dbcd05 ui – tooltip in header overlaid by sticky navigation tabs (#181)zensical new to run even when folders exist (#171)This release adds support for [mkdocstrings], enabling generation of API reference documentation for Python projects. Note that cross-references and b
This release adds support for mkdocstrings, enabling generation of API reference documentation for Python projects. Note that cross-references and backlinks are not yet supported – we're working on it.
d1b0031 ui – add style for mkdocstrings Python handlere919ce8 ui – adjust mkdocstrings styles for modern themedafddc3 ui – layout shifts when scrollbars appears and disappears9faeb32 ui – search showing ⌘K shortcut on all OSs using classic themeThis release includes two __massive performance improvements for Disco__.
This release includes two massive performance improvements for Disco.
Before this release, the query was always re-executed when paginating, i.e., scrolling and loading the next 10 results. This led to janky loading of results, since the entire query had to be re-run on every scroll event. With this fix, pagination is below 1ms and should feel extremely smooth, regardless of query execution time.
Highlighting was carried out on all results eagerly, not lazily only for the results that are visible. When indexing 25 MB of data (= a book with ~12.000 printed pages), Disco would take up to 150ms when querying for a single character (the worst case). This fix brings down worst case query time to 60ms for indexes of that size.
c048e83 __compat__, __zensical__ – config change in Markdown extensions not detected
zensical.toml4e605b0 __compat__ – slugify function for toc and tabs not configurable
index.md always treated as index pages. with directory URLs disabledpymdownx.blocks crashes build61c9d5d ui – search staying put on keyboard navigation32a5754 ui – search showing ⌘K shortcut on all OSs8b80de6 ui – inactive pruned navigation item not showing icon6178b4a __compat__ – custom fences format function not resolved
dbaa60f ui – improve discernibility of task list checkmarksYour coding agent can read these notes before it upgrades. Set up the MCP server →