paper.js v0.11.0 Release Notes

  • ๐Ÿ”„ Changed

    • Separate paper module on NPM into: paper, paper-jsdom and paper-jsdom-canvas (#1252):
      • paper is the main library, and can be used directly in a browser context, e.g. a web browser or worker.
      • paper-jsdom is a shim module for Node.js, offering headless use with SVG importing and exporting through jsdom.
      • paper-jsdom-canvas is a shim module for Node.js, offering canvas rendering through Node-Canvas as well as SVG importing and exporting through jsdom.

    โž• Added

    • ๐Ÿ‘ PaperScript: Support newer, external versions of Acorn.js for PaperScript parsing, opening the doors to ES 2015 (#1183, #1275).
    • โœ… Hit Tests: Implement options.position to hit Item#position (#1249).
    • Split Item#copyTo() into #addTo() and #copyTo().

    ๐Ÿ›  Fixed

    • Intersections: Bring back special handling of curve end-points (#1284).
    • Intersections: Correctly handle Item#applyMatrix = false (#1289).
    • Boolean: Bring back on-path winding handling (#1281).
    • Boolean: Pass on options in PathItem#subtract(path, options) (#1221).
    • Boolean: Implement options.trace as a way to perform boolean operations on the strokes / traces instead of the fills / areas of the involved paths (#1221).
    • Boolean: Always return `CompoundPath items (#1221).
    • ๐Ÿ’… Style: Fix handling of gradient matrices when Item#applyMatrix = false (#1238).
    • ๐Ÿ’… Style: Prevent cleaning pre-existing styles when setting Item#style to an object (#1277).
    • Mouse Events: Only handle dragItem if the hitItem responds to mousedrag events (#1247, #1286).
    • Bounds: Clear parent's bounds cache when item's visibility changes (#1248).
    • Bounds: Fix calculation of internal bounds with children and Item#applyMatrix = false (#1250).
    • โœ… Hit-Tests: Fix issue with non-invertible matrices ( #1271).
    • SVG Import: Improve handling of sizes in percent (#1242).
    • ๐Ÿ‘ Rectangle: Improve handling of dimension properties, dealing better with left / top / right / bottom / center values (#1147).
    • Scene Graph: Do not allow inserting same item as child multiple times.
    • Path: Fix handling of insert = false in new Path.Constructor() initialization (#1305).
    • PaperScript: Fix positive unary operator.
    • ๐Ÿ“„ Docs: Fix parameter sequence in Matrix constructor (#1273).
    • ๐Ÿ“„ Docs: Add documentation for options.bound and options.matrix in #exportSVG() (#1254).
    • ๐Ÿ“„ Docs: Fix wrong @link references to bean properties.