Release history
Zensical releases
Modern static site generator
All releases
41 shown
- Support for integrating tabular data via Markdown tables (read_csv macro) matching mkdocs-table-reader-plugin functionality
- Watch option to automatically rebuild on changes in unmonitored files
Full changelog
Summary
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.
Changelog
Features
- d24ea24 compat – support table reader functionality
- 2cbb33d compat – support watch option (#643)
Bug fixes
- 9e466fc ui – update ui to v0.0.17
- bee1c3f compat – give higher priority than superfences to macros preprocessor (#638)
Refactorings
- 67b6ef1 compat – make extensions consistent
- bf26d1b zensical, compat – implement parser for link validation
- Added macros support via a Python Markdown extension, compatible with mkdocs-macros-plugin
Full changelog
Summary
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.
Changelog
Features
- 36b5131 compat – exclude macros blocks from link validation
- f7fe088 compat – support macros plugin
Bug fixes
- bdc3471 ui – update ui to v0.0.16
- 4be2374 compat – link validation doesn't catch end of MathJax when
\rpresent (#615) - c6cffec compat – link validation exclusions don't catch
\r\nline feeds - 6efe0a3 compat – link validation exclusions require empty line after code block (#618)
- 645bbe8 zensical – clear site directory contents instead of removing it (#621)
- 814d2e9 zensical – link validation yields false positives on Windows (#616)
- b229bac zensical-serve –
zensical servereturns 404 after suspend (#574) - b5492ce compat – shim for
mkdocs-glightboxfails when only defaults are set (#611)
Refactorings
- 91090e9 zensical, compat – combine file watching for extensions
- b2fdc78 zensical, compat – pass rendering context into preprocessor
Fixed percent‑encoded link validation and lightbox caption_position errors.
Full changelog
Summary
This version fixes several bugs related to link validation and lightbox configuration.
Changelog
Bug fixes
- fe42fc4 compat – shim for MkDocs validation syntax overrides Zensical's (#607)
- acc2620 zensical – validation doesn't correctly map percent-encoded links (#598)
- da317bf compat – add
$...$and$$...$$blocks to exclusions for link validation (#599) - 94f0d29 zensical – anchor not extracted from combined anchor-text-fragment
- 273dd23 compat – auto-themed gallery takes precedence over explicit grouping
- c050add compat – error when setting
caption_positiononglightboxextension (#604) - 699d3be zensical – add Python backtrace on Markdown rendering error
Refactorings
- 3e27d69 compat – move
glightboxconfig options to dataclass
- All checks are enabled by default; upgrading may surface warnings for previously missed issues.
- To disable validation entirely set `validation = false` in `zensical.toml`.
- Link and footnote validation that reports unresolved references, unused definitions, shadowed links, and invalid anchors at build time
- --strict flag causes the build to fail on any enabled validation warning
Full changelog
Summary
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.
Validation
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_anchors
Strict mode
The 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
Upgrading
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.
Changelog
Features
- 201c615 zensical, compat – add link and footnote validation and
--strictmode (#175)
Refactorings
- b3c1d91 zensical, compat – add custom Markdown subclasses
- ce8cbf8 zensical – simplify function definitions after
zrxupgrade
- Installable theme extensions via `pip` following MkDocs entrypoint registration
Full changelog
Summary
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.
Changelog
Features
- 7694535 zensical, compat – installable theme extensions (#511)
Bug fixes
- 72ba122 compat – sanitize nested metadata (#582)
- 2fb663e compat – text adjacent to image included in link to open image in lightbox (#579)
- dc32baf compat – anchor links preserved in table of content section titles (#578)
- 127648e compat – attributes not applied to lightbox images
Refactorings
- 9872092 compat – subclass
Markdownprocessors to extend functionality - fdeb061 compat – use identical name for tree- and post-processor
Fixed the missing UI update that was omitted in v0.0.35.
Full changelog
Summary
This version adds the missing update of the user interface that should've been included with v0.0.35.
Changelog
Bug fixes
- d4d88f8 ui – update ui to v0.0.15
- Native GLightbox support via `glightbox` Markdown extension for zoom and gallery features
- Section titles in the table of contents now render with HTML markup (emojis, inline elements)
Full changelog
[!WARNING]
Please update to v0.0.36 – this version is missing some changes to the user interface for the new features.
Summary
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.
HTML in the table of contents
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.
Relative links in raw HTML
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.
Changelog
Features
- 5519730 zensical, compat – render section title with markup in table of contents
- db8518d compat – add plugin compatibility shim for
glightbox - 057da7c compat – add support for image galleries using
glightbox(#290)
Bug fixes
- 64f3f33 compat – relative links in raw HTML not correctly resolved (#258)
- 87abb2a compat – remove
imgattributes moved to parent inGLightboxExtension - f7531af compat – images in raw HTML are double-processed by
GLightboxExtension - 1d8dc83 compat – ensure
Noneattributes are not added byGlightboxExtension - 773fa76 zensical – support uv's symlink mode (#557)
Refactorings
- 7c977a8 compat – move
GLightboxextension to regularPostprocessor
- dep: Bumped `rand` to 0.9.4 to mitigate CVE
- Configuration parser updated to TOML v1.1.0, enabling new lines in inline tables for improved readability.
Full changelog
Summary
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.
Changelog
Features
- 8f5f584 compat – update configuration parser to TOML v1.1.0
Bug fixes
- 2461bd6 ui – update ui to v0.0.14
- 670834f compat – inhibit instant previews on footnote backrefs
- d24ba8a zensical – Markdown pages with snippets not rebuilt when snippet changes (#526)
- 7076f8d compat – update
README.htmllinks toindex.htmllinks when directory URLs aren't set (#531) - 4b9ed87 zensical – don't consider non-root
index.mda homepage, like MkDocs (#476) - 25f9ad6 – bump
randto 0.9.4 to mitigate CVE
Refactorings
- 50aa8a5 zensical, zensical-watch – update to zrx to v0.0.21
- docker: switched base image to Alpine Linux (#510)
- Added default Markdown Extensions to bootstrapped zensical.toml
Full changelog
Summary
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.
Changelog
Breaking changes
- 4eb05a2 docker – switch base image to Alpine Linux for ease of use (#510)
Features
- 6871d33 compat – add default Markdown Extensions to bootstrapped
zensical.toml
Bug fixes
- bb8a7e5 ui – update ui to v0.0.13
- bb58c5d compat – out of date help message (#524)
- 9bff25a compat – add missing configuration for default Markdown Extensions
Refactorings
- 20d94ad compat – update GitHub workflows to Node 24 (#522)
- dep: Pygments vulnerability mitigated by updating to the latest version
Full changelog
Summary
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.
Changelog
Bug fixes
- ca5d2d5 zensical-serve – strip base URL prefix as URL segment, not string (#499)
- 3a2358a – update to latest Pygments to mitigate vulnerability (#485)
- 92b5622 zensical – only collect markdown pages in docs directory (#490)
- Removal of 19 brand icons caused by Lucide v1 update
Full changelog
Summary
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.
Changelog
Bug fixes
- 198c1d6 ui – update ui to v0.0.12
- 24be9ab compat – support pymdownx blocks tab extension's slugify function (#483)
- Support for Mike (mike) to manage multiple MkDocs versions on GitHub Pages
- User interface updated to v0.0.11 with a floating table of contents menu for mobile
Full changelog
Summary
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.
Changelog
Features
- 77a08d9 compat – add support for
mike
Bug fixes
- 97cdbc8 ui – update ui to v0.0.11
- 25e8c53 compat – validate docs-directory and custom-theme-directory (#475)
Fixed absolute path handling in links and ensured changed files are detected on Windows 11.
Full changelog
Summary
This version fixes an issue with absolute paths in links, as well as changed files not being picked up by Zensical on Windows 11.
Changelog
Bug fixes
- c1860ca compat – leave absolute links untouched (#466)
- 6775b75 zensical – canonicalize watched paths (#451)
- Enable polling-based file watcher on Windows Docker by setting ZENSICAL_POLL_WATCHER=1
- Configure polling interval via ZENSICAL_POLL_INTERVAL (default 500 ms)
- Support for version selectors in the modern theme (prepares mike integration)
- New file‑watcher configuration options with polling mode and interval
Full changelog
Summary
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.
File watcher
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
Changelog
Bug fixes
- 5196cdb compat – invalid setup of MathJax in bootstrapped
zensical.toml - b710744 ui – update ui to v0.0.10
- f014425 zensical-watch – auto-reload not working for Docker on Windows (#340, #446)
Fixed auto‑reload failures for pages with Chinese path segments and unencoded built page URLs.
Full changelog
Summary
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.
Changelog
Bug fixes
- 062a972 zensical – printed URLs of built pages shouldn't be percent-encoded
- e326ae3 zensical – auto-reload not working for URLs with Chinese path segments (#436)
- 9654132 zensical-watch – skip queuing redundant watch paths (#434)
Fixed regression causing unusable manylinux x86 wheels built with Python 3.8 instead of 3.10 and resolved emoji extension deprecation warning on Python 3.14.
Full changelog
Summary
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.
Changelog
Bug fixes
- 66ca0e7 – missing wheels for CPython 3.10 manylinux x86 (#425)
- 7514e32 compat – replace
codecs.open, deprecated in Python 3.14 (#429)
- Auto-appended `pymdownx.snippets` files are now watched for changes
- Search highlighting works with keyboard navigation
Full changelog
Summary
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.
Highlights
zensical servenow keeps running on configuration parsing errors- Auto-appended
pymdownx.snippetsfiles are now watched for changes - Search highlighting now works with keyboard navigation
Changelog
Bug fixes
- 657c685 ui – update ui to v0.0.9
- b5c8767 zensical – config parse errors shouldn't terminate
zensical serve(#403) - 6c911ca zensical, compat – watch auto-appended
pymdownx.snippetsfiles for changes (#148) - bf930dd zensical, compat – hash plugins config to trigger page rebuilds (#387)
- b93d630 compat – clarify examples in bootstrapped
zensical.toml(#394)
Fixed instant previews for Chinese and other non‑ASCII languages, layout shifts when switching page lengths, and same‑page link resolution when directory URLs are disabled.
Full changelog
Summary
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.
Changelog
Bug fixes
- 1a9d034 ui – update ui to v0.0.8
- 798da33 compat – ignore virtual environments in mkdocstrings sources (#391)
- 4b1ac98 zensical – same page links '.' with directory URLs disabled (regression) (#389)
Fixed build errors caused by missing mkdocstrings when the plugin was unconfigured.
Full changelog
Summary
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.
Changelog
Bug fixes
- 10b5162 compat – lazy import mkdocstrings (#360)
- Support for the [autorefs] plugin
- UI updated to v0.0.7 fixing mobile browsing experience issues
Full changelog
Summary
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.
Changelog
Features
- e32ab15 zensical, compat – support autorefs plugin
Bug fixes
- 1b1fd84 zensical – reset global data in compatibility modules between each rebuild
- e33c972 compat – don't watch mkdocstrings-configured path if it's the root directory
- b3c699b ui – update ui to v0.0.7
- e233f9f compat – fail early if mkdocstrings is enabled but not installed (#338)
- e3fc49f zensical – relative URLs with
:need to start with./(#345)
Fixed excessive memory usage for pages with hundreds of `data-preview` links.
Full changelog
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.
- Back-to-top button was moved to the bottom for
moderntheme - Several fixes for instant previews, improving memory usage and usability
Changelog
Bug fixes
- a876790 ui – update ui to v0.0.6
- f178c66 zensical – changes to
extra_cssnot automatically reloaded (#328) - 7e6ef17 compat – create previews when target is current page (#330)
- 6643eb9 compat – invalid links to content actions in bootstrapped
zensical.toml
Fixed premature termination and excessive memory usage when building large mkdocstrings-powered documentation sites.
Full changelog
Summary
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.
Changelog
Bug fixes
- 81a918a zensical-watch – build terminates prematurely for large mkdocstrings projects
Performance improvements
- 0438a49 zensical – remove unnecessary clone of navigation
Refactorings
- 26fe17d zensical, compat – retrieve autorefs once (#98)
- Update to mkdocstrings v1.0.2
- Generate objects.inv file for API symbols in mkdocstrings documentation
Full changelog
Summary
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.
Changelog
Features
- b35a901 zensical – generate object inventory file (API symbols)
Bug fixes
- 6e3d5ef compat – don't watch external sources (#301)
Fixed reload loop when mkdocstrings `paths` is set to `.` and relaxed navigation template meta key restrictions.
Full changelog
Summary
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.
Changelog
Bug fixes
- c8215e5 zensical – regression in default navigation handling
- 1877aeb compat – reload loop when mkdocstrings loads modules from
.(#294) - 8ef229b zensical – build errors with "trailing characters" (#288)
Refactorings
- 446217e zensical, compat – switch to conservative auto-reload for source files
- 63ecdc5 zensical – allow custom metadata in navigation templates (#291)
- Automatic linking of symbol names in auto-generated API docs.
- Manual cross-reference syntax for Markdown and Python docstrings.
Full changelog
Summary
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.
Highlights
- Support for API cross-references
- Improve auto-reloading capabilities
Changelog
Features
- 1c5e364 zensical, compat – support API cross-references
Bug fixes
- 5c6e92d ui – update ui to v0.0.5
- 7b5e308 zensical – browser opens on every config change when using
--open(#275) - 2bc126b zensical – allow pages to appear multiple times in
nav(#272) - f3e2620 zensical, compat – watch
mkdocstringssource files for auto-reload
- Custom admonition icons via theme configuration
Full changelog
Summary
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.
Changelog
Features
- 24e2168 zensical, compat – allow arbitrary admonition icon keys
Bug fixes
- c1ce5df ui – update to ui v0.0.4
- Fuzzy search support for terms that yield no results
- Improved tooltip behavior on touch devices
Full changelog
Summary
This release updates the user interface to v0.0.3, which includes support for fuzzy search, and improves tooltip behavior on touch devices.
Highlights
- Add fuzzy search support for terms that yield no results
- Improve tooltip behavior on touch devices
Changelog
Features
- 163acc5 ui – update to ui v0.0.3 with fuzzy search support
- Official Docker image for Zensical with Open Container metadata and mkdocstrings-python support
- Optimized Dockerfile for fast rebuilds via cache mount and separated dependency installation
Full changelog
Summary
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
Highlights
- Official Docker image for Zensical
- Fix hanging builds on Linux and Windows
- Fix stale build caches when templates are changed
Changelog
Features
- 18f3868 docker – add
mkdocstrings-pythontoDockerfile - d4b05d8 docker – add Open Container metadata to
Dockerfile - 84c16bd docker – add
Dockerfileto build Docker image (#12)
Bug fixes
- 2e31b93 compat – missing
custom_dirsetting crashes build - f5dde30 zensical, compat – changes to templates do not trigger rebuild (#103)
- 72dca2d zensical – build sometimes hangs on Windows and Linux (#113)
Performance improvements
- 3cedb22 docker – optimize
Dockerfilefor fast rebuilds - 2be1cfb docker – set up cache mount for build via
Dockerfile - ea091d6 docker – separate dependency installation and build in
Dockerfile
Refactorings
- 8453582 docker – improve caching of layers in Docker image
- Removed 44 icons from ui v0.0.2
- Added GitHub repository link in drawer on mobile for modern theme
- Added 132 new icons to the UI
Full changelog
Summary
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.
Highlights
- Add GitHub repository in drawer on mobile in modern theme
- Add 132 new icons (and delete 44 icons, as Simple icons removed them)
- Fix issues related to keyboard shortcuts (printing and search input)
- Fix language selector escaping viewport on mobile when too wide
Changelog
Breaking changes
- e291e42 ui – update to v0.0.2, which removes some icons
Bug fixes
- 05feb1e compat – defined
repo_namereplaced with host name (#205)
Fixed mkdocs.yml parsing on Windows and asset permissions in zensical new.
Full changelog
Summary
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.
Changelog
Bug fixes
- 3377579 compat – improve robustness of unpacking for function refs in config
- e4fa679 compat – support keywords for custom fence formatter/validator (#193)
- 104b5ee compat – content.action buttons not displayed (#188)
- df9eb0a compat – remove default values for keys under extra (#178)
- c7a0315 compat – encoding errors reading
mkdocs.ymlon Windows (#189) - b5c7dec zensical – asset permissions copied on
zensical new(#72) - 0e15bdc zensical – automatically add
type="module"for.mjsfiles (#183) - 6a4c8cc zensical-serve – wrong mime-type when serving
.mjsfiles 5dbcd05ui – tooltip in header overlaid by sticky navigation tabs (#181)- 9a4deaf compat – resolve pymdownx.superfences custom fence validators (#184)
- cdc62cd compat – allow
zensical newto run even when folders exist (#171) - 7a0a5e0 compat – files containing 'index' considered index files (#168)
- Support for mkdocstrings to generate API reference documentation for Python projects
Full changelog
Summary
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.
Changelog
Features
- 33e229d compat - add support for mkdocstrings
Bug fixes
- 9a0ddf7 compat – links with whitespace do not resolve
d1b0031ui – add style for mkdocstrings Python handlere919ce8ui – adjust mkdocstrings styles for modern themedafddc3ui – layout shifts when scrollbars appears and disappears9faeb32ui – search showing⌘Kshortcut on all OSs using classic theme
Pagination now completes below 1 ms and worst‑case highlighting queries drop from 150 ms to 60 ms.
Full changelog
Summary
This release includes two massive performance improvements for Disco.
Highlights
-
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.
Changelog
Bug fixes
Fixed detection of config changes in Markdown extensions and enforced `zensical.toml` filename for the config parser.
Full changelog
Changelog
Bug fixes
- c048e83 compat, zensical – config change in Markdown extensions not detected
- ed29d88 compat – config parser expects name to be
zensical.toml
Fixed same-page links with directory URLs disabled.
Full changelog
Changelog
Bug fixes
- 4e605b0 compat – slugify function for toc and tabs not configurable
- d55c406 compat – pages ending in
index.mdalways treated as index pages - 01dfebd zensical-serve – gracefully handle pending writes on closed connections
- 924b3ff zensical – same-page links
.with directory URLs disabled - ab69e1b compat –
pymdownx.blockscrashes build 61c9d5dui – search staying put on keyboard navigation32a5754ui – search showing ⌘K shortcut on all OSs8b80de6ui – inactive pruned navigation item not showing icon
Fixed crash when processing Chinese characters in file paths.
Full changelog
Changelog
Bug fixes
- 6178b4a compat – custom fences format function not resolved
- d36b51a compat – iframe-worker not loaded in offline mode
- ccb299d compat – switch BetterEm to default settings
- 98d4bdd zensical – crashed while processing Chinese characters in path
dbaa60fui – improve discernibility of task list checkmarks
Fixed base URL backslash handling on Windows and several UI rendering issues.
Full changelog
Changelog
Bug fixes
- 16e6008 – maturin source dist
.githubdir - cce7f2c zensical-serve – deduplicate server bind addrs
- 976ac4b zensical – base URL uses backslashes on Windows
- dce869c compat –
edit_uridoesn't usedocs_dirfor default - 20818f0 compat –
edit_urican't be set explicitly - ed40182 compat – open browser only after server starts
a9a7ac5ui – announcement bar text always dark in modern theme6424015ui – search not opening on Chrome mobile031dad0ui – icon filled in sidebar in modern themef2985d8ui – tab controls not adapted to modern themee695eb3ui – dark mode search bar colors in classic themea8a6ce5ui – bottom spacing for title-only admonitions in modern themed8d0145ui – search highlighting breaking at special chars
Fixed extra templates handling, added protocol to serve URL, and disabled tracing by default.
Full changelog
Changelog
Bug fixes
- 6c47c6d zensical – disable tracing by default
- 27f7f1b zensical – extra templates incorrectly handled
- 083656a zensical – add protocol to printed serve URL
- fdc412a – use tomli for TOML parsing in Python < 3.11
- 2e171f5 compat – offline plugin breaks config parser
3fe06b9ui – use localized search placeholder- 69c5bc6 compat – warn when
.githubexists on new
- Allow running Zensical as a script with `python -m zensical`
Full changelog
Changelog
Features
- cbe1d25f compat – allow running as a script with
python -m zensical
Bug fixes
- d1bb2eec – include
LICENSE.mdin released packages - e0485025 compat –
extra_css/extra_javascriptin wrong location - 558b7255 compat – GitHub Action not created when running
zensical new
Routine maintenance release for Zensical.
Changelog
Initial release