Skip to content

Releases: frost-js/ui-imagecrop

v3.0.0

Choose a tag to compare

@elusivecodes elusivecodes released this 04 Oct 07:28

Major release adopting Frost UI 4 and fQuery 5, adding compiled ESM exports, and improving image loading, EXIF orientation, crop geometry, interaction, and component cleanup.

Breaking Changes

  • Requires @fr0st/ui 4 and @fr0st/query 5 as peer dependencies. Browser applications must load compatible builds; Frost UI's all-in-one bundle supplies both dependencies. Load Frost UI 4 CSS alongside the component; there is no component-specific stylesheet.
  • The package root now resolves to the compiled ESM bundle. Package exports expose the root, dist/*, and src/*; internal prototype modules have been replaced with private component methods.
  • Declared Node.js support is ^20.19.0 || ^22.13.0 || >=24.
  • Handle the Promise returned by load(): failed loads reject, and superseded or disposed pending loads reject with AbortError.
  • Invalid geometry and export options throw or reject. Rotation requires a finite multiple of 90 degrees, and output dimensions must be positive finite numbers.

Fixed

  • Applied JPEG EXIF orientation once, including mirrored orientations, by normalizing metadata before browser decoding. Loading another image resets reflection and rotation state, and disabling EXIF orientation preserves raw source orientation.
  • Preserved the previous image after failed replacement reads or decoding. Canceled superseded and disposed pending loads, released object URLs, and prevented stale loading and gesture callbacks from changing component state.
  • Rolled back failed initialization and made repeated disposal safe without affecting replacement instances.
  • Corrected crop geometry, numeric export dimensions, output size limits, and circular masks for rectangular output. Unrepresentable canvas dimensions reject with RangeError.
  • Resumed panning from the remaining finger after a two-finger gesture, including when zoom is disabled, and stopped pinch zoom after touch cancellation.
  • Kept the viewport and canvas anchored to the physical left/top and the resize handle at the physical bottom-right in RTL layouts.

Improved

  • Added compiled ESM and UMD bundles with source maps, modernized build tooling, updated dependencies, and aligned ESLint with the shared Frost configuration.
  • Added cross-browser Playwright coverage and CI for Chromium, Firefox, and WebKit, including image loading, EXIF metadata, exported pixels, geometry, mouse and touch interaction, initialization recovery, and disposal.
  • Aligned fQuery DOM access, source conventions, browser fixtures, and test organization with sibling Frost UI components.
  • Refreshed the demo for Frost UI 4 with theme selection, image loading, geometry controls, result previews and downloads, and a bounded event log.
  • Updated README installation, public API, loading, orientation, accessibility, themes, RTL, and development guidance, and improved JSDoc option types.
  • Updated repository links and badges for the move to frost-js/ui-imagecrop.

v2.0.6

Choose a tag to compare

@elusivecodes elusivecodes released this 14 May 10:09
  • Updated NPM.

v2.0.5

Choose a tag to compare

@elusivecodes elusivecodes released this 24 Jun 04:14
  • Updated package.json.

v2.0.4

Choose a tag to compare

@elusivecodes elusivecodes released this 24 Jun 03:57
  • Updated NPM.

v2.0.3

Choose a tag to compare

@elusivecodes elusivecodes released this 29 Nov 04:09
  • Updated NPM.

v2.0.2

Choose a tag to compare

@elusivecodes elusivecodes released this 20 Aug 12:44
  • Updated NPM.
  • Updated demos.

v2.0.1

Choose a tag to compare

@elusivecodes elusivecodes released this 30 May 08:29
  • Removed preventDefault from mouseDragFactory events.
  • Updated FrostUI in demos.

v2.0

Choose a tag to compare

@elusivecodes elusivecodes released this 29 May 10:48
  • Updated for FrostUI 2.
  • Converted to ES6 module.
  • Removed getOffset and setOffset methods
  • Updated NPM.
  • Updated README.

v1.0

Choose a tag to compare

@elusivecodes elusivecodes released this 13 Oct 12:15

Initial release.