Skip to content

chore(pre-commit): update jackdewinter/pymarkdown to v0.9.36#165

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/jackdewinter-pymarkdown-0.x
Open

chore(pre-commit): update jackdewinter/pymarkdown to v0.9.36#165
renovate[bot] wants to merge 1 commit intomainfrom
renovate/jackdewinter-pymarkdown-0.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Mar 20, 2026

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Type Update Change
jackdewinter/pymarkdown repository patch 0.9.0v0.9.36

Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.


Release Notes

jackdewinter/pymarkdown (jackdewinter/pymarkdown)

v0.9.36: Version 0.9.36 - 2026-03-15

Compare Source

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.

Added
  • Issue 1511
    • Added plugins.per-file-ignores.* configuration items to allow for rules to be disabled by matching against a glob-path.
  • Issue 1535
    • Added documentation under the extensions section to provide information on the tables extension.
Changed
  • Issue 1527
    • Updated documentation to give more examples, including examples of TOML configurations.
  • Issue 1539
    • Did full sweep through existing documentation, to clean up.
  • Issue 1555
    • Badges were out of sync, needed new mechanism to properly fetch

v0.9.35: Version 0.9.35 - 2026-01-24

Compare Source

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!

Added

  • Issue 1503
    • Added support for --respect-gitignore flags to respect any Git directories and their .gitignore files.

Fixed

  • Issue 1484
    • Made change in application_properties package to properly apply section header when using the --config flag.
    • Added tests to this repository to verify that both implicit and explicit TOML files can be used.

v0.9.34: Version 0.9.34 - 2025-12-21

Compare Source

Notes

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.

Added
  • Issue 1479
    • Support for having a pragma to disable the rule for the next line is extended to include a single blank line between the pragma and
      the line where the failure occurs.
    • Added large number of tests (see work in fixed section) to ensure that next-line pragmas are consistently working for all rules.
  • Issue 1490
    • Added work to measure "extra" test coverage, with goals to keep scenario coverage but reduce redundant code coverage
    • i.e. if two scenarios are different enough but have the same code coverage, have a way to mark them as such
Fixed
  • Issue 1426
    • from previous work, but also asked reporter how to enhance this rule
  • Issue 1475
    • fixed typo in documentation
  • Issue 1505
    • fixed an issue with Md002/Md041 where the bottom of the SetExt token was being reported instead of the top
    • additionally, fixed a small issue with empty documents falsely reporting the end-of-stream token as a "bad" heading
  • Issue 1506
    • fixed an issue with Md003 where the bottom of the SetExt token was being reported instead of the top
  • Issue 1507
    • fixed an issue with Md023 where the bottom of the SetExt token was being reported instead of the top
  • Issue 1508
    • fixed an issue with Md024 where the accumulated text for the Atx Heading and the accumulated text for the SetExt heading with the same text differed
  • Issue 1510
    • fixed an issue with Md025 where the bottom of the SetExt token was being reported instead of the top
  • Issue 1512
    • adding missing tests for Md043 and SetExt headings
    • fixed an issue with Md043 where the bottom of the SetExt token was being reported instead of the top
  • Issue 1514
    • when parsing inline elements from a text block, pragmas were not been considered, resulting in reported lines being off
  • Issue 1515
    • Rule Md027 was not adapted to handle Table tokens
  • Issue 1516
    • when rewinding a failed LRD that included pragmas, the pragmas were not being rewound themselves, resulting in bad line numbers for any following tokens
Changed
  • Issue 1462
    • added system.exclude_path to provide configuration option for the command-line --exclude
  • Issue 1504
    • clarified documentation for rule Md001 and the first heading of a document
  • Issue 1522
    • properly assigned line/column numbers to table elements, and ensured that all table tokens were properly serializing their relevant data, to allow sight reading of their contents

v0.9.33: Version 0.9.33 - 2025-10-22

Compare Source

Notes

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.

Added
  • None
Fixed
  • Issue 1468
    • started effort to harmonize the LRD and Table tests
    • mapped out level 0 and level 1 container tests for LRDs, adding extra tests
      where necessary
Changed
  • None

v0.9.32: Version 0.9.32 - 2025-08-12

Compare Source

Version 0.9.32 - 2025-08-12

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!

Added
  • Issue 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
Fixed
  • 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.

v0.9.31: Version 0.9.31 - 2025-07-11

Compare Source

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!

Added
  • Issue 1378
    • upgrade to latest version of application_properties, v0.9.0
    • enabled ability to use JSON5 (default) or normal JSON via command line
      switch
    • made small modifications to plugins as our team is unaware of any
      custom plugin users
      • change is to use a local MyApplicationPropertiesFacade which
        provides better abstraction
    • removed redundant configuration documentation in favor of pointing
      links at updated application_properties documentation
  • Issue 1427
    • Adhering to project templates across various projects.
Fixed
  • None
Changed
  • None

v0.9.30

Compare Source

Version 0.9.30 - Date: 2025-04-19

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!

Added
  • Issue 1396
    • Support for specific rule enablement
    • Disabling of all rules and then selective enabling
  • Issue 1401
    • Ability to exclude files from the command line
  • Issue 1403
    • Added disable and enable for pragmas
Fixed
  • Issue 1379
    • Fixed rehydration issues for test_extra_052l* and test_extra_052m*
    • Precursor for addressing the fix mode Md031 tests
  • Issue 1380
    • Fixing the 2 Md031 tests now unblocked from Issue 1379
  • Issue 1387
    • Fixed Md005 not firing properly within alternating ordered and unordered list
  • Issue 1401
    • Fixed a small issue with the ** glob characters not working properly
Changed
  • None

v0.9.29: Version 0.9.29 - Date: 2025-03-10

Compare Source

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.

Added
  • None
Fixed
  • Issue 1352
    • Fixed parsing and rehydration issues, as precursor to tackling Md031 fix issue
  • Issue 1356
    • Fixed rehydration error with test test_extra_052r0.
  • Issue 1358
    • Fixed rehydration error with test test_extra_053d1.
  • Issue 1364
    • Fixed parsing error and rehydration error related to multiple drop
      container scenarios involving the remaining containers being lists.
  • Issue 1357
    • Fixed issue with rule Md007 and nested lists
  • Issue 1371
    • Fixed Md031 fix issues related to issue 1364 fixes.
Changed
  • None

v0.9.28: Version 0.9.28 - Date: 2025-02-10

Compare Source

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!

Added
  • Issue 1289
    • added documentation under Pre-Commit for how to write the configuration file for Pre-Commit if an alternate extension is needed for the files being scanned
  • Issue 1318
    • ported perf_*.cmd scripts to perf_.sh scripts
  • Issue 1320
    • added ShFmt .sh formatter to Pre-Commit configuration
  • Issue 1322
    • added Shellcheck .sh scanner to Pre-Commit configuration
  • Issue 1327
    • added simple mechanism to log and view performance measurements
Fixed
  • Issue 1302
    • reported issue where C\# at the end of a header was triggering rule Md020 for no spaces between end mark of an Atx Heading
  • Issue 1326
    • fix mode for MD012 not properly handling double lines in lists after new list indicators
  • Issue 1288
    • rule Md037 and documentation updated to properly ensure that at least one of the two ends has spaces on both sides of the emphasis sequence
  • Issue 1334
    • fixed SNAFU1 for MD031 fix mode, assert
  • Issue 1344
    • fixed SNAFU6 for MD031 fix mode, assert
  • Issue 1346
    • fixed SNAFU8 for MD031 fix mode, assert
Changed
  • Issue 1277
    • Rule Md044 changed to add a code_spans exclusion as a compliment to the code_blocks exclusion.

v0.9.27: Version 0.9.27 - Date: 2025-01-09

Compare Source

Version 0.9.27 - Date: 2025-01-09

This might sound like we are repeating ourselves, but things march on. The tests for the fix mode for Md031 are still revealing secrets, and we are fixing them as fast as we can. We took some time in December to make sure we have a categorized list of what still needs to be done and have prioritized that work. Our research required for new leaf elements is almost complete. We took a bit of a detour to ensure our Bash script support and performance measuring support is in place, something we feel strongly about. Our current plans include efforts to tackle both of these items in January, along with other reported issues. 

And thanks to the 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!

Added
  • Issue 1299
    • adding scripts to capture performance numbers to enable tuning
  • Issue 35
    • added bash scripts to compliment most of the Windows .cmd scripts, including the clean.cmd being complimented by clean.sh
Fixed
  • Issue 1297
    • Fixed some Md031 fix tests, organized others.
Changed
  • Issue 1290
    • Upgraded tests to support Python 3.9 to 3.13

v0.9.26: Version 0.9.26 - Date: 2024-12-09

Compare Source

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!

Added
  • Issue 810
    • Added fix mode for Rule Md012
  • Issue 1280
    • Added testing capability to save all single Markdown documents in a specified directory, then scanning them one at a time with PyMarkdown and each of the extensions enabled.
Fixed
  • Issue 1259
    • Fixed asserts and bad parsing from cases where containers are added and then a "raw" blank line removes all containers.
  • Issue 1263
    • Fixed issue where a new unordered list between two block quotes was not being recognized properly.
  • Issue 1270
    • Fixed issue with Md027 not reporting line numbers properly within anything except the first paragraph.
  • Issue 1272
    • Parsing of the FCB in certain cases was off, as was the text token containing the code block's text. Resulted in the columns being reported being indented less than expected.
  • Issue 1274
    • Fixed remaining assert issues, leaving fixes that produce valid Markdown, but not the intended Markdown.
  • Issue 1267
    • Fixed reported issue with task lists creating an error in Md018.
  • Issue 1268
    • Fixed issue with Md022 and pragmas, similar to Issue 1208.
Changed

v0.9.25: Version 0.9.25 - Date: 2024-11-07

Compare Source

Version 0.9.25 - Date: 2024-11-07

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!

Added
  • Issue 1233
  • Issue 1234
  • Issue 1235
    • Adding more comprehensive "drop X" tests where multiple levels of containers are involved, and then dropping one or more of those containers in a single line.
Fixed
  • Issue 1208
    • Fixed issue with blank lines separated with pragmas not being understood properly.
  • Issue 1233
  • Issue 1234
  • Issue 1235
    • Adding new "drop_x" tests and resolve any scan issues with them.
  • Issue 1243
  • Issue 1245
    • Handling leading spaces in __fix_spacing function now that data is present.
  • Issue 1247
    • In 3+ drop cases with only lists and no block quotes, indent is not calculated properly on rehydrate. This in turn causes the fixed text to be wrong.
  • Issue 1250
    • Batch of fixes for cases when Md031 is trying to properly space a fenced code block after dropping 2 containers.
Changed
  • Issue 1231)
    • Moved triple nested container tests into their own test_nested_three_* files for better readability.

v0.9.24: Version 0.9.24 - Date: 2024-10-06

Compare Source

Version 0.9.24 - Date: 2024-10-06

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!

Added
  • Issue 1212
    • added cases to Md031 for SetExt
    • added extra test cases and resolution to other cases
Fixed
Changed
  • Started to pull common code from MD031 for use in Md027

v0.9.23: Version 0.9.23 - Date: 2024-09-04

Compare Source

Version 0.9.23 - Date: 2024-09-04

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!

Added
  • None
Fixed
  • Issue 1141
    • fixed assert issue (test_extra_044mcv0)
  • Issue 1142
    • fixed assert issue (test_extra_044lc)
  • Issue 1143
    • fixed indent issue (test_extra_044ldb0)
  • Issue 1144
    • fixed parsing issue (test_extra_044ldb1)
  • Issue 1145
    • fixed indent issue (test_extra_044mx60)
  • Issue 1146
    • fixed indent issue (test_extra_044lex1)
  • Issue 1147
    • fixed indent issue (test_extra_044mcx)
  • Issue 1148
    • fixed parsing issue (test_extra_044ldb1)
  • Issue 1149
    • fixed parsing issue (test_extra_044mcz0)
  • Issue 1150
    • fixed indent issue (test_extra_044lex3)
  • Issue 1151
    • fixed assert issue with untested path (test_extra_044ldg)
  • Issue 1152
    • fixed indent issue (test_extra_044mcs0)
  • Issue 1153
    • fixed indent issue (test_extra_044mcu0)
  • Issue 1154
    • fixed indent issue (test_extra_044mx31)
  • Issue 1155
    • fixed indent issue (test_extra_044lde)
  • Issue 1156
    • fixed indent issue (test_extra_044ldb0)
Changed
  • None

v0.9.22: Version 0.9.22 - Date: 2024-08-05

Compare Source

Version 0.9.22 - Date: 2024-08-05

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.

Added
Fixed
  • Issue 1120
    • within Block-List, thematic break can sometimes not report newlines to the
      list block
  • Issue 1122
    • opening a fenced code block in a Bq-List-Bq was closing the outer BQ
  • Issue 1123
    • in some cases within a Bq-List-Bq, not counting the newlines properly
  • Issue 1124
    • list items within a Bq-List-Bq can have incorrect starting text regarding
      the innermost block
  • Issue 1125
    • parsing of blank lines within Bq-List-Bq does not always add the right
      newlines to the list
  • Issue 1126
    • under some circumstances, with a Bq-List-Bq, thematic break can cause
      the block quote to close
  • Issue 1127
    • rehydration can be wrong with indented blocks in Bq-List-Bq
  • Issue 1130
    • check for adding extra line to list with blank line in *-List-Bq
      not flexible enough
  • Issue 1132
    • false positives (negatives?) for list looseness fixed
  • Issue 1135
    • fixed issue introduced with above shortcuting in Bq-List-Bq scenarios
      to avoid assert
  • Issue 1137
    • fixed issue with hanging indents and some Bq-List-Bq scenarios
  • Issue 1141
    • fixed assert with Bq-List-Bq with previously untested branch
  • Issue 1142
    • fixed assert with list-list-bq-bq with previously untested branch
  • Issue 1143
    • fixed rehydate with first leading space not being calculated properly
  • Issue 1144
    • fixed parsing error with bq-list-bq-list and HTML block not being recongized
  • Issue 1145
    • fixed rehydration where last leading space of just closed block not being set
      properly
  • Issue 1146
    • fixed parsing issue with text after whitespace not taking indent into account
  • Issue 1147
    • fixed issue with double counting of spaces to list and paragraph
  • Issue 1148
    • fixed parsing error with bq-list-bq-list and ATX block not being recongized
  • Issue 1149
    • fixed parsing error with bq-list-bq-list and fenced block not being recongized
  • Issue 1150
    • fixed hydration with thematic break after multiple lists and bq to render previous
      leading spaces as invalid
  • Issue 1151
    • fixed assert with Bq-List-Bq with previously untested branch
  • Issue 1152
    • fixed rehydrate problem with indents not being calculated properly for inner
      blocks
  • Issue 1153
    • fixed rehydrate issue with sequences causing leading spaces to be incorrect
  • Issue 1154
    • fixed rehydrate issue with sequences causing leading spaces to be incorrect
  • Issue 1155
    • fixed rehydrate issue with prior and closed block quotes not being factored
      in properly
  • Issue 1156
    • fixed rehydrate issue with extra block quote character being added at end
      of document
Changed
  • None

v0.9.21: Version 0.9.21 - Date: 2024-07-01

Compare Source

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.

Added
Fixed
  • Issue 1099
    • Fixed longstanding issue with tabs and newlines in code spans
Changed
  • Issue 1103
    • added round of coalescing any text tokens separated during inline processing
    • rewrote rule md037 to new text tokens

v0.9.20

Compare Source

Version 0.9.20 - Date: 2024-05-30

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.

Added
  • Issue 1075
    • Complete redo of advanced extensions documentation.
  • Issue 1079
    • Complete redo of advanced rules documentation.
  • Issue 1083
    • Complete redo of api documentation.
  • Issue 1081
    • Added "plugins info" extension to show current configuration.
Fixed
  • Issue 1015
    • Fixed issue with double tabs within fenced block
  • Issue 1077
    • Fixed issue with previous cleanup
Changed
  • None

v0.9.19: Version 0.9.19

Compare Source

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.

v0.9.18: Version 0.9.18

Compare Source

Version 0.9.18 - Date: 2024-03-18

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.

Added
  • Issue 990
    • added ability to use a TOML file in pyproject.toml format with the
      --config command line flag
Fixed
  • Issue 992
    • Verified behavior of Rule Md009, fixing some small issues
  • Issue 994
    • Verified behavior of Rule Md029, adding configuration for starting ordered
      lists from integers greater than 1
  • Issue 1001
    • Verified behavior of rules Md019 and Md021, fixing issues with Md021
  • Issue 1003
    • Verified behavior of rule Md037 with more types of inline elements
  • Issue 1007
    • Verified behavior of rule md023 with more cases, especially tab characters
    • multiple cases of fixing the rule and multiple cases of fixing the parser
  • Issue 1015
    • Fixed issue with split tab and a simple list indent
Changed
  • Issue 944
    • verified that all existing fix tests are parameterized
    • new fix tests for rule going forward will require this
  • Issue 1005
    • verified behavior of rule Md039
    • added link reference defintion's link title to the previous list
      of link title and image's link title for examination
  • Issue 1007
    • changed GHA workflow to be more precise when unable to start remote job

v0.9.17

Compare Source

Version 0.9.17 - Date: 2024-02-05

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:

  • taking a second pass at the outputs from the recent fix addition, re-verifying
    the output and fixing any issues
  • cleaning up documentation to properly note what type of whitespace is used
    in the core and well as various extensions and plugins
    • at the same time, clearly followed the specification on what kind of whitespace
      to use, instead of allowing unicode whitespace by default
  • for parsers like Python-Markdown, used in the MkDocs tools, added Rule Pml101
    to handle the different indentation requirements
    • note that this new rule give advice against Md007, so only one of the two
      rules should be enabled at any one time
Added
  • Issue 975
    • Added a new rule Pml101 to deal with "anchored list indents"
    • This adds support for Python-Markdown and other parsers like it
      • Used by tools such as mkdocs to build documentation sites
    • Defaults to an indent of 4 that starts from the beginning of the line or
      after a block quote start
    • Updated documentation for Md007 to mention Pml101 and when to use it
  • Issue 983
    • Added base foundation for new documentation, publishing on
      read-the-docs.
Fixed
  • Issue 929
    • second try, specifically missing github blob reference in urls
  • Issue 945
    • inconsistent splitting of whitespace caused some issues
    • went through all strip() calls and ensured that they have the
      specific type of whitespace identified and documented
  • Issue 964
    • final fix states needed verification and fixing of any issues
    • uncovered and fixed issues in Md007, Md019, and Md029
  • Issue 977
    • fixed issue with md019 continuing to search for text blocks once the
      heading was completed
    • verified that Md021 does not have the same issue, but added tests to be sure
  • Issue 981
    • added documentation for Rule Pml100
    • cleaned up mentions of whitespace in pragma and front matter extensions
  • Issue 986
    • initial setting of log level to DEBUG with --stack-trace command line
      flag not working as expected
    • fixed to properly set log level to DEBUG for early application debugging
Changed
  • [Issue 9

@renovate renovate bot force-pushed the renovate/jackdewinter-pymarkdown-0.x branch from cbdc1e2 to 25390e4 Compare March 23, 2026 02:12
@renovate renovate bot changed the title chore(pre-commit): update jackdewinter/pymarkdown to v0.9.35 chore(pre-commit): update jackdewinter/pymarkdown to v0.9.36 Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants