Skip to content

[Snyk] Upgrade @resvg/resvg-js from 2.2.0 to 2.4.1#245

Merged
NiallJoeMaher merged 1 commit into
developfrom
snyk-upgrade-6101f46346e85406374b09975946f188
Apr 13, 2023
Merged

[Snyk] Upgrade @resvg/resvg-js from 2.2.0 to 2.4.1#245
NiallJoeMaher merged 1 commit into
developfrom
snyk-upgrade-6101f46346e85406374b09975946f188

Conversation

@NiallJoeMaher

Copy link
Copy Markdown
Contributor

This PR was automatically created by Snyk using the credentials of a real user.


Snyk has created this PR to upgrade @resvg/resvg-js from 2.2.0 to 2.4.1.

ℹ️ 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 4 versions ahead of your current version.
  • The recommended version was released 2 months ago, on 2023-02-15.
Release notes
Package name: @resvg/resvg-js
  • 2.4.1 - 2023-02-15

    What's Changed

    New Contributors

    Full Changelog: v2.4.0...v2.4.1

  • 2.4.0 - 2023-02-09

    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.

    | fastest

    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

    • feat: upgrade resvg/usvg to 0.28.0. #194 Thanks to @ zimond
    • feat: upgrade resvg/usvg to 0.29.0. #199 Thanks to @ zimond
    • chore: upgrade rust-toolchain to nightly-2023-02-01. #199 Thanks to @ yisibl
    • chore: remove bench-related dependencies. #200 Thanks to @ yisibl

    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.

      '<unnamed>' panicked at 'the previous segment must be M/L/C'

      note: run with </span>RUST_BACKTRACE=1<span class="pl-pds"> environment variable to display a backtrace
      fatal runtime error: failed to initiate panic, error 5

    Full Changelog: v2.3.1...v2.4.0

  • 2.3.1 - 2023-02-02

    What's Changed

    Full Changelog: v2.3.0...v2.3.1

  • 2.3.0 - 2023-02-02

    What's Changed

    • fix: update napi-rs(2.10.13) to resolve Electron 21+ create Buffer issues. #195

      Electron 21 and later will have the V8 Memory Cage enabled, with implications for some native modules.
      https://www.electronjs.org/blog/v8-memory-cage

      This means that all napi-rs-based native modules will be affected. Usually there is an error like this:

      UnhandledPromiseRejectionWarning: Error: Failed to create napi buffer

      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:

      Existing packages introducing the "exports" field will prevent consumers of the package from using any entry points that are not defined

    • 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.

      Distribution Glibc GCC
      CentOS 7 2.17 4.8.5
      Ubuntu 16.04 2.23 5.4.0
      Ubuntu 18.04 2.27 7.5.0
      Ubuntu 20.04 2.31 9.4.0
      Ubuntu 22.04 2.35 11.2.0
      Debian 10.12 2.28 8.3.0
      Debian 11.4 2.31 10.2.1
    • doc: add Node.js 18 to 'Support matrix'. #155

    New Contributors

    Full Changelog: v2.2.0...v2.3.0

  • 2.2.0 - 2022-11-17

    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.

    deno run --unstable --allow-read --allow-write --allow-ffi example/index-deno.js

    See Deno Example

    import * as path from 'https://deno.land/[email protected]/path/mod.ts'
    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

    • feat: add .pixels() API for returning PNG pixels data (#123).
    • chore: upgrade to resvg v0.25.0 (by @ zimond in #156).
      • Partial paint-order attribute support. Markers can only be under or above the shape.
      • CSS3 writing-mode variants vertical-rl and vertical-lr. Thanks to @ yisibl.
      • (tiny-skia) AArch64 Neon SIMD support. Up to 3x faster on Apple M1.
      • Path bbox calculation scales stroke width too. Thanks to @ growler.
      • (tiny-skia) Round caps roundness. Fixes #155.

    Changed

    • build: x86_64-linux-gnu and aarch64-linux-gnu are no longer compiled using Zig. (#125)
    • doc: the dpi option is not the DPI in the PNG file. (#146)
    • chore: add deno example and docs. (#154)
    • feat: upgrade napi-rs to 2.10.0 and Node.js v18. (#157)
    • test: add image resolver API test case. (#164)
    • feat: remove the infer crate, this can reduce the size of Wasm files.
    • feat: remove the infer crate, this reduced the size of the Wasm file by about 4.3%. (#165)
      • Before: 1360609 bytes
      • After: 1302173 bytes
    • feat: error code UnrecognizedBuffer changed to UnsupportedImage. (#165)

    Fixed

    • fix: ignore png crate in renovate.json. (by @ CGQAQ in #161)

    New Contributors

    Full Changelog: v2.1.0...v2.2.0

from @resvg/resvg-js GitHub release notes
Commit messages
Package name: @resvg/resvg-js

Compare


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:

🧐 View latest project report

🛠 Adjust upgrade PR settings

🔕 Ignore this dependency or unsubscribe from future upgrade PRs

@vercel

vercel Bot commented Apr 13, 2023

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
codu ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 13, 2023 2:59pm

@NiallJoeMaher NiallJoeMaher merged commit 2787833 into develop Apr 13, 2023
@NiallJoeMaher NiallJoeMaher deleted the snyk-upgrade-6101f46346e85406374b09975946f188 branch April 13, 2023 15:22
NiallJoeMaher added a commit that referenced this pull request Oct 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

markdown editor shortcuts

2 participants