A XSS vulnerability was discovered in python-lxml's clean module. The module's parser didn't properly imitate browsers, which caused different behaviors between the sanitizer and the user's page. A remote attacker could exploit this flaw to run arbitrary HTML/JS code.
An XSS vulnerability was discovered in the python lxml clean module versions before 4.6.3. When disabling the safe_attrs_only and forms arguments, the Cleaner class does not remove the formaction attribute allowing for JS to bypass the sanitizer. A remote attacker could exploit this flaw to run arbitrary JS code on users who interact with incorrectly sanitized HTML. This issue is patched in lxml 4.6.3.
NULL Pointer Dereference allows attackers to cause a denial of service (or application crash). This only applies when lxml is used together with libxml2 2.9.10 through 2.9.14. libxml2 2.9.9 and earlier are not affected. It allows triggering crashes through forged input data, given a vulnerable code sequence in the application. The vulnerability is caused by the iterwalk function (also used by the canonicalize function). Such code shouldn't be in wide-spread use, given that parsing + iterwalk would usually be replaced with the more efficient iterparse function. However, an XML converter that serialises to C14N would also be vulnerable, for example, and there are legitimate use cases for this code sequence. If untrusted input is received (also remotely) and processed via iterwalk function, a crash can be triggered.
Release Notes
lxml/lxml (lxml)
### [`v4.9.1`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#491-2022-07-01)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.9.0...lxml-4.9.1)
\==================
## Bugs fixed
- A crash was resolved when using `iterwalk()` (or `canonicalize()`)
after parsing certain incorrect input. Note that `iterwalk()` can crash
on *valid* input parsed with the same parser *after* failing to parse the
incorrect input.
### [`v4.9.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#490-2022-06-01)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.8.0...lxml-4.9.0)
\==================
## Bugs fixed
- [GH#341](https://togithub.com/GH/lxml/issues/341): The mixin inheritance order in `lxml.html` was corrected.
Patch by xmo-odoo.
## Other changes
- Built with Cython 0.29.30 to adapt to changes in Python 3.11 and 3.12.
- Wheels include zlib 1.2.12, libxml2 2.9.14 and libxslt 1.1.35
(libxml2 2.9.12+ and libxslt 1.1.34 on Windows).
- [GH#343](https://togithub.com/GH/lxml/issues/343): Windows-AArch64 build support in Visual Studio.
Patch by Steve Dower.
### [`v4.8.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#480-2022-02-17)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.7.1...lxml-4.8.0)
\==================
## Features added
- [GH#337](https://togithub.com/GH/lxml/issues/337): Path-like objects are now supported throughout the API instead of just strings.
Patch by Henning Janssen.
- The `ElementMaker` now supports `QName` values as tags, which always override
the default namespace of the factory.
## Bugs fixed
- [GH#338](https://togithub.com/GH/lxml/issues/338): In lxml.objectify, the XSI float annotation "nan" and "inf" were spelled in
lower case, whereas XML Schema datatypes define them as "NaN" and "INF" respectively.
Patch by Tobias Deiminger.
## Other changes
- Built with Cython 0.29.28.
### [`v4.7.1`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#471-2021-12-13)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.5...lxml-4.7.1)
\==================
## Features added
- Chunked Unicode string parsing via `parser.feed()` now encodes the input data
to the native UTF-8 encoding directly, instead of going through `Py_UNICODE` /
`wchar_t` encoding first, which previously required duplicate recoding in most cases.
## Bugs fixed
- The standard namespace prefixes were mishandled during "C14N2" serialisation on Python 3.
See https://mail.python.org/archives/list/lxml@python.org/thread/6ZFBHFOVHOS5GFDOAMPCT6HM5HZPWQ4Q/
- `lxml.objectify` previously accepted non-XML numbers with underscores (like "1\_000")
as integers or float values in Python 3.6 and later. It now adheres to the number
format of the XML spec again.
- [LP#1939031](https://togithub.com/LP/lxml/issues/1939031): Static wheels of lxml now contain the header files of zlib and libiconv
(in addition to the already provided headers of libxml2/libxslt/libexslt).
## Other changes
- Wheels include libxml2 2.9.12+ and libxslt 1.1.34 (also on Windows).
### [`v4.6.5`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#465-2021-12-12)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.4...lxml-4.6.5)
\==================
## Bugs fixed
- A vulnerability (GHSL-2021-1038) in the HTML cleaner allowed sneaking script
content through SVG images (CVE-2021-43818).
- A vulnerability (GHSL-2021-1037) in the HTML cleaner allowed sneaking script
content through CSS imports and other crafted constructs (CVE-2021-43818).
### [`v4.6.4`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#464-2021-11-01)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.3...lxml-4.6.4)
\==================
## Features added
- [GH#317](https://togithub.com/GH/lxml/issues/317): A new property `system_url` was added to DTD entities.
Patch by Thirdegree.
- [GH#314](https://togithub.com/GH/lxml/issues/314): The `STATIC_*` variables in `setup.py` can now be passed via env vars.
Patch by Isaac Jurado.
### [`v4.6.3`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#463-2021-03-21)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.2...lxml-4.6.3)
\==================
## Bugs fixed
- A vulnerability (CVE-2021-28957) was discovered in the HTML Cleaner by Kevin Chung,
which allowed JavaScript to pass through. The cleaner now removes the HTML5
`formaction` attribute.
### [`v4.6.2`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#462-2020-11-26)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.1...lxml-4.6.2)
\==================
## Bugs fixed
- A vulnerability (CVE-2020-27783) was discovered in the HTML Cleaner by Yaniv Nizry,
which allowed JavaScript to pass through. The cleaner now removes more sneaky
"style" content.
### [`v4.6.1`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#461-2020-10-18)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.0...lxml-4.6.1)
\==================
## Bugs fixed
- A vulnerability was discovered in the HTML Cleaner by Yaniv Nizry, which allowed
JavaScript to pass through. The cleaner now removes more sneaky "style" content.
### [`v4.6.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#460-2020-10-17)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.5.2...lxml-4.6.0)
\==================
## Features added
- [GH#310](https://togithub.com/GH/lxml/issues/310): `lxml.html.InputGetter` supports `__len__()` to count the number of input fields.
Patch by Aidan Woolley.
- `lxml.html.InputGetter` has a new `.items()` method to ease processing all input fields.
- `lxml.html.InputGetter.keys()` now returns the field names in document order.
- [GH-309](https://togithub.com/lxml/lxml/issues/309): The API documentation is now generated using `sphinx-apidoc`.
Patch by Chris Mayo.
## Bugs fixed
- [LP#1869455](https://togithub.com/LP/lxml/issues/1869455): C14N 2.0 serialisation failed for unprefixed attributes
when a default namespace was defined.
- `TreeBuilder.close()` raised `AssertionError` in some error cases where it
should have raised `XMLSyntaxError`. It now raises a combined exception to
keep up backwards compatibility, while switching to `XMLSyntaxError` as an
interface.
### [`v4.5.2`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#452-2020-07-09)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.5.1...lxml-4.5.2)
\==================
## Bugs fixed
- `Cleaner()` now validates that only known configuration options can be set.
- [LP#1882606](https://togithub.com/LP/lxml/issues/1882606): `Cleaner.clean_html()` discarded comments and PIs regardless of the
corresponding configuration option, if `remove_unknown_tags` was set.
- [LP#1880251](https://togithub.com/LP/lxml/issues/1880251): Instead of globally overwriting the document loader in libxml2, lxml now
sets it per parser run, which improves the interoperability with other users of libxml2
such as libxmlsec.
- [LP#1881960](https://togithub.com/LP/lxml/issues/1881960): Fix build in CPython 3.10 by using Cython 0.29.21.
- The setup options "--with-xml2-config" and "--with-xslt-config" were accidentally renamed
to "--xml2-config" and "--xslt-config" in 4.5.1 and are now available again.
### [`v4.5.1`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#451-2020-05-19)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.5.0...lxml-4.5.1)
\==================
## Bugs fixed
- [LP#1570388](https://togithub.com/LP/lxml/issues/1570388): Fix failures when serialising documents larger than 2GB in some cases.
- [LP#1865141](https://togithub.com/LP/lxml/issues/1865141), [GH#298](https://togithub.com/GH/lxml/issues/298): `QName` values were not accepted by the `el.iter()` method.
Patch by xmo-odoo.
- [LP#1863413](https://togithub.com/LP/lxml/issues/1863413), [GH#297](https://togithub.com/GH/lxml/issues/297): The build failed to detect libraries on Linux that are only
configured via pkg-config.
Patch by Hugh McMaster.
### [`v4.5.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#450-2020-01-29)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.4.3...lxml-4.5.0)
\==================
## Features added
- A new function `indent()` was added to insert tail whitespace for pretty-printing
an XML tree.
## Bugs fixed
- [LP#1857794](https://togithub.com/LP/lxml/issues/1857794): Tail text of nodes that get removed from a document using item
deletion disappeared silently instead of sticking with the node that was removed.
## Other changes
- MacOS builds are 64-bit-only by default.
Set CFLAGS and LDFLAGS explicitly to override it.
- Linux/MacOS Binary wheels now use libxml2 2.9.10 and libxslt 1.1.34.
- [LP#1840234](https://togithub.com/LP/lxml/issues/1840234): The package version number is now available as `lxml.__version__`.
### [`v4.4.3`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#443-2020-01-28)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.4.2...lxml-4.4.3)
\==================
## Bugs fixed
- [LP#1844674](https://togithub.com/LP/lxml/issues/1844674): `itertext()` was missing tail text of comments and PIs since 4.4.0.
### [`v4.4.2`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#442-2019-11-25)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.4.1...lxml-4.4.2)
\==================
## Bugs fixed
- [LP#1835708](https://togithub.com/LP/lxml/issues/1835708): `ElementInclude` incorrectly rejected repeated non-recursive
includes as recursive.
Patch by Rainer Hausdorf.
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
==4.4.1
->==4.9.1
GitHub Vulnerability Alerts
CVE-2020-27783
A XSS vulnerability was discovered in python-lxml's clean module. The module's parser didn't properly imitate browsers, which caused different behaviors between the sanitizer and the user's page. A remote attacker could exploit this flaw to run arbitrary HTML/JS code.
CVE-2021-28957
An XSS vulnerability was discovered in the python
lxml
clean module versions before 4.6.3. When disablingthe safe_attrs_only
andforms
arguments, theCleaner
class does not remove theformaction
attribute allowing for JS to bypass the sanitizer. A remote attacker could exploit this flaw to run arbitrary JS code on users who interact with incorrectly sanitized HTML. This issue is patched inlxml
4.6.3.CVE-2021-43818
Impact
The HTML Cleaner in lxml.html lets certain crafted script content pass through, as well as script content in SVG files embedded using data URIs.
Users that employ the HTML cleaner in a security relevant context should upgrade to lxml 4.6.5.
Patches
The issue has been resolved in lxml 4.6.5.
Workarounds
None.
References
The issues are tracked under the report IDs GHSL-2021-1037 and GHSL-2021-1038.
CVE-2022-2309
NULL Pointer Dereference allows attackers to cause a denial of service (or application crash). This only applies when lxml is used together with libxml2 2.9.10 through 2.9.14. libxml2 2.9.9 and earlier are not affected. It allows triggering crashes through forged input data, given a vulnerable code sequence in the application. The vulnerability is caused by the iterwalk function (also used by the canonicalize function). Such code shouldn't be in wide-spread use, given that parsing + iterwalk would usually be replaced with the more efficient iterparse function. However, an XML converter that serialises to C14N would also be vulnerable, for example, and there are legitimate use cases for this code sequence. If untrusted input is received (also remotely) and processed via iterwalk function, a crash can be triggered.
Release Notes
lxml/lxml (lxml)
### [`v4.9.1`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#491-2022-07-01) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.9.0...lxml-4.9.1) \================== ## Bugs fixed - A crash was resolved when using `iterwalk()` (or `canonicalize()`) after parsing certain incorrect input. Note that `iterwalk()` can crash on *valid* input parsed with the same parser *after* failing to parse the incorrect input. ### [`v4.9.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#490-2022-06-01) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.8.0...lxml-4.9.0) \================== ## Bugs fixed - [GH#341](https://togithub.com/GH/lxml/issues/341): The mixin inheritance order in `lxml.html` was corrected. Patch by xmo-odoo. ## Other changes - Built with Cython 0.29.30 to adapt to changes in Python 3.11 and 3.12. - Wheels include zlib 1.2.12, libxml2 2.9.14 and libxslt 1.1.35 (libxml2 2.9.12+ and libxslt 1.1.34 on Windows). - [GH#343](https://togithub.com/GH/lxml/issues/343): Windows-AArch64 build support in Visual Studio. Patch by Steve Dower. ### [`v4.8.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#480-2022-02-17) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.7.1...lxml-4.8.0) \================== ## Features added - [GH#337](https://togithub.com/GH/lxml/issues/337): Path-like objects are now supported throughout the API instead of just strings. Patch by Henning Janssen. - The `ElementMaker` now supports `QName` values as tags, which always override the default namespace of the factory. ## Bugs fixed - [GH#338](https://togithub.com/GH/lxml/issues/338): In lxml.objectify, the XSI float annotation "nan" and "inf" were spelled in lower case, whereas XML Schema datatypes define them as "NaN" and "INF" respectively. Patch by Tobias Deiminger. ## Other changes - Built with Cython 0.29.28. ### [`v4.7.1`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#471-2021-12-13) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.5...lxml-4.7.1) \================== ## Features added - Chunked Unicode string parsing via `parser.feed()` now encodes the input data to the native UTF-8 encoding directly, instead of going through `Py_UNICODE` / `wchar_t` encoding first, which previously required duplicate recoding in most cases. ## Bugs fixed - The standard namespace prefixes were mishandled during "C14N2" serialisation on Python 3. See https://mail.python.org/archives/list/lxml@python.org/thread/6ZFBHFOVHOS5GFDOAMPCT6HM5HZPWQ4Q/ - `lxml.objectify` previously accepted non-XML numbers with underscores (like "1\_000") as integers or float values in Python 3.6 and later. It now adheres to the number format of the XML spec again. - [LP#1939031](https://togithub.com/LP/lxml/issues/1939031): Static wheels of lxml now contain the header files of zlib and libiconv (in addition to the already provided headers of libxml2/libxslt/libexslt). ## Other changes - Wheels include libxml2 2.9.12+ and libxslt 1.1.34 (also on Windows). ### [`v4.6.5`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#465-2021-12-12) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.4...lxml-4.6.5) \================== ## Bugs fixed - A vulnerability (GHSL-2021-1038) in the HTML cleaner allowed sneaking script content through SVG images (CVE-2021-43818). - A vulnerability (GHSL-2021-1037) in the HTML cleaner allowed sneaking script content through CSS imports and other crafted constructs (CVE-2021-43818). ### [`v4.6.4`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#464-2021-11-01) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.3...lxml-4.6.4) \================== ## Features added - [GH#317](https://togithub.com/GH/lxml/issues/317): A new property `system_url` was added to DTD entities. Patch by Thirdegree. - [GH#314](https://togithub.com/GH/lxml/issues/314): The `STATIC_*` variables in `setup.py` can now be passed via env vars. Patch by Isaac Jurado. ### [`v4.6.3`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#463-2021-03-21) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.2...lxml-4.6.3) \================== ## Bugs fixed - A vulnerability (CVE-2021-28957) was discovered in the HTML Cleaner by Kevin Chung, which allowed JavaScript to pass through. The cleaner now removes the HTML5 `formaction` attribute. ### [`v4.6.2`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#462-2020-11-26) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.1...lxml-4.6.2) \================== ## Bugs fixed - A vulnerability (CVE-2020-27783) was discovered in the HTML Cleaner by Yaniv Nizry, which allowed JavaScript to pass through. The cleaner now removes more sneaky "style" content. ### [`v4.6.1`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#461-2020-10-18) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.0...lxml-4.6.1) \================== ## Bugs fixed - A vulnerability was discovered in the HTML Cleaner by Yaniv Nizry, which allowed JavaScript to pass through. The cleaner now removes more sneaky "style" content. ### [`v4.6.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#460-2020-10-17) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.5.2...lxml-4.6.0) \================== ## Features added - [GH#310](https://togithub.com/GH/lxml/issues/310): `lxml.html.InputGetter` supports `__len__()` to count the number of input fields. Patch by Aidan Woolley. - `lxml.html.InputGetter` has a new `.items()` method to ease processing all input fields. - `lxml.html.InputGetter.keys()` now returns the field names in document order. - [GH-309](https://togithub.com/lxml/lxml/issues/309): The API documentation is now generated using `sphinx-apidoc`. Patch by Chris Mayo. ## Bugs fixed - [LP#1869455](https://togithub.com/LP/lxml/issues/1869455): C14N 2.0 serialisation failed for unprefixed attributes when a default namespace was defined. - `TreeBuilder.close()` raised `AssertionError` in some error cases where it should have raised `XMLSyntaxError`. It now raises a combined exception to keep up backwards compatibility, while switching to `XMLSyntaxError` as an interface. ### [`v4.5.2`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#452-2020-07-09) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.5.1...lxml-4.5.2) \================== ## Bugs fixed - `Cleaner()` now validates that only known configuration options can be set. - [LP#1882606](https://togithub.com/LP/lxml/issues/1882606): `Cleaner.clean_html()` discarded comments and PIs regardless of the corresponding configuration option, if `remove_unknown_tags` was set. - [LP#1880251](https://togithub.com/LP/lxml/issues/1880251): Instead of globally overwriting the document loader in libxml2, lxml now sets it per parser run, which improves the interoperability with other users of libxml2 such as libxmlsec. - [LP#1881960](https://togithub.com/LP/lxml/issues/1881960): Fix build in CPython 3.10 by using Cython 0.29.21. - The setup options "--with-xml2-config" and "--with-xslt-config" were accidentally renamed to "--xml2-config" and "--xslt-config" in 4.5.1 and are now available again. ### [`v4.5.1`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#451-2020-05-19) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.5.0...lxml-4.5.1) \================== ## Bugs fixed - [LP#1570388](https://togithub.com/LP/lxml/issues/1570388): Fix failures when serialising documents larger than 2GB in some cases. - [LP#1865141](https://togithub.com/LP/lxml/issues/1865141), [GH#298](https://togithub.com/GH/lxml/issues/298): `QName` values were not accepted by the `el.iter()` method. Patch by xmo-odoo. - [LP#1863413](https://togithub.com/LP/lxml/issues/1863413), [GH#297](https://togithub.com/GH/lxml/issues/297): The build failed to detect libraries on Linux that are only configured via pkg-config. Patch by Hugh McMaster. ### [`v4.5.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#450-2020-01-29) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.4.3...lxml-4.5.0) \================== ## Features added - A new function `indent()` was added to insert tail whitespace for pretty-printing an XML tree. ## Bugs fixed - [LP#1857794](https://togithub.com/LP/lxml/issues/1857794): Tail text of nodes that get removed from a document using item deletion disappeared silently instead of sticking with the node that was removed. ## Other changes - MacOS builds are 64-bit-only by default. Set CFLAGS and LDFLAGS explicitly to override it. - Linux/MacOS Binary wheels now use libxml2 2.9.10 and libxslt 1.1.34. - [LP#1840234](https://togithub.com/LP/lxml/issues/1840234): The package version number is now available as `lxml.__version__`. ### [`v4.4.3`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#443-2020-01-28) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.4.2...lxml-4.4.3) \================== ## Bugs fixed - [LP#1844674](https://togithub.com/LP/lxml/issues/1844674): `itertext()` was missing tail text of comments and PIs since 4.4.0. ### [`v4.4.2`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#442-2019-11-25) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.4.1...lxml-4.4.2) \================== ## Bugs fixed - [LP#1835708](https://togithub.com/LP/lxml/issues/1835708): `ElementInclude` incorrectly rejected repeated non-recursive includes as recursive. Patch by Rainer Hausdorf.Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.