SVGKit v2.1.0 Release NotesRelease Date: 2018-10-30 // over 4 years ago
🚀 FINAL major release on the 2.x branch. All future development will be on the new 3.x branch.
- 👌 Improved alpha/color/transparency handling
- 👌 Improved/fixed changes introduced by iOS 7/8/9/10
- ⚡️ Updated to add support to iPhones 7/8/9/X
- ➕ Added support for building projects that include Apple Watch
- ➕ Added support for building projects that include tvOS
- 🛠 Fixed some edge-cases in smooth curves
- 🛠 Fixed some edge-cases in elliptical paths
- ⚡️ Updated Cocoa Lumberjack to 3.x
- 🖐 Handled some possible errors with loading from URL
- 👌 Improved Carthage settings
- 👌 Improved CocoaPods settings
- 🛠 Fixed the zooming code provided in the Demo projects
- 👌 Improved support for measurements in Inches and Centimetres
- Converted to ARC
- Josh Berkheimer
- Marcel Schmitz
Previous changes from v2.0.0
🚀 First major release on the 2.x branch.
⚡️ This is the version most of us have been using in production for over a year, with live fixes and updates.
- ⬆️ Cleaner integration of CocoaLumberjack, + upgraded to Lumberjack v2.0.0
- 📜 Many improvements to SVG shape parsers, support many more SVG files
- ✅ Full test-suite from W3C (hundreds of SVGs you can test in the demo app)
- 📜 Many improvements to CSS parsing, support for many more CSS rules and features
- 👌 Support more features of Gradient rendering
- 👍 Better text-handling (still not great: someone please take the old fork that uses CoreText instead of CATextLayer and update + merge it!)
- 👍 Better support for Retina devices
🛠 All features / additions / fixes compared to v1.2:
🛠 Fixed two minor memory leaks
🛠 Fixed issue where SVG height was getting scaled to 0
🛠 Fix set didRegisterInternalRedrawObservers to false after removing observers
🛠 Fix spelling errors in flag names
➕ Add failing tests for setting image multiple times on SVGKFastImageView
👌 Support iPad Pro
➕ Add info on using the latest SVGKit with cocoapods
➕ added bundle to convenience initializer method
passing bundle via paramter instead of global state
➕ added setBundle feature to SVGKSourceLocalFile
↔ integrated CocoaLumberjack as library dependency
➕ Added iPhone 6s and 6s Plus support
🌲 Custom context logging for SVGKit
LineTo pairs can be separated by comma.
👌 Support visibility:hidden and display:none
👌 Support dashes and underscores in selectors
👌 Support https: prefix for SVGImageElement
🛠 Fixed many compiler warnings
🛠 Fixed several memory leaks
0️⃣ Replace default font on text elements.
🛠 Fix the z command so that it returns the current point of path
🛠 Fix for SVGs which have radius larger than w/h
➕ ADDED: complete W3C official TestSuite for SVG
➕ ADDED: SVGKSource and all subclasses now support NSCopying
Radial gradients with objectBoundingBox are now scaled and translated
🛠 Fix the handling of the element
🛠 Fix relative positioning bug in elliptical arcs.
➕ Add support for the elliptical arc command in paths
⚡️ Updating CocoaLumberjack to 2.0.0.
👌 Improvements for userSpaceOnUse linear gradients
➕ ADDED: better error-handling for bad URLs and for when there's no internet
🛠 Fixed some obscure crashing bugs in parser
👌 Improve linear gradient handling for objectBoundingBox units
🛠 fixes some potential data loss silencing a few warnings
➕ Add support for relative lengths to circles, ellipses and lines
Do some preprocessing on data urls by removing whitespace
💅 More robust inline style parsing
Convert inches to inches
👍 Provides basic support for the SVG element
➕ Add support for skewX and skewY transformations
🛠 Fixed a bug with 'Smooth Curveto' and 'Smooth Quadratic Curveto' path
➕ Added demo example file to test radial gradient opacity fix
🛠 Fixed crash on iOS 8 if any CAShapeLayer is empty
🛠 Fixed crash when changing a SVGKLayeredImageView image
🛠 Fixed bug on conversion from millimeter to inches and inches to milimeters
👌 Improve parsing to avoid redundant copying and stack allocation
✂ Remove synthesizers of child properties
✅ More robust test cases
Only apply clipping masks to elements that have the clip-path attribute, not to their children too
iPad Air 2 Compatibility
pass CGPathElement instead of CGPoint
🛠 fix CGPoint iterator (C array)
🛠 Fix iOS 8 bug with assert fail on infinity CGFloat
🚀 Implement retain-release tests for the iOS framework
👌 Improve stringFromSource to use the NSData+NSInputStream category.
✂ Remove Element.h import
⚡️ Updating the project settings so NSAssert does not get raised on production builds
🛠 Fix for external stylesheets to open the stream before reading from it.
➕ Add support for the textArea element from TinySVG 1.2.
👌 Improve SVGTextElement to have support for text-anchor and fill
🖐 Handle viewBoxes with no white space -- for example, viewBox="0,0,100,100"
👍 Allow white space delimited lists in SVG css attributes
➕ Add support for stroke-dasharray attribute
🛠 FIXED: Loading images from the web via SVGKSourceURL
🛠 Fixed how SVG-source images are rendered.
🔄 Changed to support retina resolution when making a bitmap mask.
🔄 Change SVGTextElement to not render blocky text on retina displays
➕ ADDED: Can load SVG files from NSData sources, with working URL relative
➕ Add ImageAspectRatio sample to the demo app.
Implemented preserveAspectRatio for images.
Finished implementation of
➕ Added the ability to load SVG images from relative URLs.
🛠 fix memory leak of NSDates
Change CLANG_CXX_LIBRARY to libc++ in the podspec
🛠 Fixed "rotate" transform type.
0️⃣ EXPERIMENTAL (these are included in 2.0.0 but are not active by default - you can use them)
using SVGKit.h file as framework header
Bjørn Olav Ruud