NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4684 most downloaded on PyPI
A PlantUML plugin for Markdown
Last release 8 days ago
26 Sep 2026
Release timing varies
gaps range from 2 weeks to 1.2 years
Nearly every release is documented
notes for 58 of 58 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
58 releases · first in 2018
fixed dependencies (fixed #109)
Fixed an issue on the distribution packaging. See #108 for details.
Fixed an issue on the distribution packaging. See #108 for details.
There was a small error that did not occur with Python 3.12 but only with earlier versions, so I had missed it. See #107 for more details and #106 for
One column per quarter.
There was a small error that did not occur with Python 3.12 but only with earlier versions, so I had missed it. See #107 for more details and #106 for the fix.
Servers are tried in order, the first responding is used. The old server and kroki_server configurations are now deprecated. See the README.md for mor…
Now a pool of servers can be used for remote rendering.
Servers are tried in order, the first responding is used.
The old server and kroki_server configurations are now deprecated.
See the README.md for more details.
servers, server and kroki_server configurationsFixed a small bug when finding files to include if there is more than one directory specified in base_dir.
Fixed a small bug when finding files to include if there is more than one directory specified in base_dir.
Now directives like !relative $docs_dir are handled correctly in the base_dir plantuml_markdown configuration. Now you can set search paths relatives
Now directives like !relative $docs_dir are handled correctly in the base_dir plantuml_markdown configuration.
Now you can set search paths relatives to MkDocs project path.
This version fixes a small but annoying bug that prevented proper inclusion of sources in the presence of multiple paths configured via base_dir.
This version fixes a small but annoying bug that prevented proper inclusion of sources in the presence of multiple paths configured via base_dir.
Last version introduced a bug which caused errors when trying to locate the PlantUML config file when used with local plantuml command.
Last version introduced a bug which caused errors when trying to locate the PlantUML config file when used with local plantuml command.
Now the base_dir configuration accept also a list of strings, interpreted as a list of paths where to search for files to include.
Now the base_dir configuration accept also a list of strings, interpreted as a list of paths where to search for files to include.
This version fixes a small bug with inline SVG, which added an ns0: before every SVG tag. There is also a *JsonSchema* file to use with MkDocs-Materia
This version fixes a small bug with inline SVG, which added an ns0: before every SVG tag.
There is also a JsonSchema file to use with MkDocs-Material to validate the configuration options for the plantuml_markdown plugin.
Fixed PlantUML json support when the json is defined in an included file or variable.
Fixed PlantUML json support when the json is defined in an included file or variable.
Another minor improvement/fix: the path indicated in 'cachedir' is now automatically created if it doesn't exist.
Another minor improvement/fix: the path indicated in 'cachedir' is now automatically created if it doesn't exist.
cachedir is auto-created if missing (implements #96) [Michele Tessaro]This version fixes a small issue that affected performance when generating PNG images from diagrams without hyperlinks.
This version fixes a small issue that affected performance when generating PNG images from diagrams without hyperlinks.
The extension has been refactored as a Python module to simplify installation.
The extension has been refactored as a Python module to simplify installation.
This version has a small fix in the release script to be able to load the source archive into PyPi as well.
This version has a small fix in the release script to be able to load the source archive into PyPi as well.
Sometimes inline SVG images were edited by Markdown who treated them as normal text.
Sometimes inline SVG images were edited by Markdown who treated them as normal text.
When using a PlantUML server with self-signed certificates it is necessary to set the insecure configuration option to true, allowing for insecure con
When using a PlantUML server with self-signed certificates it is necessary to set the insecure configuration option to true, allowing for insecure connections.
But in this case 'urllib3' gives us a warning that it will appear on the rendered page; this release resolves this issue.
It also solves another small problem, when using other types of diagrams (such as plantgantt) with a PlantUML server.
Added the following configuration options:
Added the following configuration options:
config: set the PlantUML configuration file (as the -config plantuml command line option)plantuml_cmd: set the plantuml command to execute (defaults to plantuml); can be used for passing custom options to java, for example java -Dplantuml.include.path=includes -jar plantuml.jar.See the README.md for more details.
The default value for the insecure setting, which disables the check of SSL certificates, has been changed from "False" to False (its now a boolean va
The default value for the insecure setting, which disables the check of SSL certificates, has been changed from "False" to False (its now a boolean value).
This does not change the behavior of the settings, but it's more compliant with the session.request option.
See #86 more more details.
Forced UTF-8 encoding when files are passed to local plantuml. Make sure that the diagram files are in utf-8, especially in Windows.
Forced UTF-8 encoding when files are passed to local plantuml. Make sure that the diagram files are in utf-8, especially in Windows.
Explicitly pass charset to plantuml. [Victor Westerhuis]
The code is explicitly encoded to UTF-8, but plantuml gets to pick its own charset. On my Windows installation it picks codepage 1252 by default, leading to wrong characters in the output. UTF-8 should be available everywhere according to the PlantUML documentation.
Added the 'insecure configuration option to disable HTTPS SSL certificate validation. Set to True` when using a custom PlantUML installation with self
Added the 'insecureconfiguration option to disable HTTPS SSL certificate validation. Set toTrue` when using a custom PlantUML installation with self-signed certificates.
Added option for disabling SSL checks (refs #83) [Michele Tessaro]
Added the insecure configuration option for disabling HTTPS SSL
certificate validation.
Set it to True when the PlantUML server uses self-signed certificates.
added preserveAspectRatio to inline SVGs to keep aspect ratio when the diagram is resized
preserveAspectRatio to inline SVGs to keep aspect ratio when the diagram is resizedid attribute to images to simplify referencing in CSS rules or Javascript codeAdded preserveAspectRatio to inline SVG diagrams. [Michele Tessaro]
Added id diagram option. [Michele Tessaro]
When the id option is used, an id attribute will be generated for the
diagram.
This can be useful for referencing the diagram in CSS rules or
Javascript code.
Added remove_inline_svg_size config option. [Anders Norman]
Added the server_include_whilelist configuration which is a list of regular expressions used to define which files can be safely included by the serve
Added the server_include_whilelist configuration which is a list of regular expressions used to define which files can be safely included
by the server.
Useful when using a Kroki server for remote diagram rendering.
Added support for server-side C4 includes (refs #76) [Michele Tessaro]
Added the server_include_whilelist configuration which is a list of
regular expressions used to define which files can be safely included
by the server.
Defaults to [r'^[Cc]4.*$'], all C4 include files.
Connection errors can occur when using remote servers to render diagrams, especially in the case of many diagrams. These are usually connection errors
Connection errors can occur when using remote servers to render diagrams, especially in the case of many diagrams. These are usually connection errors due to limitations on the number of calls. This release solves these kinds of problems.
Removed test code that caused problems with Windows.
Removed test code that caused problems with Windows.
With this release a Kroki server can be used as replacement for a PlantUML server for remote image rendering. In the case of a Kroki server there are
With this release a Kroki server can be used as replacement for a PlantUML server for remote image rendering. In the case of a Kroki server there are a couple o different behaviors:
image_maps configurationExposed error messages from kroki (refs #75) [Michele Tessaro]
Error messages from Kroki server are rendered as text in the output. This is to overcome the problem that Kroki does not render errors as images as PluntUML does.
Added kroki as rendering server (refs #75) [Michele Tessaro]
With the plugin configuration kroki_Server is now possible to use a
Kroki server fore remote rendering.
Image maps are not supported by Kroki.
Added option to disable image maps (refs #74) [Michele Tessaro]
When rendering plantuml yaml diagrams on a remote server, the spaces were removed from the lines and the diagram was not drawn as expected.
When rendering plantuml yaml diagrams on a remote server, the spaces were removed from the lines and the diagram was not drawn as expected.
Removed a forgotten import after removing the plantuml package.
Removed a forgotten import after removing the plantuml package.
plantuml importplantuml importRendering via servers using external includes (as in AWS Hello World Icons did not work due to the url defined by a !define directive.
Rendering via servers using external includes (as in AWS Hello World Icons did not work due to the url defined by a !define directive.
Also, removed dependecy from the plantuml package.
CHANGELOG.mddev: fixed build of docker image for tests
On Windows the image map detection was not working properly cause the different end-of-line terminator.
On Windows the image map detection was not working properly cause the different end-of-line terminator.
When using an external PlantUML server to render diagrams, if a diagram has syntax errors and the remote server returns an error code (HTTP >= 400), a
When using an external PlantUML server to render diagrams, if a diagram has syntax errors and the remote server returns an error code (HTTP >= 400), and exception was thrown immediately stopping markdown parsing. Now the error is intercepted and logged, and markdown can continue its work.
This is a minor fix, remove the unnecessary lib uuid requirement . Thanks to @borystua pointing it out (see #60).
This is a minor fix, remove the unnecessary lib uuid requirement .
Thanks to @borystua pointing it out (see #60).
When the output format is png and the diagrams contains an hyperlink, a map tag and related area tags are added to the output so the links are active.
When the output format is png and the diagrams contains an hyperlink, a map tag and related area tags are added to the output so the links are active.
test: fixed tests execution with plantuml 1.2021.12
Now the character encoding for external files (referenced by the source parameter) is utf-8, even in Windows. Use the encoding configuration option to
Now the character encoding for external files (referenced by the source parameter) is utf-8, even in Windows.
Use the encoding configuration option to force a different character encoding.
usr: fixed working with Markdown 3.3 (fixes #39)
Fixed parsing of mixed fenced_code and plantuml_markdown blocks in the same document (see #45).
Fixed parsing of mixed fenced_code and plantuml_markdown blocks in
the same document (see #45).
fixed UML source diagram inside fenced code (refs #45)
source option is now prepended to the inline code (both are kept) (refs #47)Now is possible to include diagram code from external files. Fixed also a minor bug with the object HTML tag.
Now is possible to include diagram code from external files.
Fixed also a minor bug with the object HTML tag.
Removed a forgotten instruction that was setting the log level to debug, causing some debug messages to be written in the output.
Removed a forgotten instruction that was setting the log level to debug, causing some debug messages to be written in the output.
Added support for Python 3.8. [Michele Tessaro]
Added the priority plugin confiiguration which can be used to fine tuning the plugin execution order.
Added the priority plugin confiiguration which can be used to fine tuning the plugin execution order.
Added priority option to change plugin priority (refs #38) [Michele Tessaro]
Now the plugin execution priority can be changed if you don't like default value. The default should be the most reasonable with most plugins.
Updated changelog. [Michele Tessaro]
Documented how to set plantuml include search path (refs #37) [Michele Tessaro]
added support for ~ shortcut for cachedir
~ shortcut for cachediralt and title options (fixes #70)Fixed rendering when using diagrams in indented blocks, such as lists.
Fixed rendering when using diagrams in indented blocks, such as lists.
Updated changelog for the new release. [Michele Tessaro]
Updated changelog for the new release. [Michele Tessaro]
Fix rendering in indented blocks (fixes #31) [Grzegorz Adamiak]
It fixes issue with rendering indented fenced blocks. They were rendered only when put at beginning of the line. To illustrate, this block was processed correctly
```plantuml
A --> B : I am processed
```
while a block nested under a list item (indented) was not processed
* A list item with nested block
```plantuml
A --> B : I am not processed
```
With this patch the block is converted into image and correctly put in the document tree allowing for images nested in other block elements, e.g. list items.
In release 3.1.1 there was an extra file in pip packages that that was preventing the plugin from working properly. This new new release fixes the pac
In release 3.1.1 there was an extra file in pip packages that that was preventing the plugin from working properly. This new new release fixes the packages.
Fixed a compatibility issue that prevented the usage of the plugin with Markdown 2.x.
Fixed a compatibility issue that prevented the usage of the plugin with Markdown 2.x.
Added diagram caching to avoid re-render unchanged diagrams. To enable caching, the configuration option cachedir must be set to a path to be used as
Added diagram caching to avoid re-render unchanged diagrams.
To enable caching, the configuration option cachedir must be set to a path to be used as a cache.
The plugin is now available also in chocolatey (thanks to @majkinetor).
Added diagram caching (implements #27) [Michele Tessaro]
To activate caching define the configuration option cachedir.
See the README.md for some detail.
Update changelog for the new release. [Michele Tessaro]
Added installation instructions for chocolatey (refs #28) [Michele Tessaro]
THE PLUGIN NAME HAS CHANGED FROM plantuml-markdown TO plantuml_markdown. The the tools configuration (markdown, mkdocs, ecc.) MUST be changed accordin
THE PLUGIN NAME HAS CHANGED FROM plantuml-markdown TO plantuml_markdown. The the tools configuration (markdown, mkdocs, ecc.) MUST be changed accordingly.
Sorry for this new change in the module name, but the dash was a big problem for who needs to import it.
Renamed module to plantuml_markdown (fixes #23) [Michele Tessaro]
Renamed module from plantuml-markdown to plantuml_markdown to allow
importing module in other python sources.
This breaks compatibility: plugin configuration in markdown_py must be
renamed too.
Updated documentation for new release. [Michele Tessaro]
Fixed a small error in building bundles for pip installation.
Fixed a small error in building bundles for pip installation.
With this version the diagram rendering can be done using a PlantUML server. To overcome a Python module name conflict with another library, THE PLUGI
With this version the diagram rendering can be done using a PlantUML server.
To overcome a Python module name conflict with another library, THE PLUGIN NAME HAS CHANGED FROM plantuml TO plantuml-markdown.
The the tools configuration (markdown, mkdocs, ecc.) MUST be changed accordingly.
Added support for use a plantuml server (implements #19) [Michele Tessaro]
Now for the diagram rendering can be used an external PlantUML server. This can speedup document generation when there are a lot of diagrams.
Use preprocessors.register instead of (deprecated) add. [Johan]
Fixed usage syntax. [Michele Tessaro]
The width and height options are marked as optional.
Added width and height attributes
width and height attributesAdded width and height attributes. [Michele Tessaro]
The new attributes width and height can be used to limit image size:
if the image dimension is bigger than values specified, they will be
shrunk keeping the aspect ratio.
If there is not enough space in the page for the diagram, the image
will be reduced.
svg_object: generate a object tag for embedding svg diagrams
svg_object: generate a object tag for embedding svg diagramssvg_inline: insert svg diagram directly in the documentAdded support for clickable SVGs (closes #17) [Michele Tessaro]
Added two new output formats:
svg_object: generated an object tag for displaing svg imagessvg_inline: embedded the svg source image directly in the documentThe generated HTML was containing a wrong classes attribute instead of the class attribute.
The generated HTML was containing a wrong classes attribute instead of
the class attribute.
Fixed wrong classes HTML attribute (fixes #16) [Michele Tessaro]
Fixed a type on the generated HTML code, the class attribute was
misspelled to classes.
Fixed running on Windows (refs #11) [Michele Tessaro]
Fixed running on Windows (refs #11) [Michele Tessaro]
Thanks to henn1001 to pointing out a problem on Windows. See https://github.com/mikitex70/plantuml-markdown/issues/11#issuecomment-414057579 for details.
Added configuration for deployment to pypi and install with pip. [Michele Tessaro]
Added configuration for deployment to pypi and install with pip. [Michele Tessaro]
Added configuration for deployment to pypi and install with pip. [Michele Tessaro]
Added some test. [Michele Tessaro]
Added some test. [Michele Tessaro]
Added title macro option. [Michele Tessaro]
Added a title option which would be used for generating the title (tooltip) of the diagrams in HTML rendering.
Added GitLab compatibility (closes #7) [Michele Tessaro]
Now the block diagram may be delimited also with the triple backtick character used in GitLab and others to delimit code blocks. See the README.md for more details.
Added output path existence check. [Michele]
Added source code. [Michele]
Python-Markdown plugin for PlantUML.
Fixed running wiith Python 2.7. [Michele Tessaro]
Fixed test execution with travis-ci. [Michele Tessaro]
Fixed working with the fenced_code plugin (refs #8) [Michele Tessaro]
Fixed diagram generation when used together with the fenced_code plugin.
Fixed one-block diagrams parsing (fixes #9, #10) [Michele Tessaro]
One block diagrams (without at least one empty line inside) were not correctly recognised.
Minor fix in documentation. [Michele Tessaro]
Fixed unicode characters in the macro options. [Michele Tessaro]
Macro options parsing now will work correctly when using unicode characters (for example in the alt options).
Fixed generation of class and alt image attributes. [Michele Tessaro]
Images in the generated HTML were missing for the class and alt attributes.
Fix an error with svg format. [jumpei-miyata]
Fix regular expression. [jumpei-miyata]
Some minor fixes. [Michele Tessaro]
Correct path exists test. [Benjamin Henriet]
Small documentation correction. [Michele]
Little correction in documentation. [Michele]
Some correction in markdown documentation syntax. [Michele]
Some correction to documentation. [Michele]
Removed the (useless) remove of the last line of source text block. [Michele Tessaro]
Use inline images, NO MORE TEMPFILES! Experimental 'txt' support. [kubilus1]
Implemented a sort of caching for generated images. [Michele Tessaro]
Image names are build from an hash code based on the diagram source. If the source diagram changes, the image maybe different and will be re-generated. Now images are generated only if not already present.
Remove self from static method. [Benjamin Henriet]
Remove self param from static method, disable image renaming/removing. [arye]
Updated documentation for installation. [Michele]
Added details on installing locally or globally.
Adapted to work with Python 3. [Michele]
Registered plugin after code block parser. [Michele]
Registering the plugin after the code parser gives the possibility to write source uml code without being handled by this plugin and to present it as any other source code example.
Keep temporary file if PlantUML fails. [Michele]
The temporary file containing the PlantUML script can be used to identify syntax errors in the source MD document
Initial commit. [Michele Tessaro]
Your coding agent can read these notes before it upgrades. Set up the MCP server →