NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3293 most downloaded on PyPI
Unleash the power of MkDocs with macros and variables
Last release 10 months ago
13 Nov 2025
Release timing varies
gaps range from 2 weeks to 1.2 years
Some releases are documented
notes for 19 of 37 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
38 releases · first in 2018
Fix type hint for compatibility
Fix type hint for compatibility
Added a fix for missing dependency declaration on requests.
Added a fix for missing dependency declaration on requests.
requests (#269)One column per quarter.
Delete install_package() function from codebase
Delete install_package() function from codebase
Define explicitely python in update_pypi.sh
Define explicitely python in update_pypi.sh
Fixed: incompatibility with the d2 module
register_variables/macros/filters to facilitate
cooperation with other MkDocs plugins.j2_comment_start_string and
j2_comment_end_string to plugin's parameters,
to specify alternate markers for comments.force_render_paths in the config file,
to specify directories or file patterns to be rendered for the case when render_by_default = false
(the render_macros parameter in the YAML header of the page
has the last word).change update_pypi.sh accordingly
Bump version number, for distribution (should solve #247 )
Bump version number, for distribution (should solve #247)
Migrate all tests toward the mkdocs-test framework
Migrate all tests toward the mkdocs-test framework (#244)
Document hooks for #237 (register macros/variables/filters)
Document hooks for #237 (register macros/variables/filters)
register_variables/macros/filters to facilitate
cooperation with other MkDocs plugins.j2_comment_start_string and
j2_comment_end_string to plugin's parameters,
to specify alternate markers for comments.force_render_paths in the config file,
to specify directories or file patterns to be rendered for the case when render_by_default = false
(the render_macros parameter in the YAML header of the page
has the last word).Added: Mermaid diagrams in the documentation (Readthedocs)
Changed: ignore_macros: true in page header is deprecated. Use render_macros: false instead.
macro_info()) are
now readable also in dark mode.Improved user guide, with introduction of two new pages: "Controlling macro rendering" and "Post production".
Fixed: (#158) In modules, on_pre_page_macros(), the env.markdown
attribute is now available to create a header or footer.
Changed: In on_post_page_macros() use env.markdown instead of
env.raw_markdown, for the same purpose.
Added: (#162) Allow opt-in of page rendering, by using parameter
render_macros: true in yaml header of the page
(requires render_by_default:false in the macro parameters,
in the config file).
Fixed: macro_info() now generates a header of category 2,
so as to be used with other material in the same page,
and not confuse the macro generators.
Changed: ignore_macros: true in page header is deprecated.
Use render_macros: false instead.
Fixed: issues #155 (documentation type), #143 (git.tab),
#135 (indicate page where rendering failed).
Added: it is now possible to use macros in page titles, in the nav section of the yaml file, or in the level 1 titles; the macros are correctly interp
Nothing published for this version
Added: (#133) on_error_fail in config file to make build/serve process fail in case of macro error, with return code 100.
Added: (#133) on_error_fail in config file to make build/serve process
fail in case of macro error, with return code 100.
Added: (#130) Documentation on the tree structure of a typical macro directory (package)
Fixed: (#118) {{ git.date }} is now committer date (no longer author date).
{{ git.date }} is now committer date (no longer author date).{{ foo }})
are no longer replaced by blanks but displayed as is (DebugUndefined) (#117);
for better compatibility with other plugins or error detectionon_undefined parameter in plugin definition to alter behavior
with unknown jinja2 variables: 'keep' (default), 'silent', 'strict', 'lax';
documentation was updated* Fixed: Broken build of 0.6.2
Added: env.markdown is now modifiable, for use in on_post_page_macros()
env.markdown is now modifiable, for use in on_post_page_macros()Bump version to 0.6.0, to acknowledge the breaking change in 0.5.10
Fixed: Incompatibility with mkdocs 1.2 (on_serve() event, call to server.watch())
on_serve() event, call to server.watch())* Starting point
Now mkdocs-macros has has better integration with the general workflow
Now mkdocs-macros has has better integration with the general workflow
Metavariables declared in the YAML header of a markdown page are now directly accessible by macros in the page, without needing to go through the page.meta object (e.g. if the meta-variable foois declared in the YAML header, it can be accessible as {{ foo }} as well as {{ page.meta.foo }}. It makes using macros much simpler.
The console messages of mkdocs-macros are now integrated with the standard logging of MkDocs. It means that you can both suppress them (--quiet option) or expand them to include debug messages (--verbose).
Macros have their own trace function (chatter()) which writes into MkDocs' log as Info. If you are using the local server (mkdocs serve), you can toggle that trace on and off, with a verbose parameter in the plugin's configuration and this will be instantly reflected on the console.
The Python module can use a new on_post_build() function, for actions that need to take place after the HTML site directory is built (typically adding or modifying files).
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →