Myst-parser

Latest version: v4.0.0

Safety actively analyzes 691150 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

4.0.0

This release bumps the supported versions of:

- Python to ``3.10`` and greater
- Sphinx to ``>=7,<9``
- Docutils to ``>=0.19,<0.22``

Additionally, footnotes are now parsed similar to the corresponding reStructuredText, in that resolution (between definitions and references) and ordering is now deferred to transforms on the doctree (in <gh-pr:931>).

This allows for the proper interaction with other docutils/sphinx transforms, including those that perform translations,
and logging of warnings for duplicate/unreferenced footnote definitions and also for footnote references with no definitions.

See the [footnotes guide](syntax/footnotes) for more information.

**Full Changelog**: [v3.0.1...v4.0.0](https://github.com/executablebooks/MyST-Parser/compare/v3.0.1...v4.0.0)

3.0.1

๐Ÿ› Bug Fixes

- Account for the final directive option having an empty value, by <gh-user:chrisjsewell> in <gh-pr:924>
- Re-allow indented directive option blocks, by <gh-user:chrisjsewell> in <gh-pr:925>

**Full Changelog**: [v3.0.0...v3.0.1](https://github.com/executablebooks/MyST-Parser/compare/v3.0.0...v3.0.1)

3.0.0

Upgraded dependencies

- โฌ†๏ธ Add support for Python 3.12 by <gh-user:hugovk> in <gh-pr:848>
- โฌ†๏ธ Update docutils requirement from >=0.16,<0.21 to >=0.18,<0.22 by <gh-user:chrisjsewell> in <gh-pr:916>

New features

- โœจ Allow for use of the `line-block` directive by <gh-user:chrisjsewell> in <gh-pr:900>
- โœจ Emits sphinx include-read event by <gh-user:sumezulike> in <gh-pr:887>

Improvements

- ๐Ÿ‘Œ Nested parse attribution in `attr_block` by <gh-user:chrisjsewell> in <gh-pr:831>
- ๐Ÿ‘Œ Directive option parsing by <gh-user:chrisjsewell> in <gh-pr:796
- ๐Ÿ‘Œ Improve directive parsing warnings by <gh-user:chrisjsewell> in <gh-pr:893>
- ๐Ÿ‘Œ Allow for opening external links in new tabs (856) by <gh-user:marjus45> in <gh-pr:857>

Internal

- ๐Ÿ”ง Replace black, isort, pyupgrade with ruff formatter by <gh-user:chrisjsewell> in <gh-pr:833>
- ๐Ÿ”ง remove redundant mypy config by <gh-user:danieleades> in <gh-pr:866>
- ๐Ÿ”ง Add additional Ruff lints (and fix issues) by <gh-user:danieleades> in <gh-pr:862>
- ๐Ÿ”ง mypy- disallow 'any generics' by <gh-user:danieleades> in <gh-pr:865>
- ๐Ÿ”ง Fix docutils deprecation in option parsing by <gh-user:agoose77> in <gh-pr:842>

Documentation

- ๐Ÿ“š Fix a broken link in configuration.md by <gh-user:zupo> in <gh-pr:907>
- ๐Ÿ“š Add linkify dependency to contributing docs. by <gh-user:jhcole> in <gh-pr:792>
- ๐Ÿ“š Fix the double `used` in docs/syntax/math.md by <gh-user:ice-tong> in <gh-pr:810>
- ๐Ÿ“š Also add linkify to pip install command in README by <gh-user:n-peugnet> in <gh-pr:851>
- ๐Ÿ“š Fix the code section title in live preview by <gh-user:BoboTiG> in <gh-pr:875>
- ๐Ÿ“š Fix admonition example by <gh-user:72757373656c6c> in <gh-pr:904>
- ๐Ÿ“š Fix url for jupyter book gallery by <gh-user:72757373656c6c> in <gh-pr:905>
- ๐Ÿ“š Update theme version by <gh-user:chrisjsewell> in <gh-pr:918>
- ๐Ÿ“š Fix typo by <gh-user:blakeNaccarato> in <gh-pr:911>
- ๐Ÿ“š Fix architecture typo (855) by <gh-user:72757373656c6c> in <gh-pr:910>

**Full Changelog**: [v2.0.0...v3.0.0](https://github.com/executablebooks/MyST-Parser/compare/v2.0.0...v3.0.0)

2.0.0

This release primarily updates core myst-parser dependencies,
with some minor changes to parsing behaviour:

* โฌ†๏ธ UPGRADE: `markdown-it-py` to v3 (<gh-pr:773>)
* This is mainly a non-breaking change, fixing some edge cases in parsing
* See: <https://github.com/executablebooks/markdown-it-py/releases/tag/v3.0.0>
and <https://github.com/executablebooks/mdit-py-plugins/releases/tag/v0.4.0>

* โฌ†๏ธ UPGRADE: `linkify-it-py` to v2 (<gh-pr:675>)
* Also fixes some edge cases in parsing
* See: <https://github.com/tsutsu3/linkify-it-py/blob/main/CHANGELOG.md>

* โฌ†๏ธ UPGRADE: Add support for `docutils` v0.20 (<gh-pr:775>)
* No significant changes, see <https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-20-2023-05-04>

* โฌ†๏ธ UPGRADE: Add support for `sphinx` v7, and remove v5 support (<gh-pr:776>)
* No significant changes, see <https://www.sphinx-doc.org/en/master/changes/index.html>

* โฌ†๏ธ UPGRADE: Remove Python 3.7 support and add testing for Python 3.11 (<gh-pr:772>)

* ๐Ÿ‘Œ Improve default slug generation for heading anchors, thanks to <gh-user:Cimbali> (<gh-pr:777>)
* This change makes the slug generation closer to GitHub, in that, starting/ending whitespace will not be stripped.
For example, `` ` a` b `c ` `` will now correctly create the slug `-a-b-c-` and not `a-b-c`

* ๐Ÿ‘Œ IMPROVE: Substitution extension (<gh-pr:777>)
* Allow any value type (including dict, list, datetime) and emit a `myst.substitution` warning for errors in resolving the substitution content.

* ๐Ÿงช Introduce a gate/check GHA job, thanks to <gh-user:webknjaz> (<gh-pr:635>)

**Full Changelog**: [v1.0.0...v2.0.0](https://github.com/executablebooks/MyST-Parser/compare/v1.0.0...v2.0.0)

1.0

This release updates the code-base to fully support the [markdown-it-py](https://markdown-it-py.readthedocs.io) `v1.0.0` release.
In particular for users, this update alters the parsing of tables to be consistent with the [Github Flavoured Markdown (GFM) specification](https://github.github.com/gfm/#tables-extension-).

New Features โœจ

- **Task lists** utilise the [markdown-it-py tasklists plugin](inv:markdown_itmd/plugins), and are applied to Markdown list items starting with `[ ]` or `[x]`.

markdown
- [ ] An item that needs doing
- [x] An item that is complete


Add "tasklist" to the `myst_enable_extensions` configuration to enable.

See [the optional syntax guide](docs/syntax/optional.mdtask-lists) for further information.

- The **`sub-ref`** role has been added for use identical to ReST's `|name|` syntax.

This allows one to access Sphinx's built-in `|today|`, `|release|` and `|version|` substitutions, and also introduces two new substitutions: `wordcount-words` and `wordcount-minutes`, computed by the markdown-it-py [`wordcount_plugin`](https://github.com/executablebooks/mdit-py-plugins/pull/20).

markdown
> {sub-ref}`today` | {sub-ref}`wordcount-words` words | {sub-ref}`wordcount-minutes` min read


See [the roles syntax guide](docs/syntax/roles-and-directives.md) for further information.

- The **`dmath_double_inline`** configuration option allows display math (i.e. `$$`) within an inline context.
See [the math syntax guide](docs/syntax/optional.mdmath-shortcuts) for further information.

Remove v0.13 deprecations โ€ผ๏ธ

The deprecations made to extension configurations and colon fences in `0.13.0` (see below) have now been removed:

- Configuration variables: `myst_admonition_enable`, `myst_figure_enable`, `myst_dmath_enable`, `myst_amsmath_enable`, `myst_deflist_enable`, `myst_html_img_enable`
- `:::{admonition,class}` -> `:::{admonition}\n:class: class`
- `:::{figure}` -> `:::{figure-md}`

Fix extraction of nested footnotes ๐Ÿ›

Previously footnote definitions in block elements like lists would crash the parsing:

markdown
- [^e]: footnote definition in a block element


These are now correctly extracted.

1.0.0

This changes absolutely nothing in the code, or about the maintenance/release policy of this project.
But it does feel about time ๐Ÿ˜„

Page 1 of 7

ยฉ 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.