Skip to content
Yuri Strot edited this page Jul 28, 2020 · 27 revisions

0.9.7 (in progress)

  • #706, #709, #719: Swift 5.3 support
  • #652, #664: Added Swift Package Manager support
  • New API:
    • #689: CGPath.toMacaw, NSBezierPath.toMacaw, UIBezierPath.toMacaw
    • #718: Node.nodeBy(predicate: (Node) -> Bool)
    • #561: MacawView.zoom.enable(move:scale:rotate:)
  • #717: Fixed retain cycle between GroupRenderer and parentRenderer
  • #716: Fixed retain cycles between MacawView and MacawZoom
  • #715: Fixed onTap(..) handler - unable to add second tap handler
  • #702, #703: Moved to the latest Xcode
  • #701: Dropped uses of regular expressions for parsing
  • #698, #700: Updated ios support to 9.0 in the Readme
  • #695, #696: Fixed wrong vector rotation
  • #692, #694: Fixed unexpected animation when changing Shape's fill color
  • #687: Fixed polyline and polygon points parsing
  • #671: Added correct zoom-scroll handling
  • #644: Fixed SVG gradient issues
  • #640, #641: Fixed crash in SVGParser.doubleFromString method
  • #638: Fixed SVG parser
  • #637, #639: Fixed crash in parsing pattern
  • #610, #616: Enabled Macaw Catalyst support
  • #597, #599, #661: Fixed memory leak when using Event handlers
  • #578, #579, #581: Added more SVG tests
  • #573: Fixed memory leak with Image objects
  • #571: Fixed crash during font loading with "bold" weight
  • #568: Added animation layer hierarchy
  • #548, #574: Made imageContextStack safe
  • #528: Fixed SVGParser.parse() memory leak issue
  • #445, #583, #584, #586, #587, #600: Added rendering tests
  • #399, #575: Process defs inside group with no id SVG
  • #396, #582: Improve displaying of gradients SVG
  • #395, #577: Flags for 'a' path segment type may not be separated properly SVG
  • #393, #590: Improved mask support
  • #388, #576: Process more than one color for a node SVG
  • #387, #535: 'system' color support SVG
  • #71: Base64 support for Image.src enhancement

0.9.6 (10 April 2020)

0.9.5 (4 April 2019)

0.9.4 (14 February 2019)

  • New API:
    • #125, #468: Node.toNativeImage(size:layout:) -> UIImage/NSImage
    • #526: Pattern: Fill
    • #502, #507: TouchPoint.location(in: .parent | .scene)
  • #331, #506: Made SVGParser thread safe to allow using it in different threads
  • #191: Added clip support to SVG serializer
  • #347: Fixed issues related to usage of stroke and fill together
  • #425, #512: Improved morphing from one SVG to another when they have different viewboxes
  • #473, #474: Fixed custom font loading
  • #486: Added minor events optimizations
  • #488: Allowed using node instance across different views
  • #489, #490, #510: Fixed bounds calculation exception
  • #491: Added listener for Image.src changes
  • #492: Allowed <style> tag to be used everywhere in SVG
  • #493: Added group selectors support for SVG
  • #494: Added XML namespaces support for SVG
  • #496, #497: Fixed Stroke.offset animation
  • #498: Fixed parsing of radial gradient radius to include gradient transform
  • #499: Fixed display: none in SVG
  • #500: Fixed ignored mask attributes
  • #501: Fixed use parsing in SVG
  • #515: Added dx/dy values support for <tspan>
  • #517: Fixed SVG in Example project to make it easier to try content mode
  • #519: Fixed Swift version in podspec
  • #520: Added missed dependencies in Carthage
  • #522: Fixed slow animation start
  • #525: Fixed animation layers overlay

0.9.3 (4 October 2018)

  • #480, #481: Added Swift 4.2/Xcode 10 support
  • #463: Added spring animation support
  • #424, #450: Added ability to check equality of any Fill instances
  • #485: Replaced fatal errors with exception throws in SVGParser
  • #471: Fixed crash on multi-touch
  • #451: Added class tag support for text/css predefined styles
  • #462: Fixed animation of fill var after first tap
  • #452: Improved support of styles attributes in SVG Parser
  • #460: Improved SVG parsing API
  • #461: Fixed some font rendering
  • #453: Added serialization of new components: clip, mask, etc.
  • #457: Fixed memory leaks
  • #418, #427: Fixed SVG morphing issues
  • #449: Fixed typo in Rect.center()

0.9.2 (28 June 2018)

  • Huge SVG parser improvements (filters, masks, clips, viewBox and much more)
  • Integrated W3C tests with 30%+ coverage
  • #33, #34, #116: Added effects API
  • #108, #218, #374: Implemented content mode and content layout
  • #252, #411: Added Node.bounds API
  • #161, #284: Added multi tap and long press support
  • #87: Added support for SVG viewBox attribute
  • #123: Added support for SVG filters
  • #137: Fixed problems with clipping during animation
  • #149: Cleaned up model source code
  • #169: Fixed incorrect SVG color parsing
  • #172: Added support for fill-rule
  • #173: Implemented elliptical Arc support in path SVG shape
  • #185: Implemented px m Stroke-dasharray
  • #186: Supported stroke-dashoffset in SVG parser, renderer and serializer
  • #213: Added event managing in case of overlapped views
  • #216: Fixed SVG parser issue when close path not recognized if there is no space
  • #229: Fixed characters warnings
  • #234: Fixed iOS minimal version to 9.0
  • #236: Fixed SVGView transparency
  • #238: Added LinearGradient(degree:stops:) constructor
  • #241: Fixed Text bounds to consider font weight
  • #249: Fixed Node tap handler break after animating
  • #250: Fixed issue with bad position of a shape's group
  • #251: Fixed issue with getting unsupported locus
  • #258: Added quadratic path segments support
  • #260: Fixed Shape rendering without fill and stroke
  • #261: Fixed SVG path parsing
  • #271: Fixed issue with ellipses rendering
  • #274: Fixed rendering of Figma generated svgs
  • #276: Added UIBezierPath alternative for macOS
  • #285: Added MacawView.findNodeAt(Point)
  • #289: Added parsing of defs section anywhere in SVG file
  • #303: Fixed gradients with stop offset > 1
  • #306: Fixed rendering of named colors in gradient
  • #309: Added "display" attribute support
  • #313: Added parsing of gradients anywhere in group
  • #318: Fixed translate attributes parsing
  • #320: Added "currentColor" support
  • #323: Fixed reverse shape animation
  • #325: Added "visibility" attribute support
  • #328: Fixed parsing of opacity > 1
  • #335: Added generic fonts supports in SVG
  • #337: Added font weight support for custom fonts
  • #342: Added percent support for svgSize
  • #348: Added "stroke-miterlimit" attribute support
  • #354: Fixed rendering of paths with M
  • #356: Fixed reversed stroke-dasharray
  • #376: Fixed parsing of a path with invalid symbols
  • #378: Added parsing of gradient color in rgb() format
  • #380: Fixed parsing of negative numbers without leading space symbol
  • #406: Fixed RoundRect export to SVG
  • #407: Fixed Shape export to SVG
  • #435: Added 'SVGView(frame:)' initializer for IBDesignable
  • #436: Fixed image clip path
  • #437: Fixed transform on clipped images
  • #440: Fixed SVG shape fill color parsing

0.9.1 (27 November 2017)

  • #226: Fixed carthage build issues
  • #170: Added basic CSS styles support for SVG
  • #205: Fixed skewX/skewY in SVG parser
  • #217: Fixed tap events for gradient-filled shapes
  • Improved SVG support

0.9.0 (20 September 2017)

  • Swift 4 Support

0.8.3 (14 September 2017)

  • #107: Added OSX Support
  • #112: Added ability to serialize Node to SVG
  • #127: Allowed to create an Image from UIImage
  • #48: Implemented utils for Node center rotation transform generation
  • #147: Fixed slow/choppy animation
  • #141: Fixed sequence of morphing animations
  • #136: Fixed issues with polygon animation
  • #133: Fixed rotate animation when Node has translation
  • #121: Fixed MacawView redrawing issue
  • #118: Avoided scaling during rotate animation
  • #111: Fixed ScaleAspectFit for non square SVG's
  • #90: Fixed Macaw.xcodeproj warnings

0.8.2 (5 May 2017)

  • API extensions:
    • Animation.state() -> AnimationState
    • Node.nodeBy(tag: String) -> Node?
    • Node.nodesBy(tag: String) -> [Node]
  • Fixed various memory leaks
  • Fixed morphing cycle animation
  • #74: Improved linear gradient parsing
  • #110: Fixed Swift 3 Warnings
  • #120: Avoided stroke around shape during morphing animation
  • #119: Fixed image rotation
  • #115: Added touch events support for text nodes
  • #114: Fixed Polyline animation
  • #109: Corrected MacawView deinit

0.8.1 (16 Mar 2017)

  • Morphing animation
  • Translate SVG id attribute to Node.tag
  • #103: Touch API proposal
  • #104: Few issues with Touch events
  • #94: Add TouchEvent enhancement
  • #98: Can't rerun content animation bug
  • #102: Can't stop animation with delay bug
  • #100: Invalid line position after stopping animation bug
  • #99: OnComplete callback called on looped animation bug
  • #96: Blinking content animation bug
  • #97: Can't stop content animation bug
  • #95: After changing group content tap handle stopped working bug
  • #92: Easing.easeOut doesn't work correctly in content animation
  • #93: Can't clear group content bug

0.8.0 (27 Jan 2017)

  • Get rid of RxSwift dependency. This library was too complicated for our modest needs. Check out new events API (even simpler now).
  • Various SVG parser improvements
  • #62: Implemented content animation
  • #67: Introduced SVGView
  • #68: Improved SVGParser.parse API
  • #76: Implemented event bubbling
  • #81: Added Animation.cycle method with no arguments for infinite animation
  • #82: Fixed Animation.autoreversed issues
  • #53: Improved text bounds calculation for all baselines
  • #83: Avoided SVG blurring when scaled through animation
  • #80: Added easing example page
  • #77: Speeded up SVG parsing
  • #69: Fixed SVGView size and content bug
  • #72: Fixed few SVG parser issues

0.7.0 (19 Oct 2016)

  • Public release
Clone this wiki locally