- make transform-methods relative as default (breaking change)
- added
'random'option andrandomize()method toSVG.Color-> TODO! - fixed a bug in clipping and masking where empty nodes persists after removal -> TODO!
- fixed a bug in IE11 with
mouseenterandmouseleave-> TODO! - added
precision()method to round numeric element attributes -> TODO! - added specs for
SVG.FX-> TODO!
- moved project to svgdotjs
- made matrixify work with transformation chain separated by commas (#543)
- fixed
SVG.Matrix.skew()(#545) - fixed broken animations, if using polyfills for es6/7 proposals (#504)
- fixed and improved
SVG.FX.dequeue()(#546) - fixed an error in
SVG.FX.step, if custom properties is added toArray.prototype(#549) - updated dev dependencies; request and gulp-chmod -
npm run buildnow requires nodejs 4.x - added code coverage https://coveralls.io/github/svgdotjs/svg.js (3e614d4)
- added
npm run test:quickwhich aim at being fast rather than correct - great for git hooks (981ce24) - added support for basic path animations (#561)
- fixed leading and trailing space in SVG.PointArray would return NaN for some points (695f26a) (#529)
- make SVG.FX.loop modify the last situation instead of the current one (#532)
- fixed test of
SVG.FX.afterAll(#534) - fixed
SVG.FX.speed()(#536)
- calling
fill(),stroke()without an argument is now a nop - Polygon now accepts comma less points to achieve parity with Adobe Illustrator (#529)
- added automated unit tests via Travis (#527)
- updated dependencies
- added
npm run buildto build a new version of SVG.js without requiring gulp to be globally installed
- reworked parent module for speed improvemenents
- reworked
filterSVGElementsutility to use a for loop instead of the native filter function
- add error callback on image loading (#508)
- fixed bug when getting bbox of text elements which are not in the dom (#514)
- fixed bug when getting bbox of element which is hidden with css (#516)
- fixed string parsing in viewbox (#483)
- added specs for
SVG.ViewBox - fixed bbox when element is not in the dom (#480)
- added
parentparameter forclone() - fixed line constructor which doesn't work with Array as input (#487)
- added spec for mentioned issue
- fixed problem in IE with
document.contains(#490) related to (#480) - fixed
undowhen undoing transformations (#494)
- fixed
SVG.morph()(#473) - fixed parser error (#471)
- fixed bug in
SVG.Colorwith new fx - fixed
radius()for circles when animating and other related code (#477) - fixed bug where
stop(true)throws an error when element is not animated (#475) - added typings for svg.js (#470)
- fixed bug in
add()when altering svgs with whitespaces - fixed bug in
SVG.Doc().createwhere size was set to 100% even if size was already specified - fixed bug in
parse()fromSVG.PathArraywhich does not correctly handledSandT(#485)
- added
SVG.Pointwhich serves as Wrapper to the nativeSVGPoint(#437) - added
element.point(x,y)which transforms a point from screen coordinates to the elements space (#403) - fixed
svgjs:dataattribute which was not set properly in all browsers (#428) - fixed
isNumberandnumberAndUnitregex (#405) - fixed error where a parent node is not found when loading an image but the canvas was cleared (#447)
- textpath now is a parent element, the lines method of text will return the tspans inside the textpath (#450)
- fx module rewritten to support animation chaining and several other stuff (see docs)
- fixed absolute transformation animations (not perfect but better)
- fixed event listeners which didnt work correctly when identic funtions used
- added
element.is()which helps to check for the object instance faster (instanceof check) - added more fx specs
- added check for existence of node (#431)
group.move()now allows string numbers as input (#433)matrixify()will not apply the calculated matrix to the node anymore
- fixed
transform()which returns the matrix values (a-f) now, too (#423) - double newlines (\n\n) are correctly handled as blank line from
text() - fixed use of scrollX vs pageXOffset in
rbox()(#425) - fixed target array in mask and clip which was removed instead of reinitialized (#429)
- fixed null check in image (see 2.2.2)
- fixed bug related to the new path parser (see 2.2.2)
- fixed amd loader (#412)
- fixed leading point bug in path parsing (#416)
- added null check in image onload callback (#415)
- documentation rework (#407) [thanks @snowyplover]
- added workaround for
SvgPathSegwhich is removed in Chrome 48 (#409) - added
gbox()to group to get bbox with translation included (#405) - fixed dom data which was not cleaned up properly (#398)
- fixed pattern and gradient animation (#385)
- fixed mask animation in Firefox (#287)
- fixed return value of
text()after import/clone (#393) - svgjs now saves crucial data in the dom before export and restores them when element is adopted
- added
ungroup()/flatten()(#238),toParent()andtoDoc() - added UMD-Wrapper with possibility to pass custom window object (#352)
- added
morph()method for paths via plugin svg.pathmorphing.js - added support for css selectors within the
parent()method - added
parents()method to get an array of all parenting elements
- added custom context binding to event callback (default is the element the event is bound to)
- added transform to pattern and gradients (#383)
- fixed clone of textnodes (#369)
- fixed transformlists in IE (#372)
- fixed typo that leads to broken gradients (#370)
- fixed animate radius for circles (#367)
- Fixed zoom consideration in circle and ellipse
- fixed bug with
doc()which always should return root svg - removed target reference from use which caused bugs in
dmove()anduse()with external file - added possibility to remove all events from a certain namespace
- fixed bug in
SVG.FXwhen animating withplot() - removed scale consideration in
move()duo to incompatibilities with other move-functions e.g. inSVG.PointArray
- implemented an SVG adoption system to be able to manipulate existing SVG's not created with svg.js
- changed
parentreference on elements toparent()method - using
CustomEventinstead ofEventto be able to fire events with adetailobject [thanks @Fuzzyma] - added polyfill for IE9 and IE10 custom events [thanks @Fuzzyma]
- added DOM query selector with the
select()method globally or on parent elements - added the intentionally neglected
SVG.Circleelement - fixed bug in
radius()method whenyvalue equals0 - renamed
SVG.TSpanclass toSVG.Tspanto play nice with the adoption system - added
rx()andry()toSVG.Rect,SVG.Circle,SVG.EllispeandSVG.FX - changed
arrayreference toarray()method onSVG.Polyline,SVG.PolygonandSVG.Path - completely reworked
clone()method to use the adoption system - added support to clone manually built text elements
- added
svg.wiml.jsplugin to plugins list - added
ctm()method to for matrix-centric transformations - added
morph()method toSVG.Matrix - added support for new matrix system to
SVG.FX - completely reworked transformations to be chainable and more true to their nature
- changed
linesreference tolines()onSVG.Text - changed
trackreference totrack()onSVG.Text - changed
textPathreference totextPath()onSVG.Text - added raw svg import functionality with the
svg()method - reworked sup-pixel offset implementation to be more compact
- added
native()method to elements and matrix to get to the native api - added
untransform()method to remove all transformations - switched from Ruby's
raketo Node'sgulpfor building [thanks to Alex Ewerlöf] - added coding style description to README
- changed
to()method toat()method inSVG.FX - added reverse functionality for animations
- documented the
situationobject inSVG.FX - renamed
SVG.SetFXtoSVG.FX.Set - added distinction between relative and absolute matrix transformations
- implemented the
element()method using theSVG.Bareclass to create elements that are not described by SVG.js - removed
SVG.Symbolbut kept thesymbol()method using the newelement()method - reworked
SVG.Numberto return new instances with calculations rather than itself - added
wandhproperties as shorthand forwidthandheighttoSVG.BBox - added
SVG.TBoxto get a bounding box that is affected by transformation values - reworked animatable matrix rotations
- fixed a bug where events are not detached properly
- added event-based or complete detaching of event listeners in
off()method
- added
SVG.Marker - added
SVG.Symbol - added
first()andlast()methods toSVG.Set - added
length()method toSVG.TextandSVG.TSpanto calculate total text length SVG.get()will now also fetch elements with axlink:href="#elementId"orurl(#elementId)value given- added
reference()method to get referenced elements from a given attribute value - fixed infinite loop in viewbox when element has a percentage width / height [thanks @shabegger]
- fixed bug in
SVG.off - fixed offset by window scroll position in
rbox()[thanks @bryhoyt]
- calling
after()when callingstop(true)(fulfill flag) [thanks @vird] - added
classes(),hasClass(),addClass(),removeClass()andtoggleClass()[thanks @pklingem] - fixed a bug where
Element#style()would not save empty values in IE11 [thanks @Shtong] - fixed
SVG is not defined error[thanks @anvaka] - fixed a bug in
move()on text elements with a string based value - binding events listeners to svg.js instance
- text element fires
rebuildevent whenever therebuild()method is called - fix for
text()method on text element when acting as getter [thanks @Lochemage] - fix in
style()method with a css string [thanks @TobiasHeckel]
- fine-tuned text element positioning
- fixed a bug in text
dy()method - added
leading()method toSVG.FX - removed internal representation for
style - added
reverse()method toSVG.Array(and thereby also toSVG.PointArrayandSVG.PathArray) - added
fulfilloption tostop()method inSVG.FXto finalise animations - calling
at()method directly on morphable svg.js instances inSVG.FXmodule - moved most
_privatemethods to local named functions - moved helpers to a separate file
- added more output values to
bbox()andrbox()methods
- added
plain()method toSVG.Textelement to add plain text content, without tspans - added
plain()method to parent elements to create a text element without tspans - updated
SVG.TSpanto accept nested tspan elements, not unlike thetext()method inSVG.Text - removed the
relative()method in favour ofdx(),dy()anddmove() - switched form objects to arrays in
SVG.PathArrayfor compatibility with other libraries and better performance on parsing and rendering (up-to 48% faster than 1.0.0-rc.4) - refined docs on element-specific methods and
SVG.PathArraystructure - added
build()to enable/disable build mode - removed verbose style application to tspans
- reworked
leading()implementation to be more font-size "aware" - refactored the
attrmethod onSVG.Element - applied Helvetica as default font
- building
SVG.FXclass withSVG.invent()function
- switched to
MAJOR.MINOR.PATCHversioning format to play nice with package managers - made svg.pattern.js part of the core library
- automatic pattern creation by passing an image url or instance as
fillattribute on elements - added
loaded()method to image tag - fix in
animate('=').to() - added
pointAt()method toSVG.Path, wrapping the nativegetPointAtLength() - moved
length()method to sugar module - fix for arcs in patharray
toString()method [thanks @dotnetCarpenter]
- fix for html-less documents
- added the
SVG.inventfunction to ease invention of new elements - using
SVG.inventto generate core shapes as well for leaner code - added second values for
animate('2s') - fix for arcs in patharray
toString()method - added
length()mehtod to path, wrapping the nativegetTotalLength()
- added
index()method toSVG.ParentandSVG.Set - modified
cx()andcy()methods on elements with nativex,y,widthandheightattributes for better performance - added
morph()andat()methods toSVG.Numberfor unit morphing
- added
SVG.PathArrayfor real path transformations - removed
unbiasedsystem for paths - enabled proportional resizing on
size()method withnullfor eitherwidthorheightvalues - moved data module to separate file
data()method now accepts object for for multiple key / value assignments- added
bbox()method toSVG.Set - added
relative()method for moves relative to the current position - added
morph()andat()methods toSVG.Colorfor color morphing
- added
loop()method toSVG.FX - switched from
setIntervaltorequestAnimFramefor animations
- added
get()toSVG.Set - moved
SVG.PointArrayto a separate file
- added
linkTo(),addTo()andputIn()methods onSVG.Element - provided more detailed documentation on parent elements
- added
SVG.Aelement with thelink()
- added
pause()andplay()toSVG.FX - storing animation values in
situationobject
- added
has()method toSVG.Set - added
width()andheight()as setter and getter methods on all shapes - moved sub-pixel offset fix to be an optional method (e.g.
SVG('drawing').fixSubPixelOffset()) - added
replace()method to elements - added
radius()method toSVG.RectandSVG.Ellipse - added reference to parent node in defs
- merged plotable.js and path.js
- added library to cdnjs