[Snyk] Upgrade @resvg/resvg-js from 2.1.0 to 2.6.2 #39
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR was automatically created by Snyk using the credentials of a real user.
![snyk-top-banner](https://github.com/andygongea/OWASP-Benchmark/assets/818805/c518c423-16fe-447e-b67f-ad5a49b5d123)
Snyk has created this PR to upgrade @resvg/resvg-js from 2.1.0 to 2.6.2.
ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
The recommended version is 10 versions ahead of your current version.
The recommended version was released on 4 months ago.
Release notes
Package name: @resvg/resvg-js
No content.
What's Changed
This version solves the problem of missing DLLs caused by not installing Visual C++ Redistributable on Windows.
Added
Fixed
New Contributors
Full Changelog: v2.6.0...v2.6.1
What's Changed
This version solves the problem of missing DLLs caused by not installing Visual C++ Redistributable on Windows.
Added
Fixed
New Contributors
Full Changelog: v2.6.0...v2.6.1-beta.0
What's Changed
🚀 Up to 115x faster for very large SVG files
Now resvg has been upgraded from v0.29.0 to v0.34.0, bringing with it a host of new SVG features and performance improvements.
Support SVG2
mask-type
property.Allows quadratic Bézier curves: text might render slightly differently (better?). This is because TrueType fonts contain only quadratic curves and we were converting them to cubic before.
Clipping and masking is up to 20% faster.
Reduces the peak memory usage for SVGs with large paths (in terms of the number of segments).
A new rendering algorithm.
When rendering isolated groups,
aka layers, we have to know the layer bounding box beforehand, which is ridiculously hard in SVG.
Previously, resvg would simply use the canvas size for all the layers.
This means that to render a 10x10px layer on a 1000x1000px canvas, we would have to allocate and then blend
a 1000x1000px layer, which is just a waste of CPU cycles.
The new rendering algorithm is able to calculate layer bounding boxes, which dramatically improves
performance when rendering a lot of tiny layers on a large canvas.
Moreover, it makes performance more linear with a canvas size increase.
The paris-30k.svg
sample from google/forma is rendered 115 times faster on M1 Pro now.
From ~33760ms down to ~290ms. 5269x3593px canvas.
If we restrict the canvas to 1000x1000px, which would contain only the actual
paris-30k.svg
content,then we're 13 times faster. From ~3252ms down to ~253ms.
Added
Full Changelog: v2.5.0...v2.6.0
What's Changed
Added
Now we can finally loading custom fonts in Wasm, including the WOFF2 format (see playground), thanks to the high-performance
woff2-rs
.In addition, we implemented smarter default font family fallback. the
defaultFontFamily
option can now be omitted. We'll read the font-family from the incoming fonts and set it to the default.<script>
(async function () {
await resvg.initWasm(fetch('https://unpkg.com/@ resvg/resvg-wasm/index_bg.wasm'))
})()
</script>
fontBuffers
option. Thanks to @ antmelnyk #217We have improved the upstream svgtypes#14, allow parsing of float
rgb()/rgba()
values from CSS Color 4 draft likergb(3.14, 110, 201)
.Changed
New Contributors
Full Changelog: v2.4.1...v2.5.0
What's Changed
defaultFontFamily
not working by @ yisibl in #208New Contributors
Full Changelog: v2.4.0...v2.4.1
What's Changed
This is a brand new version with 2-3x faster performance. It also resolves an issue with a specific SVG causing an error, and all users are advised to upgrade to this version.
sharp:
10.9 ops/s, ±31.43% | 72.47% slower
svg2img(canvg + node-canvas):
10.8 ops/s, ±28.52% | slowest, 72.73% slower
The upgrade will be hard due to the big changes made to upstream resvg. resvg 0.28.0 started with the removal of the ability to output SVG string, and we had to backport that functionality to a new crate:
usvg-writer
.Eventually, we upgraded resvg for 2 successive versions, and are now at the latest 0.29.0.
Changed
Fixed
fix: 'the previous segment must be M/L/C' error. #204 Thanks to @ yisibl
This is a normal error thrown by resvg when parsing Path Command, and has been confirmed as fixed in resvg 0.29.0.
Add a test to ensure it is now fixed.
note: run with
</span>RUST_BACKTRACE=1<span class="pl-pds">
environment variable to display a backtracefatal runtime error: failed to initiate panic, error 5
Full Changelog: v2.3.1...v2.4.0
What's Changed
Full Changelog: v2.3.0...v2.3.1
What's Changed
fix: update napi-rs(2.10.13) to resolve Electron 21+ create Buffer issues. #195
This means that all napi-rs-based native modules will be affected. Usually there is an error like this:
Good thing napi-rs has implemented a compatible approach in the new version, thanks to @ Brooooooklyn's work.
feat: add wasm file to exports. Thanks to @ hadeeb #186
This solves the problem that direct
require.resolve("@ resvg/resvg-wasm/index_bg.wasm")
in tools like vite or webpack would report an error.Module not found: Package path ./index_bg.wasm is not exported from package /playground/node_modules/@ resvg/resvg-wasm (see exports field in /playground/node_modules/@ resvg/resvg-wasm/package.json)
See the Node.js documentation for details about why:
fix(ci): use zig to cross-compile armv7. #176
This solves the problem of CI errors:
Error: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.35' not found (required by /build/resvgjs.linux-arm-gnueabihf.node)
Due to the GitHub Actions Ubuntu upgrade from 20.04 to 22.04, the glibc version became 2.35. To maintain our compatibility, zig cross-compilation is now enabled to support older versions of glibc systems.
doc: add Node.js 18 to 'Support matrix'. #155
New Contributors
Full Changelog: v2.2.0...v2.3.0
What's Changed
Now resvg-js can be run natively (not Wasm) directly in Deno, this allows to get close to the performance of Node.js native addons in Deno.
See Deno Example
import { Resvg } from 'npm:@ resvg/resvg-js'
const __dirname = path.dirname(path.fromFileUrl(import.meta.url))
const svg = await Deno.readFile(path.join(__dirname, './text.svg'))
const resvg = new Resvg(svg, opts)
const pngData = resvg.render()
const pngBuffer = pngData.asPng()
await Deno.writeFile(path.join(__dirname, './text-out-deno.png'), pngBuffer)
In addition, resvg-js can return the raw pixels data of the PNG, which can be very convenient for scenes where only pixels need to be processed.
Added
.pixels()
API for returning PNG pixels data (#123).paint-order
attribute support. Markers can only be under or above the shape.writing-mode
variantsvertical-rl
andvertical-lr
. Thanks to @ yisibl.Changed
dpi
option is not the DPI in the PNG file. (#146)infer
crate, this can reduce the size of Wasm files.Fixed
png
crate inrenovate.json
. (by @ CGQAQ in #161)New Contributors
Full Changelog: v2.1.0...v2.2.0
Important
Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information: