Skip to content

Commit 9cfb873

Browse files
authored
Merge pull request #286 from drmohundro/fix/add-parent-should-be-weak
fix: add parent ref should be a weak ref
2 parents 6ae7b83 + 88c4224 commit 9cfb873

File tree

5 files changed

+11
-18
lines changed

5 files changed

+11
-18
lines changed

.github/workflows/main.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232

3333
- uses: maxim-lobanov/setup-xcode@v1
3434
with:
35-
xcode-version: "16.0"
35+
xcode-version: "16.2"
3636

3737
- name: Build and Test
3838
env:
@@ -109,18 +109,14 @@ jobs:
109109
110110
windows-test:
111111
name: Windows Test
112-
runs-on: windows-latest
112+
runs-on: windows-2022
113113
timeout-minutes: 10
114114
strategy:
115115
fail-fast: false
116116
matrix:
117117
include:
118-
- branch: swift-5.10-release
119-
tag: 5.10-RELEASE
120-
skip-testing: true
121-
122-
- branch: swift-6.0-release
123-
tag: 6.0-RELEASE
118+
- branch: swift-6.1-release
119+
tag: 6.1-RELEASE
124120
perform-testing: true
125121

126122
steps:

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## v8.1.1 (July 1, 2025)
2+
3+
- Fix memory leak related to parent property (via #286 which closes #285).
4+
15
## v8.1.0 (September 27, 2024)
26

37
- 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 @@
196200
- Linux support is partially available and there is a Travis CI build for it as
197201
well.
198202
- Currently failing functionality is because of
199-
https://bugs.swift.org/browse/SR-2301.
203+
<https://bugs.swift.org/browse/SR-2301>.
200204
- (3.0.1 because I was having trouble publishing the CocoaPod...)
201205

202206
## v2.5.1 (August 23, 2016)

Package.swift

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,6 @@ let package = Package(
3535
targets: ["SWXMLHash"]
3636
)
3737
],
38-
dependencies: [
39-
.package(url: "https://github.com/apple/swift-testing.git", from: "0.10.0")
40-
],
4138
targets: [
4239
.target(
4340
name: "SWXMLHash",
@@ -47,8 +44,7 @@ let package = Package(
4744
.testTarget(
4845
name: "SWXMLHashTests",
4946
dependencies: [
50-
"SWXMLHash",
51-
.product(name: "Testing", package: "swift-testing")
47+
"SWXMLHash"
5248
],
5349
exclude: ["Info.plist", "test.xml"]
5450
)

Source/XMLElement.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class XMLElement: XMLContent {
3030
/// The name of the element
3131
public let name: String
3232

33-
public private(set) var parent: XMLElement?
33+
public private(set) weak var parent: XMLElement?
3434

3535
/// Whether the element is case insensitive or not
3636
public var caseInsensitive: Bool {

Tests/SWXMLHashTests/TypeConversionArrayOfNonPrimitiveTypesTests.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,6 @@ struct TypeConversionArrayOfNonPrimitiveTypesTests {
214214

215215
let values: [AttributeItem] = try subParser.value()
216216

217-
#expect(values != nil)
218217
#expect(values[0].name == "attr 2")
219218
#expect(values[0].price == 2.2)
220219
#expect(values[1].name == "attr 3")
@@ -230,7 +229,6 @@ struct TypeConversionArrayOfNonPrimitiveTypesTests {
230229

231230
let value: BasicItem = try subParser.value()
232231

233-
#expect(value != nil)
234232
#expect(value.id == "1234a")
235233
} catch {
236234
Issue.record("\(error)")
@@ -243,7 +241,6 @@ struct TypeConversionArrayOfNonPrimitiveTypesTests {
243241

244242
let values: [BasicItem] = try subParser.value()
245243

246-
#expect(values != nil)
247244
#expect(values[0].id == "1234b")
248245
#expect(values[1].id == "1234c")
249246
} catch {

0 commit comments

Comments
 (0)