- Upgrade the built-in Cropper.js to v1.5.6.
- Upgrade the built-in Cropper.js to v1.3.4.
- Upgrade the built-in Cropper.js to v1.3.2.
- The core code of Cropper is replaced with Cropper.js now.
- Migration from Cropper 3.x:
- Before:
$().cropper({ crop(event) { console.log( event.x, event.y, event.width, event.height, event.rotate, event.scaleX, event.scaleY, ); }, });
- After:
$().cropper({ crop(event) { console.log( event.detail.x, event.detail.y, event.detail.width, event.detail.height, event.detail.rotate, event.detail.scaleX, event.detail.scaleY, ); }, });
- Before:
- Fixed a bug of incorrect behavior of
viewMode: 2
.
- Fixed a bug of
getCroppedCanvas
method when providemaxWidth
ormaxHeight
options (#953).
- Fixed a bug of rotation (#938).
- Fixed a bug of render when disable one of
rotatable
andscalable
options.
- Normalize related decimal numbers when crop an image with canvas (#918).
- Ignore unnecessary files when publish to NPM (#928).
- Supports to load in node environment.
- Added 4 new options to
getCroppedCanvas
method:minWidth
,minHeight
,maxWidth
andmaxHeight
. - Enhanced image scaling: the
scaleX
andscaleY
values should only be1
or-1
before, but now they can be any numbers. - Improved crop box resizing behavior in the northeast, northwest, southeast and southwest directions.
- Improved crop box resizing behavior in the east, west, south and north directions.
- Added two new options (
imageSmoothingEnabled
andimageSmoothingQuality
) togetCroppedCanvas
method.
- Improved performance for large images(#856).
- Fixed the issue of
ArrayBuffer
reference error in IE9 (#885). - Fixed an issue of canvas box initialization.
- Use
window.jQuery
instead ofwindow.$
for browser side usage (#876). - Change the
main
field value fromdist/cropper.js
(UMD) todist/cropper.common.js
(CommonJS). - Added
module
andbrowser
fields topackage.json
.
- Clear cached pointers correctly to avoid touch zoom problem.
- Improve the
responsive
option (only available when the container width/height great than the minContainerWidth/Height) - Improve the
toggleDragModeOnDblclick
option (only available when thedragMode
option is set tocrop
ormove
)
- Fixed the bug of rotate square image lead image shrink.
- Improved RegExps for DataURL processing.
- Use CSS3 2D Transforms instead of
left
andtop
for better performance. - Set
withCredentials
attribute when read the image data by XMLHttpRequest.
- Removed
build
event. - Renamed
built
event toready
. - Removed event namespace.
- Ported code to ECMAScript 6.
- Dropped IE8 support.
- Improved event handler for Pointer Events (#824).
- Improved setCropBoxData method.
- Fixed a bug of auto crop when replace the image.
- Fixed a bug of cropping in view mode 1 and 2.
- Fixed a bug of calling
ready
event twice when callreplace
method. - Fixed dependencies problem in the package.json file.
- Allow scroll when the
dragMode
is "none" on touch screens (#727). - Fixed the issue of orientation transform (#740).
- Fixed wrong property reference (#705)
- Fixed the wrong place of the crop event triggering (#706).
- Fixed the calling order of
scale
androtate
(#709).
- Improved the rotate and scale transform behavior (#633, idea by afeibus).
- Improved the
getCroppedCanvas
method to return the whole canvas if it is not cropped (#666, PR by @vinnymac). - Check cross origin setting when load image by XMLHTTPRequest (#669)
- Added a new parameter to the
replace
method for applying filters. - Improved the image initializing for Safari (#120, #509).
- Fixed incorrect size limitation of the crop box.
- Fixed incorrect cropped canvas when scaleX or scaleY great than 1 (#598).
- Fixed crossOriginUrl undefined error when exists the
crossOrigin
property.
- Fixed a dimension bug in the "getCroppedCanvas" method.
- Added an example for cropping round image.
- Supports to zoom from event triggering point.
- Limit wheel speed to prevent zoom too fast
- Improve the
setCropBoxData
method
- Handle Data URL (Fixed #540: avoid to use XMLHttpRequest to open a Data URL)
- Handle ajax error when load ArrayBuffer
- Not to transform the image to base64 when Orientation equals to
1
- Added a new option:
checkOrientation
(#120, #509) - Added a timestamp to the url of preview image (#531)
- Added new
restore
option
- Fixed #476: Floor the numerical parameters for
CanvasRenderingContext2D.drawImage
- Improved new crop box creating
- Supports four modes
- Supports three drag modes
- Improved the experience of cropping
- Makes the crop box's borders and handlers visible when overflow
- Fixed an issue of canvas limitation
- Fixed an issue of cropping
- Added
viewMode
- Added
dragMode
- Renamed
touchDragZoom
tozoomOnTouch
- Renamed
mouseWheelZoom
tozoomOnWheel
- Renamed
doubleClickToggle
totoggleDragModeOnDblclick
- Renamed
checkImageOrigin
tocheckCrossOrigin
- Removed
strict
(supported byviewMode: 1
) - Removed
dragCrop
(supported bydragMode: 'crop'
)
- Added
moveTo
- Added
zoomTo
- Added
rotateTo
- Added
scaleX
- Added
scaleY
- Improved
getCanvasData
(addednaturalWidth
andnaturalHeight
)
- Improved
zoom
(changedevent.ratio
and addedevent.oldRatio
)
- Improved canvas limitation
- Improved preview
- Improved test
- Fixed an error in the
clear
method (missed parameters) - Fixed the issue of crop box limitation (#430)
- Moved from Less to Sass
- Fixed the issue of
destroy
method (#434) - Fixed the issue on IE8 (#319)
- Added an example for customizing preview
- Added download button to documentation
- Added FAQ
- Optimize "built" and "crop" events
- Improve the starting speed (#422)
- Improve the building process (#428)
- Fix event issue on IE8 (#319)
- Improve
setCropBoxData
method (#385) - Fix event issue on IE10 (#394)
- Optimize code (use
var
for per variable)
- Add "scalable" option
- Add "wheelZoomRatio" option
- Convert "crop" option to "crop" event
- Add "scale" method
- Improve "move" method (the
offsetY
parameter is optional now)
- Rename "dragstart" to "cropstart"
- Rename "dragmove" to "cropmove"
- Rename "dragend" to "cropend"
- Merge "zoomin" and "zoomout" to "zoom"
- Merge "crop" option and "change" event to "crop" event
- Add Pointer Events support (#328)
- Add RTL support (#342)
- Add one new option: "center" (#367)
- Allow cropper to grow vertically (#350)
- Add three new options: "change", "cropBoxMovable", "doubleClickToggle"
- Change "movable" option (only for image)
- Rename "resizable" to "cropBoxResizable"
- Add one new event: "change.cropper"
- Locking aspect ratio in "free mode" by holding shift key (#259)
- Sync drag mode to crop box when it is not movable (#300)
- Add one new option: "data"
- Add two new methods: "setData" (#290, #296), "crop" (#275)
- Fix incorrect minWidth/Height size of canvas (#295)
- Fix the strict mode bug (#280)
- Fix the crop box resizing bug (#277)
- Improve strict mode to show full image
- Add two new options: "minCanvasWidth" and "minCanvasHeight"
- Reverse mouse wheeling zoom
- Fix incorrect cursor in disabled state
- Fix the touch zoom issue (#206)
- Fix the reset issue (#246)
- Wraps image with a virtual canvas (for zooming and rotating).
- Limits image position and size in strict mode.
- Supports multiple global croppers by default.
- Outputs cropped canvas for display or get Data URL or get Blob
- Identifies drag events with "event.dragType" property
- Added zoom events for controlling the canvas (image) size.
- Improved responsiveness for window resizing.
- Change "minContainerWidth" (default value: 300 -> 200)
- Change "minContainerHeight" (default value: 150 -> 100)
- Add "strict"
- Add "zoomin"
- Add "zoomout"
- remove "global"
- Change "replace" (not to change the original image any more)
- Change "getImageData" (move rotation-related properties to canvas data)
- Add "getContainerData"
- Add "getCanvasData"
- Add "setCanvasData"
- Add "getCroppedCanvas"
- Remove "setImageData" (replace with "getCanvasData")
- Remove "getDataURL" (replace with "getCroppedCanvas")
- Add "event.dragType" property to drag events
- Add "zoomin.cropper"
- Add "zoomout.cropper"
- Refactored source code.
- Compiles CSS with Less CSS preprocessors.
- Supports fixed container.
- Supports rotation with CSS3 2D Transforms.
- Change the default value of "aspectRatio"
- Rename "done" to "crop"
- Rename "dashed" to "guides"
- Rename "multiple" to "global"
- Add "background"
- Add "highlight"
- Add "responsive"
- Add "mouseWheelZoom"
- Add "touchDragZoom"
- Add "minCropBoxWidth"
- Add "minCropBoxHeight"
- Add "minContainerWidth"
- Add "minContainerHeight"
- Remove "data"
- Remove "minWidth"
- Remove "minHeight"
- Remove "maxWidth"
- Remove "maxHeight"
- Change "reset"
- Add "setImageData"
- Add "getCropBoxData"
- Add "setCropBoxData"
- Add "move"
- Remove "setData"
- Improve preview.
- Improve rotation.
- Improve responsiveness (#157).
- Enable to move the image when the size of the crop box is the same as the container's (#186).
- Add two new options: "minContainerWidth" and "minContainerHeight".
- Improve three methods: "setAspectRatio", "destroy" and "disable".
- Improve mouse wheel zoom.
- Improve drag resizing.
- Fix a bug of "dragCrop" option.
- Add a timestamp to the url to bust cache when it's a cross-origin image (#148).
- Fix the issue of "autoCropArea" option (#144).
- Fix events binding bugs.
- Change the "done" option and the "getData" method (returns floating-point number) (#130).
- Fix the rotation issue after replace the image (#139).
- Reset the ratio when replace the image.
- Add a new option: "checkImageOrigin" (#119).
- Prevent to call the "done" option when it's disabled (#107).
- Improve the preview (#95).
- Improve "getDataURL" method, enable to customize the image sizes (#105).
- Fix the issue of destroy (#101).
- Fix the issue of canvas (#106).
- Supports cross-origin image (#96, #97).
- Add a new option: "autoCropArea".
- Improve "movable" option.
- Output rotation degree by "getImageData" method (#94).
- Fix the image rotation error in Firefox (#92).
- Rebuild "rotate" method (#88).
- Fix the issue of free ratio (#87).
- Improve "getDataURL" method (#86).
- Optimize event listeners.
- Supports zoom (#36, #79).
- Supports rotation (#1, #81).
- Add two new options: "zoomable" and "rotatable".
- Add six new methods: "enable", "disable", "zoom", "rotate", "getDataURL" (#80) and "setDragMode".
- Rename "release" method to "clear".
- Rename "setImgSrc" method to "replace".
- Rename "getImgInfo" method to "getImageData".
- Some other improvements.
- Hide the modal when release the crop box.
- Improve touch events.
- Fix an event error.
- Add six new options: "dashed", "build", "built", "dragstart", "dragmove" and "dragend".
- Add three new events: "dragstart.cropper", "dragmove.cropper" and "dragend.cropper".
- Remove an old event: "render.cropper".
- Supports to toggle the dashed lines by "dashed" option (#68).
- Fix the issue of events (#71).
- Optimize the source code.
- Improve the render when the mouse out of the cropper container (#54).
- Fix typos: replace "resizeable" with "resizable" and "moveable" with "movable".
- Fix the issue (#64) that the crop box could not move after multiple touches.
- Fix a bug of type checking in the options.
- Compress the cropper template string.
- Supports canvas (#55).
- Add a new option: "multiple".
...
- Add eight new options: "autoCrop", "dragCrop", "moveable", "resizeable", "maxWidth", "maxHeight", "minWidth" and "minHeight".
- Add three new methods: "reset", "release" and "destroy".
- Add three new events: "build.cropper", "built.cropper" and "render.cropper".
- Remove two old methods: "enable" and "disable".
- Remove three old events: "dragstart", "dragmove" and "dragend".
- Supports no conflict with the "$.fn.cropper.noConflict" method.
...
- Supports touch.
- Supports events.
- Add three events: "dargstart", "dargmove" and "dargend".
- Add a new method: "setImgSrc".
...
- Supports free ratio.
- Add a new option: "data".
- Add four new methods: "getData", "setData", "getImgInfo" and "setAspectRatio".
...
- Supports four options: "aspectRatio", "done", "modal" and "preview".
- Supports two methods: "enable" and "disable".