Things to consider for the 3.0.0 major version: - [x] Drop support for old Node.js versions (14.x EOL at 2023-04-30, 16.x EOL at [2023-09-11](https://nodejs.org/en/blog/announcements/nodejs16-eol/)) - [ ] Change the `Canvas` class to [`OffscreenCanvas`](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas) - [ ] Make our `OffscreenCanvas` extend [Node.js `EventTarget`](https://nodejs.org/api/events.html#eventtarget-and-event-api) - [ ] Make `Image` and `ImageData` behave like browsers (using [node-gfx/image](https://github.com/node-gfx/image) & [node-gfx/image-data](https://github.com/node-gfx/image-data)) - [ ] Replace `simple-get` with [Node.js builtin `fetch`](https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#fetch) - [ ] Require [Pango 2](https://blogs.gnome.org/mclasen/2022/06/22/pango-1-90/) (if it's released in time) - [ ] New [`FontFace`](https://developer.mozilla.org/en-US/docs/Web/API/FontFace/FontFace) and [`document.fonts`](https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet) based API instead of `registerFont` - [ ] Non-standard `fillGlyphs(face, glyphIds)` API for fast rendering if shaping has already been done (e.g. harfbuzzjs) Please note that this issue is for discussing **breaking** changes and not a place for general feature requests!
Things to consider for the 3.0.0 major version:
Canvasclass toOffscreenCanvasOffscreenCanvasextend Node.jsEventTargetImageandImageDatabehave like browsers (using node-gfx/image & node-gfx/image-data)simple-getwith Node.js builtinfetchFontFaceanddocument.fontsbased API instead ofregisterFontfillGlyphs(face, glyphIds)API for fast rendering if shaping has already been done (e.g. harfbuzzjs)Please note that this issue is for discussing breaking changes and not a place for general feature requests!