@napi-rs/canvas
1.1.0 · 30 Oct 2026MIT47.9M / weekRepositoryHomepagenpmAtom feed
Where each line stands
Plan an upgrade- 1.x1.1.0No known advisoryLatest line
- 0.x0.1.100No known advisoryTo 1.1.0
Latest releases
All 125 releases- 1.x · latest line
1.1.0
30 Oct 2026build: Bind the addon's own symbols on Linux so Electron's cxx runtime cannot replace them
text: Draw text the same on every OS by default, add setTextRenderer
path: Draw full-sweep arc() and ellipse() for every start angle
Highlights
Portable text rendering by default
Text now defaults to the
portablerenderer, using FreeType on macOS, Linux, and Windows to make rendering andmeasureTextresults consistent across operating systems when the same fonts are registered.Behavior change: default text output, measurements, and system-font resolution can differ from v1.0.12/v1.0.13. To restore the previous Chrome-like, platform-specific behavior, call:
const { setTextRenderer } = require('@napi-rs/canvas') setTextRenderer('system')Use
getTextRenderer()to inspect the active mode. Installed fonts and fallback for characters missing from registered fonts can still vary by OS and machine.What's Changed
build: Bind the addon's own symbols on Linux so Electron's cxx runtime cannot replace them
text: Draw text the same on every OS by default, add setTextRenderer
path: Draw full-sweep arc() and ellipse() for every start angle
path: Draw a degenerate ellipse() as straight lines like Chrome
build: Compile Windows Skia with -ffp-contract=off like Chromium
path: follow-ups to #1408: rotate() path, arc() start == end, rotated ellipse, isPointInStroke state, one-point stroke prune
build: Compile skia-c with -ffp-contract=off like Chromium
ctx: Keep Blink's double CTM as the source of truth
ctx: Decide CTM invertibility from Blink's double CTM
ctx: Skip the stroke of every one-point path like Chrome
1.0.13
21 Oct 2026canvas: Wrap native methods, not previous wrappers, on re-evaluation
1.0.12
20 Oct 2026canvas: Preserve fractional global alpha through native paints
canvas: Preserve pattern snapshots and honor current image sampling quality
canvas: Enable dithering for gradient fill and stroke paints
What's Changed
canvas: Preserve fractional global alpha through native paints
canvas: Preserve pattern snapshots and honor current image sampling quality
canvas: Enable dithering for gradient fill and stroke paints
Retain display-p3 backing surfaces through context acquisition and resize
canvas: WebIDL conversion for ImageData, getContext, createPattern
canvas: Match Chrome for hsl() colors and gradient edge cases
canvas: ImageData patterns and SvgCanvas reads like Chrome
Reset style getters on resize, tag AVIF color, exact PDF alpha
canvas: Match Chrome for alpha:false, clearRect and 'copy'
skia: Build Skia with Chrome's CPU raster defines and blitters
canvas: Draw Image sources from Chrome's decode-cache levels
crash-safe non-finite args, ImageData sizes, DOMMatrixInit
canvas: WebIDL conversion, arity checks and exceptions like Chrome
imagedata: ImageData and get/put/createImageData work like Chrome
canvas: Paths, clips, roundRect and setTransform work like Chrome
canvas: Style getters, shadowColor and canvas sizes like Chrome
canvas: Gradients and SVG conic export work like Chrome
color: CSS Color 4/5 at every canvas color site, like Chrome
canvas: Compositing, shadows, drawCanvas and filters like Chrome
codecs: Chrome's encoders, AVIF decode, data: URLs and SVG images
canvas: Parse fonts, lay out and measure text like Blink
canvas: Rasterize text like Chrome with CoreText and Fontations
canvas: float16 canvas storage and float ImageData formats
svg: Draw SVG images like Chrome: CSS, var(), <use>, <image>
canvas: Write DPI and text metadata in toBuffer, encode and encodeSync
chrome/m157
Dependency tracking · free for 3 projects
Know when your own dependencies move
@napi-rs/canvas shipped a new major in the last 12 months, among 33 releases. inlinr shows which of your projects are behind, and what the upgrade breaks.
Advisories reach you
An email when a critical or high advisory affects a project, before the next install.
Upgrades checked first
Peer ranges, Node, ESM-only and types changes read before you bump.
Only what matters
Majors and breaking notes stay; patches and sibling bumps fold into one line.
Reading releases, release notes and advisories…
Registry facts last checked 3 Nov 2026. Releases and advisories last read 3 Nov 2026.