Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-markdown-it-py for 
openSUSE:Factory checked in at 2023-03-09 17:45:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-markdown-it-py (Old)
 and      /work/SRC/openSUSE:Factory/.python-markdown-it-py.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-markdown-it-py"

Thu Mar  9 17:45:27 2023 rev:3 rq:1070245 version:2.2.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-markdown-it-py/python-markdown-it-py.changes  
    2022-09-07 11:06:14.900438813 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-markdown-it-py.new.31432/python-markdown-it-py.changes
   2023-03-09 17:45:42.586898262 +0100
@@ -1,0 +2,11 @@
+Mon Mar  6 13:33:26 UTC 2023 - Sebastian Wagner <se...@sebix.at>
+
+- update to version 2.2.0:
+ - What's Changed:
+  - UPGRADE: Allow linkify-it-py v2
+  - FIX: CVE-2023-26303, fix boo#1208974
+  - FIX: CLI crash on non-utf8 character
+  - DOCS: Add section about markdown renderer
+  - Update benchmark pkg versions
+
+-------------------------------------------------------------------

Old:
----
  python-markdown-it-py-2.1.0.tar.gz

New:
----
  python-markdown-it-py-2.2.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-markdown-it-py.spec ++++++
--- /var/tmp/diff_new_pack.xJy7DE/_old  2023-03-09 17:45:43.078900880 +0100
+++ /var/tmp/diff_new_pack.xJy7DE/_new  2023-03-09 17:45:43.082900902 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-markdown-it-py
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,9 +16,8 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-markdown-it-py
-Version:        2.1.0
+Version:        2.2.0
 Release:        0
 Summary:        Python port of markdown-it Markdown parsing
 License:        MIT

++++++ python-markdown-it-py-2.1.0.tar.gz -> python-markdown-it-py-2.2.0.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/.github/dependabot.yml 
new/markdown-it-py-2.2.0/.github/dependabot.yml
--- old/markdown-it-py-2.1.0/.github/dependabot.yml     1970-01-01 
01:00:00.000000000 +0100
+++ new/markdown-it-py-2.2.0/.github/dependabot.yml     2023-02-22 
06:52:12.000000000 +0100
@@ -0,0 +1,19 @@
+# To get started with Dependabot version updates, you'll need to specify which
+# package ecosystems to update and where the package manifests are located.
+# Please see the documentation for all configuration options:
+# 
https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
+
+version: 2
+updates:
+  - package-ecosystem: github-actions
+    directory: /
+    commit-message:
+      prefix: ⬆️
+    schedule:
+      interval: weekly
+  - package-ecosystem: pip
+    directory: /
+    commit-message:
+      prefix: ⬆️
+    schedule:
+      interval: weekly
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/.github/workflows/benchmark.yml 
new/markdown-it-py-2.2.0/.github/workflows/benchmark.yml
--- old/markdown-it-py-2.1.0/.github/workflows/benchmark.yml    2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/.github/workflows/benchmark.yml    2023-02-22 
06:52:12.000000000 +0100
@@ -12,12 +12,12 @@
     - uses: actions/checkout@v2
 
     - name: Set up Python 3.8
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: 3.8
 
     - name: install pandoc
-      uses: r-lib/actions/setup-pandoc@v1
+      uses: r-lib/actions/setup-pandoc@v2
       with:
         pandoc-version: '2.6'
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/.github/workflows/tests.yml 
new/markdown-it-py-2.2.0/.github/workflows/tests.yml
--- old/markdown-it-py-2.1.0/.github/workflows/tests.yml        2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/.github/workflows/tests.yml        2023-02-22 
06:52:12.000000000 +0100
@@ -21,10 +21,10 @@
     steps:
     - uses: actions/checkout@v2
     - name: Set up Python 3.8
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: '3.8'
-    - uses: pre-commit/action@v2.0.0
+    - uses: pre-commit/action@v3.0.0
 
   tests:
 
@@ -36,7 +36,7 @@
     steps:
     - uses: actions/checkout@v2
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: ${{ matrix.python-version }}
     - name: Install dependencies
@@ -48,7 +48,7 @@
         pytest tests/ --cov=markdown_it --cov-report=xml 
--cov-report=term-missing
     - name: Upload to Codecov
       if: matrix.python-version == '3.7' && github.repository == 
'executablebooks/markdown-it-py'
-      uses: codecov/codecov-action@v1
+      uses: codecov/codecov-action@v3
       with:
         name: markdown-it-py-pytests-py3.7
         flags: pytests
@@ -64,7 +64,7 @@
     steps:
     - uses: actions/checkout@v2
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: ${{ matrix.python-version }}
     - name: Install markdown-it-py
@@ -85,7 +85,7 @@
     - uses: actions/checkout@v2
 
     - name: Set up Python 3.8
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: '3.8'
 
@@ -98,7 +98,7 @@
       run: tox -e py38-bench-core -- --benchmark-json bench-core.json
 
     - name: Upload data
-      uses: actions/upload-artifact@v2
+      uses: actions/upload-artifact@v3
       with:
         name: bench-core
         path: bench-core.json
@@ -114,7 +114,7 @@
     - name: Checkout source
       uses: actions/checkout@v2
     - name: Set up Python 3.8
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: '3.8'
     - name: install flit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/.pre-commit-config.yaml 
new/markdown-it-py-2.2.0/.pre-commit-config.yaml
--- old/markdown-it-py-2.1.0/.pre-commit-config.yaml    2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/.pre-commit-config.yaml    2023-02-22 
06:52:12.000000000 +0100
@@ -16,7 +16,7 @@
 repos:
 
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.2.0
+    rev: v4.4.0
     hooks:
     - id: check-json
     - id: check-yaml
@@ -24,23 +24,23 @@
     - id: trailing-whitespace
 
   - repo: https://github.com/pycqa/isort
-    rev: 5.10.1
+    rev: 5.12.0
     hooks:
     - id: isort
 
   - repo: https://github.com/psf/black
-    rev: 22.3.0
+    rev: 23.1.0
     hooks:
     - id: black
 
-  - repo: https://gitlab.com/pycqa/flake8
-    rev: 3.9.2
+  - repo: https://github.com/PyCQA/flake8
+    rev: 6.0.0
     hooks:
     - id: flake8
-      additional_dependencies: [flake8-bugbear==21.3.1]
+      additional_dependencies: [flake8-bugbear~=22.7]
 
   - repo: https://github.com/pre-commit/mirrors-mypy
-    rev: v0.942
+    rev: v1.0.1
     hooks:
     - id: mypy
-      additional_dependencies: [attrs]
+      additional_dependencies: [mdurl]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/CHANGELOG.md 
new/markdown-it-py-2.2.0/CHANGELOG.md
--- old/markdown-it-py-2.1.0/CHANGELOG.md       2022-04-16 15:51:17.000000000 
+0200
+++ new/markdown-it-py-2.2.0/CHANGELOG.md       2023-02-22 06:52:12.000000000 
+0100
@@ -1,5 +1,30 @@
 # Change Log
 
+## 2.2.0 - 2023-02-22
+
+### What's Changed
+
+* ⬆️ UPGRADE: Allow linkify-it-py v2 by @hukkin in 
[#218](https://github.com/executablebooks/markdown-it-py/pull/218)
+* 🐛 FIX: CVE-2023-26303 by @chrisjsewell in 
[#246](https://github.com/executablebooks/markdown-it-py/pull/246)
+* 🐛 FIX: CLI crash on non-utf8 character by @chrisjsewell in 
[#247](https://github.com/executablebooks/markdown-it-py/pull/247)
+* 📚 DOCS: Update the example by @redstoneleo in 
[#229](https://github.com/executablebooks/markdown-it-py/pull/229)
+* 📚 DOCS: Add section about markdown renderer by @holamgadol in 
[#227](https://github.com/executablebooks/markdown-it-py/pull/227)
+* 🔧 Create SECURITY.md by @chrisjsewell in 
[#248](https://github.com/executablebooks/markdown-it-py/pull/248)
+* 🔧 MAINTAIN: Update mypy's additional dependencies by @hukkin in 
[#217](https://github.com/executablebooks/markdown-it-py/pull/217)
+* Fix typo by @jwilk in 
[#230](https://github.com/executablebooks/markdown-it-py/pull/230)
+* 🔧 Bump GH actions by @chrisjsewell in 
[#244](https://github.com/executablebooks/markdown-it-py/pull/244)
+* 🔧 Update benchmark pkg versions by @chrisjsewell in 
[#245](https://github.com/executablebooks/markdown-it-py/pull/245)
+
+### New Contributors
+
+Thanks to 🎉
+
+* @jwilk made their first contribution in 
[#230](https://github.com/executablebooks/markdown-it-py/pull/230)
+* @holamgadol made their first contribution in 
[#227](https://github.com/executablebooks/markdown-it-py/pull/227)
+* @redstoneleo made their first contribution in 
[#229](https://github.com/executablebooks/markdown-it-py/pull/229)
+
+**Full Changelog**: 
<https://github.com/executablebooks/markdown-it-py/compare/v2.1.0...v2.2.0>
+
 ## 2.1.0 - 2022-04-15
 
 This release is primarily to replace the `attrs` package dependency,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/README.md 
new/markdown-it-py-2.2.0/README.md
--- old/markdown-it-py-2.1.0/README.md  2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/README.md  2023-02-22 06:52:12.000000000 +0100
@@ -55,10 +55,9 @@
 from mdit_py_plugins.footnote import footnote_plugin
 
 md = (
-    MarkdownIt()
+    MarkdownIt('commonmark' ,{'breaks':True,'html':True})
     .use(front_matter_plugin)
     .use(footnote_plugin)
-    .disable('image')
     .enable('table')
 )
 text = ("""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/SECURITY.md 
new/markdown-it-py-2.2.0/SECURITY.md
--- old/markdown-it-py-2.1.0/SECURITY.md        1970-01-01 01:00:00.000000000 
+0100
+++ new/markdown-it-py-2.2.0/SECURITY.md        2023-02-22 06:52:12.000000000 
+0100
@@ -0,0 +1,14 @@
+# Security Policy
+
+## Supported Versions
+
+We generally only support the latest major release,
+although critical bug fixes can be released for older versions.
+
+## Reporting a Vulnerability
+
+To report a security issue, please email <executablebo...@gmail.com> with a 
description of the issue,
+the steps you took to create the issue, affected versions, and, if known, 
mitigations for the issue.
+Our team will respond within 3 working days of your email.
+If the issue is confirmed as a vulnerability, we will open a Security Advisory.
+This project follows a 90 day disclosure timeline.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/docs/other.md 
new/markdown-it-py-2.2.0/docs/other.md
--- old/markdown-it-py-2.1.0/docs/other.md      2022-04-16 15:51:17.000000000 
+0200
+++ new/markdown-it-py-2.2.0/docs/other.md      2023-02-22 06:52:12.000000000 
+0100
@@ -21,7 +21,7 @@
 
 So, by default `markdown-it` should be safe. We care about it.
 
-If you find a security problem - contact us via tracker or email.
+If you find a security problem - contact us via <executablebo...@gmail.com>.
 Such reports are fixed with top priority.
 
 ## Plugins
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/docs/using.md 
new/markdown-it-py-2.2.0/docs/using.md
--- old/markdown-it-py-2.1.0/docs/using.md      2022-04-16 15:51:17.000000000 
+0200
+++ new/markdown-it-py-2.2.0/docs/using.md      2023-02-22 06:52:12.000000000 
+0100
@@ -330,7 +330,7 @@
 md.render("*a*")
 ```
 
-Plugins can support multiple render types, using the `__ouput__` attribute 
(this is currently a Python only feature).
+Plugins can support multiple render types, using the `__output__` attribute 
(this is currently a Python only feature).
 
 ```{code-cell} python
 from markdown_it.renderer import RendererHTML
@@ -397,3 +397,29 @@
 md.add_render_rule("link_open", render_blank_link)
 print(md.render("[a]\n\n[a]: b"))
 ```
+
+### Markdown renderer
+
+You can also render a token stream directly to markdown via the `MDRenderer` 
class from [`mdformat`](https://github.com/executablebooks/mdformat):
+
+```{code-cell} python
+from markdown_it import MarkdownIt
+from mdformat.renderer import MDRenderer
+
+md = MarkdownIt("commonmark")
+
+source_markdown = """
+Here's some *text*
+
+1. a list
+
+> a *quote*"""
+
+tokens = md.parse(source_markdown)
+
+renderer = MDRenderer()
+options = {}
+env = {}
+
+output_markdown = renderer.render(tokens, options, env)
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/markdown_it/__init__.py 
new/markdown-it-py-2.2.0/markdown_it/__init__.py
--- old/markdown-it-py-2.1.0/markdown_it/__init__.py    2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/__init__.py    2023-02-22 
06:52:12.000000000 +0100
@@ -1,5 +1,5 @@
 """A Python port of Markdown-It"""
 __all__ = ("MarkdownIt",)
-__version__ = "2.1.0"
+__version__ = "2.2.0"
 
 from .main import MarkdownIt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/markdown_it/cli/parse.py 
new/markdown-it-py-2.2.0/markdown_it/cli/parse.py
--- old/markdown-it-py-2.1.0/markdown_it/cli/parse.py   2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/cli/parse.py   2023-02-22 
06:52:12.000000000 +0100
@@ -35,7 +35,7 @@
     Parse a Markdown file and dump the output to stdout.
     """
     try:
-        with open(filename, "r") as fin:
+        with open(filename, "r", encoding="utf8", errors="ignore") as fin:
             rendered = MarkdownIt().render(fin.read())
             print(rendered, end="")
     except OSError:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/markdown_it/common/utils.py 
new/markdown-it-py-2.2.0/markdown_it/common/utils.py
--- old/markdown-it-py-2.1.0/markdown_it/common/utils.py        2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/common/utils.py        2023-02-22 
06:52:12.000000000 +0100
@@ -56,7 +56,6 @@
 
 
 def isValidEntityCode(c: int) -> bool:
-
     # broken sequence
     if c >= 0xD800 and c <= 0xDFFF:
         return False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/helpers/parse_link_label.py 
new/markdown-it-py-2.2.0/markdown_it/helpers/parse_link_label.py
--- old/markdown-it-py-2.1.0/markdown_it/helpers/parse_link_label.py    
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/helpers/parse_link_label.py    
2023-02-22 06:52:12.000000000 +0100
@@ -9,7 +9,6 @@
 
 
 def parseLinkLabel(state: StateInline, start: int, disableNested: bool = 
False) -> int:
-
     labelEnd = -1
     oldPos = state.pos
     found = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/markdown_it/renderer.py 
new/markdown-it-py-2.2.0/markdown_it/renderer.py
--- old/markdown-it-py-2.1.0/markdown_it/renderer.py    2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/renderer.py    2023-02-22 
06:52:12.000000000 +0100
@@ -18,7 +18,7 @@
 try:
     from typing import Protocol
 except ImportError:  # Python <3.8 doesn't have `Protocol` in the stdlib
-    from typing_extensions import Protocol  # type: ignore[misc]
+    from typing_extensions import Protocol  # type: ignore
 
 
 class RendererProtocol(Protocol):
@@ -82,10 +82,9 @@
         result = ""
 
         for i, token in enumerate(tokens):
-
             if token.type == "inline":
-                assert token.children is not None
-                result += self.renderInline(token.children, options, env)
+                if token.children:
+                    result += self.renderInline(token.children, options, env)
             elif token.type in self.rules:
                 result += self.rules[token.type](tokens, i, options, env)
             else:
@@ -207,8 +206,8 @@
             if token.type == "text":
                 result += token.content
             elif token.type == "image":
-                assert token.children is not None
-                result += self.renderInlineAsText(token.children, options, env)
+                if token.children:
+                    result += self.renderInlineAsText(token.children, options, 
env)
             elif token.type == "softbreak":
                 result += "\n"
 
@@ -306,14 +305,10 @@
 
         # "alt" attr MUST be set, even if empty. Because it's mandatory and
         # should be placed on proper position for tests.
-
-        assert (
-            token.attrs and "alt" in token.attrs
-        ), '"image" token\'s attrs must contain `alt`'
-
-        # Replace content with actual value
-
-        token.attrSet("alt", self.renderInlineAsText(token.children, options, 
env))
+        if token.children:
+            token.attrSet("alt", self.renderInlineAsText(token.children, 
options, env))
+        else:
+            token.attrSet("alt", "")
 
         return self.renderToken(tokens, idx, options, env)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_block/blockquote.py 
new/markdown-it-py-2.2.0/markdown_it/rules_block/blockquote.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_block/blockquote.py      
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_block/blockquote.py      
2023-02-22 06:52:12.000000000 +0100
@@ -10,7 +10,6 @@
 
 
 def blockquote(state: StateBlock, startLine: int, endLine: int, silent: bool):
-
     LOGGER.debug(
         "entering blockquote: %s, %s, %s, %s", state, startLine, endLine, 
silent
     )
@@ -129,7 +128,6 @@
     # for (nextLine = startLine + 1; nextLine < endLine; nextLine++) {
     nextLine = startLine + 1
     while nextLine < endLine:
-
         # check if it's outdented, i.e. it's inside list item and indented
         # less than said list item:
         #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/markdown_it/rules_block/code.py 
new/markdown-it-py-2.2.0/markdown_it/rules_block/code.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_block/code.py    2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_block/code.py    2023-02-22 
06:52:12.000000000 +0100
@@ -7,7 +7,6 @@
 
 
 def code(state: StateBlock, startLine: int, endLine: int, silent: bool = 
False):
-
     LOGGER.debug("entering code: %s, %s, %s, %s", state, startLine, endLine, 
silent)
 
     if state.sCount[startLine] - state.blkIndent < 4:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_block/fence.py 
new/markdown-it-py-2.2.0/markdown_it/rules_block/fence.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_block/fence.py   2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_block/fence.py   2023-02-22 
06:52:12.000000000 +0100
@@ -7,7 +7,6 @@
 
 
 def fence(state: StateBlock, startLine: int, endLine: int, silent: bool):
-
     LOGGER.debug("entering fence: %s, %s, %s, %s", state, startLine, endLine, 
silent)
 
     haveEndMarker = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_block/heading.py 
new/markdown-it-py-2.2.0/markdown_it/rules_block/heading.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_block/heading.py 2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_block/heading.py 2023-02-22 
06:52:12.000000000 +0100
@@ -10,7 +10,6 @@
 
 
 def heading(state: StateBlock, startLine: int, endLine: int, silent: bool):
-
     LOGGER.debug("entering heading: %s, %s, %s, %s", state, startLine, 
endLine, silent)
 
     pos = state.bMarks[startLine] + state.tShift[startLine]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/markdown_it/rules_block/hr.py 
new/markdown-it-py-2.2.0/markdown_it/rules_block/hr.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_block/hr.py      2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_block/hr.py      2023-02-22 
06:52:12.000000000 +0100
@@ -11,7 +11,6 @@
 
 
 def hr(state: StateBlock, startLine: int, endLine: int, silent: bool):
-
     LOGGER.debug("entering hr: %s, %s, %s, %s", state, startLine, endLine, 
silent)
 
     pos = state.bMarks[startLine] + state.tShift[startLine]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_block/lheading.py 
new/markdown-it-py-2.2.0/markdown_it/rules_block/lheading.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_block/lheading.py        
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_block/lheading.py        
2023-02-22 06:52:12.000000000 +0100
@@ -8,7 +8,6 @@
 
 
 def lheading(state: StateBlock, startLine: int, endLine: int, silent: bool):
-
     LOGGER.debug("entering lheading: %s, %s, %s, %s", state, startLine, 
endLine, silent)
 
     level = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/markdown_it/rules_block/list.py 
new/markdown-it-py-2.2.0/markdown_it/rules_block/list.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_block/list.py    2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_block/list.py    2023-02-22 
06:52:12.000000000 +0100
@@ -10,7 +10,6 @@
 # Search `[-+*][\n ]`, returns next pos after marker on success
 # or -1 on fail.
 def skipBulletListMarker(state: StateBlock, startLine: int):
-
     pos = state.bMarks[startLine] + state.tShift[startLine]
     maximum = state.eMarks[startLine]
 
@@ -33,7 +32,6 @@
 # Search `\d+[.)][\n ]`, returns next pos after marker on success
 # or -1 on fail.
 def skipOrderedListMarker(state: StateBlock, startLine: int):
-
     start = state.bMarks[startLine] + state.tShift[startLine]
     pos = start
     maximum = state.eMarks[startLine]
@@ -59,7 +57,6 @@
 
         # /* 0 */  /* 9 */
         if ch >= 0x30 and ch <= 0x39:
-
             # List marker should have no more than 9 digits
             # (prevents integer overflow in browsers)
             if pos - start >= 10:
@@ -97,7 +94,6 @@
 
 
 def list_block(state: StateBlock, startLine: int, endLine: int, silent: bool):
-
     LOGGER.debug("entering list: %s, %s, %s, %s", state, startLine, endLine, 
silent)
 
     isTerminatingParagraph = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_block/paragraph.py 
new/markdown-it-py-2.2.0/markdown_it/rules_block/paragraph.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_block/paragraph.py       
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_block/paragraph.py       
2023-02-22 06:52:12.000000000 +0100
@@ -8,7 +8,6 @@
 
 
 def paragraph(state: StateBlock, startLine: int, endLine: int, silent: bool = 
False):
-
     LOGGER.debug(
         "entering paragraph: %s, %s, %s, %s", state, startLine, endLine, silent
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_block/reference.py 
new/markdown-it-py-2.2.0/markdown_it/rules_block/reference.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_block/reference.py       
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_block/reference.py       
2023-02-22 06:52:12.000000000 +0100
@@ -7,7 +7,6 @@
 
 
 def reference(state: StateBlock, startLine, _endLine, silent):
-
     LOGGER.debug(
         "entering reference: %s, %s, %s, %s", state, startLine, _endLine, 
silent
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_block/state_block.py 
new/markdown-it-py-2.2.0/markdown_it/rules_block/state_block.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_block/state_block.py     
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_block/state_block.py     
2023-02-22 06:52:12.000000000 +0100
@@ -19,7 +19,6 @@
         tokens: list[Token],
         srcCharCode: tuple[int, ...] | None = None,
     ):
-
         if srcCharCode is not None:
             self._src = src
             self.srcCharCode = srcCharCode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/markdown_it/rules_core/block.py 
new/markdown-it-py-2.2.0/markdown_it/rules_core/block.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_core/block.py    2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_core/block.py    2023-02-22 
06:52:12.000000000 +0100
@@ -3,7 +3,6 @@
 
 
 def block(state: StateCore) -> None:
-
     if state.inlineMode:
         token = Token("inline", "", 0)
         token.content = state.src
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_core/normalize.py 
new/markdown-it-py-2.2.0/markdown_it/rules_core/normalize.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_core/normalize.py        
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_core/normalize.py        
2023-02-22 06:52:12.000000000 +0100
@@ -9,7 +9,6 @@
 
 
 def normalize(state: StateCore) -> None:
-
     # Normalize newlines
     string = NEWLINES_RE.sub("\n", state.src)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_core/replacements.py 
new/markdown-it-py-2.2.0/markdown_it/rules_core/replacements.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_core/replacements.py     
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_core/replacements.py     
2023-02-22 06:52:12.000000000 +0100
@@ -116,7 +116,8 @@
     for token in state.tokens:
         if token.type != "inline":
             continue
-        assert token.children is not None
+        if token.children is None:
+            continue
 
         if SCOPED_ABBR_RE.search(token.content):
             replace_scoped(token.children)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_core/smartquotes.py 
new/markdown-it-py-2.2.0/markdown_it/rules_core/smartquotes.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_core/smartquotes.py      
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_core/smartquotes.py      
2023-02-22 06:52:12.000000000 +0100
@@ -195,8 +195,7 @@
         return
 
     for token in state.tokens:
-
         if token.type != "inline" or not QUOTE_RE.search(token.content):
             continue
-        assert token.children is not None
-        process_inlines(token.children, state)
+        if token.children is not None:
+            process_inlines(token.children, state)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_inline/autolink.py 
new/markdown-it-py-2.2.0/markdown_it/rules_inline/autolink.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_inline/autolink.py       
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_inline/autolink.py       
2023-02-22 06:52:12.000000000 +0100
@@ -10,7 +10,6 @@
 
 
 def autolink(state: StateInline, silent: bool) -> bool:
-
     pos = state.pos
 
     if state.srcCharCode[pos] != 0x3C:  # /* < */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_inline/backticks.py 
new/markdown-it-py-2.2.0/markdown_it/rules_inline/backticks.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_inline/backticks.py      
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_inline/backticks.py      
2023-02-22 06:52:12.000000000 +0100
@@ -7,7 +7,6 @@
 
 
 def backtick(state: StateInline, silent: bool) -> bool:
-
     pos = state.pos
     ch = state.srcCharCode[pos]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_inline/balance_pairs.py 
new/markdown-it-py-2.2.0/markdown_it/rules_inline/balance_pairs.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_inline/balance_pairs.py  
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_inline/balance_pairs.py  
2023-02-22 06:52:12.000000000 +0100
@@ -4,7 +4,6 @@
 
 
 def processDelimiters(state: StateInline, delimiters, *args):
-
     openersBottom = {}
     maximum = len(delimiters)
 
@@ -50,7 +49,6 @@
                 continue
 
             if opener.open and opener.end < 0:
-
                 isOddMatch = False
 
                 # from spec:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_inline/emphasis.py 
new/markdown-it-py-2.2.0/markdown_it/rules_inline/emphasis.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_inline/emphasis.py       
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_inline/emphasis.py       
2023-02-22 06:52:12.000000000 +0100
@@ -39,7 +39,6 @@
 
 
 def _postProcess(state, delimiters):
-
     i = len(delimiters) - 1
     while i >= 0:
         startDelim = delimiters[i]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_inline/entity.py 
new/markdown-it-py-2.2.0/markdown_it/rules_inline/entity.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_inline/entity.py 2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_inline/entity.py 2023-02-22 
06:52:12.000000000 +0100
@@ -10,7 +10,6 @@
 
 
 def entity(state: StateInline, silent: bool):
-
     pos = state.pos
     maximum = state.posMax
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_inline/html_inline.py 
new/markdown-it-py-2.2.0/markdown_it/rules_inline/html_inline.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_inline/html_inline.py    
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_inline/html_inline.py    
2023-02-22 06:52:12.000000000 +0100
@@ -10,7 +10,6 @@
 
 
 def html_inline(state: StateInline, silent: bool):
-
     pos = state.pos
 
     if not state.md.options.get("html", None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_inline/image.py 
new/markdown-it-py-2.2.0/markdown_it/rules_inline/image.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_inline/image.py  2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_inline/image.py  2023-02-22 
06:52:12.000000000 +0100
@@ -7,7 +7,6 @@
 
 
 def image(state: StateInline, silent: bool):
-
     label = None
     href = ""
     oldPos = state.pos
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_inline/link.py 
new/markdown-it-py-2.2.0/markdown_it/rules_inline/link.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_inline/link.py   2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_inline/link.py   2023-02-22 
06:52:12.000000000 +0100
@@ -5,7 +5,6 @@
 
 
 def link(state: StateInline, silent: bool):
-
     href = ""
     title = ""
     label = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/markdown_it/rules_inline/strikethrough.py 
new/markdown-it-py-2.2.0/markdown_it/rules_inline/strikethrough.py
--- old/markdown-it-py-2.1.0/markdown_it/rules_inline/strikethrough.py  
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/rules_inline/strikethrough.py  
2023-02-22 06:52:12.000000000 +0100
@@ -53,7 +53,6 @@
 
 
 def _postProcess(state: StateInline, delimiters: list[Delimiter]):
-
     loneMarkers = []
     maximum = len(delimiters)
 
@@ -89,7 +88,6 @@
             state.tokens[endDelim.token - 1].type == "text"
             and state.tokens[endDelim.token - 1].content == "~"
         ):
-
             loneMarkers.append(endDelim.token - 1)
 
         i += 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/markdown_it/token.py 
new/markdown-it-py-2.2.0/markdown_it/token.py
--- old/markdown-it-py-2.1.0/markdown_it/token.py       2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/markdown_it/token.py       2023-02-22 
06:52:12.000000000 +0100
@@ -22,7 +22,6 @@
 
 @dc.dataclass(**DATACLASS_KWARGS)
 class Token:
-
     type: str
     """Type of the token (string, e.g. "paragraph_open")"""
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/pyproject.toml 
new/markdown-it-py-2.2.0/pyproject.toml
--- old/markdown-it-py-2.1.0/pyproject.toml     2022-04-16 15:51:17.000000000 
+0200
+++ new/markdown-it-py-2.2.0/pyproject.toml     2023-02-22 06:52:12.000000000 
+0100
@@ -35,15 +35,15 @@
 Documentation = "https://markdown-it-py.readthedocs.io";
 
 [project.optional-dependencies]
-code_style = ["pre-commit==2.6"]
+code_style = ["pre-commit~=3.0"]
 compare = [
-    "commonmark~=0.9.1",
-    "markdown~=3.3.6",
-    "mistletoe~=0.8.1",
-    "mistune~=2.0.2",
-    "panflute~=2.1.3",
+    "commonmark~=0.9",
+    "markdown~=3.4",
+    "mistletoe~=1.0",
+    "mistune~=2.0",
+    "panflute~=2.3",
 ]
-linkify = ["linkify-it-py~=1.0"]
+linkify = ["linkify-it-py>=1,<3"]
 plugins = ["mdit-py-plugins"]
 rtd = [
     "attrs",
@@ -63,7 +63,7 @@
 benchmarking = [
     "psutil",
     "pytest",
-    "pytest-benchmark~=3.2",
+    "pytest-benchmark",
 ]
 profiling = ["gprof2dot"]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/markdown-it-py-2.1.0/tests/test_cli.py 
new/markdown-it-py-2.2.0/tests/test_cli.py
--- old/markdown-it-py-2.1.0/tests/test_cli.py  2022-04-16 15:51:17.000000000 
+0200
+++ new/markdown-it-py-2.2.0/tests/test_cli.py  2023-02-22 06:52:12.000000000 
+0100
@@ -20,6 +20,13 @@
     assert exc_info.value.code == 1
 
 
+def test_non_utf8():
+    with tempfile.TemporaryDirectory() as tempdir:
+        path = pathlib.Path(tempdir).joinpath("test.md")
+        path.write_bytes(b"\x80abc")
+        assert parse.main([str(path)]) == 0
+
+
 def test_print_heading():
     with patch("builtins.print") as patched:
         parse.print_heading()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/tests/test_port/fixtures/issue-fixes.md 
new/markdown-it-py-2.2.0/tests/test_port/fixtures/issue-fixes.md
--- old/markdown-it-py-2.1.0/tests/test_port/fixtures/issue-fixes.md    
2022-04-16 15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/tests/test_port/fixtures/issue-fixes.md    
2023-02-22 06:52:12.000000000 +0100
@@ -36,3 +36,12 @@
 .
 <p>💬</p>
 .
+
+Fix CVE-2023-26303
+.
+![![]()
+]([)
+.
+<p><img src="%5B" alt="
+" /></p>
+.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/tests/test_port/test_fixtures.py 
new/markdown-it-py-2.2.0/tests/test_port/test_fixtures.py
--- old/markdown-it-py-2.1.0/tests/test_port/test_fixtures.py   2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/tests/test_port/test_fixtures.py   2023-02-22 
06:52:12.000000000 +0100
@@ -111,4 +111,5 @@
 def test_issue_fixes(line, title, input, expected):
     md = MarkdownIt()
     text = md.render(input)
+    print(text)
     assert text.rstrip() == expected.rstrip()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/markdown-it-py-2.1.0/tests/test_port/test_references.py 
new/markdown-it-py-2.2.0/tests/test_port/test_references.py
--- old/markdown-it-py-2.1.0/tests/test_port/test_references.py 2022-04-16 
15:51:17.000000000 +0200
+++ new/markdown-it-py-2.2.0/tests/test_port/test_references.py 2023-02-22 
06:52:12.000000000 +0100
@@ -2,7 +2,6 @@
 
 
 def test_ref_definitions():
-
     md = MarkdownIt()
     src = "[a]: abc\n\n[b]: xyz\n\n[b]: ijk"
     env = {}

Reply via email to