NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3059 most downloaded on PyPI
A GitHub Flavored Markdown compliant Markdown linter.
Last release 21 days ago
13 Sep 2026
Ships on a steady schedule
a new release about every 2 months
Nearly every release is documented
notes for 43 of 45 stable releases
1 version withdrawn
withdrawn after publishing
5 years old
46 releases · first in 2021
One column per quarter.
Following last release's focus on cementing our documentation and rule plugins, this release adds support for six missing rules and includes a complet
Following last release's focus on cementing our documentation and rule plugins, this release adds support for six missing rules and includes a complete overhaul of the rule plugin documentation. Reachable from the main Rules Page, each individual rule page now includes multiple examples that trigger the rule alongside examples that don't. Our team verified all of these by hand, and we'll continue updating them to keep them current. Please check out the new rules and documentation and let us know if you find any issues!
extensions and plugins commands were not case insensitiveThis release focused on some internal cleanup work and a major change! Please check out our improved API documentation along with a new support docume
This release focused on some internal cleanup work and a major change! Please check out our improved API documentation along with a new support document giving what we believe is a solid walk-through of the existing Python PyMarkdownApi.
Issue 1553
Added new documentation around how APIs are listed in the documentation.
Added a completely redone document showing how to the PyMarkdownApi.
Add support for native file format lists in JSON, YAML, TOML
tables and table_line_length for MD013:line-lengthIssue 1605
Add support for native file format lists in JSON, YAML, TOML
plugins.per-file-ignores
system.exclude_path
plugins.additional_paths
Issue 1609
Added support for tables and table_line_length for MD013:line-length
Issue 1620
Added docvet support to scan public methods and classes for docstrings.
Issue 290
closed as this would make the command line look clunky
Issue 1078
examined Pml100, Pml101, and Pml102 and determined they all can have fixes applied.
Sorry for the long duration between the last release and this release. Our small team was enjoying family time with our extended family, with a goal t
Sorry for the long duration between the last release and this release. Our small team was enjoying family time with our extended family, with a goal to recharge ourselves for the months ahead. In addition, we are going to try and release new versions on the first weekend of the month, to try and bring regularity to the process.
After a couple of months of internal testing, we are proud to release PML102, which raises a Rule Failure when lists contain lazy continuation lines. This was asked for by a couple of users, and we thought it was a great idea to add to PyMarkdown. As a great side effect, the testing for that new Rule uncovered a decent number of issues that we fixed as part of adding PML102.
If you find any more issues with PyMarkdown, please let us know. We are working towards cleaning up our backlog and winnow it down to a much smaller list in the next couple of months.
Issue 1482
addressed weird case where a block quote, at least 4 levels of lists in, contains a new list, was generating an assert
Issue 1563
whitespace differences with new list items in nested containers
Issue 1564
extra newlines inserted
Issue 1566
change of indent in list causes issues, making calculations wrong for following elements
Issue 1568
Md046 and Md031 can both fix fenced blocks, so moved to different fix levels
added extra check to make sure that if two fenced code blocks are one after the other, first one fixed spacing, not both
Issue 1569
whitespace was reported in both the list and the paragraph with nested containers
Issue 1573
ContainerTokenManager not handling nested block quotes separated by lists
Issue 1574
in certain nested cases with adjusting indent of a list, the following parsing does not take that into account when calculating indentation
Issue 1576
fixed issue with Md032 not removing a list from the stack after exitting the list
Issue 1577
whitespace for block quotes within a list that has just had a new list item added that is indented 1 extra space, was not correct
Issue 1578
after correcting Issue 1577 regeneration was still not adding the proper indentation
Issue 1582
reading from standard in and writing to temporary file did not have an encoding specified, causing an unicode error
In this release, we’ve invested heavily in revamping our documentation so that you can get from installation to your first useful scan more quickly. A
In this release, we’ve invested heavily in revamping our documentation so that you can get from installation to your first useful scan more quickly. After the last release, a backlog review made it clear that our documentation needed an overhaul, especially for people seeing PyMarkdown for the first time. Over time, we added new sections and details without a full restructuring, which made it harder for new users to see where to start and how everything fits together.
We updated the main documentation and introduced new Quick Start guides for common workflows. We simplified each section and reorganized the content so related topics are grouped together and easier to follow. Each Quick Start guide focuses on a single topic, helping new users get productive with PyMarkdown as quickly as possible. New users can now go from install to scanning a repository in just a few minutes. Existing users should find it easier to jump straight to the commands and options they need.
Going forward, you can expect faster scans, clearer error reporting, and continued improvements to the documentation. To support that, our primary goal is to deliver requested features and respond quickly to reported issues, particularly in the rule set, configuration, and documentation. Behind the scenes, we are reducing skipped tests, working through backlogged issues, and investing in refactoring and performance analysis. This work helps keep PyMarkdown fast and dependable as it grows.
plugins.per-file-ignores.* configuration items to allow for rules to be disabled by matching against a glob-path.This release was all about starting to clean up some long lingering items that had been on the to-do list for a while. Before addressing Issue 1503 ,
This release was all about starting to clean up some long lingering items that had been on the to-do list for a while. Before addressing Issue 1503, the file scanning code was moved out to the application_file_scanner project. This allowed our team to define a clean separation of responsibilities between the file scanning and the linting, something that we started with the application_properties package. We had started that a while ago, so it was nice to be able to complete that task and to include the --respect-ignore functionality into that new package.
Our main goal for the next couple of months is to address new features and issues as they arise. However, we hope to have enough time to reduce the number of skipped tests and backlogged issues in the repository, while also working on more refactoring and performance analysis. I hope this helps you see the direction that we are taking this repository in!
--respect-gitignore flags to respect any Git directories and their .gitignore files.application_properties package to properly apply section header when using the --config flag.Our team has been working diligently over the past two months to strengthen the foundation of the PyMarkdown Linter. A major milestone is the upgrade
Our team has been working diligently over the past two months to strengthen the foundation of the PyMarkdown Linter. A major milestone is the upgrade of the minimum Python version we test with from 3.9 to 3.10. While we acknowledge that some users may still prefer Python 3.8, we strongly recommend upgrading to 3.10 for improved compatibility, security, and performance. If you are using a version below 3.9 and have a valid reason to stay on that version, please let us know—we’ll explore options to support your needs.
A key feature addition (in response to Issue 1479 ) is the full support for both the disable-next-line pragma and a new mode. This change ensures compatibility with Markdown formatters that add a blank line after HTML comments, as each rule now allows a single blank line between the pragma and the offending line. This update also required us to review and verify all rules to ensure the disable-next-line pragma suppresses issues on the next line effectively. During this process, we identified and fixed 9 critical issues related to pragmas and rule behavior.
Looking ahead, we’re also focused on long-term improvements to our test suite. Over the next six months, we aim to reduce the number of tests while maintaining full code and scenario coverage. As the project has been active for over five years, some tests have remained unchanged for three or more years. Our goal is to refine the test suite to ensure it remains efficient, maintainable, and aligned with our quality standards.
system.exclude_path to provide configuration option for the command-line --excludeThis release was a long time in coming, mostly because of things that are not immediately obvious. Our team took some time to look and experiment with
This release was a long time in coming, mostly because of things that are not
immediately obvious. Our team took some time to look and experiment with some
other Python tools, with the aim of reducing the test count for the project
without sacrificing coverage. In addition, we have started to look at the
performance of the project, and how to best accomplish those improvements. Through
the end of the year, we have concrete plans to address any new issues, reduce the
test count while maintaining quality, finishing Issue 1468,
and working on performance enhancements.
The last month has featured our team banging our collective heads against the wall as we work on tightening up the outstanding skipped tests. While th
The last month has featured our team banging our collective heads against the wall as we work on tightening up the outstanding skipped tests. While there are a couple of stray parsing bugs here and there, most of it has to do with ensuring that the parsing of Markdown tokens are complete... including whitespaces. This is not an issue for generating HTML, but we feel it is a big issue for people writing rules against those tokens. As such, we are trying to ensure we capture as many scenarios as possible, and making sure all tests pass. Its often a tough job, but we feel it is worth it!
On that note, please note that if you are using pragmas to temporarily turn off rules in your documents, there is a small change. In fixing Issue 1447, we noticed there was an issue with how the pragmas ended. To fix this properly, as of release 0.9.32, pragmas starting with a <!-- must end with a --> and pragmas starting with a <!--- must end with a --->. This should be a one time change, and we apologize in advance for any issues it causes.
A big thanks to our users who are reporting issues with the project! While we would like to believe we can think of every test case, we know we cannot. Therefore, we continue to need our users to help us out. If you are scanning any Markdown documents and the results seem off, please file an issue. If you are starting to use our fix mode on your Markdown documents and there are issues, please file an issue. We appreciate any help that we can get to improve the project for everyone!
--enable-extensions to the command line and API--no-json5 and --continue-on-error to achieve parity with command line---> properly at the end of pragmasIssue 1454
added support for --enable-extensions to the command line and API
Issue 1455
added API functions for --no-json5 and --continue-on-error to achieve parity with command line
Issue 1387
fixed weird indent issue with Md005
Issue 1400
addressed issues with Md041 and how it handles HTML Block elements at the start of a document
added extra examples to documentation to expand on some interesting areas with the Md041 rule and "invisible" tags
Issue 1441
Issue 1443
an invalid LRD, started right after a container block was started did not unwind properly
Issue 1446
multiple issues with LRDs and whitespace/tabs
Issue 1447
was not handling ---> properly at the end of pragmas
Issue 1464
adding better support for tabs with LRDs.
Life caught up with our development team this last two months, but we finally finished the work we intended to do for this release. After spending som
Life caught up with our development team this last two months, but we finally finished the work we intended to do for this release. After spending some time to upgrade application_properties to 0.9.0, this release of PyMarkdown adopts that new version, including the simplified setup that was added to application_properties. In addition, PyMarkdown is not using the JSON5 support from application_properties and defaults to it being on. While completing that work, we also went through the configuration documentation, delegating any duplicated sections with the application_properties documentation to application_properties .
During this time, we did some internal housekeeping. We maintain a small group of packages, with common scripting and support to help our team use best practices across all packages. That had not been maintained lately, so we chose to spend a couple of weeks working on getting the packages back to where we wanted them. No effect for how you use this package, but it helps us keep things current.
A big thanks to our users who are reporting issues with the project! While we would like to believe we can think of every test case, we know we cannot. Therefore, we continue to need our users to help us out. If you are scanning any Markdown documents and the results seem off, please file an issue. If you are starting to use our fix mode on your Markdown documents and there are issues, please file an issue. We appreciate any help that we can get to improve the project for everyone!
application_properties, v0.9.0MyApplicationPropertiesFacade whichapplication_properties documentationApologies for a late release, but we wanted to get some outstanding issues resolved before the release. Notable things to mention are:
Apologies for a late release, but we wanted to get some outstanding issues resolved before the release. Notable things to mention are:
And while it may not be visible, a lot of work has been completed on getting proper Table token support in the application. As the rules engine is largely token based, any desired rules that include tables must rely on well-tested support for the new table token. Our development team is hoping to make more progress on this in the next couple of months, and will announce it loudly when it is completed!
A big thanks to our users who are reporting issues with the project! While we would like to believe we can think of every test case, we know we cannot. Therefore, we continue to need our users to help us out. If you are scanning any Markdown documents and the results seem off, please file an issue. If you are starting to use our fix mode on your Markdown documents and there are issues, please file an issue. We appreciate any help that we can get to improve the project for everyone!
disable and enable for pragmas** glob characters not working properlyThe work continues! Due to our development team passing colds back and forth between members, February was a slow month in terms of progress. We plan
The work continues! Due to our development team passing colds back and forth between members, February was a slow month in terms of progress. We plan to start adding the foundations for new leaf items in March and April, in addition to completing the current round of issues found with rule Md031's fix mode.
A big thanks to our users who are reporting issues with the project! While we would like to believe we can think of every test case, we know we cannot. Therefore, we continue to need our users to help us out. If you are scanning any Markdown documents and the results seem off, please file an issue. If you are starting to use our fix mode on your Markdown documents and there are issues, please file an issue. We appreciate any help that we can get to improve the project for everyone!
If everyone reading this can take a moment and think of our mascot, "Bruce" and any pets of their own that have moved on, it would be appreciated. He passed away this morning suddenly. Our team can honestly say that Bruce was the best rubber duck that we have ever had, and we will miss him very much.
The work continues! Working through the categorized list takes time, but it is well worth it. We are also working on improving our bash and github act
The work continues! Working through the categorized list takes time, but it is well worth it. We are also working on improving our bash and github actions infrastructure, making it easier to release the project each month.
A big thanks to our users who are reporting issues with the project! While we would like to believe we can think of every test case, we know we cannot. Therefore, we continue to need our users to help us out. If you are scanning any Markdown documents and the results seem off, please file an issue. If you are starting to use our fix mode on your Markdown documents and there are issues, please file an issue. We appreciate any help that we can get to improve the project for everyone!
ShFmt .sh formatter to Pre-Commit configurationShellcheck .sh scanner to Pre-Commit configurationC\# at the end of a header was triggering rule Md020 for no spaces between end mark of an Atx Headingcode_spans exclusion as a compliment to the code_blocks exclusion.Version 0.9.26 - Date: 2024-12-09
Version 0.9.26 - Date: 2024-12-09
Progress continues on locating issues and addressing them, including four issues reported by users. As of this past weekend, (to the best of our knowledge) we have eliminated all fatal issues with Rule Md031 and its fix mode. While there are only three weeks left until the new year, we hope to make significant progress on Rule Md031's fix mode producing incorrect markdown. At the same time, we are starting to do research work into determining the best patterns for introducing new leaf elements in 2025. Our main goal is to provide thorough coverage without sacrificing proper testing. To that end, we will try and figure out and document the best approaches so we can use them for new leaf elements in 2025.
In addition to this work, make solid progress on addressing user issues as reported. And this might seem repetitive, but we continue to need our users to help us out. If you are scanning any Markdown documents and the results seem off, please file an issue. If you are starting to use our fix mode on your Markdown documents and there are issues, please file an issue. We appreciate any help that we can get to improve the project for everyone!
While it seems like we have been working on the fixing for Rule Md031 forever, that time is starting to come to an end. We have a solid list of what i
While it seems like we have been working on the fixing for Rule Md031 forever, that time is starting to come to an end. We have a solid list of what is left to test, and we are confident that we will finish it before the new year. (Hope we did not just jinx ourselves!) As with the last couple of releases, we are testing variations of containers, container starts, and container ends, all to ensure we have confidence that our test scenarios are thorough. At this point, we are very confident with any nesting of up to three containers, will our confidence for nesting scenarios of up to four containers at a high level as well. Following close behind that is our fix mode for Rule Md031 which is the stressor for the nested containers. We are not always happy that we started working on the fix mode for Rule Md031, but we are happy that it uncovered some issues in our parser that we could quickly fix.
But we continue to need our users to help us out. If you are scanning any Markdown documents and the results seem off, please file an issue. If you are starting to use our fix mode on your Markdown documents and there are issues, please file an issue. We appreciate any help that we can get to improve the project for everyone!
__fix_spacing function now that data is present.This release continued our focus on enabling fixing for Rule Md031 and uncovering any issues with the more deeply nested container cases. This has mea
This release continued our focus on enabling fixing for Rule Md031 and uncovering any issues with the more deeply nested container cases. This has meant introducing a new helper class to assist in the tracking of a given line to the container tokens used to provide container-based indenting for that line. This is very important for Rule Md031, and has already proveded to be useful in a partial rewrite of some of the logic for Md027.
While we find the odd parsing error, those issues are now rare to find in container nesting of three container or less, especially compared to finding issues with our new fix logic. Still, we continue to try different combinations of containers elements and leaf elements, verifying that PyMarkdown creates the correct HTML and correct Markdown from our parsed format.
That is where we still need our users to help us out. If you are scanning any Markdown documents and the results seem off, please file an issue. If you are starting to use our fix mode on your Markdown documents and there are issues, please file an issue. We appreciate any help that we can get to improve the project for everyone!
This release continued our focus on enabling fixing for Rule Md031 and uncovering any issues with the more deeply nested container cases. And our luck
This release continued our focus on enabling fixing for Rule Md031 and uncovering any issues with the more deeply nested container cases. And our luck held out, with the majority of the issues being related to the fixing algorithms. As mentioned in the last release, our detection rules rely on accurate parsing of the Markdown documents, with the only truthful way to verify that being to reconstitute the Markdown documents from our internal parsed format.
We continue to try different combinations of containers elements and leaf elements, verifying that PyMarkdown creates the correct HTML and the correct Markdown from our parsed format. The good news is that the largest percentage of issues deal with how we represent and reconstitute that whitespace. And we are diligently working to detect any issues with that process and to fix them.
That is where you, the users, come in. If you are scanning any Markdown documents and the results seem off, please file an issue. If you are starting to use our fix mode on your Markdown documents and there are issues, please file an issue. We appreciate any help that we can get to improve the project for everyone!
<!--- pyml disable-next-line no-duplicate-heading-->
<!--- pyml disable-next-line no-duplicate-heading-->
<!--- pyml disable-next-line no-duplicate-heading-->
This release was focused on enabling fixing for Rule Md031 and uncovering any issues with the more deeply nested container cases. The good news is tha
This release was focused on enabling fixing for Rule Md031 and uncovering any issues with the more deeply nested container cases. The good news is that, as the list in the fixed section shows, we fixed a lot of issues. The better news is that only a handful of those fixes dealt with the parser, with the bulk of the issues dealing with transitioning from Markdown to our internal token format and back to Markdown again.
Why is this important? When a user asks the PyMarkdown linter to fix any issues that it can, our team wants to have the utmost confidence that PyMarkdown is producing the correct fix. Therefore, we tokenize the Markdown and base our rules off tokens that we know are correct. The only way to validate that we have the correct tokens is to take those tokens and recreate the Markdown. If we cannot produce the exact Markdown that we started with, then we have a problem.
In most of the fixed issues below, the tokens are correct and can produce the proper HTML from the Markdown. However, in over 90% of the fixed issues below, when we recreate the Markdown, the Markdown that we produce if off by a couple of whitespace characters. For the reasons stated above, it is important to our team to fix these issues with transparency. Therefore, while the fixed list is somewhat long, it is an honest reflection of the issues that we found and addressed.
<!--- pyml disable-next-line no-duplicate-heading-->
<!--- pyml disable-next-line no-duplicate-heading-->
<!--- pyml disable-next-line no-duplicate-heading-->
This release focuses on enabling the fix modes for various rules, performing more testing of scenarios to prepare for the release. Not finding anythin
This release focuses on enabling the fix modes for various rules, performing more testing of scenarios to prepare for the release. Not finding anything major but uncovering some "weird" combinations that are causing unpredictable behavior. That behavior is mostly in the area of producing the correct Markdown from tokens to allow the fix mode to produce reliable fixes.
This release focuses on completing the work to get the documentation up to date and in the new read-the-docs format. Some user issues were addressed,
This release focuses on completing the work to get the documentation up to date and in the new read-the-docs format. Some user issues were addressed, but this was mainly to get the documents into good shape for release.
To view the new documentation, go to ReadTheDocs.
<!--- pyml disable-next-line no-duplicate-heading-->
<!--- pyml disable-next-line no-duplicate-heading-->
<!--- pyml disable-next-line no-duplicate-heading-->
This release focuses on getting the documentation up to date and in the new read-the-docs format. Some small issues were addressed, but this is mainly
This release focuses on getting the documentation up to date and in the new read-the-docs format. Some small issues were addressed, but this is mainly to get the documents into good shape for release.
To view the new documentation, go to ReadTheDocs.
This release focuses on getting the documentation up to date and in the new read-the-docs format. Some small issues were addressed, but this is mainly to get the documents into good shape for release.
To view the new documentation, goto ReadTheDocs.
This release focuses on getting the feature list complete for a version 1.0 release in the first half of 2024. This release was mainly fixes addressin
This release focuses on getting the feature list complete for a version 1.0 release in the first half of 2024. This release was mainly fixes addressing the new "fix" functionality for a number of the rules, as well as issues with tab characters.
PLEASE NOTE. We have an extensive test suite, but we can always use your help with scenarios that we have not thought of. If you run into a situation that causes a bad parsing or other exception, please let us know.
A lot of the work we are doing to prepare for the new releases is centered around extra cases for tab characters as well as the newer fix functionality. Please report any issues with these features to help us make it better for others.
pyproject.toml format with the
--config command line flagThis release focuses on getting the feature list complete for a version 1.0 release in early 2024. This release marked the start of moving documentati
This release focuses on getting the feature list complete for a version 1.0 release in early 2024. This release marked the start of moving documentation from this repository to the more curated ReadTheDocs.
Some notable additions/changes are:
fix addition, re-verifying
the output and fixing any issuesPython-Markdown and other parsers like it
mkdocs to build documentation sites--stack-trace command line
flag not working as expectedThis release is going to focus on getting the feature list complete for a version 1.0 release in early 2024. To a large extent, this involves adding t
This release is going to focus on getting the feature list complete for a version 1.0 release in early 2024. To a large extent, this involves adding the "fix" feature for some rules, and double checking the output of many of the existing rules, looking for missing issues.
Some other notable additions/changes are:
--continue-on-error command line flag allows PyMarkdown to
continue processing after any tokenization error or plugin error
py.typed file for any API users
pymarkdown plugins list for
the current list of plugins and fix status--continue-on-error command line flag to "ignore" errors
and to keep on processing.len(x) was being used instead of x or not xpy.typed file.This release is mainly to fix issues related to technical debt. The PyMarkdown project takes Markdown and generates a token stream to represent that M
This release is mainly to fix issues related to technical debt. The PyMarkdown project takes Markdown and generates a token stream to represent that Markdown. To verify that the tokens are correct, HTML output is generated and matched against reference implementations of the specification. If those pass, the tests then try to recreate the Markdown from the information in the tokens. So, to pass a single test, the Markdown must generate tokens without any assertions, generate the correct HTML, and be able to recreate the Markdown that it parsed.
The issues fixed include some issues that fixed assertions, caused improperly formed HTML, and caused improperly formed Markdown. The majority of these issue involved tab characters and containers.
This release is mostly to incorporate a number of small fixes and additions. Behind the scenes, we spent a while looking at the roadmap and trying to
This release is mostly to incorporate a number of small fixes and additions. Behind the scenes, we spent a while looking at the roadmap and trying to figure out the best path going forward. Part of that was experimenting with different forms of testing, to see how applicable they would be to this project. That work will be starting soon and be incremental. It also pointed out a need for better documentation, which will also be incremental going forward.
That experimentation lead to a couple of changes:
disable-num-lines to handle disabling rules for
a given count of lines.disable-num-lines pragma commandmd001 to look for case sensitive front-matter key name instead
of case sensitive per switch to full YAML processingThis is a small patch release to deal with some issues found during the last release cycle. Note: noted there were some issues with the pymarkdown_tes
This is a small patch release to deal with some issues found during the last release cycle. Note: noted there were some issues with the pymarkdown_test project and giving false positives. Will be looking into that for the next release.
Missed something during the release process.
Missed something during the release process.
Will be improving checkout process at https://github.com/jackdewinter/pymarkdown_test , so please check there for more information.
This release had some new features, but the most interesting one of all is the start of the work on the fix mode that has been requested. It is invoke
This release had some new features, but the most interesting one of all is the start of the work on the fix mode that has been requested. It is invoked by invoking the scan engine with -x-fix scan instead of scan. It is still in the early stages, but you can experiment with it and rules md001, md009, md010, and md047 for which fix mode has been implemented. Note that all the documentation will not reflect fix mode until it is further along, but try it out if you would like!
In addition, because of requests, the following two features and one bug fix have been addressed:
.pymarkdown.yml
and .pymarkdown.yaml file
.pymarkdown file is checked first, and if present, YAML
default files will not be loaded--config argument
--return-code-scheme argument accepts either default or minimaldefault is the normally return codes for PyMarkdownminimal returns a code of 0 even if no files were found or if there were
any rules triggeredThis release is a simple point list that improves on the usability of the project by adding a new PyMarkdown API for use from other Python application
This release is a simple point list that improves on the usability of the project by adding a new PyMarkdown API for use from other Python applications. It has been thoroughly tested to make sure it is working properly, and we hope it meets our user's needs for API access. Please let us know if there is functionality that you would like exposed by filling an issue.
tool.pymarkdown section in pyproject.toml for current directory### Fixed - Emergency fix.
Added support for default .pymarkdown configuration file
.pymarkdown configuration filemd001 , md002 to equal md001,md002.pymarkdown configuration fileThis was a point release. Issues that were addressed:
This was a point release. Issues that were addressed:
PyLint errorsThis was a point release. Issues that were addressed:
This was a point release. Issues that were addressed:
NOTE for Windows users:
Prior to this release, when executing PyMarkdown against a file on a Windows machine, any paths were reported using the Posix format. This has been corrected as of the 0.9.8 release, with Linux and MacOs reporting paths in Posix format and Windows reporting paths in Windows format. If you have scripts that invoke PyMarkdown and interprets any returned paths, please examine those scripts to see if they need to be changed.
This was a point release that highlighted improvements to the accuracy of reported tokens in situations with nested containers.
This was a point release that highlighted improvements to the accuracy of reported tokens in situations with nested containers.
PLEASE! If you encounter any issues with this product, please file an issue report and tell us about it! There are a lot of combinations of Markdown elements to cover, and we need your help to prioritize them all!
This was a point release that highlighted improvements to the accuracy of reported tokens in situations with nested containers. In addition, to help f
This was a point release that highlighted improvements to the accuracy of reported tokens in situations with nested containers. In addition, to help further development, time was spent to apply type hints to the entire project.
PLEASE! If you encounter any issues with this product, please file an issue report and tell us about it! There are a lot of combinations of Markdown elements to cover, and we need your help to prioritize them all!
allow-setext-updateThis was a point release that highlighted improvements to the accuracy of reported tokens in situations with nested containers.
This was a point release that highlighted improvements to the accuracy of reported tokens in situations with nested containers.
PLEASE! If you encounter any issues with this product, please file an issue report and tell us about it! There are a lot of combinations of Markdown elements to cover, and we need your help to prioritize them all!
main branch>This was a point release that highlighted improvements to the accuracy of reported tokens in situations with nested containers.
This was a point release that highlighted improvements to the accuracy of reported tokens in situations with nested containers.
PLEASE! If you encounter any issues with this product, please file an issue report and tell us about it! There are a lot of combinations of Markdown elements to cover, and we need your help to prioritize them all!
__calculate_current_indent_level function to accommodate nestingThis was a point release to allow fixed issues to be released. While the full descriptions are below, here are some highlights:
This was a point release to allow fixed issues to be released. While the full descriptions are below, here are some highlights:
disable_consistency_checks from tests and getting clean
For full release information, go to the change log.
For full release information, go to the change log.
This was a point release to allow fixed issues to be released. While the full descriptions are below, here are some highlights:
- > , did not properly retain new block quote level on return===, would think it was SetExt instead of continuation text.For full release information, go to the change log.
For full release information, go to the change log.
This was a point release to make several new features and fixed issues to be released. While the full descriptions are below, here are some highlights:
-mpython -m pymarkdown)allow_first_image_element
<h1><img></h1> sequence (with any parameters needed) if is first token in document--disable-rules through tests, removing any that were not neededThe main focus of this release was to fill out the features that the project supports to the beta release level. Big ticket items addressed were:
The main focus of this release was to fill out the features that the project supports to the beta release level. Big ticket items addressed were:
application_properties class from this project into a new Python package, and to make this project dependant on that package.markdown_token.py to included better high level is_*_token functionsadded -r flag to control whether the scan is recursive
Nothing published for this version
Nothing published for this version
### Added - Initial release ### Changed - None ### Fixed - None
Your coding agent can read these notes before it upgrades. Set up the MCP server →