- Added official/full Swift 5.1 compatibility (via #216)
- Note that API compatibility hasn't changed... it is a major version upgrade to support new language features.
- Added Xcode 10.2, Swift 5.0 support (via #210)
- Added support for using String backed RawRepresentables in place of Strings for revelant APIs (via #204)
- Fix cast warning with Swift 4.2 on Linux (via #201)
- Add
swift_versiontoSWXMLHash.podspec(via #198)
- Bump
WATCHOS_DEPLOYMENT_TARGETto3.0(via #193)
- Bump
SWIFT_VERSIONto4.0(via #191)
- Swift 4.1 deprecation warnings silenced (via #181)
- Fix issue with
filterand deserialization (via #177)
- Fix
XMLIndexer.byKey(_:)bug (fixed in #165)
- Xcode 9 related compatibility fixes (via #152)
- Disable code coverage related to Carthage.
- Added new config option to allow for overriding the string encoding (via #119)
- Added recommended Xcode 9.3 project settings (via #144)
- Added
caseInsensitivelookup options (via #137)
- Changed all enums to be camel cased (e.g. thisValue versus ThisValue) to match the Swift naming recommendations
- Removed
SequencefromXMLIndexerto avoid a conflict with theelementproperty coming in Swift 4- As a result,
for-inno longer works directly againstXMLIndexer; however,for-inworks just fine against the.allmethod
- As a result,
- Changed
.textto no longer be optional
- Added
recursiveTextproperty which pulls the text property from the currently indexed element and all child elements. (see PR #131)
- Fixed issues related to crashes with Swift 3.1 and Linux. (see PR #130)
- Fixed compilation issue related to upcoming release of Xcode 8.3.
- Added support for app extensions.
- Correct the CocoaPod support so that it still allows for iOS 8 and OSX 10.9.
- Official support for Xcode 8.0 and Swift 3.0
- See corresponding PR #78
XMLIndexer.Errorwas renamed toIndexingErrorbecause of a naming conflict with the built-inErrortype.- Linux support is partially available and there is a Travis CI build for it as
well.
- Currently failing functionality is because of https://bugs.swift.org/browse/SR-2301.
- (3.0.1 because I was having trouble publishing the CocoaPod...)
- Support Swift 2.3 on Xcode 8
- See corresponding PR #95
- Added attribute deserialization support (via
value(ofAttribute:)).
- Changed from using Quick/Nimble to XCTest (no version bump - only testing changes)
- Fixed issue with lazy loading and serialization support
- See issue #79.
- Fixed issue with Swift Package Manager
- See PR #72.
- Added built-in bool support for deserialization.
- See corresponding issue #70 and pull request #71.
- Added deserialization / type transformer support.
- See corresponding issue #10 and pull request #68.
- Changed how text elements are parsed - instead of string concatenation,
they're now added as first class
TextElementinstances.- This fixes the problem with mixed text/XML in issue 33.
- Add explicit
watchOSandtvOStargets to the project for better Carthage support
- Added support for Carthage builds with bitcode
- Bumped to
xcode7.1usage of Quick and Nimble
- Added
tvOSdeployment target for CocoaPods and tvOS support
- Added
watchosdeployment target for CocoaPods and watchOS support
- Added Swift 2.0 / Xcode 7.0 support
- While API parity should exist between v1 and v2, the library attempts to
support the new error handling support in Swift 2.0 when you call the
byIndex/byKeymethods respectively (the subscript methods don't currently support throwing exceptions). - Note that the existing subscript methods can still be used, though.
- While API parity should exist between v1 and v2, the library attempts to
support the new error handling support in Swift 2.0 when you call the
- Changed
.Errorto.XMLError- this is part of handling Swift 2.0's new error handling support.- The prior
.Errorcase received anNSErrortype whereas the new.XMLErrorcase receives anErrorwhich is anErrorTypewith various cases to show which part of the parsing threw an error (i.e.Attribute,AttributeValue,Key,Index, orInit).
- The prior
- Changed code signing options on the project to not code sign for OSX and to target iOS Developer.
- Add
configuremethod off ofSWXMLHashto allow for setting variable number of options.- At this time, the only options are
shouldProcessLazilyandshouldProcessNamespaces. shouldProcessLazilyprovides the same parsing as directly callinglazy. I'm considering deprecating the top-levellazymethod in favor of having it be set inconfigure, but I'm open to suggestions here (as well as to suggestions regarding theconfiguremethod in general).shouldProcessNamespacesprovides the functionality requested in issue #30.
- At this time, the only options are
- Quick/Nimble are no longer used via git submodules, but are instead being pulled in via Carthage.
- Lazy loading support is available
(issue #11)
- Call
.lazyinstead of.parse - Performance can be drastically improved when doing lazy parsing.
- Call
- See PR #26 for details on
these:
- Remove automatic whitespace trimming - that will be a responsibility of the caller.
- Make umbrella header public.
- Introduce shared schemes.
- Xcode 6.3 and Swift 1.2 support.
- Published version 1.0.0 CocoaPod.
- Fixed bug with interleaved XML (issue #19)
- Published version 0.6.4 CocoaPod.
- Fixed bug where mixed content wasn't supported (i.e. elements with both text and child elements).
- Published version 0.6.3 CocoaPod.
- Published version 0.6.2 CocoaPod. (yes, it should have gone with 0.6.1 but I tagged it too early)
- Fixed bug with
childrenso that XML element order is preserved when enumerating XML child elements. - Only require Foundation.h instead of UIKit.h.
- Added
childrenproperty to allow for enumerating all child elements. - CocoaPods support is live (see current docset on CocoaPods)
- Added OSX target, should allow SWXMLHash to work in OSX as well as iOS.
- Added the
withAttrmethod to allow for lookup by an attribute and its value. See README or specs for details.
- XCode 6.1 is out on the app store now and I had to make a minor tweak to get the code to compile.
- Fix handling of whitespace in XML which resolves issue #6.
- Apparently the
foundCharactersmethod ofNSXMLParseralso gets called for whitespace between elements. - There are now specs to account for this issue as well as a spec to document CDATA usage, too.
- Apparently the
- XCode 6.1 compatibility - added explicit unwrapping of
NSXMLParser. - Updated to latest Quick, Nimble for 6.1 compilation.
- Added specs to try to help with issue #6.
- Made
XMLIndexerimplement theSequenceTypeprotocol to allow for for-in usage over it. Theallmethod still exists as an option, but isn't necessary for simply iterating over sequences. - Formally introduced the change log!
- XCode 6 beta 6 compatibility.
- Fixed bugs related to the
allmethod when only one element existed.
- Refactored to make the
parsemethod class-level instead of instance-level.
- Moved all types into one file for ease of distribution for now.
- XCode 6 beta 4 compatibility.
- Heavy refactoring to introduce enum-based code (based on SwiftyJSON).
- The public
parsemethod now takes a string in addition toNSData. - Initial attribute support added.
- Initial release.
- This version is an early iteration to get the general idea down, but isn't really ready to be used.