All notable changes to this project will be documented in this file.
The document follows the conventions described in “Keep a CHANGELOG”.
====
- fixed import of svg strings with leading comment (#1339)
- fixed dmove for nested svgs (svgdotjs/svg.draggable.js#127)
- fixed import map for father (#1317)
- fixed import map
- skip descriptive elements on rebuild and
toParent()(#1304) - allow 0 as animation duration and delay (#1225)
- allow nodes that are not imported yet (#1252)
- only apply color conversion to attributes that can take a color (#1241)
- support css vars (#1230)
- fix import of leading, dont write data to dom if not neccessary
- discontinue use of svgjs:data in favor of data-svg
- allow + as delemiter in paths (#1165)
- added
amove()methods to runner (#1131) - fix
css(), dont throw when screenCtm fails (#968) - several type fixes
- add terminate method to timeline so memory can be freed (#1295)
- add more events to sugar (#1217)
- improve performance of
point()by not creating intermediate objects (#1251) - fixed references by using single quotes instead of double quotes which lead to errors (#1277)
- fixed a few spelling errors in comments (#1277)
- fix several typings (#1253, #1280, #1300)
- added second parameter
assignNewIdtoclone()to allow cloning with the same id (#1161)
- fixed several type issues (#1249, #1233, #1231, #1223, #1215)
- fixed
css()returning camelCased properties even though they were specified in kebap-case - fixed
ObjectBagloosing information when callingvalueOf()(Numbers lost its unit) - fixed
parents()(#1235) - fixed
nodeOrNew()to work in object tags as well (#1219)
- fixed typings for tcs 4.2.4 (#1204, #1206, #1203)
- fixed
zoom()method of runner which was passed a wrong parameter - fixed positioning methods of
TSpanto position them by its bounding box - fixed
flip()method which flips correctly by center by default now and accepts correct arguments - fixed a case in
rbox()where not always all values of the box were updated - fixed
getOrigin()function used bytransform()so that all origin popssibilities specified in the docs are working (#1085) - fixed positioning of text by its baseline when using
amove() - fixed tons of typings in the svg.d.ts file and relaxed type requirements for
put()andparent() - fixed adopter when adopting an svg/html string. It had still its wrapper as parentNode attached
- fixed
put()which correctly creates an svgjs object from the passed element now before returning - fixed
parent()which correctly returns a Dom instance when parent is the document or document-fragment - fixed
add()which correctly removes namespaces of non-root svg elements now when added to another svg element (#1086) - fixed
isRoot()which correctly returns false, if the element is in a document-fragment - fixed
replace()which works without a parent now, too - fixed
defs()which correctly returnsnullwhen called on a detached node that is not a root node - fixed
reference()which correctly returnsnullinstead of throwing when specifying an attribute which holds a number - fixed
flatten()which correctly flattens now but doesn't accept parameters anymore (makes no sense) - fixed
ungroup()which now inserts the elements at the correct position in the correct order and has position as second argument now - fixed
positionfortransform()to also allow a position of 0 - fixed
bbox()ofPathArrayandPointArraywhich returns an instance ofBoxnow - fixed bug in creation of PointArray which had still references to source arrays in it
- fixed
PIDcontroller and makeSetterGetter function - fixed
Queue.pushwhich didnt let you push queue items - fixed
Timeline.reverse()which did exactly the opposite of what you would expect when passingtrue/false - fixed cancelAnimationFrame-mock for tests
- fixed animate when=after to be really "now" when no runner is on the timeline
- fixed animate attr which is also retargetable now
- fixed internals of ObjectBag which can hold other Morphable values now
- fixed animate transform which didnt change its origin on retarget for declarative animations
- fixed path parsing (#1145)
- fixed
clone()to return the correct instance (#1154)
- added second Parameter to
SVG(el, isHTML)which allows to explicitely create elements in the HTML namespace (#1058) - added
unlink()andlinker()to hyperlinked elements to remove or access the underling<a>element - added
wrap()method toDomwhich lets you wrap an element by another one - added
orient()method toMarker - added
optionsparameter todispatch()andfire()to allow for more special needs - added
newLine()constructor toTextto create a tspan marked as new line (#1088) - added
Fragmentas a wrapper for document-fragment - added position argument for
toParent() - added position argument for
toRoot() - added attr syntax for
data()method - added index and array parameter when passing a function to
List.each()so that it mostly behaves like map - added possibility to pass a transform object to
PointArray.transform()similar to Point - added
with-lastaswhentoanimateandscheduleto let an animation start with the start of the last one in the timeline - added lots of tests in es6 format
- added geometry and positioning methods to
A(#1110)
- deleted undocumented
Matrix.compose()method which did the same asnew Matrix()orMatrix.transform() - deleted undocumented
Path.morph()andPath.at()which was replaced with Morphables in v3
3.0.16 - 2019-11-12
- fixed build of polyfills which was broken because of core-js update
3.0.15 - 2019-11-08
- allow object input of
whenanddelaytoanimate()
- added missing dmove function to runner
3.0.14 - 2019-10-31
- hide parser from screen readers (#1023)
- added transpiled esm bundle for webpack und co and faster import
3.0.13 - 2019-06-12
- fixed a bug in Timeline.finish() (#964)
- fixed registration of classes with custom bundler
- fixed transform getter (e.g.
el.transform('scale')) - fixed typings (#1004)
3.0.12 - 2019-02-19
- fixed package.json which points to correct file for webpack now (browser keyword)
- fixed typescript types
- added
ForeignObjectto the core
3.0.11 - 2019-01-22
- fixed move commands (x, y, move) of text so that it moves text always by the upper left edge.
- fixed center commands (cx, cy, center) of text so that it moves text always by the center.
3.0.10 - 2019-01-14
- fixed
textPath(),path().text()andtext().path() - fixed
root()method - fixed default values returned by
attr. Can be missleading if present.
- added
findOne()for better performance
3.0.9 - 2019-01-14
- renamed
unit()toconvert()due to name collision
3.0.8 - 2019-01-13
- added back
to()asunit()ofSVG.Numberwhich was removed accidentally
3.0.7 - 2019-01-13
- fixed a bug in
isNulledBox()anddomContains() - performance changes:
- replace
getElementsByTagNamewithquerySelector - make Color check in
attrmore restrictive to prevent expensivetoString
- replace
3.0.6 - 2019-01-12
- fixed group move and size commands
- default font size is not set anymore because it mostly goes against what the user wants
- fix bug in
font()which set wrong values
PointArray.transform()(#945)
3.0.5 - 2018-12-12
- fixed
parserwhich didnt have all required css rules and not focusable=false - group
x(), y(), width(), height(), dx(), dy()now correctly change the bbox of the group by moving/resizing all children - fixed timeline which fired
finishedtoo early - fixed
Animator.frame(). The passed callback gets the current time now (same as RAF) - allow
loop(true)which is the same asloop()
3.0.4 - 2018-12-07
- fixed
zoomwhich was added correctly and is animatable now - fixed
Runnerwhich merges transformations on the correct frame and in the correct way now - fixed condition on which transforms get deleted from an element when animating
- fixed
Timelinewhich executes Runner in the correct order now - fixed
Svgwhich correctly deletes the defs reference onclear()
3.0.3 - 2018-12-05
- fixed
Runnerwhich correctly retains transformations when it is still on a timeline - fixed
plot()method of Runner - fixed
timeline()so that one can set the timeline of an element now - fixed
Gand added missingwidth/height
3.0.2 - 2018-12-03
- fixed
Listwhich still didn't have all method names it should have - fixed
Runnerwhich correctly handle retargeted controlled animations now - fixed
Runnerso that it is able to be persisted correctly - fixed
Colorwhich correctly handles empty strings now - fixed
attrwhich correctly handles Objects of other kind now - fixed
Morphablewhich correctly calculates the done flag now
3.0.1 - 2018-12-03
- fixed
insertBefore,insertAfterandflipcorrectly returningthis - fixed
Listwhich didn't have all method names it should have
3.0.0 - 2018-12-01
- added
text()method toSVG.Pathto create a textPath from this path (#705) - added
SVG.HTMLNodewhich is the object wrapped around html nodes to put something in them - added
dispatch()method onSVG.Elementwhich returns the dispatched event for event cancelation (#550) - added
isRoot()onSVG.Doc(#809) - added a linter during the npm build process
- added
beziere()andsteps()to generate easing functions - added
insertAfter()andinsertBefore - added
SVG.Stylewhich can be created withstyle()orfontface()(#517) - added
EventTargetwhich is a baseclass to get event abilities (#641) - added
Domwhich is a baseclass to get dom abilities - added
round()which lets you round attribues from a node - added
ax(), ay(), amove()to change texts x and y values directly (#787) - added possibility to pass attributes into a constructor like:
new SVG.Rect({width:100}) - added possibility to pass in additional attribues to element creators e.g.
canvas.rect({x:100})orcanvas.rect(100, 100, {x:100})(#796) - added
SVG.List(#645) - added
words()andelement()toDombecause of (#935) - added lab, lch, hsl and cmyk color spaces (#790)
- added
random()method onSVG.Colorto create random colors of different kinds (#939)
- removed
SVG.Array.split()function - removed workaround for browser bug with stroke-width
- removed polyfills
- removed
SVG.Setin favour ofSVG.List - removed feature to set style with css string (e.g. "fill:none;display:block;")
- removed
loaded()anderror()method onSVG.Image(#706) - removed sub-pixel offset fix
- removed
SVG.Nested(#809) - removed
show()fromSVG.Ato avoid name clash (#802) - removed
size()fromSVG.Textto avoid name clash (#799) - removed
native()function - removed
Barein favour ofDom(#935) - removed
bowersupport because it is deprecated
- gradients now have there corresponding node as type and not only radial/linear
SVG.Path.pointAt()correctly returns anSVG.Pointnow- replaced static reference to
maskerinSVG.Maskwith themasker()method - replaced static reference to
clipperinSVG.ClipPathwith theclipper()method - replaced static reference to
targetsinSVG.MaskandSVG.ClipPathwith thetargets()method - moved all regexes to
SVG.regex - new constructor signature for
SVG.Imageandload():container.image(src, callback) / image.load(src, callback)(#706) - changed
style()tocss(). Now accepts array as input and returns object when no argument given (#517) - ids are not generated upon creation anymore. Instead they are generated when requested (#559)
SVG.extend()now expects exactly one module or an array of modulesSVG.Text.path()now returns an instance of SVG.TextPath (#705)SVG.Text.path()does not move all contents to the textPath (#705)SVG.TextPathnow inherits fromSVG.Textand can be manipulated the same way (#705)SVG.Text.textPath()returns the first textPaths in the text element (#705)- renamed
SVG.Stopconstructorat()onSVG.Gradienttostop()(#707) - renamed
fill()method onSVG.GradientandSVG.Patterntourl()(#708) - renamed
previous()method toprev() - changed
childNodestochildren(same forfirstChild,lastChild, ...) (#710) - changed it back because of performance drop - moved
defs()method fromSVG.ParenttoSVG.Element SVG()can be called with css selector, node or svg string, now. Without an argument it creates a newSVG.Doc()(#646)add(),put(),addTo(),putIn()now excepts all arguments accepted bySVG()- all
SVG.*objects now can have a node as parameter when constructing SVG()does not set a default size anymore- default constructor now has an optional
nodeargument which is used to consruct the object e.g.new SVG.Rect(rectNode) - SVG.Elements constructor now tries to import svgjs:data from the node
SVG.on()calls the listener in the context of the passed object. el.on always uses the svg.js object as contextSVG.on()/off()andel.on()/off()now accepts multiple comma or space separated events e.g. "mousedown, foo bar" (#727)- Matrices now apply transformations like
scale,translate, etc... by left multiplying them to simplify transformations - The way
transform()works is now completely different. See the docs for more as soon as they are updated - merged
SVG.DocandSVG.Nested, addedisRoot()onSVG.Doc()(#809) - The fx module was completely reworked to be faster and less error prone. For more information on how to use it refer to the docs
- The whole lib is now splitted into es6 modules (#875)
Element.svg()now can can replace the current node, can export the children of a node and can take an export modifier to change/replace the exported nodesungroup()now breaks off one container and not moreclone()does not add the clone to the dom anymoreattr()excepts array now to get multiple values at onceSVG.Text.rebuild()now takes every font-size into account (#512)fill()andstroke()return the fill and stroke attribute when called as getter (#789)parents()now gives back all parents until the passed one or documentImagecallback passes normalloadevent instead of custom object (#931)- renamed
DoctoSvganddoc()toroot(andtoDoc()/toRoot()) (#932)
2.7.1 - 2018-11-30
- CustomEvent-polyfill was not used (needed in IE) (#938)
2.7.0 - 2018-11-13
- fixed calling
parent()ondocumentFragments children (#927) - parser is not focusable anymore (#908)
SVG.Element.click(null)correctly unbinds the event (#878)- fix memory leak (#905)
SVG.Setnow accepts another Set as input (#893)on()/off()accepts multiple event names as input (backport from 3.0)
2.6.6 - 2018-08-30
- added global reference to support 'window' in bundlers (#767)
2.6.5 - 2018-05-26
- fixed
element.parent()which sometimes failed when used on detached documents (#759) - fixed
SVG.Text.y()which didnt work correctly withSVG.Number(#778) - fixed
SVG.Doc.clone()which throwed an error (#782) - fixed
SVG.Mask.clone()which throwed an error (#782) - fixed
SVG.PointArrayhaving a reference to outside array in some cases (#803) - fixed
reference()which failed when trying to use a reference which does not exist in the attribuets (#840) - fixed
animate().attr()method which doenst work fordattribute of paths (#847) - fixed problems with
CustomEventpolyfill in IE11 (#852)
- added possibility to pass an array of point objects to SVG.PointArray (#803)
2.6.4 - 2018-02-07
- fixed memory leak when creating images (#805)
2.6.3 - 2017-07-21
- fixed error in parent method when hitting document node (#720)
2.6.2 - 2017-06-05
- added
width()andheight()methods toSVG.FX - added the intended functionality to call animate functions with multiple parameter (#671)
- updated Jasmine from 2.5.2 to 2.6.0
- removed the typeof check in the initialisation of SVG.Matrix
- fixed
SVG.FX.onceso that it add its callback on the last situation instead of the current one - fixed
SVG.FX.stepso that the animation doesn't stop if an afterAll callback call animate (#677)
2.6.1 - 2017-04-25
- fixed a bug in path parser which made it stop parsing when hitting z command (#665)
2.6.1 - 2017-04-25
- fixed a bug in path parser which made it stop parsing when hitting z command (#665)
2.6.0 - 2017-04-21
- added
optionsobject toSVG.on()andel.on()(#661)
- back to sloppy mode because of problems with plugins (#660)
2.5.3 - 2017-04-15
- added gitter badge in readme
- fixed svg.js.d.ts (#644 #648)
- fixed bug in
el.flip()which causes an error when calling flip without any argument
- component.json (#652)
2.5.2 - 2017-04-11
- SVG.js is now running in strict mode
clear()does not remove the parser in svg documents anymorelennot declared in FX module, making it a global variable (9737e8a)bboxnot declared in SVG.Box.transform in the Box module (131df0f)namespacenot declared in the Event module (e89c97e)
2.5.1 - 2017-03-27
- make svgjs ready to be used on the server
- fixed
SVG.PathArray.parsethat did not correctly parsed flat arrays - prevented unnecessary parsing of point or path strings
2.5.0 - 2017-03-10
- added a plot and array method to
SVG.TextPath(#582) - added
clone()method toSVG.Array/PointArray/PathArray(#590) - added
font()method toSVG.Tspan - added
SVG.Box() - added
transform()method to boxes - added
event()toSVG.Elementto retrieve the event that was fired last on the element (#550)
- changed CHANGELOG to follow the conventions described in “Keep a CHANGELOG” (#578)
- make the method plot a getter when no parameter is passed for
SVG.Polyline,SVG.Polygon,SVG.Line,SVG.Path(related #547) - allow
SVG.PointArrayto be passed flat array - change the regexp
SVG.PointArrayuse to parse string to allow more flexibility in the way spaces and commas can be used - allow
plotto be called with 4 parameters when animating anSVG.Line - relative value for
SVG.Numberare now calculated in itsmorphmethod (related #547) - clean up the implementation of the
initAnimationmethod of the FX module (#547, #552, #584) - deprecated
.tbox()..tbox()now map to.rbox(). If you are using.tbox(), you can substitute it with.rbox()(#594, #602) - all boxes now accept 4 values or an object on creation
el.rbox()now always returns the right boxes in screen coordinates and has an additional paramater to transform the box into other coordinate systemsfont()method can now be used likeattr()method (#620)- events are now cancelable by default (#550)
- fixed a bug in the plain morphing part of
SVG.MorphObjthat is in the FX module - fixed bug which produces an error when removing an event from a node which was formerly removed with a global
off()(#518) - fixed a bug in
size()for poly elements when their height/width is zero (#505) - viewbox now also accepts strings and arrays as constructor arguments
SVG.Arraynow accepts a comma seperated string and returns array of numbers instead of stringsSVG.Matrixnow accepts an array as inputSVG.Element.matrix()now accepts also 6 valuesdx()/dy()now accepts percentage values, too but only if the value on the element is already percentageflip()now flips on both axis when no parameter is passed- fixed bug with
documentElement.contains()in IE - fixed offset produced by svg parser (#553)
- fixed a bug with clone which didnt copy over dom data (#621)
2.4.0 - 2017-01-14
- added support for basic path animations (#561)
2.3.7 - 2017-01-14
- 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)
- moved project to svgdotjs
- made matrixify work with transformation chain separated by commas (#543)
- updated dev dependencies; request and gulp-chmod -
npm run buildnow requires nodejs 4.x+
- 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)
2.3.6 - 2016-10-21
- make SVG.FX.loop modify the last situation instead of the current one (#532)
- fixed leading and trailing space in SVG.PointArray would return NaN for some points (695f26a) (#529)
- fixed test of
SVG.FX.afterAll(#534) - fixed
SVG.FX.speed()(#536)
2.3.5 - 2016-10-13
- added automated unit tests via Travis (#527)
- added
npm run buildto build a new version of SVG.js without requiring gulp to be globally installed
- calling
fill(),stroke()without an argument is now a nop - Polygon now accepts comma less points to achieve parity with Adobe Illustrator (#529)
- updated dependencies
2.3.4 - 2016-08-04
- reworked parent module for speed improvemenents
- reworked
filterSVGElementsutility to use a for loop instead of the native filter function
2.3.3 - 2016-08-02
- 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)
2.3.2 - 2016-06-21
- added specs for
SVG.ViewBox - added
parentparameter forclone() - added spec for mentioned issue
- fixed string parsing in viewbox (#483)
- fixed bbox when element is not in the dom (#480)
- fixed line constructor which doesn't work with Array as input (#487)
- fixed problem in IE with
document.contains(#490) related to (#480) - fixed
undowhen undoing transformations (#494)
2.3.1 - 2016-05-05
- added typings for svg.js (#470)
- 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) - 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)
2.3.0 - 2016-03-30
- 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) - added
element.is()which helps to check for the object instance faster (instanceof check) - added more fx specs
- 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
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)
- fixed absolute transformation animations (not perfect but better)
- fixed event listeners which didnt work correctly when identic funtions used
2.2.5 - 2015-12-29
- 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
2.2.4 - 2015-12-12
- 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)
2.2.3 - 2015-11-30
- 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)
2.2.2 - 2015-11-28
- added null check in image onload callback (#415)
- documentation rework (#407) [thanks @snowyplover]
- fixed leading point bug in path parsing (#416)
2.2.1 - 2015-11-18
- 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)
2.2.0 - 2015-11-06
- 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
- svgjs now saves crucial data in the dom before export and restores them when element is adopted
- fixed pattern and gradient animation (#385)
- fixed mask animation in Firefox (#287)
- fixed return value of
text()after import/clone (#393)
2.1.1 - 2015-10-03
- added custom context binding to event callback (default is the element the event is bound to)
2.1.0 - 2015-09-20
- 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)
2.0.2 - 2015-06-22
- Fixed zoom consideration in circle and ellipse
2.0.1 - 2015-06-21
- added possibility to remove all events from a certain namespace
- fixed bug with
doc()which always should return root svg - fixed bug in
SVG.FXwhen animating withplot()
- removed target reference from use which caused bugs in
dmove()anduse()with external file - removed scale consideration in
move()duo to incompatibilities with other move-functions e.g. inSVG.PointArray
2.0.0 - 2015-06-11
- implemented an SVG adoption system to be able to manipulate existing SVG's not created with svg.js
- 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 - added
rx()andry()toSVG.Rect,SVG.Circle,SVG.EllispeandSVG.FX - 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 - added
native()method to elements and matrix to get to the native api - added
untransform()method to remove all transformations - added raw svg import functionality with the
svg()method - added coding style description to README
- added reverse functionality for animations
- documented the
situationobject inSVG.FX - 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 - added
wandhproperties as shorthand forwidthandheighttoSVG.BBox - added
SVG.TBoxto get a bounding box that is affected by transformation values - added event-based or complete detaching of event listeners in
off()method
- changed
parentreference on elements toparent()method - using
CustomEventinstead ofEventto be able to fire events with adetailobject [thanks @Fuzzyma] - renamed
SVG.TSpanclass toSVG.Tspanto play nice with the adoption system - completely reworked
clone()method to use the adoption system - 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 - changed
arrayreference toarray()method onSVG.Polyline,SVG.PolygonandSVG.Path - reworked sup-pixel offset implementation to be more compact
- switched from Ruby's
raketo Node'sgulpfor building [thanks to Alex Ewerlöf] - changed
to()method toat()method inSVG.FX - renamed
SVG.SetFXtoSVG.FX.Set - reworked
SVG.Numberto return new instances with calculations rather than itself - reworked animatable matrix rotations
- removed
SVG.Symbolbut kept thesymbol()method using the newelement()method
- fixed bug in
radius()method whenyvalue equals0 - fixed a bug where events are not detached properly
1.0.0-rc.9 - 2014-06-17
- added
SVG.Marker - added
SVG.Symbol - added
first()andlast()methods toSVG.Set - added
length()method toSVG.TextandSVG.TSpanto calculate total text length - added
reference()method to get referenced elements from a given attribute value
SVG.get()will now also fetch elements with axlink:href="#elementId"orurl(#elementId)value given
- fixed infinite loop in viewbox when element has a percentage width / height [thanks @shabegger]
1.0.0-rc.8 - 2014-06-12
- fixed bug in
SVG.off - fixed offset by window scroll position in
rbox()[thanks @bryhoyt]
1.0.0-rc.7 - 2014-06-11
- added
classes(),hasClass(),addClass(),removeClass()andtoggleClass()[thanks @pklingem]
- binding events listeners to svg.js instance
- calling
after()when callingstop(true)(fulfill flag) [thanks @vird] - text element fires
rebuildevent whenever therebuild()method is called
- 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 - fix for
text()method on text element when acting as getter [thanks @Lochemage] - fix in
style()method with a css string [thanks @TobiasHeckel]
1.0.0-rc.6 - 2014-03-03
- added
leading()method toSVG.FX - added
reverse()method toSVG.Array(and thereby also toSVG.PointArrayandSVG.PathArray) - added
fulfilloption tostop()method inSVG.FXto finalise animations - added more output values to
bbox()andrbox()methods
- fine-tuned text element positioning
- calling
at()method directly on morphable svg.js instances inSVG.FXmodule - moved most
_privatemethods to local named functions - moved helpers to a separate file
- fixed a bug in text
dy()method
- removed internal representation for
style
1.0.0-rc.5 - 2014-02-14
- 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 - added
build()to enable/disable build mode
- 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 - 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
- removed verbose style application to tspans
1.0.0-rc.4 - 2014-02-04
- automatic pattern creation by passing an image url or instance as
fillattribute on elements - added
loaded()method to image tag - added
pointAt()method toSVG.Path, wrapping the nativegetPointAtLength()
- switched to
MAJOR.MINOR.PATCHversioning format to play nice with package managers - made svg.pattern.js part of the core library
- moved
length()method to sugar module
- fix in
animate('=').to() - fix for arcs in patharray
toString()method [thanks @dotnetCarpenter]
v1.0rc3 - 2014-02-03
- added the
SVG.inventfunction to ease invention of new elements - added second values for
animate('2s') - added
length()mehtod to path, wrapping the nativegetTotalLength()
- using
SVG.inventto generate core shapes as well for leaner code
- fix for html-less documents
- fix for arcs in patharray
toString()method
v1.0rc2 - 2014-02-01
- added
index()method toSVG.ParentandSVG.Set - added
morph()andat()methods toSVG.Numberfor unit morphing
- modified
cx()andcy()methods on elements with nativex,y,widthandheightattributes for better performance
v1.0rc1 - 2014-01-31
- added
SVG.PathArrayfor real path transformations - added
bbox()method toSVG.Set - added
relative()method for moves relative to the current position - added
morph()andat()methods toSVG.Colorfor color morphing
- 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
- removed
unbiasedsystem for paths
v0.38 - 2014-01-28
- added
loop()method toSVG.FX
- switched from
setIntervaltorequestAnimFramefor animations
v0.37 - 2014-01-26
- added
get()toSVG.Set
- moved
SVG.PointArrayto a separate file
v0.36 - 2014-01-25
- added
linkTo(),addTo()andputIn()methods onSVG.Element
- provided more detailed documentation on parent elements
v0.35 - 2014-01-23
- added
SVG.Aelement with thelink()
v0.34 - 2014-01-23
- added
pause()andplay()toSVG.FX
- storing animation values in
situationobject
v0.33 - 2014-01-22
- added
has()method toSVG.Set - added
width()andheight()as setter and getter methods on all shapes - added
replace()method to elements - added
radius()method toSVG.RectandSVG.Ellipse - added reference to parent node in defs
- moved sub-pixel offset fix to be an optional method (e.g.
SVG('drawing').fixSubPixelOffset()) - merged plotable.js and path.js
- added library to cdnjs