aboutsummaryrefslogtreecommitdiffstats
path: root/library/cropperjs/CHANGELOG.md
blob: 5cddd48751e3f1a574674408b33c4dca0afb48b0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
# Changelog

## 1.5.6 (Oct 4, 2019)

- Improve event type determining for iOS 13+ (#571).

## 1.5.5 (Aug 3, 2019)

- Clone the image's `crossOrigin` attribute always even though the `checkCrossOrigin` is set to `false` (#535).
- Improve browser environment detecting (#554).

## 1.5.4 (Jul 20, 2019)

- Avoid removing the events of the original image.
- Avoid requesting any Data URLs by XMLHttpRequest for better performance (#526).
- Add an `alt` attribute to all internal images for better accessibility (#548).
- Transform `enum`s to `type`s from the definition files for TypeScript (#550).

## 1.5.3 (Jul 10, 2019)

- Compute the size of the image for all browsers that use WebKit as the layout engine in iOS devices, such as Safari and in-app browsers (#544).

## 1.5.2 (Jun 30, 2019)

- Alway add a timestamp to the URL of a cross-origin image (#519).

## 1.5.1 (Mar 10, 2019)

- Revert the minimum container width from `300` to `200`.
- Revert the minimum container height from `150` to `100`.

## 1.5.0 (Mar 10, 2019)

- Add `passive: false` and `capture: true` to wheel event for better performance.
- Improve touch event binding.
- Ignore the pointer events are not triggered by the primary button.
- Fix typed array spreading error in IE or Safari 9.
- Fix the RegExp for the Safari browser detecting to ignore Chrome (#478).

## 1.4.3 (Oct 24, 2018)

- Ignore range error when the image does not have correct Exif information

## 1.4.2 (Oct 15, 2018)

- Read orientation only when it is a JPEG image.
- Improve cropper instance storage to avoid side effect (#394).
- Fix parameter error of `Object.assign` in iOS devices (#432).
- Improve typed array loop for better performance (#435).

## 1.4.1 (Jul 15, 2018)

- Not to restrict the canvas position when it is not cropped.
- Fix wrong crop box size in view mode 1 and 2 (#381).

## 1.4.0 (Jun 1, 2018)

- Added 1 new option: `initialAspectRatio`.
- Improve the smoothness of crop box resizing.

## 1.3.6 (May 20, 2018)

- Check orientation only when both the `rotatable` and `scalable` options are set to `true`.
- In case rounding off leads to extra 1px in right or bottom border we should round the top-left corner and the dimension (#343).

## 1.3.5 (Apr 15, 2018)

- Ensure the cloned image loads completely before trigger the `ready` event to avoid side effect (#303).
- Add namespace to data attribute names (from `data-*` to `data-cropper-*`) to avoid side effect (#319).

## 1.3.4 (Mar 31, 2018)

- Compute destination sizes with image's aspect ratio when draw image (#326).

## 1.3.3 (Mar 18, 2018)

- Improve event binding.
- Add missing `pivot` definition to `zoomTo` method (#320)

## 1.3.2 (Mar 3, 2018)

- Fix the bug of cropping image with orientation (#313).

## 1.3.1 (Feb 28, 2018)

- Add missing `width` and `height` definitions (#302).
- Fix incorrect behavior of `viewMode: 2` (#304).
- Fix the bug of multiple starts (#306).
- Remove `browser` field from the `package.json` file (#307).

## 1.3.0 (Feb 25, 2018)

- Add type definition files for TypeScript.
- Enhance the `preview` option to support `Array` and `NodeList`.
- Fix incorrect cropped canvas sizes when max/min sizes provided.

## 1.2.2 (Jan 3, 2018)

- Fix incorrect image natural sizes in iOS Safari (#279).

## 1.2.1 (Dec 17, 2017)

- Add `style` field to `package.json`.
- Fix size error when load SVG image (#256).

## 1.2.0 (Dec 17, 2017)

- Allow to set the pivot of zoom (#144).
- Fixed a bug of rotation (#260).

## 1.1.3 (Oct 21, 2017)

- Fixed a bug of render when disable one of `rotatable` and `scalable` options (#241).

## 1.1.2 (Oct 18, 2017)

- Normalize related decimal numbers when crop an image with canvas.

## 1.1.1 (Oct 11, 2017)

- Supports to load in node environment (#237).
- Fixed a bug of event binding (#238).

## 1.1.0 (Oct 8, 2017)

- Added 4 new options to `getCroppedCanvas` method:  `minWidth`, `minHeight`, `maxWidth` and `maxHeight`.
- Enhanced image scaling: the `scaleX` and `scaleY` values should only be `1` or `-1` before, but now they can be any numbers.
- Improved crop box resizing behavior in the northeast, northwest, southeast and southwest directions. (#222).

## 1.0.0 (Sep 3, 2017)

- Fixed a bug of zoom out after cleared the crop box in view mode 1, 2 and 3 (#209).
- Improve crop box resizing behavior in the east, west, south and north directions (#222).

## 1.0.0-rc.3 (Jul 7, 2017)

- Added two new options (`imageSmoothingEnabled` and `imageSmoothingQuality`) to `getCroppedCanvas` method.
- Fixed a bug of RegExp using (#195 by @arusakov).

## 1.0.0-rc.2 (May 30, 2017)

- Fixed the issue of canvas box initialization (#179).

## 1.0.0-rc.1 (Apr 30, 2017)

- Change the `main` field value from `dist/cropper.js` (UMD) to `dist/cropper.common.js` (CommonJS).
- Added `module` and `browser` fields to `package.json`.

## 1.0.0-rc (Mar 25, 2017)

- Fixed the bug of touch zoom (#161).
- Fixed the bug of window resize (#162).
- Improve the `toggleDragModeOnDblclick` option (only available when the `dragMode` option is set to `crop` or `move`)

## 1.0.0-beta.2 (Feb 25, 2017)

- Fixed the bug of rotate square image lead image shrink (#155).
- Improved RegExps for DataURL processing (#156).

## 1.0.0-beta.1 (Jan 21, 2017)

- Use CSS3 2D Transforms instead of `left` and `top` for better performance (#138).
- Set `withCredentials` attribute when read the image data by XMLHttpRequest (#141).

## 1.0.0-beta (Jan 1, 2017)

- Supports to set an element for preview (#113).
- Improved event handler for Pointer Events (#127).

## 1.0.0-alpha (Dec 4, 2016)

- Built JavaScript with Rollup.
- Build CSS with PostCSS.
- Fixed a bug of auto crop when replace the image (#83).

## 0.8.1 (Sep 3, 2016)

- Fixed the bug of cropping (#80).
- Fixed the bug of calling `ready` event twice when call `replace` method (#81).
- Fixed the bug of `getCroppedCanvas` when set `scalable` or `rotatable` to `false` (#82).

## 0.8.0 (Aug 18, 2016)

- Removed `build` event.
- Renamed `built` event to `ready`.
- Fixed the error of orientation transform.
- Ported code to ECMAScript 6.

## 0.7.2 (Jun 8, 2016)

- Fixed a bug of `data-*` attributes setting and getting.
- Fixed the calling order of `scale` and `rotate`.

## 0.7.1 (May 28, 2016)

- Improved the rotate and scale transform behavior.
- Improved the `getCroppedCanvas` method (returns the whole canvas if it is not cropped).
- Check cross origin setting when load image by XMLHTTPRequest.

## 0.7.0 (Mar 20, 2016)

- Supports 7 custom events: `build`, `built`, `cropstart`, `cropmove`, `cropend`, `crop` and `zoom`.
- The original callback options become shortcuts of these events now.
- IE8 is no longer supported after added these custom events.

## 0.6.0 (Feb 22, 2016)

- Added a new parameter to the `replace` method for applying filters.
- Improved the image initializing for Safari.
- Fixed incorrect size limitation of the crop box (#30).
- Fixed incorrect cropped canvas when scaleX or scaleY great than 1.

## 0.5.6 (Jan 18, 2016)

- Fixed crossOriginUrl undefined error when exists the `crossOrigin` property.
- Fixed the issue in the "destroy" method (#24).
- Optimized tests.

## 0.5.5 (Jan 1, 2016)

- Fixed a dimension bug in the "getCroppedCanvas" method.
- Added an example for cropping round image.

## 0.5.4 (Dec 28, 2015)

- Supports to zoom from event triggering point.

## 0.5.3 (Dec 24, 2015)

- Limit wheel speed to prevent zoom too fast (#21)
- Improve the `setCropBoxData` method (#22)

## 0.5.2 (Dec 15, 2015)

- Fix event handlers

## 0.5.1 (Dec 12, 2015)

- Handle Data URL (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`
- Fix some typos

## 0.5.0 (Dec 5, 2015)

- Added a new option: `checkOrientation`
- Added a timestamp to the url of preview image

## 0.4.0 (Dec 2, 2015)

- Added a new option: `restore`
- Fixed #12: Added vendor prefixes to CSS `transform`

## 0.3.3 (Nov 30, 2015)

- Floor the numerical parameters for `CanvasRenderingContext2D.drawImage`

## 0.3.2 (Nov 18, 2015)

- Fixed #10: improve new crop box creating

## 0.3.1 (Nov 11, 2015)

- Fixed #7: reset the `crossOrigin` when call the `replace` method

## 0.3.0 (Oct 28, 2015)

- Supports four view modes
- Supports three drag modes
- Makes the crop box's borders and handlers visible when overflow
- Added some examples
- Fixed some issues

### Options

- Added `viewMode`
- Added `dragMode`
- Renamed `touchDragZoom` to `zoomOnTouch`
- Renamed `mouseWheelZoom` to `zoomOnWheel`
- Renamed `doubleClickToggle` to `toggleDragModeOnDblclick`
- Renamed `checkImageOrigin` to `checkCrossOrigin`
- Removed `strict` (supported by `viewMode: 1`)
- Removed `dragCrop` (supported by `dragMode: 'crop'`)

## 0.2.1 (Oct 28, 2015)

- Fix the error jQuery reference on the `setCanvasData` method
- Fix typo on the `destroy` method

## 0.2.0 (Oct 25, 2015)

- Added 5 new methods: `moveTo`, `zoomTo`, `rotateTo`, `scaleX` and `scaleY`
- Improved 4 methods:  `move`, `zoom`, `rotate` and `getCanvasData`
- Improved cropping

## 0.1.1 (Oct 10, 2015)

- Improved canvas limitation
- Improved crop box limitation
- Improved preview for cross origin image

## 0.1.0 (Sep 25, 2015)

- Supports touch (mobile)
- Supports zoom
- Supports rotation
- Supports scale (flip)
- Supports canvas
- Supports multiple croppers
- Cross-browser support
- Supports 37 options: `aspectRatio`, `data`, `preview`, `strict`, `responsive`, `checkImageOrigin`, `modal`, `guides`, `center`, `highlight`, `background`, `autoCrop`, `autoCropArea`, `dragCrop`, `movable`, `rotatable`, `scalable`, `zoomable`, `mouseWheelZoom`, `wheelZoomRatio`, `touchDragZoom`, `cropBoxMovable`, `cropBoxResizable`, `doubleClickToggle`, `minCanvasWidth`, `minCanvasHeight`, `minCropBoxWidth`, `minCropBoxHeight`, `minContainerWidth`, `minContainerHeight`, `build`, `built`, `cropstart`, `cropmove`, `cropend`, `crop`, `zoom`.
- Support 22 methods: `crop`, `reset`, `clear`, `replace`, `enable`, `disable`, `destroy`, `move`, `zoom`, `rotate`, `scale`, `getData`, `setData`, `getContainerData`, `getImageData`, `getCanvasData`, `setCanvasData`, `getCropBoxData`, `setCropBoxData`, `getCroppedCanvas`, `setAspectRatio`, `setDragMode`.