github svgdotjs/svg.js 3.0.0
Release 3.0.0

latest releases: 3.2.7, 3.2.6, 3.2.5...
7 years ago

Added

  • added text() method to SVG.Path to create a textPath from this path (#705)
  • added SVG.HTMLNode which is the object wrapped around html nodes to put something in them
  • added dispatch() method on SVG.Element which returns the dispatched event for event cancelation (#550)
  • added isRoot() on SVG.Doc (#809)
  • added a linter during the npm build process
  • added beziere() and steps() to generate easing functions
  • added insertAfter() and insertBefore
  • added SVG.Style which can be created with style() or fontface() (#517)
  • added EventTarget which is a baseclass to get event abilities (#641)
  • added Dom which 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}) or canvas.rect(100, 100, {x:100}) (#796)
  • added SVG.List (#645)
  • added words() and element() to Dom because of (#935)
  • added lab, lch, hsl and cmyk color spaces (#790)
  • added random() method on SVG.Color to create random colors of different kinds (#939)

Removed

  • removed SVG.Array.split() function
  • removed workaround for browser bug with stroke-width
  • removed polyfills
  • removed SVG.Set in favour of SVG.List
  • removed feature to set style with css string (e.g. "fill:none;display:block;")
  • removed loaded() and error() method on SVG.Image (#706)
  • removed sub-pixel offset fix
  • removed SVG.Nested (#809)
  • removed show() from SVG.A to avoid name clash (#802)
  • removed size() from SVG.Text to avoid name clash (#799)
  • removed native() function
  • removed Bare in favour of Dom (#935)

Changed

  • gradients now have there corresponding node as type and not only radial/linear
  • SVG.Path.pointAt() correctly returns an SVG.Point now
  • replaced static reference to masker in SVG.Mask with the masker() method
  • replaced static reference to clipper in SVG.ClipPath with the clipper() method
  • replaced static reference to targets in SVG.Mask and SVG.ClipPath with the targets() method
  • moved all regexes to SVG.regex
  • new constructor signature for SVG.Image and load(): container.image(src, callback) / image.load(src, callback) (#706)
  • changed style() to css(). 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 modules
  • SVG.Text.path() now returns an instance of SVG.TextPath (#705)
  • SVG.Text.path() does not move all contents to the textPath (#705)
  • SVG.TextPath now inherits from SVG.Text and can be manipulated the same way (#705)
  • SVG.Text.textPath() returns the first textPaths in the text element (#705)
  • renamed SVG.Stop constructor at() on SVG.Gradient to stop() (#707)
  • renamed fill() method on SVG.Gradient and SVG.Pattern to url() (#708)
  • renamed previous() method to prev()
  • changed childNodes to children (same for firstChild, lastChild, ...) (#710) - changed it back because of performance drop
  • moved defs() method from SVG.Parent to SVG.Element
  • SVG() can be called with css selector, node or svg string, now. Without an argument it creates a new SVG.Doc() (#646)
  • add(), put(), addTo(), putIn() now excepts all arguments accepted by SVG()
  • 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 node argument 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 context
  • SVG.on()/off() and el.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.Doc and SVG.Nested, added isRoot() on SVG.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 nodes
  • ungroup() now breaks off one container and not more
  • clone() does not add the clone to the dom anymore
  • attr() excepts array now to get multiple values at once
  • SVG.Text.rebuild() now takes every font-size into account (#512)
  • fill() and stroke() return the fill and stroke attribute when called as getter (#789)
  • parents() now gives back all parents until the passed one or document
  • Image callback passes normal load event instead of custom object (#931)
  • renamed Doc to Svg and doc() to root (and toDoc()/toRoot()) (#932)

Don't miss a new svg.js release

NewReleases is sending notifications on new releases.