- updated: use UZIP to compress PNG image instead of Canvas
- fixed: PNG transparent background become black after compression #84, #76
- fixed: progress jump back to 0 when Web Worker failback to main thread #90
- added: new option for setting initial quality level #64, #78
- fixed: options object being altered by the compress func #71
- fixed: issue with output size of png compression #57
- fixed: issue with SSR #58
- fixed: issue in Web Worker when onProgress is undefined #50
- fixed: handle behavior change of exif orientation in iOS 13.4.1 and Safari 13.1 Desktop #52
- updated: typescript type definitions to resolve #54
- updated: compression becomes less aggressive, output file is closer to the 'maxWidthOrHeight' and/or 'maxSizeMB' in config
- fixed: file size increased in specific situation
- added: support for Server Side Rendering (SSR)
- updated: ts type file
- added: onProgress function in options for compression progress updates
- added: allow fileType override
- added: ts type file
- updated: useWebWorker default set to false
- fixed: garbage clean canvas for safari
- fixed: issue in Cordova support
- fixed: issue in IE browser
- fixed: other issues
- fixed: exif orientation do not work in some situations
- added: support for cordova project that uses cordova-plugin-file
- optimized: follow image exif orientation even though image do not required to compress or resize
- fixed: error may throw on iPhone Safari because of OffscreenCanvas cannot get 2d context
- fixed: exif orientation do not work in some situations
- fixed: bug related to image orientation and squeezing
- fixed: bug related to wrong image output resolution in some cases
- breaking change: change "imageCompression" function signature
- optimized: use of OffscreenCanvas when support, fallback to document.createElement('canvas')
- optimized: use createImageBitmap when support, fallback to FileReader readAsDataURL
- added: support web worker
- added: follows image exif orientation