mirror of
https://github.com/konvajs/konva.git
synced 2025-11-24 08:46:44 +08:00
19 KiB
19 KiB
Change Log
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
[3.1.7][2019-03-06]
- Better modules and TS types
[3.1.6][2019-02-27]
- Fix commonjs exports
- Fix global injections
[3.1.0][2019-02-27]
- Make
Konvamodular:import Konva from 'konva/lib/Core';; - Fix incorrect
Transformerbehavior - Fix drag&drop for touch devices
[3.0.0][2019-02-25]
Breaking
Customs builds are temporary removed from npm package. You can not use import Konva from 'konva/src/Core';.
This feature will be added back later.
Possibly breaking
That changes are private and internal specific. They should not break most of Konva apps.
Konva.Util.addMethodsis removedKonva.Util._removeLastLetteris removedKonva.Util._getImageis removedKonv.Util._getRGBAStringis removedKonv.Util._mergeis removed- Removed polyfill for
requestAnimationFrame. idandnameproperties defaults are empty strings, notundefined- internal
_cacheproperty was updated to use es2015Mapinstead of{}. Konva.Validatorsis removed.
Added
- Show a warning when a stage has too many layers
- Show a warning on duplicate ids
- Show a warning on weird class in
Node.createparsing from JSON - Show a warning for incorrect value for component setters.
- Show a warning for incorrect value for
zIndexproperty. - Show a warning when user is trying to reuse destroyed shape.
- new publish method
measureSize(string)forKonva.Text - You can configure what mouse buttons can be used for drag&drop. To enable right button you can use
Konva.dragButtons = [0, 1]. - Now you can hide stage
stage.visible(false). It will set its container display style to "none". - New method
stage.setPointersPositions(event). Usually you don't need to use it manually. - New method
layer.toggleHitCanvas()to show and debug hit areas
Changed
- Full rewrite to Typescript with tons of refactoring and small optimizations. The public API should be 100% the same
- Fixed
patternImageandradialGradientforKonva.Text Konva.Util._isObjectis renamed toKonva.Util._isPlainObject.- A bit changed behavior of
removeId(private method), now it doesn't clear node ref, if object is changed. - simplified
batchDrawmethod (it doesn't useKonva.Animation) now. - Performance improvements for shapes will image patterns, linear and radial fills
text.getTextHeight()is deprecated. Usetext.height()ortext.fontSize()instead.- Private method
stage._setPointerPosition()is deprecated. Usestage.setPointersPositions(event);
Fixed
- Better mouse support on mobile devices (yes, that is possible to connect mouse to mobile)
- Better implementation of
mouseoverevent for stage - Fixed underline drawing for text with
lineHeight !== 1 - Fixed some caching behavior when a node has
globalCompositeOperation. - Fixed automatic updates for
Konva.Transformer - Fixed container change for a stage.
- Fixed warning for
widthandheightattributes forKonva.Text - Fixed gradient drawing for
Konva.Text - Fixed rendering with
strokeWidth = 0
[2.6.0][2018-12-14]
Changed
- Performance fixes when cached node has many children
- Better drawing for shape with
strokeScaleEnabled = falseon HDPI devices
Added
- New
ignoreStrokeforKonva.Transformer. Good to use when a shape hasstrokeScaleEnabled = false
Changed
getKerningTextPath API is deprecated. UsekerningFuncinstead.
[2.5.1][2018-11-08]
Changed
- Use custom functions for
trimRightandtrimLeft(for better browsers support)
[2.5.0][2018-10-24]
Added
- New
anchorCornerRadiusforKonva.Transformer
Fixed
- Performance fixes for caching
Changed
dragstartevent behavior is a bit changed. It will fire BEFORE actual position of a node is changed.
[2.4.2][2018-10-12]
Fixed
- Fixed a wrong cache when a shape inside group has
listening = false
[2.4.1][2018-10-08]
Changed
- Added some text trim logic to wrap in better
Fixed
getClientRectfor complex paths fixesgetClientRectcalculation fix for groups- Update
Konva.TransformeronrotateEnabledchange - Fix click stage event on dragend
- Fix some Transformer cursor behavior
[2.4.0][2018-09-19]
Added
- Centered resize with ALT key for
Konva.Transformer - New
centeredScalingforKonva.Transformer
Fixed
- Tween support for gradient properties
- Add
user-select: noneto the stage container to fix some "selected contend around" issues
[2.3.0][2018-08-30]
Added
- new methods
path.getLength()andpath.getPointAtLength(val) verticalAlignforKonva.Text
[2.2.2][2018-08-21]
Changed
- Default duration for tweens and
node.to()methods is now 300ms - Typescript fixes
- Automatic validations for many attributes
[2.2.1][2018-08-10]
Added
- New properties for
Konva.Transformer:borderStroke,borderStrokeWidth,borderDash,anchorStroke,anchorStrokeWidth,anchorSize.
Changed
- Some properties of
Konva.Transformerare renamed.lineEnabled->borderEnabled.rotateHandlerOffset->rotateAnchorOffset,enabledHandlers->enabledAnchors.
[2.1.8][2018-08-01]
Fixed
- Some
Konva.Transformerfixes - Typescript fixes
stage.toDataURL()fixes when it has hidden layersshape.toDataURL()automatically adjust position and size of resulted image
[2.1.7][2018-07-03]
Fixed
toObjectfixes
[2.1.7][2018-07-03]
Fixed
- Some drag&drop fixes
[2.1.6][2018-06-16]
Fixed
- Removed wrong dep
- Typescript fixes
[2.1.5][2018-06-15]
Fixed
- Typescript fixes
- add shape as second argument for
sceneFuncandhitFunc
[2.1.4][2018-06-15]
Fixed
- Fixed
Konva.Textjustify drawing for a text with decoration - Added methods
data(),setData()andgetData()methods toKonva.TextPath - Correct cache reset for
Konva.Transformer
[2.1.3][2018-05-17]
Fixed
Konva.Transformerautomatically track shape changesKonva.Transformerworks with shapes with offset too
[2.1.2][2018-05-16]
Fixed
- Cursor fixes for
Konva.Transformer - Fixed lineHeight behavior for
Konva.Text - Some performance optimizations for
Konva.Text - Better wrap algorithm for
Konva.Text - fixed
Konva.Arrowwith tension != 0 - Some fixes for
Konva.Transformer
[2.0.3][2018-04-21]
Added
- Typescript defs for
Konva.Transformer - Typescript defs for
globalCompositeOperation
Changes
- Fixed flow for
contextmenuevent. Now it will be triggered on shapes too find()method for Containers can use a function as a parameter
Fixed
- some bugs fixes for
group.getClientRect() Konva.Arrowwill not draw dash for pointers- setAttr will trigger change event if new value is the same Object
- better behavior of
dblclickevent when you click fast on different shapes stage.toDataURLwill usepixelRatio = 1by default.
[2.0.2][2018-03-15]
Fixed
- Even more bugs fixes for
Konva.Transformer
[2.0.1][2018-03-15]
Fixed
- Several bugs fixes for
Konva.Transformer
[2.0.0][2018-03-15]
Added
- new
Konva.Transformer. It is a special group that allow simple resizing and rotation of a shape. - Add ability to remove event by callback
node.off('event', callback). - new
Konva.Filters.Contrast. - new
Konva.Util.haveIntersection()to detect simple collusion - add
Konva.Text.ellipsisto add '…' to text string if width is fixed and wrap is set to 'none' - add gradients for strokes
Changed
- stage events are slightly changed.
mousedown,click,mouseup,dblclick,touchstart,touchend,tap,dbltapwill be triggered when clicked on empty areas too
Fixed
- Some typescript fixes
- Pixelate filter fixes
- Fixes for path data parsing
- Fixed shadow size calculation
Removed
- Some deprecated methods are removed. If previous version was working without deprecation warnings for you, this one will work fine too.
[1.7.6][2017-11-01]
Fixed
- Some typescript fixes
[1.7.4][2017-10-30]
Fixed
isBrowserdetection for electron
[1.7.3][2017-10-19]
Changed
- Changing size of a stage will redraw it in synchronous way
Fixed
- Some fixes special for nodejs
[1.7.2][2017-10-11]
Fixed
- Fixed
Konva.document is undefined
[1.7.1][2017-10-11]
Changed
- Konva for browser env and Konva for nodejs env are separate packages now. You can use
konva-nodefor NodeJS env.
[1.7.0][2017-10-08]
Fixed
- Several typescript fixes
Changed
- Default value for
dragDistanceis changed to 3px. - Fix rare error throw on drag
- Caching with height = 0 or width = 0 with throw async error. Caching will be ignored.
[1.6.8][2017-08-19]
Changed
- The
node.getClientRect()calculation is changed a bit. It is more powerfull and correct. Also it takes parent transform into account. See docs. - Upgrade nodejs deps
[1.6.7][2017-07-28]
Fixed
- Fix bug with double trigger wheel in Firefox
- Fix
node.getClientRect()calculation in a case of Group + invisible child - Fix dblclick issue https://github.com/konvajs/konva/issues/252
[1.6.3][2017-05-24]
Fixed
- Fixed bug with pointer detection. css 3d transformed stage will not work now.
[1.6.2][2017-05-08]
Fixed
- Fixed bug with automatic shadow for negative scale values
[1.6.1][2017-04-25]
Fixed
- Fix pointer position detection
Changed
- moved
globalCompositeOperationproperty toKonva.Node
[1.6.0][2017-04-21]
Added
- support of globalCompositeOperation for
Konva.Shape
Fixed
- getAllIntersections now works ok for Text shapes (https://github.com/konvajs/konva/issues/224)
Changed
- Konva a bit changed a way to detect pointer position. Now it should be OK to apply css transform on Konva container. https://github.com/konvajs/konva/pull/215
[1.5.0][2017-03-20]
Added
- support for
lineDashOffsetproperty forKonva.Shape.
[1.4.0][2017-02-07]
Added
textDecorationofKonva.Textnow supportsline-through
[1.3.0][2017-01-10]
Added
- new align value for
Konva.TextandKonva.TextPath:justify - new property for
Konva.TextandKonva.TextPath:textDecoration. Right now it sports only '' (no decoration) and 'underline' values. - new property for
Konva.Text:letterSpacing - new event
contentContextmenuforKonva.Stage alignsupport forKonva.TextPath- new method
toCanvas()for converting a node into canvas element
Changed
- changing a size of
Konva.Stagewill update it in async way (viabatchDraw). shadowOffsetrespect pixel ratio now
Fixed
- Fixed bug when
Konva.Tagwidth was not changing its width dynamically - Fixed "calling remove() for dragging shape will throw an error"
- Fixed wrong opacity level for cached group with opacity
- More consistent shadows on HDPI screens
- Fixed memory leak for nodes with several names
[1.2.2][2016-09-15]
Fixed
- refresh stage hit and its
dragend getClientRectcalculations
[1.2.0][2016-09-15]
Added
- new properties for
Konva.TextPath:letterSpacingandtextBaseline.
[1.1.4][2016-09-13]
Fixed
- Prevent throwing an error when text property of
Konva.Text= undefined or null
[1.1.3][2016-09-12]
Changed
- Better hit function for
TextPath. - Validation of
Shapefilters.
[1.1.2][2016-09-10]
Fixed
- Fixed "Dragging Group on mobile view throws "missing preventDefault" error" #169
[1.1.1][2016-08-30]
Fixed
- Fixed #166 bug of drag&drop
[1.1.0][2016-08-21]
Added
- new property of
Konva.Shape-preventDefault.
[1.0.3][2016-08-14]
Fixed
- Fixed some typescript definitions
[1.0.2][2016-07-08]
Changed
Konva.Textwill interpret undefinedwidthandheightasAUTO
[1.0.1][2016-07-05]
Changed
- you can now unset property by
node.x(undefined)ornode.setAttr('x', null)
Fixed
- Bug fix for case when
touchendevent throws error
[1.0.0][2016-07-05]
Fixed
- Bug fix for case when
touchendevent throws error
[0.15.0][2016-06-18]
Added
- Custom clip function
[0.14.0][2016-06-17]
Fixed
- fixes in typescript definitions
- fixes for bug with
mouseenterevent on deep nesting case
[0.13.9][2016-05-14]
Changed
- typescript definition in npm package
- node@5.10.1, canvas@1.3.14, jsdom@8.5.0 support
Konva.Pathwill be filled when it is not closedAnimation.start()will not not immediate sync draw. This should improve performance a little.- Warning when node for
Tweenis not in layer yet. removeChildren()remove only first level children. So it will not remove grandchildren.
[0.12.4][2016-04-19]
Changed
batchDrawwill do not immediatedraw()
Fixed
- fix incorrect shadow offset on rotation
[0.12.3][2016-04-07]
Fixed
batchDrawfunction works less time now- lighter npm package
[0.12.2][2016-03-31]
Fixed
- repair
cancelBubbleevent property behaviour - fix wrong
PathgetClientRect()calculation - better HDPI support
- better typescript definitions
- node 0.12 support
Changed
- more universal stage container selector
mousewheelevent changed towheel
[0.11.1][2016-01-16]
Fixed
- correct
Konva.Arrowdrawing. Now it works better. - Better support for dragging when mouse out of stage
- Better corner radius for
Labelshape contentTapevent for stage
Added
- event delegation. You can use it in this way:
layer.on('click', 'Circle', handler); - new
node.findAncestors(selector)andnode.findAncestor(selector)functions - optional selector parameter for
stage.getIntersectionandlayer.getIntersection - show warning message if several instances of Konva are added to page.
Changed
moveToand some other methods returnthisgetAbsolutePositionsupport optional relative parent argument (useful to find absolute position inside of some of parent nodes)changeevent will be not fired if changed value is the same as old value
[0.10.0][2015-10-27]
Added
- RGBA filter. Thanks to @codefo
strokeandfillsupport forKonva.Sprite
Fixed
- Correct calculation in
getClientRectmethod ofKonva.LineandKonva.Container. - Correct
toObject()behaviour for node with attrs with extended native prototypes - Fixed bug for caching where buffer canvas is required
Changed
- Dragging works much better. If your pointer is out of stage content dragging will still continue.
Konva.Node.createnow works with objects.Konva.Tweennow supports tweening points to state with different length
[0.9.5][2015-05-28]
Fixed
towill not throw error if noonFinishcallback- HDPI support for desktop
- Fix bug when filters are not correct for HDPI
- Fix bug when hit area is not correct for HDPI
- Fix bug for incorrect
getClientRectcalculation - Repair fill gradient for text
Changed
- context wrapper is more capable with native context.
So you can use
context.fillStyleproperty in yoursceneFuncwithout accessing native context. toDataURLnow handles pixelRatio. you can passconfig.pixelRatioargument- Correct
clone()for custom nodes FastLayercan now have transformsstage.toDataURL()method now works synchronously. Socallbackargument is not required.container.find(selector)method now has a validation step. So if you forgot to add#or.you will see a warning message in the console.
Added
- new
Konva.Image.fromURLmethod
Deprecated
fillRed,fillGreen,fillBlue,fillAlphaare deprecated. Usefillinstead.strokeRed,strokeGreen,strokeBlue,strokeAlphaare deprecated. Usestrokeinstead.shadowRed,shadowGreen,shadowBlue,shadowAlphaare deprecated. Useshadowinstead.dashArrayis deprecated. Usedashinstead.drawFuncis deprecated. UsesceneFuncinstead.drawHitFuncis deprecated. UsehitFuncinstead.rotateDegis deprecated. Userotateinstead.
[0.9.0][2015-02-27]
Fixed
- cache algorithm has A LOT OF updates.
Changed
scalenow affectsshadowOffset- performance optimization (remove some unnecessary draws)
- more expected drawing when shape has opacity, stroke and shadow
- HDPI for caching.
- Cache should work much better. Now you don't need to pass bounding box {x,y,width,height} to
cachemethod for all buildin Konva shapes. (only for your customKonva.Shapeinstance). Tweennow supports color properties (fill,stroke,shadowColor)
Added
- new methods for working with node's name:
addName,removeName,hasName. - new
perfectDrawEnabledproperty for shape. See http://konvajs.org/docs/performance/Disable_Perfect_Draw.html - new
shadowForStrokeEnabledproperty for shape. See http://konvajs.org/docs/performance/All_Performance_Tips.html - new
getClientRectmethod. - new
tomethod for every node for shorter tweening
[0.8.0][2015-02-04]
- Bug Fixes
- browser crashing on pointer events fixed
- optimized
getIntersectionfunction
- Enhancements
container.findOne()method- new
strokeHitEnabledproperty. Useful for performance optimizations - typescript definitions. see
/resources/konva.d.ts
Rebranding release 2015-01-28
Differences from last official KineticJS release
-
Bug Fixes
strokeScaleEnabled = falseis disabled for text as I can not find a way to implement thisstrokeScaleEnabled = falsefor Line now creates a correct hit graph- working "this-example" as name for nodes
- Konva.Text() with no config will not throw exception
- Konva.Line() with no config will not throw exception
- Correct stage resizing with
FastLayer batchDrawmethod forFastLayer- Correct mouseover/mouseout/mouseenter/mouseleave events for groups
- cache node before adding to layer
intersectsfunction now works for shapes with shadow
-
Enhancements
cornerRadiusof Rect is limited bywidth/2andheight/2blackis default fill for text- true class extending. Now
rect instanceOf Konva.Shapewill return true - while dragging you can redraw layer that is not under drag. hit graph will be updated in this case
- now you can move object that is dragging into another layer.
- new
frameOffsetsattribute forKonva.Sprite - much better dragging performance
browserifysupport- applying opacity to cached node
- remove all events with
node.off() - mouse dragging only with left button
- opacity now affects cached shapes
- Label corner radius
- smart changing
width,height,radiusattrs for circle, start, ellipse, ring. mousewheelsupport. Thanks @vmichnowicz- new Arrow plugin
- multiple names:
node.name('foo bar'); container.find('.foo');(thanks @mattslocum) Container.findOne()