v0.9.15
Version 0.9.15 - Date: 2023-12-05
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.
Added
- None
Changed
- None
Fixed
- Issue 731
- see issue for details. fixed issues with unorder-bq-ordered that need more examination in the future
- Issue 828
- list new items within block quotes were not always rendering properly in Markdown, required changes to markdown regen
- Issue 829
- fixed issue with BlockQuoteData instance not being passed back properly. as a result, one closing of a block quote was not noticed by another closing further down the line
- Issue 832
- partially fixed by other work, partial issue with the HTML output showing spaces instead of tabs, could be slightly different versions of commonmark tests
- Issue 833
- not handling the split tab properly in these cases
- Issue 834
- issues were tabs that were split on the same line as a list start
- Issue 835
- a double block quote followed by a fenced block in a single block quote was not properly closing
- Issue 836
- these cases were hitting split tab cases within processing for fenced code blocks
- Issue 837
- these cases were split tab cases where the text to compare to its detabified forms was incorrect, resulting in a failed match
- Issue 838
- extra tab was showing up in double list scenarios where indented block start was split over the last list and the indented block
- Issue 839
- handling of split tabs within lists was not added at all, causing an assert to fire
- Issue 840
- was not properly looking up in tabbed map when rendering
- Issue 841
- fixed issue with assert
- had commented out branch because no cases were found, finally found one
- spawned other issues to fix less serious issues
- Issue 842
- fixed problem with HTML and lists and split tabs causing assertions
- spawned other issues to fix less serious issues
- Issue 843
- whitespace check not being suspended for one check caused the html block not to be closed
- Issue 848
- indent spacing within containers causing tab to not be changed back properly
- Issue 849
- in cases with double lists, split tab can sometimes get missed
- Issue 850
- some of the lines we adding whitespace for both the bq indent (already taken care of) and the list, resulting in too many spaces
- tab support added to those cases
- Issue 852
- fixed bad tokenization. previous fix was improper, causing strings to be improperly indexed into to fix spacing issue
- spawned other issues to fix less serious issues
- Issue 854
- "fixed". not sure why this happened, and will probably open another issue to properly figure this out at a later date
- in cases where a list is within a block quote, and the next line is a paragraph continuation that fails the requirements for a "normal" list continuation, this fix was required.
- Issue 857
- fixed along with Issue 840, just filed separately
- Issue 878
- a doubly indented list with a new paragraph continuation line starting with multiple tabs was not capturing the first tab properly in the list
- Issue 888
- during fixing of 731, found some outside cases which were throwing asserts as they were outside of normal paths
- mostly dealt with proper spacing with block quotes nested within lists.
- Issue 889
- cleaned up issue with MD032 firing with nested blocks.
- Issue 891
- fixed up Markdown issues with regenerating. Cause was improper adding of an extra newline in the leading spaces