Last update: March 10, 2026 – see update log.
Three weeks ago, MkDocs 2.0 was announced – a ground-up rewrite of the documentation tool tens of thousands of projects rely on, introducing potentially significant breaking changes.
Material for MkDocs depends on MkDocs as its underlying framework and central dependency. We maintain Material for MkDocs, but we have no control over MkDocs itself.
We've taken the time to thoroughly evaluate and test the MkDocs 2.0 pre-release and want to share our findings, including what it might mean for your documentation projects, and where Zensical, our new static site generator that is compatible with MkDocs 1.x, fits into the picture.
If you've missed it: MkDocs 1.x is unmaintained, with issues and PRs piling up and no releases in the past 18 months, and seemingly no plans to fix long-standing issues like live-reload problems. More importantly, it's unclear whether security issues will be addressed, and whether the project will receive any updates at all in the future.
Please note that MkDocs 2.0 is still in pre-release, and the information in this article is based on the current state of the project. We keep it updated as we learn more.
What's changing in MkDocs 2.0¶
Based on the official announcement, the published roadmap, and several prior comments and statements from the project's maintainer, MkDocs 2.0 is intended as a ground-up rewrite of the project to reduce complexity – and it comes with some important trade-offs:
-
MkDocs 2.0 is incompatible with Material for MkDocs – If your documentation is built with Material for MkDocs, it will cease to work with MkDocs 2.0. Material for MkDocs makes extensive use of the templating and plugin systems of MkDocs 1.x, and the changes that MkDocs 2.0 introduces are not backward-compatible.
-
MkDocs 2.0 won't have a plugin system – MkDocs 2.0 is being rewritten with a focus on theming, deliberately removing plugin support to simplify the codebase. We believe the plugin ecosystem is one of the cornerstones of MkDocs' success and widespread adoption, and its removal will affect workflows and customizations that teams have built over time.
-
MkDocs 2.0 brings breaking changes for themes – MkDocs 2.0 comes with a completely rewritten theming system. For instance, navigation is passed to themes as pre-rendered HTML rather than structured data. This makes it technically impossible to implement features like navigation tabs, collapsible sections, and other advanced navigation patterns.
It also limits how navigation can be styled in themes, since the HTML of the navigation cannot be adjusted to fit the theme's structure and design.
-
MkDocs 2.0 has a closed contribution model – MkDocs 2.0 moves to a "maintainer-driven issues" model, where community members are asked not to open issues or pull requests, and "feature requests are generally not accepted". It's unclear how users should report bugs or seek fixes when they encounter problems.
-
MkDocs 2.0 is currently unlicensed – MkDocs 2.0 doesn't specify a license, which has implications for how it can be used and contributed to by the community. It's unclear what the rationale behind this decision is, but it should be critically evaluated by teams and organizations that rely on MkDocs for their documentation projects.
-
MkDocs 2.0 has a new configuration format – MkDocs 2.0 uses TOML for configuration, which is incompatible with the YAML format used in MkDocs 1.x. As a result, existing
mkdocs.ymlfiles will currently not work with MkDocs 2.0. There is no migration path for existing projects.
A release date has not been announced, so planning around a specific timeline remains difficult. However, the direction of travel has been hinted at by the maintainer on several occasions, and the pre-release version already confirms the impact of these changes on existing projects.
What this means for you¶
It's worth paying attention: the long-term direction of MkDocs is shifting in ways that diverge from how many documentation teams – and their tooling – currently operate.
While your existing MkDocs projects should continue to work today, be aware that future updates to MkDocs 1.x are unlikely. MkDocs 2.0, in its current form, is not a drop-in replacement for MkDocs 1.x, and does not provide a clear migration path for existing projects.
How to disable the MkDocs 2.0 incompatibility warning
Starting in Material for Mkdocs 9.7.2, a warning is printed during a build about the upcoming MkDocs 2.0 changes. We added this warning to ensure users are aware of the potential impact of MkDocs 2.0 on their projects, and to encourage them to evaluate their options and plan accordingly.
To disable this warning, set this environment variable:
We raised concerns early¶
All of this isn't coming as a surprise to us, given that the maintainer has presented his plans in an open video call back in August 2024. Since it was unclear whether the maintainer would follow through with these plans, we only mentioned it in a footnote, but the pre-release version of MkDocs 2.0 confirms that there will be significant breaking changes for existing projects:
Here's a summary of the timeline of events:
After we raised this issue with the maintainers of MkDocs [...], and maintainership changed mid 2024, work on a ground-up rewrite that aims to address slow reloads by rendering only the page currently being built has started. It's still unclear how this rewrite will integrate with the requirements of existing plugins. Complex plugins such as mkdocstrings, or our built-in blog and tags plugins require a coordinated build of all pages to accurately resolve links between pages and to computed resources, which cannot be determined without building the entire project.
Update: The new maintainer now publicly stated that he's working towards a new version of MkDocs that does not require or support plugins, and mentions it will be equally capable through offering customization via templating, themes, and styling, which he also mentioned to us and several other users in a team call on August 1. In this call, we raised objections multiple times in regards to how this will impact the ecosystem, to no avail. No intention or roadmap for plugin support was provided. This development is orthogonal to our goal empowering users and organizations to adapt the core framework to their requirements by the means of modularity. We're working on resolving this situation, and will provide a way forward for our community.
The moment we learned about these plans, we immediately started working on what would eventually become Zensical – a new static site generator designed to be backward-compatible with MkDocs 1.x and a reliable long-term home for your existing documentation projects.
For years, we were trying to improve MkDocs from within. We authored 12 plugins, which gave us a deep understanding of the plugin API's limitations. We conducted quantitative and qualitative analyses of the ecosystem to identify where MkDocs was falling short and talked to dozens of organizations and key ecosystem members. We raised these issues and repeatedly got nowhere. When the new direction of MkDocs 2.0 became apparent, the thinking was already done.
We considered forking MkDocs, but quickly realized it wasn't viable: every plugin in the ecosystem has a direct dependency on mkdocs, which means forking MkDocs would require forking every single one of its 300 plugins – like moving an entire city at once.
With forking being impractical, we had to start from scratch.
Where Zensical comes in¶
Zensical is designed to be a drop-in replacement for MkDocs 1.x, with the goal of building your existing projects without any changes. We're not fully there yet – supporting the most popular MkDocs plugins in the ecosystem is an ambitious undertaking – but it's our current focus, and we're fully committed to getting there.
Rather than turning this into a marketing pitch, we encourage you to read the announcement post if you'd like to understand how Zensical differs from MkDocs and what you can already expect today. Additionally, the compatibility section on our website offers an overview of what features are already supported without changes.
We also encourage you to do your own research, evaluate the implications for your projects, and consider all available options. If you've relied on Material for MkDocs professionally, valued our work, and are looking for a clear path forward, we're offering hands-on support for migration.
If you have any questions, feel free to reach out to Kathi at hello@zensical.org.
Updates¶
-
March 10, 2026: We released 9.7.5, which limits the version range of MkDocs to
<2. This ensures that your builds will continue to work, even if MkDocs 2.0 is released. -
March 10, 2026: Access to the
mkdocspackage for the maintainers removed on March 9 seems to have been restored, including the original creator of MkDocs. -
March 9, 2026: One of the previous maintainers changed ownership of the
mkdocspackage on PyPI, removing access for all other maintainers, including the original creator of MkDocs. -
March 4, 2026: We added a paragraph explaining that prior attempts on resolving the situation were unsuccessful and why we decided to find a new path for our community.
-
March 3, 2026: We added a paragraph on the new contribution model that MkDocs 2.0 is adopting, and the implications for users and contributors from our perspective.
-
February 27, 2026: We added a note on the
NO_MKDOCS_2_WARNINGenvironment variable to disable the MkDocs 2.0 incompatibility warning in Material for MkDocs. -
February 19, 2026: The published MkDocs 2.0 roadmap was deleted. The link now points to an issue comment that contains a screenshot of the last available version of the roadmap.
-
February 13, 2026: The mention of compatibility planned for MkDocs 1.x and MkDocs 2.0 projects was removed from the MkDocs 2.0
README.md.