diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b4d74a2..b41248f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -32,7 +32,7 @@ jobs: - uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: "16.0" + xcode-version: "16.2" - name: Build and Test env: @@ -109,18 +109,14 @@ jobs: windows-test: name: Windows Test - runs-on: windows-latest + runs-on: windows-2022 timeout-minutes: 10 strategy: fail-fast: false matrix: include: - - branch: swift-5.10-release - tag: 5.10-RELEASE - skip-testing: true - - - branch: swift-6.0-release - tag: 6.0-RELEASE + - branch: swift-6.1-release + tag: 6.1-RELEASE perform-testing: true steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index dc84820..d9663e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## v8.1.1 (July 1, 2025) + +- Fix memory leak related to parent property (via #286 which closes #285). + ## v8.1.0 (September 27, 2024) - Added the `parent` property to `XMLElement` (via [#278](https://github.com/drmohundro/SWXMLHash/pull/278) which closes [#277](https://github.com/drmohundro/SWXMLHash/issues/277)) @@ -196,7 +200,7 @@ - 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...) ## v2.5.1 (August 23, 2016) diff --git a/Package.swift b/Package.swift index 0ddfd99..d98784c 100644 --- a/Package.swift +++ b/Package.swift @@ -35,9 +35,6 @@ let package = Package( targets: ["SWXMLHash"] ) ], - dependencies: [ - .package(url: "https://github.com/apple/swift-testing.git", from: "0.10.0") - ], targets: [ .target( name: "SWXMLHash", @@ -47,8 +44,7 @@ let package = Package( .testTarget( name: "SWXMLHashTests", dependencies: [ - "SWXMLHash", - .product(name: "Testing", package: "swift-testing") + "SWXMLHash" ], exclude: ["Info.plist", "test.xml"] ) diff --git a/Source/XMLElement.swift b/Source/XMLElement.swift index a1bbda1..3104513 100644 --- a/Source/XMLElement.swift +++ b/Source/XMLElement.swift @@ -30,7 +30,7 @@ public class XMLElement: XMLContent { /// The name of the element public let name: String - public private(set) var parent: XMLElement? + public private(set) weak var parent: XMLElement? /// Whether the element is case insensitive or not public var caseInsensitive: Bool { diff --git a/Tests/SWXMLHashTests/TypeConversionArrayOfNonPrimitiveTypesTests.swift b/Tests/SWXMLHashTests/TypeConversionArrayOfNonPrimitiveTypesTests.swift index a59744f..d751afa 100644 --- a/Tests/SWXMLHashTests/TypeConversionArrayOfNonPrimitiveTypesTests.swift +++ b/Tests/SWXMLHashTests/TypeConversionArrayOfNonPrimitiveTypesTests.swift @@ -214,7 +214,6 @@ struct TypeConversionArrayOfNonPrimitiveTypesTests { let values: [AttributeItem] = try subParser.value() - #expect(values != nil) #expect(values[0].name == "attr 2") #expect(values[0].price == 2.2) #expect(values[1].name == "attr 3") @@ -230,7 +229,6 @@ struct TypeConversionArrayOfNonPrimitiveTypesTests { let value: BasicItem = try subParser.value() - #expect(value != nil) #expect(value.id == "1234a") } catch { Issue.record("\(error)") @@ -243,7 +241,6 @@ struct TypeConversionArrayOfNonPrimitiveTypesTests { let values: [BasicItem] = try subParser.value() - #expect(values != nil) #expect(values[0].id == "1234b") #expect(values[1].id == "1234c") } catch {