28 KiB
Version 1.6.7
- Add: Snap rotation added to objects. two parameter introduced, snapAngle and snapTreshold. #3383
- Fix: Pass target to right click event. #3381
- Fix: Correct rendering of bg color for styled text and correct clearing of itext area. #3388
- Add: Fire mouse:over on the canvas when we enter the canvas from outside the element. #3388
- Fix: Fix calculation of words width with spaces and justify. #3408
- Fix: Do not export defaults properties for bg and overlay if requested. #3415
- Fix: Change export toObect to always delete default properties if requested. #3416
Version 1.6.6
- Add: Contrast and Saturate filters #3341
- Fix: Correct registering and removal of events to handle iText objects. #3349
- Fix: Corrected 2 regression of 1.6.5 (dataurl export and itext clicks)
- Fix: Corrected path boundaries calculation for Arcs ( a and A ) #3347
Version 1.6.5
- Fix: charspacing, do not get subzero with charwidth.
- Improvement: add callback support to all object cloning. #3212
- Improvement: add backgroundColor to all classe #3248
- Fix: add custom properties to backgroundImage and overlayImage #3250
- Fix: Object intersection is calculated on boundingBox and boundingRect, intersection is fired if objects are overlapping #3252
- Change: Restored previous selection behaviour, added key to selection active object under overlaid target #3254
- Improvement: hasStateChanged let you find state changes of complex properties. #3262
- Fix: IText/Textbox shift click selection backward. #3270
- Revert: font family quoting was a bad idea. node-canvas stills use it. #3276
- Fix: fire mouse:over event for activeObject and activeGroup when using findTarget shourtcuts #3285
- Fix: clear method clear all properties of canvas #3305
- Fix: text area position method takes in account canvas offset #3306
- Improvement: Added event on right click and possibility to hide the context menu with a flag 3308
- Fix: remove canvas reference from object when object gets removed from canvas #3307
- Improvement: use native stroke dash if available #3309
- Fix: Export correct src when exporting to svg #3310
- Fix: Stop text to go on zero dimensions #3312
- Fix: Error in dataURL with multiplier was outputting very big canvas with retina #3314
- Fix: Error in style map was not respecting style if textbox started with space #3315
Version 1.6.4
- Improvement: Ignore svg: namespace during svg import. #3081
- Improvement: Better fix for lineHeight of iText/Text #3094
- Improvement: Support for gradient with 'Infinity' coordinates #3082
- Improvement: Generally "improved" logic of targeting #3111
- Fix: Selection of active group with transparency and preserveObjectStacking true or false #3109
- Fix: pattern brush now create the same pattern seen while drawing #3112
- Fix: Allow css merge during svg import #3114
- Improvement: added numeric origins handling fomr 0 to 1. #3121
- Fix: Fix a defect with shadow of objects in a scaled group. #3134
- Improvement: Do not fire unecessary selection:changed events. #3119
- Fix: Attached hiddenTextarea to body fixes IE, thanks to @plainview. #3137
- Fix: Shift unselect activegroup on transformed canvas. #3144
- Added: ColorMatrix filter #3139
- Fix: Fix condition in wich restoring from Object could cause object overwriting #3146
- Change: cloneAsImage for Object and toDataUrl for object are not retina enabled by default. Added option to enable. #3147
- Improvement: Added textSpacing support for text/itext/textbox #3097
- Fix: Quote font family when setting the context fontstyle #3191
- Fix: use getSrc during image export, make subclassing easier, return eventually the .src property if nothing else is available #3189
- Fix: Inverted the meaning of border scale factor #3154
- Improvement: Added support for RGBA in HEX notation. #3202
- Improvement: Added object deselected event. #3195
- Fix: loadFromJson callback now gets fired after filter are applied #3210
Version 1.6.3
- Improvement: Use reviver callback for background and overlay image when doing svg export. #2975
- Improvement: Added object property excludeFromExport to avoid exporting the object to JSON or to SVG. #2976
- Improvement: Correct the calculation of text boundingbox. Improves svg import #2992
- Added: Export id property to SVG #2993
- Improvement: Call the callback on loadSvgFromURL on failed xml load with null agument #2994
- Improvement: Clear only the Itext area on contextTop during cursor animation #2996
- Added: Char widths cache has been moved to fabric level and not iText level. Added fabric.util.clearFabricCharWidthsCache(fontName) #2995
- Fix: do not set background or overlay image if the url load fails. #3003
- Fix: iText mousemove event removal, clear the correct area for Itext, stopped redrawing selection if not necessary #3016
- Fix: background image and overlay image scale and move with canvas viewportTransform, parameter available #3019
- Added: support sub targeting in groups in events #2997
- Fix: Select transparent object on mouse up because of _maybeGroupObject #2997
- Fix: Remove reference to lastRenderedObject on canvas.remove #3023
- Fix: Wait for all objects to be loaded before deleting the properties and setting options. #3029
- Fix: Object Padding is unaffected by object transform. #3057
- Fix: Restore lastRenderedObject usage. Introduced Canvas.lastRenderedKey to retrieve the lastRendered object from down the stack #3057
- Fix: _calcTextareaPosition correctly calculate the position considering the viewportTransform. #3057
- Fix: Fixed selectionBacgroundColor with viewport transform. #3057
- Improvement: Correctly render the cursor with viewport scaling, improved the cursor centering. #3057
- Fix: Use canvas zoom and pan when using is target transparent. #2980
Version 1.6.2
- Fix: restore canvas properties on loadFromJSON with includeProperties. #2921
- Fix: Allow hoverCursor on non selectable objects, moveCursor does not appear if the object is not moveable. Added object.moveCursor to specify a cursor for moving per object. #2924
- Fix: Add missing stroke.live translation, allow gradientTransform for dashed line. #2926
- Improvement: Allow customization of keys that iteract with mouse action ( multiselect key, free tranform key, alternative action key, centered transform key ) #2925
- Added: Make iText fires object:modified on text change on exit editing #2927
- Added: [control customization part 1] cornerDashArray, borderDashArray. Now borderScaleFactor influences both border and controls, changed default corner size to 13 #2932
- Fix: createSVGFontFacesMarkup was failing to retrieve fonts in style #2935
- Fix: shadow not scaled with dataUrl to multiplier #2940
- Added: [control customization part 2] cornerStrokeColor. Now is possible to specify separate stroke and fill color for the controls #2933
- Fix: Itext width calculation with caching false was returning nan. #2943
- Added: [control customization part 3] Rounded corners. It is possible to specify cornerStyle for the object. 'rect' or 'circle' #2942
- Added: [control customization part 4] Selection background. It is possible to specify selectionBackgroundColor for the object. #2950
- Fix: Behaviour of image with filters with resize effects and Object to/from json #2954
- Fix: Svg export should not output color notation in rgba format #2955
- Fix: minScaleLimit rounding bug #2964
- Fix: Itext spacing in justify mode bug #2971
- Fix: Object.toDataUrl export when some window.devicepixelRatio is present (retina or browser zoom) #2972
Version 1.6.1
- Fix: image with broken element throwing error on toObject() #2878
- Fix: Warning on trying to set proprietary browser version of ctxImageSmoothingEnabled #2880
- Fix: Fixed Svg import regression on color and drawing polylines #2887
- Fix: Fixed animation ease that starts and stop at same value #2888
- Fix: Allow a not stateful canvas to fire object:modified at end of transform. #2890
- Fix: Made event handler removal safer. Removing firing events will not cause errors. #2883
- Fix: Proper handling of perPixelTargetFind and multi selections #2894
- Fix: Do not clear contextTop on drawingMode, to allow drawing over animations #2895
- Change the dependencies to optional. Allow npm to continue installing if nodecanvas installation fail.#2901
- Fix: Check again the target on mouseup #2902
- Fix: On perPixelTargetFind detect corners only if target is active #2903
- Improvement: Add canvas mouseout event listener #2907
- Improvement: Make small object draggable easier #2907
- Improvement: Use sendToBack, bringToFront, bringForward, sendBackwards for multiple selections #2908
Version 1.6.0
- Fix rendering of activeGroup objects while preserveObjectStacking is active. [ regression from #2083 ]
- Fix
fabric.Pathinitialize with user options #2117 - Fix sorting of objects in activeGroup during rendering #2130.
- Make sure that 'object.canvas' property is always set if the object is directly or indirectly on canvas #2141
- Fix _getTopLeftCoords function that was returning TopCenter #2127
- Fix events not being fired after resize with pinch zoom #510
- Fix mouse:over, mouse:out events not receiving event object #2146
- Don't include elements from
<metadata>during SVG parsing #2160 - Fix some iText new glitches and old bugs about style deleting and inserting, faster function for get2dCursorLocation #2153
- Change bounding box calculation, made strokewidth always considered in dimensions. Switched group stroke default to 0 strokewidth. #2155
- Fix scaling function for object with strokewidth #2178
- Fix image fromObject restoring resizeFilter #2164
- Fix double application of filter upon image init #2164
- Fix image.filter.Resize toObject and fromObject #2164
- Fix strokeWidth calculation during resize operations #2178
- Fix iText selection on upperCanvas to support transformMatrix #2173
- Removed unnecessary calls to removeShadow and restoreGlobalCompositeOperation #2175
- Fix the offset for pattern and gradients filling and stroking in text #2183
- Fix loading of stroke gradients from Object #2182
- Fix segmentation fault on node.js when image doesn't exist #2193
- Fix iText border selection when changing fontWeight #2201
- Fix calculation of object dimensions for geometry functions translation and scaling. #2206
- Fix iText cursor position on click at end of line #2217
- Fix error on parsing style string with trailing spaces #2256
- Fix delegated properties leaking on objects in a group when restoring from json #2101
- Fix cursor click position in rotated i-Text when origins different from TOPLEFT. #2269
- Fix mouse position when the canvas is in a complex style scrolling situation #2128
- Fix parser regex for not parsing svg tags attribute #2311
- Add id attribute to standard attribute parsing from SVG elements #2317
- Fix text decoration opacity #2310
- Add simple color animation utility in /src/util/animate_color.js #2328
- Fix itext paste function to check for source of copied text and strip carriage returns (\r)#2336
- Fix pattern class serialize the source using toDataURL if available #2335
- Fix imageSmoothingEnabled warning on chrome and reinit the property after setDimensions #2337
- Add ability to parse path elements with no path specified. #2344
- Fix shiftClick with activeGroup in case of normal and scaled groups #2342
- Add support for colors in shadow svg export #2349
- Add support for inner viewBoxes in svg parsing #2345
- Fix BoundingBox calculation for pathGroups that have inner transformMatrix #2348
- Fix export toObject to include transformMatrix property #2350
- Fix textbox class to supporto toSVG() and newest style fixes [#2347] (https://github.com/kangax/fabric.js/pull/2347)
- Fix regression on text ( textDecoration and textlinebackground ) #2354
- Add support for multi keys chars using onInput event #2352
- Fix iText and textbox entering in edit mode if clicked on a corner #2393
- Fix iText styles error when in justify align #2370
- Add support for shadow export in svg for groups, pathgroups and images. [#2364]
- Add rendering shadows for groups #2364
- Add support for parsing nested SVGs x and y attributes #2399
- Add support for gradientTransform in setGradient(fill or stroke) #2401
- Fix Error in svg parsed that was stopping on gradient color-stop missing stop attribute #2414
- toObject method return copied arrays for array like properties #2407
- Fix Set stop value of colorstop to 0 if stop attribute not present #2414
- Fix correct value of e.button for mouse left click if e.which not supported#2453
- Add check for host property in getScrollTopLeft#2462
- Fix check for object.selectable in findTarget#2466
- Fix After rendering a gesture set originX/Y to its original value#2479
- Add support for skewing objects using shift and m-controls in interactive mode, and using object.skewX/Y #2482
- Fix gradientTransform not exported in gradient toObject #2486
- Fix object.toDataUrl with multiplier #2487 BACK INCOMPATIBILITY: removed 'allOnTop' parameter from fabric.StaticCanvas.renderAll.
- Fix mask filter, mask image is now streched on all image #2543
- Fix text onInput event to behave correctly if some text is selected #2501
- Fix object with selectable = false could be selected with shift click #2503
- Fix for mask filter when bigger or smaller image is used #2534
- Improvement: simplified renderAll logic #2545
- Improvement: Manage group transformation with skew rotate and scale #2549
- Fix: Add shadow affectStroke to shadow to Object method #2568
- Fix: Made multitouch pinch resize works with skewed object #2625
- Improvement: Added retina screen support #2623
- Change: Set default Image strokeWidth to 0 to improve image rendering #2624
- Fix: multitouch zoom gesture speed back to normal speed #2625
- Fix: fix controls rendering with retina scaling and controls above overlay #2632
- Improvements: resize SVG using viewport/viewbox. #2642
- Improvements: Svg import now supports rotate around point #2645
- Change: Opacity is no more a delegated property for group #2656
- Fix: Itext now check for editable property before initializing cursor #2657
- Fix: Better SVG export support for shadows of rotated objects #2671
- Fix: Avoid polygon polyline to change constructor point array #2627
- SVG import: support fill/stroke opacity when no fill/stroke attribute is present #2703
- Fix: remove white filter set opacity to 0 instead of 1 #2714
- Cleaning: removing unused fabric.Canvas.activeInstance #2708
- Change: remove flipping of text string when flipping object #2719
- Fix: Correct shift click on generic transformerd active groups #2720
- SVG import: parse svg with no spaces between transforms #2738
- Fix: Fallback to styleElement.text for IE9 #2754
- Fix: data url for node #2777
- Improvement: Extended font face to all text class during svg export #2797
- Fix: retina scaling dataurl and shadows. #2806
- Improvement: Better look to iText decoration shadows. #2808
- Improvement: New text shadow export to SVG. #2827
- fix: location of optimized 1x1 rects. #2817
- fix: TextBox handling of consecutive spaces. #2852
- fix: Respect shadow in svg export of flipped objects. #2854
- fix: Check presence of style for textBox in svg export. #2853
- Improvement: Added node compatibility for v4 and v5. #2872
- Fix: Canvas dispose remove the extra created elements. #2875
- IText improvements to cut-copy-paste, edit, mobile jumps and style. #2868
Version 1.5.0
Edge
-
Added image preserve aspect ratio attributes and functionality (fabric.Image.alignY, fabric.Image.alignY, fabric.Image.meetOrSlic )
-
Added ImageResizeFilters , option to resize dinamically or statically the images using a set of resize filter alghoritms.
-
[BACK_INCOMPAT]
fabric.Collection#removedoesn't return removed object -> returnsthis(chainable) -
Add "mouse:over" and "mouse:out" canvas events (and corresponding "mouseover", "mouseout" object events)
-
Add support for passing options to
fabric.createCanvasForNode -
Various iText fixes and performance improvements
-
Fix
overlayImage/overlayColorduring selection mode -
Fix double callback in loadFromJSON when there's no objects
-
Fix paths parsing when number has negative exponent
-
Fix background offset in iText
-
Fix style object deletion in iText
-
Fix typo in
_initCanvasHandlers -
Fix
transformMatrixnot affecting fabric.Text -
Fix
setAnglefor different originX/originY (!= 'center') -
Change default/init noise/brightness value for
fabric.Image.filters.Noiseandfabric.Image.filters.Brightnessfrom 100 to 0 -
Add
fabric.Canvas#imageSmoothingEnabled -
Add
copy/pastesupport for iText (uses clipboardData)
Version 1.4.0
-
[BACK_INCOMPAT] JSON and Cufon are no longer included in default build
-
[BACK_INCOMPAT] Change default objects' originX/originY to left/top
-
[BACK_INCOMPAT]
fabric.StaticCanvas#backgroundImageandfabric.StaticCanvas#overlayImagearefabric.Imageinstances.fabric.StaticCanvas#backgroundImageOpacity,fabric.StaticCanvas#backgroundImageStretch,fabric.StaticCanvas#overlayImageLeftandfabric.StaticCanvas#overlayImageTopwere removed. -
[BACK_INCOMPAT]
fabric.Text#backgroundColoris nowfabric.Object#backgroundColor -
[BACK_INCOMPAT] Remove
fabric.Object#toGrayscaleandfabric.Object#overlayFillsince they're too specific -
[BACK_INCOMPAT] Remove
fabric.StaticCanvas.toGrayscalesince we already have that logic infabric.Image.filters.Grayscale. -
[BACK_INCOMPAT] Split
centerTransforminto the propertiescenteredScalingandcenteredRotation. Object rotation now happens around originX/originY point UNLESScenteredRotation=true. Object scaling now happens non-centered UNLESScenteredScaling=true.
Version 1.3.0
-
[BACK_INCOMPAT] Remove selectable, hasControls, hasBorders, hasRotatingPoint, transparentCorners, perPixelTargetFind from default object/json representation of objects.
-
[BACK_INCOMPAT] Object rotation now happens around originX/originY point UNLESS
centerTransform=true. -
[BACK_INCOMPAT] fabric.Text#textShadow has been removed - new fabric.Text.shadow property (type of fabric.Shadow).
-
[BACK_INCOMPAT] fabric.BaseBrush shadow properties are combined into one property => fabric.BaseBrush.shadow (shadowColor, shadowBlur, shadowOffsetX, shadowOffsetY no longer exist).
-
[BACK_INCOMPAT]
fabric.Path.fromObjectis now async.fabric.Canvas#loadFromDatalessJSONis deprecated.
Version 1.2.0
-
[BACK_INCOMPAT] Make
fabric.Object#toDataURLsynchronous. -
[BACK_INCOMPAT]
fabric.Text#strokeStyle->fabric.Text#stroke, for consistency with other objects. -
[BACK_INCOMPAT]
fabric.Object.setActive(…)->fabric.Object.set('active', …).fabric.Object.isActiveis gone (usefabric.Object.activeinstead) -
[BACK_INCOMPAT]
fabric.Group#objects->fabric.Group._objects.
Version 1.1.0
-
[BACK_INCOMPAT]
fabric.Text#setFontsizebecomesfabric.Object#setFontSize. -
[BACK_INCOMPAT]
fabric.Canvas.toDataURLnow accepts options object instead linear arguments.fabric.Canvas.toDataURLWithMultiplieris deprecated; usefabric.Canvas.toDataURL({ multiplier: … })instead
Version 1.0.0