Skip to content

Releases: jackdewinter/pymarkdown

v0.9.13.4

09 Sep 17:14
e528778
Compare
Choose a tag to compare

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.

Fixed

  • Issue 755
    • fixed issue where new directories were not captured due to false positive
  • Issue 759
    • code_blocks property for MD010 was inverted
    • will check for others like this as more fix mode work is done

v0.9.13.3

04 Sep 17:42
f8822ce
Compare
Choose a tag to compare

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.

v0.9.13

04 Sep 00:05
9b4dc57
Compare
Choose a tag to compare

Version 0.9.13

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:

  • YAML support
    • YAML support is provided for default configuration using the .pymarkdown.yml
      and .pymarkdown.yaml file
      • note that the .pymarkdown file is checked first, and if present, YAML
        default files will not be loaded
    • YAML support is provided for the command line --config argument
      • if the specified file does not parse as JSON, PyMarkdown will attempt to
        parse it as YAML
  • Return Code Schemes
    • the --return-code-scheme argument accepts either default or minimal
    • default is the normally return codes for PyMarkdown
    • minimal returns a code of 0 even if no files were found or if there were
      any rules triggered
  • Rule MD010
    • The rule was not dealing with tabs in code-blocks properly
    • Fixed so that any line that contains a code-block does not trigger the rule

Added

  • Issue 618
    • Alpha pass at fix mode
    • Rules md001, md009, md010, and md047 support fix mode, but not documented
  • Issue 691
    • Allow YAML for configuration files

Changed

  • Issue 723
    • Moved test version of transform to markdown into application directory
  • Issue 728
    • Moved code from transform modules (html and markdown) into token classes
    • Refactored modules to put them in more consistent directories
  • Issue 744
    • Added ability to change return code profile
  • Issue 746
    • Moved scanning related code from main.py to new file module

Fixed

  • Issue 737
    • Rule MD010: Added code to not fire on fenced code blocks

v0.9.12

25 Jul 04:01
a2bcd02
Compare
Choose a tag to compare

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.

Added

  • Issue 655
    • Added support for tool.pymarkdown section in pyproject.toml for current directory
  • Issue 702
    • First version of the PyMarkdown API, so the project can be called from
      other Python files
    • Added PyDoc support to generate API docs for new API from build pipeline
  • Issue 708
    • Split the Pipfile requirements into Dev and Non-Dev requirements
    • Updated to new version of application_properties
      with same split just added
  • Split up test_main.py into smaller scripts with narrower focus
  • Improved build pipeline
    • added check to ensure Pipfile and install-requirements remain in sync
    • added lint stage to pipeline
    • added packaging stage to ensure we can run our package script
  • Added new pymarkdown_test
    project with (hopefully) automated kickoff from PyMarkdown

Changed

  • None

Fixed

  • None

Release v0.9.10

18 Apr 02:45
Compare
Choose a tag to compare

Version 0.9.10 - Date: 2023-04-16

Added

  • Issue 627
    • Added support for default .pymarkdown configuration file
    • Updated documentation for configuration

Changed

  • Issue 582
    • broke up leaf block processor into more distinct pieces
  • Issue 589
    • broke up token to GFM module into more distinct pieces
  • Issue 594
    • broke up token to link helper into more distinct pieces
  • Issue 596
    • broke up token to inline processor into more distinct pieces
  • Issue 598
    • broke up token to link reference definition helper into more distinct pieces
  • Issue 600
    • broke up html helper into more distinct pieces
  • Issue 603
    • broke up container block processor into more distinct pieces
  • Issue 605
    • broke up block quote processor
  • Issue 607
    • broke up list block processor
  • Issue 630
    • ensured that remaining whitespace tests have the standard combinations
      tested in the previous whitespace tests

Fixed

  • Issue 613
    • fixed issues with tabs and thematic breaks
  • Issue 620
    • fixed issues with tabs and SetExt headings
  • Issue 622
    • fixed issues with tabs and paragraphs
  • Issue 625
    • fixed documentation to more clearly specifying the use of a comma-separated
      list for enabling and disabling rules
    • small change to list processing logic to strip whitespace between values,
      allowing for md001 , md002 to equal md001,md002
  • Issue 626
    • fixed issue where parsing was not considering being in a code block before
      determining whether or not to start a list
  • Issue 634
    • fixed and tested various scenarios with lists that contain mostly or all
      link elements
  • Issue 637
    • fixed by adding extra examples and scenario tests to verify this is working
  • Issue 639
    • addressed inter-release issue of not specifying all code directories in
      the setup script after refactoring

v0.9.9

26 Feb 22:46
ed0560e
Compare
Choose a tag to compare

This was a point release. Issues that were addressed:

  • proprly dealing with the reintegration of tabs into the HTML output
  • ensuring that tabs are represented properly in the internal token format
  • cleaning up code to reduce various PyLint errors

Added

  • Issue 561
    • added Sourcery.Ai to analysis tools
      • made sure all code hits 40% Sourcery quality threshold
      • cleaned up testing scripts

Changed

  • various
    • updated build, publish, and analysis packages to latest versions
  • Issue 561
    • changed error output to filter through main module for more control
  • Issue 504
    • moved file logging code into own module
  • Issue 496
    • moved file scanner code into own module

Fixed

  • Issue 561
    • worked to reduce the count of too-many-locals reported by PyLint
  • Issue 478
    • fixed false positive in reporting the start of the list
    • underlying issue was improper closing of the list, which was also fixed
  • Issue 453
    • still in progress
    • cleaning up reintegration of tabs into output

v0.9.8: Release 0.9.8 (#495)

25 Sep 20:58
03ca7e1
Compare
Choose a tag to compare

This was a point release. Issues that were addressed:

  • fixed issues with block quotes and other containers
  • added support for file extensions other than .md
  • added support for linting markdown from standard input
  • cleared up issue with using proper path separators on Windows
  • added and fixed tests for proper handling of whitespaces
  • added proper support for Unicode whitespace and Unicode punctuation around emphasis elements
  • updated all Python dependencies to their current versions

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.

Added

  • Issue 407
    • added support for other file extensions
  • Issue 413
    • added more variants for nested-three-block-block tests
  • Issue 441
    • added support for linting markdown from standard input
  • Issue 456
    • added lots of new tests for different forms of whitespace with each element
  • Issue 480
    • added proper support for Unicode whitespace and Unicode punctuation around emphasis elements

Changed

  • Issue 168
    • moved paragraph handling code to own module
  • Issue 330
    • cleared up issue with using proper path separators on Windows
  • Issue 408
    • split tests for blocks into more discrete files
  • Issue 450
    • enabled proper tests for pragmas
  • Issue 454
    • fixed special HTML sequences that were detected by Md033

Fixed

  • Issue 301
    • fixed issue where was checking indent_level instead of column_number
    • clarified documentation
  • Issue 410
    • not putting Markdown back together properly
  • Issue 419
    • fixed parsing issue with trailing spaces in empty list items
  • Issue 420
    • fix improper parsing with nested blocks quotes
  • Issue 421
    • Markdown was not put back together properly with weird Block Quote/List combinations
  • Issue 460
    • fixed up mismatching output with tabs
  • Issue 461
    • generated HTML not removing whitespace before and after paragraphs
  • Issue 465
    • not properly handling whitespace before fenced block info string
  • Issue 468
    • closing fence block allowed tabs after the fence characters
  • Issue 471
    • merging of end of line spaces not being handled properly
  • Issue 476
    • tabs within code spans were triggered stripping of whitespace
  • Issue 483
    • fixed RegEx within Md018 and Md021 to properly reflect spaces, not whitespaces
  • Issue 486
    • fixed problem with tabs causing weird parsing with a new block quote

v0.9.7

05 Jul 00:41
0476c41
Compare
Choose a tag to compare

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!

Added

  • None

Changed

  • Bumping of versions of dependent packages
  • Changed - Issue 361
    • cleaning up badges to make them consistent
  • Changed - Issue 392
    • moved many of the "one-off" parameters out of arguments into a "grab-bag" with logging

Fixed

  • Fixed - Issue 355
    • issues uncovered by bumping pylint version
  • Fixed - Issue 305
    • issues with whitespace in certain situations being applied to both container and leaf tokens
  • Fixed - Issue 302
    • issues with whitespace missing from certain scenarios
  • Fixed - Issue 253
    • issues with lists and block quotes interacting badly, resulting in block quote being missed

v0.9.6

02 Apr 15:06
Compare
Choose a tag to compare

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!

Added

  • Added - Issue 293
    • next round of nested level tests, with new list items
  • Added - Issue 319
    • added mypy typing to entire project and removed stubs for application_properties

Changed

Fixed

  • Fixed - Issue 95
    • parser: with certain cases involving a new list item, can start a container in the middle of line
  • Fixed - Issue 161
    • rule md005: was not returning proper values for actual and expected
  • Fixed - Issue 189
    • rule md027: addressed index out of bounds error keeping track of blank lines after a block quote was started in a previous section
  • Fixed - Issue 287
    • parser: code to handle indent was greedy with respect to HTML blocks and fenced code blocks
  • Fixed - Issue 294
    • markdown generator: needed to take list items into account
  • Fixed - Issue 295
    • markdown generator: fixed by work on 294
  • Fixed - Issue 296
    • parser: improper closing of previous block caused duplicate list items
  • Fixed - Issue 297
    • markdown generator: not indenting enough
  • Fixed - Issue 298
    • parser: list processing go confused between block quote and list
  • Fixed - Issue 299
    • parser: not recognizing inner list
  • Fixed - Issue 300
    • parser: various issues with lists not being properly handled in nested scenarios

v0.9.5

08 Feb 05:13
Compare
Choose a tag to compare

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!

Added

  • Added - Issue 227
    • scenario tests: adding 3-level nesting tests with max space, and max space plus one variations
  • Added - Issue 250
    • scenario tests: adding variations of removed block quotes on second line
  • Added - Issue 261
    • scenario tests: variations of 3-level max space tests with no text after container starts on first line

Changed

Fixed

  • Fixed - Issue 189
    • rule md027: weird case where total for series of block quotes that ended with a blank line was off by 1
  • Fixed - Issue 218
    • parser: lot of small things needed fixing to set the variables properly for this issue's resolution
    • parser: after that, was not properly handling shutting down a block quote that downgraded
  • Fixed - Issue 228
    • parser: previous adjustment no longer needed
  • Fixed - Issue 229
    • parser: generated HTML did not include indented code block
  • Fixed - Issue 230
    • parser: dropping leading >
  • Fixed - Issue 231
    • parser: fixed by issue-229
  • Fixed - Issue 232
    • parser: fixed by issue-233
    • parser: fixed by issue-228
  • Fixed - Issue 233
    • parser: limiting container checking to limited set, expanded
    • parser: extra indent was not accounted for in space calculations
    • parser: double block quotes not being handled properly
    • parser: indent being processed twice
  • Fixed - Issue 252
    • parser: in rare cases, was adding leading spaces to both list and paragraph within
  • Fixed - Issue 262
    • parser: when checking for block quote decrease, did not have empty scenarios checked for
  • Fixed - Issue 263
    • parser: with empty list items, was creating 2 blank line tokens, plus extra list indent
  • Fixed - Issue 264
    • parser: fixed issue with blending current text and original text to parse
    • parser: cleaned up remaining issues about closing off containers too early
  • Fixed - Issue 265
  • Fixed - Issue 268
    • parser: previous work took too many newlnes out, this put the right ones back in