Releases: frost-js/ui-imagecrop
Releases · frost-js/ui-imagecrop
Release list
v3.0.0
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/ui4 and@fr0st/query5 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/*, andsrc/*; 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 withAbortError. - 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
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
- Removed
preventDefaultfrommouseDragFactoryevents. - Updated FrostUI in demos.
v2.0
- Updated for FrostUI 2.
- Converted to ES6 module.
- Removed
getOffsetandsetOffsetmethods - Updated NPM.
- Updated README.