Presentation attributes in SVG 2
SVG has a concept of presentation attributes.
Essentially, those are style properties, like fill, that can be set via
CSS, a style attribute and as a regular XML attribute.
Meaning that all of the following examples are functionally identical:
<style>
#rect1 { fill:green }
</style>
<rect id="rect1"/>
<rect style="fill:green"/>
<rect fill="green"/>
SVG 2 changed this behavior and all new presentation attributes are no longer allowed to be used
as regular XML attributes. So you can write style="mix-blend-mode:screen",
but not mix-blend-mode="screen".
I have no idea why it was done, but it's a really annoying change.
All SVG 2 presentation attributes had to be skipped during XML attributes parsing now.
And an SVG writing library is essentially forced to use style everywhere,
which makes a resulting SVG harder to read and parse.