Skip to content

v3.0.0-rc2

Pre-release
Pre-release
Compare
Choose a tag to compare
@zbjornson zbjornson released this 20 Jun 00:30
· 15 commits to master since this release

Note

Prebuilds are currently only available for Linux (x64, glibc), macOS (x64) and Windows (x64). Please give this version a try and let us know if you run into issues!

npm install canvas@next

This release notably changes to using N-API. 🎉

Breaking

  • Dropped support for Node.js 16.x and below.

Changed

  • Migrated to N-API (by way of node-addon-api) and removed libuv and v8 dependencies
  • Change from node-pre-gyp to prebuild-install
  • Defer the initialization of the op variable to the default switch case to avoid a compiler warning. (#2229)
  • Use a default switch case with a null statement if some enum values aren't suppsed to be handled, this avoids a compiler warning. (#2229)
  • Migrate from librsvg's deprecated rsvg_handle_get_dimensions() and rsvg_handle_render_cairo() functions to the new rsvg_handle_get_intrinsic_size_in_pixels() and rsvg_handle_render_document() respectively. (#2229)
  • Avoid calling virtual methods in constructors/destructors to avoid bypassing virtual dispatch. (#2229)
  • Remove unused private field backend in the Backend class. (#2229)
  • Add Node.js v20 to CI. (#2237)
  • Replaced dtslint with tsd (#2313)

Added

  • Added string tags to support class detection

Fixed

  • Fix a case of use-after-free. (#2229)
  • Fix usage of garbage value by filling the allocated memory entirely with zeros if it's not modified. (#2229)
  • Fix a potential memory leak. (#2229)
  • Fix the wrong type of setTransform