Skip to content

v23.0.0

Latest
Compare
Choose a tag to compare
@caleb531 caleb531 released this 14 Jun 18:15
· 4 commits to main since this release
619557f

jCanvas v23 is a major new release with full TypeScript support, more features for ellipses, and overall modernization of the codebase. As such, jCanvas v23 requires ES2020-compatible browsers.

Minimum Version Requirement Updates

jCanvas now requires jQuery 1.9 or newer. It also supports the following minimum browser versions:

  • Chrome 80+
  • Edge 80+
  • Firefox 74+
  • Safari 13.4+

The minimum required version of jQuery has also been increased from v1.4 to v1.9.

TypeScript

The entire library (as well as all included plugins) have been rewritten in TypeScript! This means that you no longer need to use packages like @types/jcanvas. However, the @types/jquery package is still required to enable type checking for jCanvas properties and methods.

New Website!

Coinciding with the release of jCanvas v23 is the release of a brand new jCanvas website! The entire website has been rewritten in Astro, and the documentation site has been completely rebuilt using Starlight for a much better experience. The sandbox has also received some major upgrades, including multiple cursors, code folding, basic autocomplete, and various bug fixes.

For more details, see the companion jcanvas-website release.

Partial Ellipses... With Arrows!

Just like the drawArc() method, the drawEllipse() method now supports the start and end properties to create elliptical arcs. Arrow support has also been added; please see the Arrows section of the jCanvas documentation

Removed Deprecated $.support.canvas

The $.support object was already deprecated as of jQuery 1.9. Therefore, in the interest of moving away from use of deprecated APIs, jCanvas has removed the $.support.canvas declaration.

Other Improvements

  1. The codebase has been substantially modernized to take advantage of the latest web capabilities introduced within the past 10 years. These include:
    1. Use of let/const instead of var
    2. Use of optional chaining for common checks
  2. Improved support for Pointer Events (pointerdown, pointermove, pointerup)

Bug Fixes

  1. Fixed an error thrown when trying to add or remove a nonexistent layer from a group (using addLayerToGroup or removeLayerFromGroup)