kangax/fabric.js
### [`v2.7.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#270)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.6.0...v2.7.0)
- Add: strokeUniform property, avoid stroke scaling with paths [#5473](https://togithub.com/fabricjs/fabric.js/pull/5473)
- Fix: fix bug in image setSrc [#5502](https://togithub.com/fabricjs/fabric.js/pull/5502)
- Add: strokeUniform import/export svg [#5527](https://togithub.com/fabricjs/fabric.js/pull/5527)
- Fix: GraphemeSplit and toSvg for circle [#5544](https://togithub.com/fabricjs/fabric.js/pull/5544)
- Improvement: support running in a XML document [#5530](https://togithub.com/fabricjs/fabric.js/pull/5530)
### [`v2.6.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#260)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.5.0...v2.6.0)
- Fix: avoid ie11 to throw on weird draw images [#5428](https://togithub.com/fabricjs/fabric.js/pull/5428)
- Fix: a rare case of invisible clipPath [#5477](https://togithub.com/fabricjs/fabric.js/pull/5477)
- Fix: testability of code under node when webgl is involved [#5478](https://togithub.com/fabricjs/fabric.js/pull/5478)
- Add: Grapeheme text wrapping for Textbox (Textbox.splitByGrapheme) [#5479](https://togithub.com/fabricjs/fabric.js/pull/5479)
- Add: fabric.Object.toCanvasElement [#5481](https://togithub.com/fabricjs/fabric.js/pull/5481)
### [`v2.5.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#250)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.6...v2.5.0)
- Fix: textbox transform report newScaleX and newScaleY values [#5464](https://togithub.com/fabricjs/fabric.js/pull/5464)
- Fix: export of svg and gradient with transforms [#5456](https://togithub.com/fabricjs/fabric.js/pull/5456)
- Fix: detection of controls in perPixelTargetFind + cache [#5455](https://togithub.com/fabricjs/fabric.js/pull/5455)
- Add: added canvas.toCanvasElement method [#5452](https://togithub.com/fabricjs/fabric.js/pull/5452)
### [`v2.4.6`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#246)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.5...v2.4.6)
- Fix: unbreak the svg export broken in 2.4.5 [#5438](https://togithub.com/fabricjs/fabric.js/pull/5438)
### [`v2.4.5`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#245)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.4...v2.4.5)
- Fix: svg import/export for canvas+clipPath and letterspacing. [#5424](https://togithub.com/fabricjs/fabric.js/pull/5424)
- Fix: avoid stroke dash from group selection to leak on upper canvas [#5392](https://togithub.com/fabricjs/fabric.js/pull/5392)
### [`v2.4.4`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#244)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.3...v2.4.4)
- Fix: add clipPath to stateful cache check. [#5384](https://togithub.com/fabricjs/fabric.js/pull/5384)
- Fix: restore draggability of small objects [#5379](https://togithub.com/fabricjs/fabric.js/pull/5379)
- Improvement: Added strokeDashOffset to objects and from SVG import. [#5398](https://togithub.com/fabricjs/fabric.js/pull/5398)
- Fix: do not mark objects as invisible if strokeWidth is > 0 [#5382](https://togithub.com/fabricjs/fabric.js/pull/5382)
- Improvement: Better gradients parsing with xlink:href [#5357](https://togithub.com/fabricjs/fabric.js/pull/5357)
### [`v2.4.3`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#243)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.2...v2.4.3)
- Fix: Shift click and onSelect function [#5348](https://togithub.com/fabricjs/fabric.js/pull/5348)
- Fix: Load from Json from images with filters and resize filters [#5346](https://togithub.com/fabricjs/fabric.js/pull/5346)
- Fix: Remove special case of 1x1 rect [#5345](https://togithub.com/fabricjs/fabric.js/pull/5345)
- Fix: Group with clipPath restore [#5344](https://togithub.com/fabricjs/fabric.js/pull/5344)
- Fix: Fix shift + click interaction with unselectable objects [#5324](https://togithub.com/fabricjs/fabric.js/pull/5324)
### [`v2.4.2`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#242)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.1...v2.4.2)
- Fix: Better toSVG support to enable clipPath [#5284](https://togithub.com/fabricjs/fabric.js/pull/5284)
- Fix: Per pixel target find and groups and sub targets [#5287](https://togithub.com/fabricjs/fabric.js/pull/5287)
- Fix: Object clone as Image and shadow clipping [#5308](https://togithub.com/fabricjs/fabric.js/pull/5308)
- Fix: IE11 loading SVG [#5307](https://togithub.com/fabricjs/fabric.js/pull/5307)
### [`v2.4.1`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#241)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.0...v2.4.1)
- Fix: Avoid enterEditing if another object is the activeObject [#5261](https://togithub.com/fabricjs/fabric.js/pull/5261)
- Fix: clipPath enliving for Image fromObject [#5279](https://togithub.com/fabricjs/fabric.js/pull/5279)
- Fix: toDataURL and canvas clipPath [#5278](https://togithub.com/fabricjs/fabric.js/pull/5278)
- Fix: early return if no xml is available [#5263](https://togithub.com/fabricjs/fabric.js/pull/5263)
- Fix: clipPath svg parsing in nodejs [#5262](https://togithub.com/fabricjs/fabric.js/pull/5262)
- Fix: Avoid running selection logic on mouse up [#5259](https://togithub.com/fabricjs/fabric.js/pull/5259)
- Fix: fix font size parsing on SVG [#5258](https://togithub.com/fabricjs/fabric.js/pull/5258)
- Fix: Avoid extra renders on mouseUp/Down [#5256](https://togithub.com/fabricjs/fabric.js/pull/5256)
### [`v2.4.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#240)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.6...v2.4.0)
- Add: Add clipPath support to canvas and svg import/export. Low compatibility yet.
### [`v2.3.6`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#236)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.5...v2.3.6)
- Fix: Make image.class aware of naturalWidth and naturalHeight. [#5178](https://togithub.com/fabricjs/fabric.js/pull/5178)
- Fix: Make 2 finger events works again [#5177](https://togithub.com/fabricjs/fabric.js/pull/5177)
- Fix: Make Groups respect origin and correct position ( fix spray/circle brushes ) [#5176](https://togithub.com/fabricjs/fabric.js/pull/5176)
### [`v2.3.5`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#235)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.4...v2.3.5)
- Change: make canvas.getObjects() always return a shallow copy of the array [#5162](https://togithub.com/fabricjs/fabric.js/pull/5162)
- Fix: Improve fabric.Pattern.toSVG to look correct on offsets and no-repeat [#5164](https://togithub.com/fabricjs/fabric.js/pull/5164)
- Fix: Do not enter edit in Itext if the mouseUp is relative to a group selector [#5153](https://togithub.com/fabricjs/fabric.js/pull/5153)
- Improvement: Do not require xlink namespace in front of href attribut for svgs ( is a SVG2 new spec, unsupported ) [#5156](https://togithub.com/fabricjs/fabric.js/pull/5156)
- Fix: fix resizeFilter having the wrong cached texture, also improved interaction between filters [#5165](https://togithub.com/fabricjs/fabric.js/pull/5165)
### [`v2.3.4`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#234)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.3...v2.3.4)
- Fix: ToSVG was ignoring excludeFromExport for backgroundImage and OverlayImage. [#5075](https://togithub.com/fabricjs/fabric.js/pull/5075)
- Fix: ToSVG for circle with start and end angles. [#5085](https://togithub.com/fabricjs/fabric.js/pull/5085)
- Fix: Added callback for setPatternFill. [#5101](https://togithub.com/fabricjs/fabric.js/pull/5101)
- Fix: Resize filter taking in account multiple scale sources. [#5117](https://togithub.com/fabricjs/fabric.js/pull/5117)
- Fix: Blend image filter clean after refilter. [#5121](https://togithub.com/fabricjs/fabric.js/pull/5121)
- Fix: Object.toDataURL should not be influenced by zoom. [#5139](https://togithub.com/fabricjs/fabric.js/pull/5139)
- Improvement: requestRenderAllBound add to Canvas instance. [#5138](https://togithub.com/fabricjs/fabric.js/pull/5138)
- Improvement: Make path bounding cache optional and also reacheable/cleanable [#5140](https://togithub.com/fabricjs/fabric.js/pull/5140)
- Improvement: Make the logic of isNeutralState filters work before filtering start. [#5129](https://togithub.com/fabricjs/fabric.js/pull/5129)
- Improvement: Added some code to clean up some memory when canvas is disposed in nodejs. [#5142](https://togithub.com/fabricjs/fabric.js/pull/5142)
- Fix: Make numeric origins work with group creation. [#5143](https://togithub.com/fabricjs/fabric.js/pull/5143)
### [`v2.3.3`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#233)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.2...v2.3.3)
- Fix: Fixed font generic names for text, measurement of zero width related characters and also trailing of cursor when zooming. [#5048](https://togithub.com/fabricjs/fabric.js/pull/5048)
### [`v2.3.2`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#232)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.1...v2.3.2)
- Fix: justify + charspacing + textDecoration Add and improve more events for transformations and mouse interaction. [#5007](https://togithub.com/fabricjs/fabric.js/pull/5007) [#5009](https://togithub.com/fabricjs/fabric.js/pull/5009)
- Fix: Enter edit on object selected programmatically. [#5010](https://togithub.com/fabricjs/fabric.js/pull/5010)
- Fix: Canvas.dispose was not removing all events properly. [#5020](https://togithub.com/fabricjs/fabric.js/pull/5020)
- Fix: Make rgba and hsla regex work case insensitive. [#5017](https://togithub.com/fabricjs/fabric.js/pull/5017)
- Fix: Make group transitioning from not cached to cached work. [#5021](https://togithub.com/fabricjs/fabric.js/pull/5021)
### [`v2.3.1`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#231)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.0...v2.3.1)
- Improve nested svg import and text positioning, spikes. [#4984](https://togithub.com/kangax/fabric.js/pull/4984)
### [`v2.3.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#230)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.2.4...v2.3.0)
- Add and improve more events for transformations and mouse interaction [#4979](https://togithub.com/kangax/fabric.js/pull/4979)
- Improvement: whenever possible use cache for target transparency sampling [#4955](https://togithub.com/kangax/fabric.js/pull/4955)
### [`v2.2.4`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#224)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.2.3...v2.2.4)
- Fix getPointer on touch devices [#4866](https://togithub.com/kangax/fabric.js/pull/4866)
- Fix issues with selectionDashArray bleeding into free drawing [#4894](https://togithub.com/kangax/fabric.js/pull/4894)
- Fix blur filter for nodejs [#4905](https://togithub.com/kangax/fabric.js/pull/4905)
- Fix Register mousemove as non passive to help touch devices [#4933](https://togithub.com/kangax/fabric.js/pull/4933)
- Fix modified shadow tosvg for safari compatibility [#4934](https://togithub.com/kangax/fabric.js/pull/4934)
- Fix shader to avoid premultiplied alpha pixel getting dirty in blend filter [#4936](https://togithub.com/kangax/fabric.js/pull/4936)
- Add isPartiallyOnScreen method [#4856](https://togithub.com/kangax/fabric.js/pull/4856)
- Fix isEqual failing on array/null or objects/null/string compare [#4949](https://togithub.com/kangax/fabric.js/pull/4949)
- Fix pencilBrush with alpha and with rerendering canvas [#4938](https://togithub.com/kangax/fabric.js/pull/4938)
### [`v2.2.3`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#223)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.2.2...v2.2.3)
- improvement: Allow to parse quoted url string. url('#myid') [#4881](https://togithub.com/kangax/fabric.js/pull/4881)
- improvement: text fromSVG import char-spacing attribute [#3718](https://togithub.com/kangax/fabric.js/pull/3718)
- fix: text toSVG export with multiple spaces in safari [#4880](https://togithub.com/kangax/fabric.js/pull/4880)
- fix: setSrc reset width and height on images [#4877](https://togithub.com/kangax/fabric.js/pull/4877)
- improvements: Removed forced origin swap when rotating [#4878](https://togithub.com/kangax/fabric.js/pull/4878)
- fix: Make the background of canvas cover all SVG in toSVG export [#4852](https://togithub.com/kangax/fabric.js/pull/4852)
- fix: Added startAngle to cacheProperties for fabric.Circle [#4875](https://togithub.com/kangax/fabric.js/pull/4875)
- fix: Rerender all the content of upperCanvas if canvas gets resized [#4850](https://togithub.com/kangax/fabric.js/pull/4850)
- fix: Remove references to context when disposing [#4846](https://togithub.com/kangax/fabric.js/pull/4846)
- improvements: Added single quoting to font names in toSVG [#4840](https://togithub.com/kangax/fabric.js/pull/4840)
- improvements: Added reserved space to wrapLine functionality [#4841](https://togithub.com/kangax/fabric.js/pull/4841)
### [`v2.2.2`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#222)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.2.1...v2.2.2)
- Fixed: Applying filters to an image will invalidate its cache [#4828](https://togithub.com/kangax/fabric.js/pull/4828)
- Fixed: Attempt at fix font families that requires quoting [#4831](https://togithub.com/kangax/fabric.js/pull/4831)
- Improvement: check upperCanvas client size for textarea position [#4827](https://togithub.com/kangax/fabric.js/pull/4827)
- Fixed: Attempt to fix multiple touchends [#4804](https://togithub.com/kangax/fabric.js/pull/4804)
- Fixed: Wrapping of textbox with charspacing [#4803](https://togithub.com/kangax/fabric.js/pull/4803)
- Fixed: bad calculation of empty line in text (regression from 2.2.0) [#4802](https://togithub.com/kangax/fabric.js/pull/4802)
### [`v2.2.1`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#221)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.2.0...v2.2.1)
- Reworked how amd and commonJS are together in the same file.
### [`v2.2.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#220)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.1.0...v2.2.0)
- Fixed: super/sub script svg export [#4780](https://togithub.com/kangax/fabric.js/pull/4780)
- Added: Text superScript and subScript support [#4765](https://togithub.com/kangax/fabric.js/pull/4765)
- Fixed: negative kerning support (Pacifico font) [#4772](https://togithub.com/kangax/fabric.js/pull/4772)
- Fixed: removing text on mousedown should be safe now [#4774](https://togithub.com/kangax/fabric.js/pull/4774)
- Improved: pass to inner functions the parameter calculate coords in isOnscreen [#4763](https://togithub.com/kangax/fabric.js/pull/4763)
### [`v2.1.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#210)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.0.3...v2.1.0)
- Added: Added: Drag and drop event binding [#4421](https://togithub.com/kangax/fabric.js/pull/4421)
- Fixed: isEmptyStyle implementation for TextBox [#4762](https://togithub.com/kangax/fabric.js/pull/4762)
### [`v2.0.3`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#203)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.0.2...v2.0.3)
- Fix: now sub target check can work with subclasses of fabric.Group [#4753](https://togithub.com/kangax/fabric.js/pull/4753)
- Improvement: PencilBrush is now compexity 1 instead of complexity N during draw [#4743](https://togithub.com/kangax/fabric.js/pull/4743)
- Fix the cleanStyle was not checking for the right property to exist [#4751](https://togithub.com/kangax/fabric.js/pull/4751)
- Fix onBeforeScaleRotate with canvas zoom [#4748](https://togithub.com/kangax/fabric.js/pull/4748)
### [`v2.0.2`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#202)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.0.1...v2.0.2)
- fixed image toSVG support for crop [#4738](https://togithub.com/kangax/fabric.js/pull/4738)
- changed math for better rounded results [#4734](https://togithub.com/kangax/fabric.js/pull/4734)
### [`v2.0.1`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#201)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.0.0...v2.0.1)
- fixed filter for blend image in WEBGL [#4706](https://togithub.com/kangax/fabric.js/pull/4706)
- fixed interactions between canvas toDataURL and multiplier + retina [#4705](https://togithub.com/kangax/fabric.js/pull/4705)
- fixed bug with originX and originY not invalidating the transform [#4703](https://togithub.com/kangax/fabric.js/pull/4703)
- fixed unwanted mutation on object enliving in fabric.Image [#4699](https://togithub.com/kangax/fabric.js/pull/4699)
### [`v2.0.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#200)
[Compare Source](https://togithub.com/kangax/fabric.js/compare/1.7.22...v2.0.0)
- final
- fix dataurl and svg export on retina and rounding [#4674](https://togithub.com/kangax/fabric.js/pull/4674)
- avoid error if iText is removed on mousedown [#4650](https://togithub.com/kangax/fabric.js/pull/4650)
- fix calcOffset when text enter editing [#4649](https://togithub.com/kangax/fabric.js/pull/4649)
- Gradient fix parsing floats [#4637](https://togithub.com/kangax/fabric.js/pull/4637)
- Add CrossOrigin managment to fabric.Pattern [#4618](https://togithub.com/kangax/fabric.js/pull/4618)
- Add patternTransform toObject saving [#4626](https://togithub.com/kangax/fabric.js/pull/4626)
- normalize brushes render [#4613](https://togithub.com/kangax/fabric.js/pull/4613)
- avoid charspacing shortcut [#4594](https://togithub.com/kangax/fabric.js/pull/4594)
- Fix color toHexa() [#4579](https://togithub.com/kangax/fabric.js/pull/4579)
- rc3 and rc4
- more fixes to transformMatrix memoization
- Canvas.selectionFullyContained allows you to select objects just when full grabbed by the selections. [#4508](https://togithub.com/kangax/fabric.js/pull/4508)
- Remove some ouput of blank spaces from svg in order to avoid extra colored areas [#4524](https://togithub.com/kangax/fabric.js/pull/4524)
- Reinserted a performance shortcut for when there is no style at all [#4519](https://togithub.com/kangax/fabric.js/pull/4519)
- Manage canvas resize during a freedrawing brush without wiping the brush [#4527](https://togithub.com/kangax/fabric.js/pull/4527)
- Removed an extra closePath that was creating wrong visual on IntelIntegrated cards [#4549](https://togithub.com/kangax/fabric.js/pull/4549)
- Added a method to insert and remove text from command line [#4541](https://togithub.com/kangax/fabric.js/pull/4541)
- Some fixes around text styles management
- nodejs support changes: removed specific node code in order to use standard fabricjs code in nodejs.
- added fabric.util.getNodeCanvas that passed a JSDOM element allows you to get the node-canvas instance behind it and do what you need.
- rc2
- Fixed a transform matrix memoize missing width/height [#4491](https://togithub.com/kangax/fabric.js/pull/4491)
- Fix pattern drawing a point [#4492](https://togithub.com/kangax/fabric.js/pull/4492)
- Fixed Text.removeChars [#4495](https://togithub.com/kangax/fabric.js/pull/4495)
- Added back 2 node-canvas methods [#4497](https://togithub.com/kangax/fabric.js/pull/4497)
- Fix a typo not restoring hoverCursor correctly.
- rc1
- Remove node specific code [#4470](https://togithub.com/kangax/fabric.js/pull/4470)
- Improved Canvas.dispose code to leak less memory [#4471](https://togithub.com/kangax/fabric.js/pull/4471)
- Remove extra padding of cache when upper limited [#4467](https://togithub.com/kangax/fabric.js/pull/4467)
- Solved 2 perfomances problems with textbox [#4466](https://togithub.com/kangax/fabric.js/pull/4466) [#4465](https://togithub.com/kangax/fabric.js/pull/4465)
- Added justify-left justify-right and justify-center [#4437](https://togithub.com/kangax/fabric.js/pull/4437)
- Fix Group fromObject and subTargetCheck [#4454](https://togithub.com/kangax/fabric.js/pull/4454)
- Fix regression on IMG from SVG [#4450](https://togithub.com/kangax/fabric.js/pull/4450)
- Remove cache dimensions together with canvas [#4453](https://togithub.com/kangax/fabric.js/pull/4453)
- Fixed some fuzzyness cases for cache [#4452](https://togithub.com/kangax/fabric.js/pull/4452)
- Fixed resize filter for webgl [#4426](https://togithub.com/kangax/fabric.js/pull/4426)
- Stop searching target during a mouse move with a transform [#4442](https://togithub.com/kangax/fabric.js/pull/4442)
- safeguard shaders for non supported precisions [#4433](https://togithub.com/kangax/fabric.js/pull/4433)
- fix insert and remove style for edge cases [#4420](https://togithub.com/kangax/fabric.js/pull/4420)
- Fix object.move when in active selection [#4394](https://togithub.com/kangax/fabric.js/pull/4394)
- Memoize calcTransformMatrix function [#4418](https://togithub.com/kangax/fabric.js/pull/4418)
- Make \_set flag object as dirty just when a real change happen[#4415](https://togithub.com/kangax/fabric.js/pull/4415)
- Add browserShadowBlurConstant to adjust shadowBlur value [#4413](https://togithub.com/kangax/fabric.js/pull/4413)
- Fix set element not clearing the cacheTexture. [#4410](https://togithub.com/kangax/fabric.js/pull/4410)
- Multi selection key can be configured with an array of keys. [#4363](https://togithub.com/kangax/fabric.js/pull/4363)
- fix fast type in text loosing some style. [#4339](https://togithub.com/kangax/fabric.js/pull/4339)
- fixed division by zero with lockscaling flip.
- added paintFirst ( paint-order with svg support ) [#4303](https://togithub.com/kangax/fabric.js/pull/4303)
- beta7
- added a build flag for not attaching fabric to window [#4199](https://togithub.com/kangax/fabric.js/pull/4199)
- removed .active property from objects [#4200](https://togithub.com/kangax/fabric.js/pull/4200)
- Normalize Api for getSelectionStyles, setSelectionStyles [#4202](https://togithub.com/kangax/fabric.js/pull/4202)
- Fix shader for convolute filter [#4207](https://togithub.com/kangax/fabric.js/pull/4207)
- Better mouse support for lockscaling flip [#4225](https://togithub.com/kangax/fabric.js/pull/4225)
- Fix toDataUrl getting a blank canvas [#4229](https://togithub.com/kangax/fabric.js/pull/4229)
- Ouput version to json Objects [#4251](https://togithub.com/kangax/fabric.js/pull/4251)
- Use backstoreOnly for toDataUrl resize [#4254](https://togithub.com/kangax/fabric.js/pull/4254)
- Fix safari svg whitespace [#4294](https://togithub.com/kangax/fabric.js/pull/4294)
- Fix Gradient export for paths [#4274](https://togithub.com/kangax/fabric.js/pull/4274)
- Move mouseout/over in mousemove events [#4283](https://togithub.com/kangax/fabric.js/pull/4283)
- Fix detection of click at the end of line [#4295](https://togithub.com/kangax/fabric.js/pull/4295)
- added new event selection:updated [#4311](https://togithub.com/kangax/fabric.js/pull/4311)
- Fixed free drawing path displacement [#4311](https://togithub.com/kangax/fabric.js/pull/4311)
- Fixed scale equally and flipping not happening [#4313](https://togithub.com/kangax/fabric.js/pull/4313)
- Select by drag makes the object fires 'selected' [#4314](https://togithub.com/kangax/fabric.js/pull/4314)
- beta6
- incompat: New filter system with WEBGL.
- incompat: New Text/IText/Textbox code. Multibyte compatible, more accurate.
- incompat: RequestAnimationFrame is used for the automatic render calls.
- incompat: Named setter/getter are optional now.
- incompat: Removed PathGroup class
- incompat: Paths cannot be restored anymore from strings [#3713](https://togithub.com/kangax/fabric.js/pull/3713)
- incompat: bumped node version to 4+ and jsdom to 9. [#3717](https://togithub.com/kangax/fabric.js/pull/3717)
- incompat: removed the es5 / JSON shim support [#3722](https://togithub.com/kangax/fabric.js/pull/3722)
- fix/incompat: IText setSelectionStyles does not change anymore style if no selection is present [#3765](https://togithub.com/kangax/fabric.js/pull/3765)
- skipOffscreen default to true
- Text.setSelectionStyle does not change anything if there is no selection [#3765](https://togithub.com/kangax/fabric.js/pull/3765)
- Switch to canvas-prebuilt as dependency. Added parameter to choose the canvas package [#3757](https://togithub.com/kangax/fabric.js/pull/3757)
- improvement: renderControls can now be called on its own. Added parameter styleOverride to allow for overriding current properties [#3887](https://togithub.com/kangax/fabric.js/pull/3887)
- removed hasMoved and saveCoords from Group class [#3910](https://togithub.com/kangax/fabric.js/pull/3910)
- forced all fromObject and fromElement to be async, normalized api. [#3996](https://togithub.com/kangax/fabric.js/pull/3996)
- improvement: added support for request animation frame in mouse events [#3997](https://togithub.com/kangax/fabric.js/pull/3997)
- added dblclick support for all objects [#3998](https://togithub.com/kangax/fabric.js/pull/3997)
- textbox scale as a normal object [#4052](https://togithub.com/kangax/fabric.js/pull/4052)
- Removed image meetOrSlice, alignX, alignY, introduced cropX, cropY [#4055](https://togithub.com/kangax/fabric.js/pull/4055)
- Added Text.cleanStyle, Text.removeStyle [#4060](https://togithub.com/kangax/fabric.js/pull/4060)
- change: lockRotation will not hide the mtr control anymore. introduced notAllowedCursor for canvas. [#4064](https://togithub.com/kangax/fabric.js/pull/4064)
- improvement: added 2 percentage values to fabric.util.animate. [#4068](https://togithub.com/kangax/fabric.js/pull/4068)
- change: pathOffset does not get exported anymore in path.toObject, toDatalessObject export sourcePath instead of modifying path. [#4108](https://togithub.com/kangax/fabric.js/pull/4108)
Renovate configuration
:date: Schedule: "after 4pm and before 11:59pm every weekday,after 9am and before 11:59pm every weekend" in timezone Europe/London.
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
1.7.22
->2.7.0
Release Notes
kangax/fabric.js
### [`v2.7.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#270) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.6.0...v2.7.0) - Add: strokeUniform property, avoid stroke scaling with paths [#5473](https://togithub.com/fabricjs/fabric.js/pull/5473) - Fix: fix bug in image setSrc [#5502](https://togithub.com/fabricjs/fabric.js/pull/5502) - Add: strokeUniform import/export svg [#5527](https://togithub.com/fabricjs/fabric.js/pull/5527) - Fix: GraphemeSplit and toSvg for circle [#5544](https://togithub.com/fabricjs/fabric.js/pull/5544) - Improvement: support running in a XML document [#5530](https://togithub.com/fabricjs/fabric.js/pull/5530) ### [`v2.6.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#260) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.5.0...v2.6.0) - Fix: avoid ie11 to throw on weird draw images [#5428](https://togithub.com/fabricjs/fabric.js/pull/5428) - Fix: a rare case of invisible clipPath [#5477](https://togithub.com/fabricjs/fabric.js/pull/5477) - Fix: testability of code under node when webgl is involved [#5478](https://togithub.com/fabricjs/fabric.js/pull/5478) - Add: Grapeheme text wrapping for Textbox (Textbox.splitByGrapheme) [#5479](https://togithub.com/fabricjs/fabric.js/pull/5479) - Add: fabric.Object.toCanvasElement [#5481](https://togithub.com/fabricjs/fabric.js/pull/5481) ### [`v2.5.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#250) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.6...v2.5.0) - Fix: textbox transform report newScaleX and newScaleY values [#5464](https://togithub.com/fabricjs/fabric.js/pull/5464) - Fix: export of svg and gradient with transforms [#5456](https://togithub.com/fabricjs/fabric.js/pull/5456) - Fix: detection of controls in perPixelTargetFind + cache [#5455](https://togithub.com/fabricjs/fabric.js/pull/5455) - Add: added canvas.toCanvasElement method [#5452](https://togithub.com/fabricjs/fabric.js/pull/5452) ### [`v2.4.6`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#246) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.5...v2.4.6) - Fix: unbreak the svg export broken in 2.4.5 [#5438](https://togithub.com/fabricjs/fabric.js/pull/5438) ### [`v2.4.5`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#245) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.4...v2.4.5) - Fix: svg import/export for canvas+clipPath and letterspacing. [#5424](https://togithub.com/fabricjs/fabric.js/pull/5424) - Fix: avoid stroke dash from group selection to leak on upper canvas [#5392](https://togithub.com/fabricjs/fabric.js/pull/5392) ### [`v2.4.4`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#244) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.3...v2.4.4) - Fix: add clipPath to stateful cache check. [#5384](https://togithub.com/fabricjs/fabric.js/pull/5384) - Fix: restore draggability of small objects [#5379](https://togithub.com/fabricjs/fabric.js/pull/5379) - Improvement: Added strokeDashOffset to objects and from SVG import. [#5398](https://togithub.com/fabricjs/fabric.js/pull/5398) - Fix: do not mark objects as invisible if strokeWidth is > 0 [#5382](https://togithub.com/fabricjs/fabric.js/pull/5382) - Improvement: Better gradients parsing with xlink:href [#5357](https://togithub.com/fabricjs/fabric.js/pull/5357) ### [`v2.4.3`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#243) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.2...v2.4.3) - Fix: Shift click and onSelect function [#5348](https://togithub.com/fabricjs/fabric.js/pull/5348) - Fix: Load from Json from images with filters and resize filters [#5346](https://togithub.com/fabricjs/fabric.js/pull/5346) - Fix: Remove special case of 1x1 rect [#5345](https://togithub.com/fabricjs/fabric.js/pull/5345) - Fix: Group with clipPath restore [#5344](https://togithub.com/fabricjs/fabric.js/pull/5344) - Fix: Fix shift + click interaction with unselectable objects [#5324](https://togithub.com/fabricjs/fabric.js/pull/5324) ### [`v2.4.2`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#242) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.1...v2.4.2) - Fix: Better toSVG support to enable clipPath [#5284](https://togithub.com/fabricjs/fabric.js/pull/5284) - Fix: Per pixel target find and groups and sub targets [#5287](https://togithub.com/fabricjs/fabric.js/pull/5287) - Fix: Object clone as Image and shadow clipping [#5308](https://togithub.com/fabricjs/fabric.js/pull/5308) - Fix: IE11 loading SVG [#5307](https://togithub.com/fabricjs/fabric.js/pull/5307) ### [`v2.4.1`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#241) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.4.0...v2.4.1) - Fix: Avoid enterEditing if another object is the activeObject [#5261](https://togithub.com/fabricjs/fabric.js/pull/5261) - Fix: clipPath enliving for Image fromObject [#5279](https://togithub.com/fabricjs/fabric.js/pull/5279) - Fix: toDataURL and canvas clipPath [#5278](https://togithub.com/fabricjs/fabric.js/pull/5278) - Fix: early return if no xml is available [#5263](https://togithub.com/fabricjs/fabric.js/pull/5263) - Fix: clipPath svg parsing in nodejs [#5262](https://togithub.com/fabricjs/fabric.js/pull/5262) - Fix: Avoid running selection logic on mouse up [#5259](https://togithub.com/fabricjs/fabric.js/pull/5259) - Fix: fix font size parsing on SVG [#5258](https://togithub.com/fabricjs/fabric.js/pull/5258) - Fix: Avoid extra renders on mouseUp/Down [#5256](https://togithub.com/fabricjs/fabric.js/pull/5256) ### [`v2.4.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#240) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.6...v2.4.0) - Add: Add clipPath support to canvas and svg import/export. Low compatibility yet. ### [`v2.3.6`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#236) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.5...v2.3.6) - Fix: Make image.class aware of naturalWidth and naturalHeight. [#5178](https://togithub.com/fabricjs/fabric.js/pull/5178) - Fix: Make 2 finger events works again [#5177](https://togithub.com/fabricjs/fabric.js/pull/5177) - Fix: Make Groups respect origin and correct position ( fix spray/circle brushes ) [#5176](https://togithub.com/fabricjs/fabric.js/pull/5176) ### [`v2.3.5`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#235) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.4...v2.3.5) - Change: make canvas.getObjects() always return a shallow copy of the array [#5162](https://togithub.com/fabricjs/fabric.js/pull/5162) - Fix: Improve fabric.Pattern.toSVG to look correct on offsets and no-repeat [#5164](https://togithub.com/fabricjs/fabric.js/pull/5164) - Fix: Do not enter edit in Itext if the mouseUp is relative to a group selector [#5153](https://togithub.com/fabricjs/fabric.js/pull/5153) - Improvement: Do not require xlink namespace in front of href attribut for svgs ( is a SVG2 new spec, unsupported ) [#5156](https://togithub.com/fabricjs/fabric.js/pull/5156) - Fix: fix resizeFilter having the wrong cached texture, also improved interaction between filters [#5165](https://togithub.com/fabricjs/fabric.js/pull/5165) ### [`v2.3.4`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#234) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.3...v2.3.4) - Fix: ToSVG was ignoring excludeFromExport for backgroundImage and OverlayImage. [#5075](https://togithub.com/fabricjs/fabric.js/pull/5075) - Fix: ToSVG for circle with start and end angles. [#5085](https://togithub.com/fabricjs/fabric.js/pull/5085) - Fix: Added callback for setPatternFill. [#5101](https://togithub.com/fabricjs/fabric.js/pull/5101) - Fix: Resize filter taking in account multiple scale sources. [#5117](https://togithub.com/fabricjs/fabric.js/pull/5117) - Fix: Blend image filter clean after refilter. [#5121](https://togithub.com/fabricjs/fabric.js/pull/5121) - Fix: Object.toDataURL should not be influenced by zoom. [#5139](https://togithub.com/fabricjs/fabric.js/pull/5139) - Improvement: requestRenderAllBound add to Canvas instance. [#5138](https://togithub.com/fabricjs/fabric.js/pull/5138) - Improvement: Make path bounding cache optional and also reacheable/cleanable [#5140](https://togithub.com/fabricjs/fabric.js/pull/5140) - Improvement: Make the logic of isNeutralState filters work before filtering start. [#5129](https://togithub.com/fabricjs/fabric.js/pull/5129) - Improvement: Added some code to clean up some memory when canvas is disposed in nodejs. [#5142](https://togithub.com/fabricjs/fabric.js/pull/5142) - Fix: Make numeric origins work with group creation. [#5143](https://togithub.com/fabricjs/fabric.js/pull/5143) ### [`v2.3.3`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#233) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.2...v2.3.3) - Fix: Fixed font generic names for text, measurement of zero width related characters and also trailing of cursor when zooming. [#5048](https://togithub.com/fabricjs/fabric.js/pull/5048) ### [`v2.3.2`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#232) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.1...v2.3.2) - Fix: justify + charspacing + textDecoration Add and improve more events for transformations and mouse interaction. [#5007](https://togithub.com/fabricjs/fabric.js/pull/5007) [#5009](https://togithub.com/fabricjs/fabric.js/pull/5009) - Fix: Enter edit on object selected programmatically. [#5010](https://togithub.com/fabricjs/fabric.js/pull/5010) - Fix: Canvas.dispose was not removing all events properly. [#5020](https://togithub.com/fabricjs/fabric.js/pull/5020) - Fix: Make rgba and hsla regex work case insensitive. [#5017](https://togithub.com/fabricjs/fabric.js/pull/5017) - Fix: Make group transitioning from not cached to cached work. [#5021](https://togithub.com/fabricjs/fabric.js/pull/5021) ### [`v2.3.1`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#231) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.3.0...v2.3.1) - Improve nested svg import and text positioning, spikes. [#4984](https://togithub.com/kangax/fabric.js/pull/4984) ### [`v2.3.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#230) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.2.4...v2.3.0) - Add and improve more events for transformations and mouse interaction [#4979](https://togithub.com/kangax/fabric.js/pull/4979) - Improvement: whenever possible use cache for target transparency sampling [#4955](https://togithub.com/kangax/fabric.js/pull/4955) ### [`v2.2.4`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#224) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.2.3...v2.2.4) - Fix getPointer on touch devices [#4866](https://togithub.com/kangax/fabric.js/pull/4866) - Fix issues with selectionDashArray bleeding into free drawing [#4894](https://togithub.com/kangax/fabric.js/pull/4894) - Fix blur filter for nodejs [#4905](https://togithub.com/kangax/fabric.js/pull/4905) - Fix Register mousemove as non passive to help touch devices [#4933](https://togithub.com/kangax/fabric.js/pull/4933) - Fix modified shadow tosvg for safari compatibility [#4934](https://togithub.com/kangax/fabric.js/pull/4934) - Fix shader to avoid premultiplied alpha pixel getting dirty in blend filter [#4936](https://togithub.com/kangax/fabric.js/pull/4936) - Add isPartiallyOnScreen method [#4856](https://togithub.com/kangax/fabric.js/pull/4856) - Fix isEqual failing on array/null or objects/null/string compare [#4949](https://togithub.com/kangax/fabric.js/pull/4949) - Fix pencilBrush with alpha and with rerendering canvas [#4938](https://togithub.com/kangax/fabric.js/pull/4938) ### [`v2.2.3`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#223) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.2.2...v2.2.3) - improvement: Allow to parse quoted url string. url('#myid') [#4881](https://togithub.com/kangax/fabric.js/pull/4881) - improvement: text fromSVG import char-spacing attribute [#3718](https://togithub.com/kangax/fabric.js/pull/3718) - fix: text toSVG export with multiple spaces in safari [#4880](https://togithub.com/kangax/fabric.js/pull/4880) - fix: setSrc reset width and height on images [#4877](https://togithub.com/kangax/fabric.js/pull/4877) - improvements: Removed forced origin swap when rotating [#4878](https://togithub.com/kangax/fabric.js/pull/4878) - fix: Make the background of canvas cover all SVG in toSVG export [#4852](https://togithub.com/kangax/fabric.js/pull/4852) - fix: Added startAngle to cacheProperties for fabric.Circle [#4875](https://togithub.com/kangax/fabric.js/pull/4875) - fix: Rerender all the content of upperCanvas if canvas gets resized [#4850](https://togithub.com/kangax/fabric.js/pull/4850) - fix: Remove references to context when disposing [#4846](https://togithub.com/kangax/fabric.js/pull/4846) - improvements: Added single quoting to font names in toSVG [#4840](https://togithub.com/kangax/fabric.js/pull/4840) - improvements: Added reserved space to wrapLine functionality [#4841](https://togithub.com/kangax/fabric.js/pull/4841) ### [`v2.2.2`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#222) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.2.1...v2.2.2) - Fixed: Applying filters to an image will invalidate its cache [#4828](https://togithub.com/kangax/fabric.js/pull/4828) - Fixed: Attempt at fix font families that requires quoting [#4831](https://togithub.com/kangax/fabric.js/pull/4831) - Improvement: check upperCanvas client size for textarea position [#4827](https://togithub.com/kangax/fabric.js/pull/4827) - Fixed: Attempt to fix multiple touchends [#4804](https://togithub.com/kangax/fabric.js/pull/4804) - Fixed: Wrapping of textbox with charspacing [#4803](https://togithub.com/kangax/fabric.js/pull/4803) - Fixed: bad calculation of empty line in text (regression from 2.2.0) [#4802](https://togithub.com/kangax/fabric.js/pull/4802) ### [`v2.2.1`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#221) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.2.0...v2.2.1) - Reworked how amd and commonJS are together in the same file. ### [`v2.2.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#220) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.1.0...v2.2.0) - Fixed: super/sub script svg export [#4780](https://togithub.com/kangax/fabric.js/pull/4780) - Added: Text superScript and subScript support [#4765](https://togithub.com/kangax/fabric.js/pull/4765) - Fixed: negative kerning support (Pacifico font) [#4772](https://togithub.com/kangax/fabric.js/pull/4772) - Fixed: removing text on mousedown should be safe now [#4774](https://togithub.com/kangax/fabric.js/pull/4774) - Improved: pass to inner functions the parameter calculate coords in isOnscreen [#4763](https://togithub.com/kangax/fabric.js/pull/4763) ### [`v2.1.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#210) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.0.3...v2.1.0) - Added: Added: Drag and drop event binding [#4421](https://togithub.com/kangax/fabric.js/pull/4421) - Fixed: isEmptyStyle implementation for TextBox [#4762](https://togithub.com/kangax/fabric.js/pull/4762) ### [`v2.0.3`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#203) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.0.2...v2.0.3) - Fix: now sub target check can work with subclasses of fabric.Group [#4753](https://togithub.com/kangax/fabric.js/pull/4753) - Improvement: PencilBrush is now compexity 1 instead of complexity N during draw [#4743](https://togithub.com/kangax/fabric.js/pull/4743) - Fix the cleanStyle was not checking for the right property to exist [#4751](https://togithub.com/kangax/fabric.js/pull/4751) - Fix onBeforeScaleRotate with canvas zoom [#4748](https://togithub.com/kangax/fabric.js/pull/4748) ### [`v2.0.2`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#202) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.0.1...v2.0.2) - fixed image toSVG support for crop [#4738](https://togithub.com/kangax/fabric.js/pull/4738) - changed math for better rounded results [#4734](https://togithub.com/kangax/fabric.js/pull/4734) ### [`v2.0.1`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#201) [Compare Source](https://togithub.com/kangax/fabric.js/compare/v2.0.0...v2.0.1) - fixed filter for blend image in WEBGL [#4706](https://togithub.com/kangax/fabric.js/pull/4706) - fixed interactions between canvas toDataURL and multiplier + retina [#4705](https://togithub.com/kangax/fabric.js/pull/4705) - fixed bug with originX and originY not invalidating the transform [#4703](https://togithub.com/kangax/fabric.js/pull/4703) - fixed unwanted mutation on object enliving in fabric.Image [#4699](https://togithub.com/kangax/fabric.js/pull/4699) ### [`v2.0.0`](https://togithub.com/kangax/fabric.js/blob/master/CHANGELOG.md#200) [Compare Source](https://togithub.com/kangax/fabric.js/compare/1.7.22...v2.0.0) - final - fix dataurl and svg export on retina and rounding [#4674](https://togithub.com/kangax/fabric.js/pull/4674) - avoid error if iText is removed on mousedown [#4650](https://togithub.com/kangax/fabric.js/pull/4650) - fix calcOffset when text enter editing [#4649](https://togithub.com/kangax/fabric.js/pull/4649) - Gradient fix parsing floats [#4637](https://togithub.com/kangax/fabric.js/pull/4637) - Add CrossOrigin managment to fabric.Pattern [#4618](https://togithub.com/kangax/fabric.js/pull/4618) - Add patternTransform toObject saving [#4626](https://togithub.com/kangax/fabric.js/pull/4626) - normalize brushes render [#4613](https://togithub.com/kangax/fabric.js/pull/4613) - avoid charspacing shortcut [#4594](https://togithub.com/kangax/fabric.js/pull/4594) - Fix color toHexa() [#4579](https://togithub.com/kangax/fabric.js/pull/4579) - rc3 and rc4 - more fixes to transformMatrix memoization - Canvas.selectionFullyContained allows you to select objects just when full grabbed by the selections. [#4508](https://togithub.com/kangax/fabric.js/pull/4508) - Remove some ouput of blank spaces from svg in order to avoid extra colored areas [#4524](https://togithub.com/kangax/fabric.js/pull/4524) - Reinserted a performance shortcut for when there is no style at all [#4519](https://togithub.com/kangax/fabric.js/pull/4519) - Manage canvas resize during a freedrawing brush without wiping the brush [#4527](https://togithub.com/kangax/fabric.js/pull/4527) - Removed an extra closePath that was creating wrong visual on IntelIntegrated cards [#4549](https://togithub.com/kangax/fabric.js/pull/4549) - Added a method to insert and remove text from command line [#4541](https://togithub.com/kangax/fabric.js/pull/4541) - Some fixes around text styles management - nodejs support changes: removed specific node code in order to use standard fabricjs code in nodejs. - added fabric.util.getNodeCanvas that passed a JSDOM element allows you to get the node-canvas instance behind it and do what you need. - rc2 - Fixed a transform matrix memoize missing width/height [#4491](https://togithub.com/kangax/fabric.js/pull/4491) - Fix pattern drawing a point [#4492](https://togithub.com/kangax/fabric.js/pull/4492) - Fixed Text.removeChars [#4495](https://togithub.com/kangax/fabric.js/pull/4495) - Added back 2 node-canvas methods [#4497](https://togithub.com/kangax/fabric.js/pull/4497) - Fix a typo not restoring hoverCursor correctly. - rc1 - Remove node specific code [#4470](https://togithub.com/kangax/fabric.js/pull/4470) - Improved Canvas.dispose code to leak less memory [#4471](https://togithub.com/kangax/fabric.js/pull/4471) - Remove extra padding of cache when upper limited [#4467](https://togithub.com/kangax/fabric.js/pull/4467) - Solved 2 perfomances problems with textbox [#4466](https://togithub.com/kangax/fabric.js/pull/4466) [#4465](https://togithub.com/kangax/fabric.js/pull/4465) - Added justify-left justify-right and justify-center [#4437](https://togithub.com/kangax/fabric.js/pull/4437) - Fix Group fromObject and subTargetCheck [#4454](https://togithub.com/kangax/fabric.js/pull/4454) - Fix regression on IMG from SVG [#4450](https://togithub.com/kangax/fabric.js/pull/4450) - Remove cache dimensions together with canvas [#4453](https://togithub.com/kangax/fabric.js/pull/4453) - Fixed some fuzzyness cases for cache [#4452](https://togithub.com/kangax/fabric.js/pull/4452) - Fixed resize filter for webgl [#4426](https://togithub.com/kangax/fabric.js/pull/4426) - Stop searching target during a mouse move with a transform [#4442](https://togithub.com/kangax/fabric.js/pull/4442) - safeguard shaders for non supported precisions [#4433](https://togithub.com/kangax/fabric.js/pull/4433) - fix insert and remove style for edge cases [#4420](https://togithub.com/kangax/fabric.js/pull/4420) - Fix object.move when in active selection [#4394](https://togithub.com/kangax/fabric.js/pull/4394) - Memoize calcTransformMatrix function [#4418](https://togithub.com/kangax/fabric.js/pull/4418) - Make \_set flag object as dirty just when a real change happen[#4415](https://togithub.com/kangax/fabric.js/pull/4415) - Add browserShadowBlurConstant to adjust shadowBlur value [#4413](https://togithub.com/kangax/fabric.js/pull/4413) - Fix set element not clearing the cacheTexture. [#4410](https://togithub.com/kangax/fabric.js/pull/4410) - Multi selection key can be configured with an array of keys. [#4363](https://togithub.com/kangax/fabric.js/pull/4363) - fix fast type in text loosing some style. [#4339](https://togithub.com/kangax/fabric.js/pull/4339) - fixed division by zero with lockscaling flip. - added paintFirst ( paint-order with svg support ) [#4303](https://togithub.com/kangax/fabric.js/pull/4303) - beta7 - added a build flag for not attaching fabric to window [#4199](https://togithub.com/kangax/fabric.js/pull/4199) - removed .active property from objects [#4200](https://togithub.com/kangax/fabric.js/pull/4200) - Normalize Api for getSelectionStyles, setSelectionStyles [#4202](https://togithub.com/kangax/fabric.js/pull/4202) - Fix shader for convolute filter [#4207](https://togithub.com/kangax/fabric.js/pull/4207) - Better mouse support for lockscaling flip [#4225](https://togithub.com/kangax/fabric.js/pull/4225) - Fix toDataUrl getting a blank canvas [#4229](https://togithub.com/kangax/fabric.js/pull/4229) - Ouput version to json Objects [#4251](https://togithub.com/kangax/fabric.js/pull/4251) - Use backstoreOnly for toDataUrl resize [#4254](https://togithub.com/kangax/fabric.js/pull/4254) - Fix safari svg whitespace [#4294](https://togithub.com/kangax/fabric.js/pull/4294) - Fix Gradient export for paths [#4274](https://togithub.com/kangax/fabric.js/pull/4274) - Move mouseout/over in mousemove events [#4283](https://togithub.com/kangax/fabric.js/pull/4283) - Fix detection of click at the end of line [#4295](https://togithub.com/kangax/fabric.js/pull/4295) - added new event selection:updated [#4311](https://togithub.com/kangax/fabric.js/pull/4311) - Fixed free drawing path displacement [#4311](https://togithub.com/kangax/fabric.js/pull/4311) - Fixed scale equally and flipping not happening [#4313](https://togithub.com/kangax/fabric.js/pull/4313) - Select by drag makes the object fires 'selected' [#4314](https://togithub.com/kangax/fabric.js/pull/4314) - beta6 - incompat: New filter system with WEBGL. - incompat: New Text/IText/Textbox code. Multibyte compatible, more accurate. - incompat: RequestAnimationFrame is used for the automatic render calls. - incompat: Named setter/getter are optional now. - incompat: Removed PathGroup class - incompat: Paths cannot be restored anymore from strings [#3713](https://togithub.com/kangax/fabric.js/pull/3713) - incompat: bumped node version to 4+ and jsdom to 9. [#3717](https://togithub.com/kangax/fabric.js/pull/3717) - incompat: removed the es5 / JSON shim support [#3722](https://togithub.com/kangax/fabric.js/pull/3722) - fix/incompat: IText setSelectionStyles does not change anymore style if no selection is present [#3765](https://togithub.com/kangax/fabric.js/pull/3765) - skipOffscreen default to true - Text.setSelectionStyle does not change anything if there is no selection [#3765](https://togithub.com/kangax/fabric.js/pull/3765) - Switch to canvas-prebuilt as dependency. Added parameter to choose the canvas package [#3757](https://togithub.com/kangax/fabric.js/pull/3757) - improvement: renderControls can now be called on its own. Added parameter styleOverride to allow for overriding current properties [#3887](https://togithub.com/kangax/fabric.js/pull/3887) - removed hasMoved and saveCoords from Group class [#3910](https://togithub.com/kangax/fabric.js/pull/3910) - forced all fromObject and fromElement to be async, normalized api. [#3996](https://togithub.com/kangax/fabric.js/pull/3996) - improvement: added support for request animation frame in mouse events [#3997](https://togithub.com/kangax/fabric.js/pull/3997) - added dblclick support for all objects [#3998](https://togithub.com/kangax/fabric.js/pull/3997) - textbox scale as a normal object [#4052](https://togithub.com/kangax/fabric.js/pull/4052) - Removed image meetOrSlice, alignX, alignY, introduced cropX, cropY [#4055](https://togithub.com/kangax/fabric.js/pull/4055) - Added Text.cleanStyle, Text.removeStyle [#4060](https://togithub.com/kangax/fabric.js/pull/4060) - change: lockRotation will not hide the mtr control anymore. introduced notAllowedCursor for canvas. [#4064](https://togithub.com/kangax/fabric.js/pull/4064) - improvement: added 2 percentage values to fabric.util.animate. [#4068](https://togithub.com/kangax/fabric.js/pull/4068) - change: pathOffset does not get exported anymore in path.toObject, toDatalessObject export sourcePath instead of modifying path. [#4108](https://togithub.com/kangax/fabric.js/pull/4108)Renovate configuration
:date: Schedule: "after 4pm and before 11:59pm every weekday,after 9am and before 11:59pm every weekend" in timezone Europe/London.
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.