Skip to content

Commit d545ead

Browse files
Merge pull request #340 from bugsnag/release-v1.10.2
Release v1.10.2
2 parents 044cc5a + 66ab32b commit d545ead

31 files changed

+1372
-128
lines changed

.buildkite/pipeline.yml

Lines changed: 122 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,15 @@ steps:
1010
- group: ":hammer: Builds"
1111
steps:
1212
- label: "XCFramework"
13+
key: xcframework
1314
timeout_in_minutes: 20
1415
commands:
1516
- make build_xcframework
1617
plugins:
1718
- artifacts#v1.9.3:
18-
upload: "BugsnagPerformance.xcframework.zip"
19+
upload:
20+
- "BugsnagPerformance.xcframework.zip"
21+
- "BugsnagPerformanceSwift.xcframework.zip"
1922

2023
- label: "Carthage"
2124
commands:
@@ -26,6 +29,7 @@ steps:
2629
commands:
2730
- bundle install
2831
- pod lib lint BugsnagPerformance.podspec.json
32+
skip: "Skipped due to https://github.com/CocoaPods/CocoaPods/issues/12664"
2933

3034
- label: "Example"
3135
commands:
@@ -43,6 +47,23 @@ steps:
4347
- features/fixtures/ios/output/bb_ipa_url.txt
4448
- features/fixtures/ios/output/bs_ipa_url.txt
4549

50+
- label: "XcFramework Fixture"
51+
key: ios_xcframework_fixture
52+
depends_on: xcframework
53+
commands:
54+
- ./features/fixtures/ios/build_xcframework.sh
55+
- bundle install
56+
- bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/FixtureXcFramework.ipa --app-id-file=./features/fixtures/ios/output/bb_xcframework_ipa_url.txt
57+
- bundle exec upload-app --farm=bs --app=./features/fixtures/ios/output/FixtureXcFramework.ipa --app-id-file=./features/fixtures/ios/output/bs_xcframework_ipa_url.txt
58+
plugins:
59+
- artifacts#v1.9.3:
60+
download:
61+
- "BugsnagPerformance.xcframework.zip"
62+
- "BugsnagPerformanceSwift.xcframework.zip"
63+
artifact_paths:
64+
- features/fixtures/ios/output/bb_xcframework_ipa_url.txt
65+
- features/fixtures/ios/output/bs_xcframework_ipa_url.txt
66+
4667
- label: "Fixture swizzling disabled"
4768
key: ios_fixture_swizzling_disabled
4869
commands:
@@ -85,8 +106,39 @@ steps:
85106
#
86107
# BitBar
87108
#
88-
- group: ":bitbar: E2E Tests"
109+
- group: "E2E Tests"
89110
steps:
111+
- label: ":browserstack: iOS 18 E2E Tests"
112+
depends_on:
113+
- ios_fixture
114+
timeout_in_minutes: 30
115+
agents:
116+
queue: opensource
117+
plugins:
118+
artifacts#v1.9.3:
119+
download: "features/fixtures/ios/output/bs_ipa_url.txt"
120+
upload:
121+
- "maze_output/failed/**/*"
122+
- "maze_output/metrics.csv"
123+
- "maze_output/maze_output.zip"
124+
docker-compose#v4.8.0:
125+
pull: maze-runner-bs
126+
run: maze-runner-bs
127+
service-ports: true
128+
command:
129+
- "--app=@build/bs_ipa_url.txt"
130+
- "--device=IOS_18"
131+
- "--fail-fast"
132+
- "--farm=bs"
133+
- "features/default"
134+
test-collector#v1.10.2:
135+
files: "reports/TEST-*.xml"
136+
format: "junit"
137+
branch: "^main|next$$"
138+
concurrency: 5
139+
concurrency_group: browserstack-app
140+
concurrency_method: eager
141+
90142
- label: ":bitbar: iOS 16 E2E Tests"
91143
depends_on:
92144
- ios_fixture
@@ -219,6 +271,74 @@ steps:
219271
concurrency_group: bitbar-app
220272
concurrency_method: eager
221273

274+
- group: ":bitbar: XcFramework E2E Tests"
275+
steps:
276+
- label: ":browserstack: iOS XcFramework 18 E2E Tests"
277+
depends_on:
278+
- ios_xcframework_fixture
279+
timeout_in_minutes: 30
280+
agents:
281+
queue: opensource
282+
plugins:
283+
artifacts#v1.9.3:
284+
download: "features/fixtures/ios/output/bs_xcframework_ipa_url.txt"
285+
upload:
286+
- "maze_output/failed/**/*"
287+
- "maze_output/metrics.csv"
288+
- "maze_output/maze_output.zip"
289+
docker-compose#v4.8.0:
290+
pull: maze-runner-bs
291+
run: maze-runner-bs
292+
service-ports: true
293+
command:
294+
- "--app=@build/bs_xcframework_ipa_url.txt"
295+
- "--device=IOS_18"
296+
- "--fail-fast"
297+
- "--farm=bs"
298+
- "--exclude=features/default/automatic_spans_generic_view_load.feature"
299+
- "features/default/automatic_spans.feature"
300+
test-collector#v1.10.2:
301+
files: "reports/TEST-*.xml"
302+
format: "junit"
303+
branch: "^main|next$$"
304+
concurrency: 5
305+
concurrency_group: browserstack-app
306+
concurrency_method: eager
307+
308+
- label: ":bitbar: iOS XcFramework 13 E2E Tests"
309+
depends_on:
310+
- ios_xcframework_fixture
311+
timeout_in_minutes: 30
312+
agents:
313+
queue: opensource
314+
plugins:
315+
artifacts#v1.9.3:
316+
download: "features/fixtures/ios/output/bb_xcframework_ipa_url.txt"
317+
upload:
318+
- "maze_output/failed/**/*"
319+
- "maze_output/metrics.csv"
320+
- "maze_output/maze_output.zip"
321+
docker-compose#v4.8.0:
322+
pull: maze-runner-bb
323+
run: maze-runner-bb
324+
service-ports: true
325+
command:
326+
- "--app=@build/bb_xcframework_ipa_url.txt"
327+
- "--device=IOS_13"
328+
- "--fail-fast"
329+
- "--farm=bb"
330+
- "--no-tunnel"
331+
- "--aws-public-ip"
332+
- "--exclude=features/default/automatic_spans_generic_view_load.feature"
333+
- "features/default/automatic_spans.feature"
334+
test-collector#v1.10.2:
335+
files: "reports/TEST-*.xml"
336+
format: "junit"
337+
branch: "^main|next$$"
338+
concurrency: 25
339+
concurrency_group: bitbar-app
340+
concurrency_method: eager
341+
222342
- group: ":bitbar: Swizzling disabled E2E Tests"
223343
steps:
224344
- label: ":bitbar: iOS 16 E2E Tests swizzling disabled"
@@ -350,36 +470,3 @@ steps:
350470
concurrency: 25
351471
concurrency_group: bitbar-app
352472
concurrency_method: eager
353-
354-
#
355-
# BrowserStack
356-
# TODO - To be moved to BitBar once they provide iOS 17.
357-
- label: ":browserstack: iOS 17 E2E Tests"
358-
depends_on:
359-
- ios_fixture
360-
timeout_in_minutes: 30
361-
agents:
362-
queue: opensource
363-
plugins:
364-
artifacts#v1.9.3:
365-
download: "features/fixtures/ios/output/bs_ipa_url.txt"
366-
upload:
367-
- "maze_output/failed/**/*"
368-
- "maze_output/metrics.csv"
369-
- "maze_output/maze_output.zip"
370-
docker-compose#v4.8.0:
371-
pull: maze-runner-bs
372-
run: maze-runner-bs
373-
command:
374-
- "--app=@build/bs_ipa_url.txt"
375-
- "--device=IOS_17"
376-
- "--fail-fast"
377-
- "--farm=bs"
378-
- "features/default"
379-
test-collector#v1.10.2:
380-
files: "reports/TEST-*.xml"
381-
format: "junit"
382-
branch: "^main|next$$"
383-
concurrency: 5
384-
concurrency_group: browserstack-app
385-
concurrency_method: eager

.github/workflows/pull_request.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
11
name: "Pull Request"
22
on: [pull_request]
3+
permissions: read-all
34

45
jobs:
56
danger:
7+
permissions:
8+
pull-requests: write
9+
statuses: write
610
runs-on: macos-latest
711
steps:
812
- name: Checkout target branch
9-
uses: actions/checkout@v2
13+
uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
1014
with:
1115
ref: ${{ github.base_ref }}
1216
- name: Build
1317
run: xcodebuild -scheme BugsnagPerformance-iOS -destination generic/platform=iOS -configuration Release -quiet -derivedDataPath $PWD/DerivedData.old VALID_ARCHS=arm64
1418
- name: Checkout pull request merge branch
15-
uses: actions/checkout@v2
19+
uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
1620
with:
1721
clean: false
1822
fetch-depth: 100

.jazzy.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ author_url: "https://www.bugsnag.com"
22
author: "Bugsnag Inc"
33
clean: false # avoid deleting docs/.git
44
framework_root: "BugsnagPerformance"
5-
github_file_prefix: "https://github.com/bugsnag/bugsnag-cocoa-performance/tree/v1.10.1/Bugsnag"
5+
github_file_prefix: "https://github.com/bugsnag/bugsnag-cocoa-performance/tree/v1.10.2/Bugsnag"
66
github_url: "https://github.com/bugsnag/bugsnag-cocoa-performance"
77
hide_documentation_coverage: true
88
module: "BugsnagPerformance"
9-
module_version: "1.10.1"
9+
module_version: "1.10.2"
1010
objc: true
1111
output: "docs"
1212
readme: "README.md"

BugsnagPerformance.podspec.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "BugsnagPerformance",
3-
"version": "1.10.1",
3+
"version": "1.10.2",
44
"summary": "The Bugsnag performance monitoring framework for iOS.",
55
"homepage": "https://github.com/bugsnag/bugsnag-cocoa-performance",
66
"license": {
@@ -12,7 +12,7 @@
1212
},
1313
"source": {
1414
"git": "https://github.com/bugsnag/bugsnag-cocoa-performance.git",
15-
"tag": "v1.10.1"
15+
"tag": "v1.10.2"
1616
},
1717
"platforms": {
1818
"ios": "13.0"

BugsnagPerformance.xcodeproj/project.pbxproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@
8383
966DD5012A211D7F002030B2 /* BugsnagPerformance.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72E4BB63359EA30E80116E2A /* BugsnagPerformance.framework */; };
8484
966DD5022A211D7F002030B2 /* BugsnagPerformance.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 72E4BB63359EA30E80116E2A /* BugsnagPerformance.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
8585
967F6F1829C3783B0054EED8 /* BugsnagPerformanceConfiguration+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 967F6F1729C3782D0054EED8 /* BugsnagPerformanceConfiguration+Private.h */; };
86+
968AA5FB2CCA5A9200BA69CF /* BSGPerformanceSharedSessionProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 968AA5FA2CCA5A9200BA69CF /* BSGPerformanceSharedSessionProxy.h */; };
87+
968AA5FD2CCA5AB000BA69CF /* BSGPerformanceSharedSessionProxy.mm in Sources */ = {isa = PBXBuildFile; fileRef = 968AA5FC2CCA5AB000BA69CF /* BSGPerformanceSharedSessionProxy.mm */; };
8688
96D415F329E6ADC500AEE435 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96D415F229E6ADC500AEE435 /* AppDelegate.swift */; };
8789
96D415F729E6ADC500AEE435 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96D415F629E6ADC500AEE435 /* ViewController.swift */; };
8890
96D415FA29E6ADC500AEE435 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 96D415F829E6ADC500AEE435 /* Main.storyboard */; };
@@ -322,6 +324,8 @@
322324
966634D92C8A39B1004A934D /* FrozenFrameData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FrozenFrameData.h; sourceTree = "<group>"; };
323325
966634DB2C8A39C1004A934D /* FrozenFrameData.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FrozenFrameData.mm; sourceTree = "<group>"; };
324326
967F6F1729C3782D0054EED8 /* BugsnagPerformanceConfiguration+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagPerformanceConfiguration+Private.h"; sourceTree = "<group>"; };
327+
968AA5FA2CCA5A9200BA69CF /* BSGPerformanceSharedSessionProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BSGPerformanceSharedSessionProxy.h; sourceTree = "<group>"; };
328+
968AA5FC2CCA5AB000BA69CF /* BSGPerformanceSharedSessionProxy.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BSGPerformanceSharedSessionProxy.mm; sourceTree = "<group>"; };
325329
96D415F029E6ADC500AEE435 /* BugsnagPerformanceTestsApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BugsnagPerformanceTestsApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
326330
96D415F229E6ADC500AEE435 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
327331
96D415F629E6ADC500AEE435 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
@@ -780,6 +784,8 @@
780784
children = (
781785
CB34771C29068C350033759C /* BSGURLSessionPerformanceProxy.h */,
782786
CB34771B29068C350033759C /* BSGURLSessionPerformanceProxy.mm */,
787+
968AA5FA2CCA5A9200BA69CF /* BSGPerformanceSharedSessionProxy.h */,
788+
968AA5FC2CCA5AB000BA69CF /* BSGPerformanceSharedSessionProxy.mm */,
783789
CBA22C982A03EA300066A2C1 /* NetworkCommon.h */,
784790
CB34771D29068C350033759C /* NSURLSession+Instrumentation.h */,
785791
CB34771A29068C350033759C /* NSURLSession+Instrumentation.mm */,
@@ -861,6 +867,7 @@
861867
CBEC51BC296D9EEE009C0CE3 /* PersistentState.h in Headers */,
862868
0122C23829019770002D243C /* BugsnagPerformanceSpan.h in Headers */,
863869
966634DA2C8A39B1004A934D /* FrozenFrameData.h in Headers */,
870+
968AA5FB2CCA5A9200BA69CF /* BSGPerformanceSharedSessionProxy.h in Headers */,
864871
CB0AD76A296573FC002A3FB6 /* BugsnagPerformanceErrors.h in Headers */,
865872
0122C23B29019770002D243C /* BugsnagPerformance.h in Headers */,
866873
0122C24B29019770002D243C /* ViewLoadInstrumentation.h in Headers */,
@@ -1212,6 +1219,7 @@
12121219
966634DC2C8A39C1004A934D /* FrozenFrameData.mm in Sources */,
12131220
0122C23E29019770002D243C /* BugsnagPerformanceSpan.mm in Sources */,
12141221
0987F27A2C32D4AD00777FD8 /* BugsnagPerformanceSpanContext.mm in Sources */,
1222+
968AA5FD2CCA5AB000BA69CF /* BSGPerformanceSharedSessionProxy.mm in Sources */,
12151223
CBEC51DD2976F1F9009C0CE3 /* RetryQueue.mm in Sources */,
12161224
01A414CE2913C0F0003152A4 /* SpanAttributes.mm in Sources */,
12171225
CB34771E29068C350033759C /* NSURLSession+Instrumentation.mm in Sources */,

BugsnagPerformanceSwift.podspec.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "BugsnagPerformanceSwift",
3-
"version": "1.10.1",
3+
"version": "1.10.2",
44
"summary": "The Bugsnag performance monitoring framework for Swift-only functionality in iOS.",
55
"homepage": "https://github.com/bugsnag/bugsnag-cocoa-performance",
66
"license": {
@@ -13,7 +13,7 @@
1313
"swift_version": "4.2",
1414
"source": {
1515
"git": "https://github.com/bugsnag/bugsnag-cocoa-performance.git",
16-
"tag": "v1.10.1"
16+
"tag": "v1.10.2"
1717
},
1818
"platforms": {
1919
"ios": "13.0"
@@ -24,6 +24,6 @@
2424
"SwiftUI"
2525
],
2626
"dependencies": {
27-
"BugsnagPerformance": "1.10.1"
27+
"BugsnagPerformance": "1.10.2"
2828
}
2929
}

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
Changelog
22
=========
33

4+
## 1.10.2 (2024-10-31)
5+
6+
* Fixed a crash after shared NSURLSession invalidate
7+
[334](https://github.com/bugsnag/bugsnag-cocoa-performance/pull/334)
8+
9+
* Fix visionOS compilation errors. Note that visionOS is not yet officially supported.
10+
[327](https://github.com/bugsnag/bugsnag-cocoa-performance/pull/327)
11+
412
## 1.10.1 (2024-10-30)
513

614
### Bug fixes

CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @robert-smartbear @kstenerud @tomlongridge

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ let package = Package(
2929
linkerSettings: [
3030
.linkedFramework("SystemConfiguration"),
3131
.linkedFramework("UIKit"),
32-
.linkedFramework("CoreTelephony"),
32+
.linkedFramework("CoreTelephony", .when(platforms: [.iOS])),
3333
]
3434
),
3535
.target(
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
//
2+
// BSGPerformanceSharedSessionProxy.h
3+
// BugsnagPerformance-iOS
4+
//
5+
// Created by Robert B on 24/10/2024.
6+
// Copyright © 2024 Bugsnag. All rights reserved.
7+
//
8+
9+
#import <Foundation/Foundation.h>
10+
11+
/**
12+
* A proxy for NSURLSession that ignores finishTasksAndInvalidate and invalidateAndCancel calls
13+
*/
14+
@interface BSGPerformanceSharedSessionProxy: NSProxy
15+
16+
- (id)initWithSession:(NSURLSession *)session;
17+
18+
@end
19+

0 commit comments

Comments
 (0)