Fabric 1.x is in manteinence mode. Just bugfixes backported from ongoing 2.x
BACKPORT gradient parsing float
REVERT this.ctx fix from textbox
BACKPORT Fix for typeError on removing textbox from mousedown
Version 1.7.21
Fabric 1.x is in manteinence mode. Just bugfixes backported from ongoing 2.x
BACKPORT cache fuzzyness fix part 2
BACKPORT freedrawing fix part 2
BACKPORT toDataURL backstoreOnly resize
BACKPORT Removal of unnecessary context creation on text init
Version 1.7.20
Fabric 1.x is in manteinence mode. Just bugfixes backported from ongoing 2.x
Version 1.7.19
Fabric 1.x is in manteinence mode. Just bugfixes no features or improvements.
Version 1.7.18
Version 1.7.17
Small bugix release, mostly selection and text bugfixes reported by users
Version 1.7.16
Small bugix release.
Version 1.7.15
Quick bug fix release and and 2 improvements. Shadow with no offset can be cached, and this is a speed boost if you are using shadow to do halos.
Added a note in text docs that allow devs to ovveride some custom key behaviour
Version 1.7.14
Cache improvement release! Two new features are now in the cache system. The cache will not grow over certain sizes when scaling objects, and also the _cacheCanvas will be resized in advance by a 10% margin so that we do not have to resize each mousemove event.
Check here for more details
The staefull check has been speed up a bit taking inspiration from fast-deep-equal package on npm.
Some bug relative to deep state check and group that where invalidating the cache for weird reason have been hopefully solved.
Improvement: Avoid cache canvas to resize each mouse move step. #4037
Improvement: Make cache canvas limited in size. #4035
Fix: Make groups and statefull cache work. #4032
Add: Marked the hiddentextarea from itext so that custom projects can recognize it. #4022
Version 1.7.13
Small bugfix release
Fix: Try to minimize delay in loadFroJson #4007
Fix: allow fabric.Color to parse rgba(x,y,z,.a) without leading 0 #4006
Allow path to execute Object.initialize, make extensions easier #4005
Fix: properly set options from path fromDatalessObjects #3995
Check for slice before action.slice. Avoid conflicts with heavy customized code. #3992
Version 1.7.12
Bug fixes and some new properties added to mouse events.
Version 1.7.11
Version 1.7.10
Many fixes to be a minor release:
Fixes to SVG export for polygons and for radial gradients in general. Introducing a caching logic for groups that allow to smart cache what has not shadow as children object. This should reduce caching visual errors by much and still allowing for cache optimization.
Introduced some manual checks on the value of Math.cos so that we can output a correct angle of 90 or 270 degrees for objects.
Version 1.7.9
Small fixes for text related problems. If you are using text in your application, you should update.
Version 1.7.8 and 1.7.7
This is maybe the last release of the 1.x branch. New important and api breaking work is in progress and will be labeled as fabric 2.x
The change i like most comes from a casual contributor, by12 and fixes path bounding box calculation. No more trimmed paths!
A change in translation on the cache canvas fixed blurriness introduced since 1.7.3, that is also worth an update.
For iText, Textbox typers, the style object does not get polluted with useless empty objects now.
And last but not the least, we have a new flag called fabric.StaticCanvas.prototype.skipOffscreen default to false that will calculate with objects aCoords if the object is on the screen or outside the screen and will skip the rendering part completely. This is an optional feature but it turns out to be very usefull when you are dealing with large number of objects and you are using zoom or panning much.
While object.oCoords needs to be updated every zoom/pan, aCoords are static with object position and are still valid when we change the viewport. This allows us to detect if they are offscreen simply calculating the viewportCoords at the expense of 2 transformed points calculation. A demo page will follow soon.
Version 1.7.6 ( plus 1.7.5 and 1.7.4)
New functionalities about coordinates: Now setCoords updates both the corner coords for mouse interaction and a new set called aCoords that is a set of absolute coordinates that a dev can use for its own calculation on positions.
Introduced a set of coordinates on canvas that let you figure out where the current viewport start and finish. A new method for objects, called `isOnScreen` let;s you find out if at least a corner of an object is visible in the current viewport Fabric.Color class now can export colors in HEX + opacity format Notable fixes: We switched some touch event handling to accomodate latest chrome changes Removed gaps on continuos textbackgroundColor on Itext
Version 1.7.3
Mixed release, cleaning and important bugfixes.
Objects fromObject methods have been reworked to be able to wait for Patterns full loading process before actually creating the object, so that the first render has the pattern ready to show. That was a longstanding bug since 2013.
Reworked some of the canvas background and overlay code so that gradient and patterns works and are saved and reloaded correctly.
During loadFromJSON process, if an image errors out, the process cotinue smooth, the reviver function is invoked with a third argument error equal to true.
Usuals objectCaching improvements: dirty flag propagation from childObjects to parents, added a couple of pixels around the cache canvas to avoid aliasing, added bigger padding for text with custom fonts.
Version 1.7.2
Again a maintenance release for iText custom fonts and cache and a workaround for macOS sierra problem with ‘object:modified’
Version 1.7.1
Just small bugfixes and support for custom properties in gradient and pattern toObject method.
Version 1.7.0
Introducing object caching, please refer to the example page for more information caching
Version 1.6.7
A bugfix release with a new function, snap to angle during rotation.
How to activate it? Populate `snapAngle` and `snapTreshold` in the object properties
Version 1.6.6
A bugfix release with 2 new image filters, contrast and saturation
Version 1.6.5
A bugfix release with some small news:
New feature backgroundColor is now supported from all classes. Clone and fromObject methods are now equal for all classes. You can use the callback for any cloning.
Right click mouse:down support. disabled by default can be enabled using the fireRightClick property and the canvas element context menu can be disabled enabling stopContextMenu on the fabric canvas.
The font-family quoting from 1.6.4 has been reverted because it made no possible to use multiple font family names. So if you are using a font family that has a name with spaces and numbers you have to wrap in in quotes by yourself.
Version 1.6.4
In fabric 1.6.4 we added some new features and refinement to text objects:
New feature charspacing has been added, charspacing is expressed in thousands of em unit, meaning that with a value of 1000 and a fontsize of 40, you will have an additional space of 40px between chars.
Lineheight managment has been improved, now the lineheight does not have an extra padding below the line if there are no other lines of text.
Now that HiddenTextarea of iText object can follow the typing cursor better, it has been attached again to body of document and thanks to this IE browsers copy paste has been fixed. selection:changed event firing has been reduced so that it fires just when necessary
Fonts with particular names, like ‘Slabo 27px’ or ‘Exo 2’ should be handled correctly now.
We have one new filter, a generic ColorMatrix filter from one of our contributors.
An old missing feature has been finally added, when restoring object from JSON, the apply filter function is executed before firing the callback, so that we can re render the canvas when everything is properly set up
Other small fixes to svg import and zoomed canvas. Finally shift click to select and unselect should work on every canvas zoom/pan.
New event: object:deselected is fired when an object loose its active state. Other than that, to the before:selection:cleared and selection:cleared the target is passed as an argument to the event fired.
This is the raw changelog:
Version 1.6.3
Biggest new in 1.6.3 is support of sub-targets in group. Group has a new property subTargetCheck default to false that allows the findTarget functions to go deep in the group nested objects.
Events will fire for both the group and all the list of sub targets found in case of nested groups
Other changes inclued better handling of pan and zooming. Transparency checking is now aware of current viewportTransform and 3 new functions have been added to center objects in the current viewport instead of canvas: viewportCenterObject, viewportCenterObjectH, viewportCenterObjectV. Viewport fixes include cursor width in text editiong mode and the 1.6.2 newly itroduced selectionBackgroundColor
This is the raw changelog:
Version 1.6.2
With 1.6.2 we introduce some new customization options for controls and user interaction. It is now possible to customize the keys used for control interaction.
Before those where the predefined keys:
Alt Key: Switching from normal transform to centered transform during scaling objects.
Shift Key: on br,bl,tr,lt was switching from proportional to free resize, on mt, ml, mr, bw was switching between resize and skew.
As of 1.6.2 is possible to use those configuration option to define which keys are used:
* values: altKey, shiftKey, ctrlKey,
fabric.Object.uniScaleKey: key used to switch between proportional and not proportional scaling
fabric.Object.altActionKey: key used to switch between different action on same corner (skew/scale)
fabric.Object.centeredKey: key used to switch on/off the centered transform
hoverCursor now appears also on non selectable objects but moveCursor does not appear if the object can’t be moved. In addition moveCursor is now customizable with the property moveCursor.
The biggest change is the possibility of customizing the look of controls. Both border and controls can be filled and stroked and can also have a dash-array instead of a continue line. Corners can be both square or round.
To control those feature you can use those new properties:
borderDashArray: Dash stroke of borders
cornerDashArray: Dash stroke of corners
cornerStrokeColor: If corners are filled, this property controls the color of the stroke
cornerStyle: standrd ‘rect’ or ‘circle’
selectionBackgroundColor: add an opaque or transparent layer to the selected object.
Small bugfixes includes: Itext firing object:modified on text change, possibility to restore custom canvas properties other than objects during canvas loadFromJSON, some SVG color output fix and some dataURL improvements.
This is the raw changelog: