|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 0.17.0 - 2021-02-11 |
| 4 | + |
| 5 | +This release contains a number of breaking improvements. |
| 6 | + |
| 7 | +Full Changelog: [v0.16.1...v0.17.0](https://github.com/executablebooks/MyST-Parser/compare/v0.16.1...v0.17.0) |
| 8 | + |
| 9 | +### ‼️ Markdown link resolution improvements |
| 10 | + |
| 11 | +Markdown links are of the format `[text](link)`. |
| 12 | +MyST-Parser looks to smartly resolve such links, by identifying if they are: |
| 13 | + |
| 14 | +1. A link to an external resource, e.g. `[text](http://example.com)` |
| 15 | +2. A link to another source document, e.g. `[text](file.md)` |
| 16 | + - If `header-anchors` are enabled, anchor links are also supported, e.g. `[text](file.md#anchor)` |
| 17 | +3. A link to an internal sphinx cross-reference, e.g. `[text](my-reference)` |
| 18 | + |
| 19 | +an additional situation is now supported: |
| 20 | + |
| 21 | +4. A link to a source file, which is not a document, e.g. `[text](file.js)`. This behaves similarly to the sphinx `download` role. |
| 22 | + |
| 23 | +In addition, configuration to more finely tune this behaviour has been added. |
| 24 | + |
| 25 | +- `myst_all_links_external=True`, will make all links be treated as (1) |
| 26 | +- `myst_url_schemes=("http", "https")`, sets what URL schemes are treated as (1) |
| 27 | +- `myst_ref_domains=("std", "py")`, sets what Sphinx reference domains are checked, when handling (3) |
| 28 | + |
| 29 | +See [Markdown Links and Referencing](docs/syntax/syntax.md#markdown-links-and-referencing) for more information. |
| 30 | + |
| 31 | +### ‼️ Dollarmath is now disabled by default |
| 32 | + |
| 33 | +The default configuration is now `myst_enable_extensions=()`, instead of `myst_enable_extensions=("dollarmath",)`. |
| 34 | +If you are using math enclosed in `$` or `$$` in your documents, you should enable `dollarmath` explicitly. |
| 35 | + |
| 36 | +See [Dollar delimited math](docs/syntax/optional.md#math-shortcuts) for more information. |
| 37 | + |
| 38 | +### ⬆️ Drop Python 3.6 support |
| 39 | + |
| 40 | +MyST-Parser now supports, and is tested against, Python 3.7 to 3.10. |
| 41 | + |
| 42 | +### ✨ Add the `strikethrough` extension and `myst_gfm_only` configuration |
| 43 | + |
| 44 | +The `strikethrough` extension allows text within `~~` delimiters to have a strike-through (horizontal line) placed over it. |
| 45 | +For example, `~~strikethrough with *emphasis*~~` renders as: ~~strikethrough with *emphasis*~~. |
| 46 | + |
| 47 | +**Important**: This extension is currently only supported for HTML output. |
| 48 | + |
| 49 | +See [Strikethrough](docs/syntax/optional.md#strikethrough) for more information. |
| 50 | + |
| 51 | +The `myst_gfm_only=True` configuration sets up specific configuration, to enable compliance only with [GitHub-flavored Markdown](https://github.github.com/gfm/), including enabling the `strikethrough`, `tasklist` and `linkify` extensions, but disabling support for roles and directives. |
| 52 | + |
| 53 | +### ✨ Add `myst_title_to_header` configuration |
| 54 | + |
| 55 | +Setting `myst_title_to_header=True`, allows for a `title` key in the frontmatter to be used as the document title. |
| 56 | +for example: |
| 57 | + |
| 58 | +```md |
| 59 | +--- |
| 60 | +title: My Title with *emphasis* |
| 61 | +--- |
| 62 | +``` |
| 63 | + |
| 64 | +would be equivalent to: |
| 65 | + |
| 66 | +```md |
| 67 | +# My Title with *emphasis* |
| 68 | +``` |
| 69 | + |
| 70 | +See [Front matter](docs/syntax/syntax.md#front-matter) for more information. |
| 71 | + |
| 72 | +### 👌 Internal improvements |
| 73 | + |
| 74 | +👌 IMPROVE: Convert nested headings to rubrics. |
| 75 | +Headings within directives are not directly supported by sphinx, since they break the structure of the document. Previously myst-parser would emit a `myst.nested_header` warning, but still generate the heading, leading to unexpected outcomes. |
| 76 | +Now the warning is still emitted, but also the heading is rendered as a [rubric](https://docutils.sourceforge.io/docs/ref/rst/directives.html#rubric) non-structural heading (i.e. it will not show in the ToC). |
| 77 | + |
| 78 | +Other internal improvements primarily focussed in improving support for the for "docutils-only" use, introduced in `v0.16`: |
| 79 | + |
| 80 | +- ♻️ REFACTOR: `default_parser` -> `create_md_parser` in [#474](https://github.com/executablebooks/MyST-Parser/pull/474) |
| 81 | +- 👌 IMPROVE: Add `bullet` attribute to `bullet_list` node in [#465](https://github.com/executablebooks/MyST-Parser/pull/465) |
| 82 | +- 👌 IMPROVE: Use correct renderer for `state.inline_text` in [#466](https://github.com/executablebooks/MyST-Parser/pull/466) |
| 83 | +- 👌 IMPROVE: Docutils parser settings in [#476](https://github.com/executablebooks/MyST-Parser/pull/476) |
| 84 | +- 🐛 FIX: front-matter rendering with docutils in [#477](https://github.com/executablebooks/MyST-Parser/pull/477) |
| 85 | +- 👌 IMPROVE: Code block highlighting in [#478](https://github.com/executablebooks/MyST-Parser/pull/478) |
| 86 | +- 👌 IMPROVE: `note_refname` for docutils internal links in [#481](https://github.com/executablebooks/MyST-Parser/pull/481) |
| 87 | +- 🐛 FIX: Ordered list starting number in [#483](https://github.com/executablebooks/MyST-Parser/pull/483) |
| 88 | +- 👌 IMPROVE: Propagate enumerated list suffix in [#484](https://github.com/executablebooks/MyST-Parser/pull/484) |
| 89 | +- 👌 IMPROVE: `DocutilsRenderer.create_highlighted_code_block` in [#488](https://github.com/executablebooks/MyST-Parser/pull/488) |
| 90 | +- 🐛 FIX: Source line reporting for nested parsing in [#490](https://github.com/executablebooks/MyST-Parser/pull/490) |
| 91 | +- 🔧 MAINTAIN: Implement `MockInliner.parse` in [#504](https://github.com/executablebooks/MyST-Parser/pull/504) |
| 92 | + |
3 | 93 | ## 0.16.1 - 2021-12-16 |
4 | 94 |
|
5 | 95 | ✨ NEW: Add `myst_linkify_fuzzy_links` option. |
|
0 commit comments