Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
a72802e
POC: Add `swift-log` package
denrase Sep 25, 2025
7032e87
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Sep 25, 2025
4b491c8
use trace instead of error in sample app
denrase Sep 25, 2025
21dc2de
add tests, move sample to app with ios > 11
denrase Sep 25, 2025
59117a4
revert changes in sample app
denrase Sep 25, 2025
2fcf8bb
remove unused helper
denrase Sep 25, 2025
467f314
no need for docs for swift-log methods
denrase Sep 25, 2025
00559c2
fix typo
denrase Sep 25, 2025
249759b
no need to map level
denrase Sep 25, 2025
1c0a0d4
fix typo
denrase Sep 25, 2025
39dc722
format package
denrase Sep 25, 2025
3f82bb0
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Sep 30, 2025
ce69ea1
Rename to SentrySwiftLog
denrase Sep 30, 2025
825e5df
remae target
denrase Sep 30, 2025
7139756
Add changelog
denrase Sep 30, 2025
2408a07
disable lint warning, remove todo
denrase Sep 30, 2025
f9062d6
Exclude from SentryObjc
denrase Sep 30, 2025
f6bc914
test SentrySwiftLog
denrase Sep 30, 2025
fd73f1e
Update prepare-package.swift
denrase Sep 30, 2025
fb07770
Add shared scheme
denrase Oct 1, 2025
befdf40
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Oct 1, 2025
45c8ed8
fix old target names
denrase Oct 1, 2025
0779263
format
denrase Oct 1, 2025
601a5ae
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Oct 6, 2025
4e20b63
Move example to iOS-Swift app
denrase Oct 6, 2025
a607ccb
bump depolyment targets for senryswiftlog target
denrase Oct 6, 2025
3d57dc6
add cl entry
denrase Oct 6, 2025
3a4fec5
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Oct 22, 2025
6e50913
cleanup changelog
denrase Oct 22, 2025
36cf96c
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Oct 22, 2025
cbd54d6
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Oct 22, 2025
c9356f5
disable automatic signing
denrase Oct 22, 2025
3063011
remove auto code signing
denrase Oct 22, 2025
150ecfc
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Oct 28, 2025
f376191
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Oct 29, 2025
13be1ac
Structured Logs: Add `SentryPulse` Integration
denrase Oct 29, 2025
bb6d713
add pr num
denrase Oct 29, 2025
476a3d6
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Oct 29, 2025
5fb0f9a
Merge branch 'denrase/swift-log-sentry-poc' into denrase/pulse-integr…
denrase Oct 29, 2025
510af71
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Nov 4, 2025
d04e56a
update changelog
denrase Nov 4, 2025
dcefd41
add comments to package and decisions
denrase Nov 4, 2025
8a49b9a
fix threshold implementation
denrase Nov 4, 2025
48f673b
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Nov 4, 2025
efebbf5
remove shared scheme (not needed for runnign tests after all)
denrase Nov 4, 2025
81cc0de
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Nov 4, 2025
c66cee2
cleanup project file
denrase Nov 4, 2025
234b64a
update test.yml
denrase Nov 4, 2025
b1bda95
fix „bloated“ pbxproj file by adding shared xcconfig
denrase Nov 4, 2025
8b90e4f
udate
denrase Nov 4, 2025
7d64f52
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Nov 4, 2025
40b7f6b
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Nov 5, 2025
de91c84
Set GENERATE_INFOPLIST_FILE for text.yaml to run
denrase Nov 5, 2025
91af0b7
add testplan
denrase Nov 5, 2025
9f33d01
Enable AccessLevelOnImport
denrase Nov 5, 2025
0814443
Add SENTRY_TEST and SENTRY_TEST_CI flags
denrase Nov 5, 2025
d24582c
add SentrySwiftLog.xcconfig to versionbump
denrase Nov 5, 2025
6342cc4
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Nov 5, 2025
c430869
add tsts for missed lines (codecov)
denrase Nov 5, 2025
95d02ac
check if sdklogger is really used
denrase Nov 5, 2025
7ff3aba
Merge branch 'main' into denrase/swift-log-sentry-poc
denrase Nov 5, 2025
93a4538
test subscript setter
denrase Nov 5, 2025
a94b3bd
use correct key
denrase Nov 5, 2025
ca92dff
Merge branch 'denrase/swift-log-sentry-poc' into denrase/pulse-integr…
denrase Nov 5, 2025
3c15f44
set product bundle id
denrase Nov 5, 2025
d8e9343
Merge branch 'main' into denrase/pulse-integration
denrase Nov 5, 2025
a2442fb
setup project file and testplan
denrase Nov 6, 2025
e9c4b08
add to test.yml
denrase Nov 6, 2025
00de859
add to verison bump script
denrase Nov 6, 2025
1a5e33f
Merge branch 'denrase/swift-log-sentry-poc' into denrase/pulse-integr…
denrase Nov 6, 2025
ce5bf00
Merge branch 'main' into denrase/pulse-integration
denrase Nov 6, 2025
7089a71
remove @unknown default:
denrase Nov 6, 2025
65454b3
add AccessLevelOnImport
denrase Nov 6, 2025
36145b9
remove mentions of logs beta
denrase Nov 6, 2025
94d36a1
Merge branch 'main' into denrase/pulse-integration
denrase Nov 6, 2025
e15f70f
bump
denrase Nov 6, 2025
3136166
Merge branch 'main' into denrase/pulse-integration
denrase Nov 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 27 additions & 20 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,33 @@ jobs:
device: "iPhone 15 Pro"
scheme: "Sentry"

- name: iOS 17 SentrySwiftUI
runs-on: macos-14
xcode: "15.4"
test-destination-os: "17.5"
platform: "iOS"
create_device: true
device: "iPhone 15 Pro"
scheme: "SentrySwiftUI"

- name: iOS 17 SentrySwiftLog
runs-on: macos-14
xcode: "15.4"
test-destination-os: "17.5"
platform: "iOS"
create_device: true
device: "iPhone 15 Pro"
scheme: "SentrySwiftLog"

- name: iOS 17 SentryPulse
runs-on: macos-14
xcode: "15.4"
test-destination-os: "17.5"
platform: "iOS"
create_device: true
device: "iPhone 15 Pro"
scheme: "SentryPulse"

# iOS 18 - Use pre-installed iOS 18.4 runtime on macOS-15
- name: iOS 18 Sentry
runs-on: macos-15
Expand Down Expand Up @@ -332,26 +359,6 @@ jobs:
platform: "tvOS"
scheme: "Sentry"

# iOS 17 - Use pre-installed iOS 17.5 runtime on macOS-14 with Xcode 15.4
- name: iOS 17 SentrySwiftUI
runs-on: macos-14
xcode: "15.4"
test-destination-os: "17.5"
platform: "iOS"
create_device: true
device: "iPhone 15 Pro"
scheme: "SentrySwiftUI"

# iOS 17 - Use pre-installed iOS 17.5 runtime on macOS-14 with Xcode 15.4
- name: iOS 17 SentrySwiftLog
runs-on: macos-14
xcode: "15.4"
test-destination-os: "17.5"
platform: "iOS"
create_device: true
device: "iPhone 15 Pro"
scheme: "SentrySwiftLog"

# tvOS 18
- name: tvOS 18 Sentry
runs-on: macos-15
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
- Move `enableDataSwizzling` from experimental options to top-level options (#6592). This option remains enabled by default.
- Add `sentry.replay_id` attribute to logs ([#6515](https://github.com/getsentry/sentry-cocoa/pull/6515))
- Structured Logs: Add `SentrySwiftLog` Integration (#6286)
- Structured Logs: Add `SentryPulse` Integration (#6588)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • 🚫 The changelog entry seems to be part of an already released section ## 8.57.2.
    Consider moving the entry to the ## Unreleased section, please.


### Fixes

Expand Down
15 changes: 13 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ var products: [Product] = [
.library(name: "Sentry-WithoutUIKitOrAppKit-WithARM64e", targets: ["Sentry-WithoutUIKitOrAppKit-WithARM64e", "SentryCppHelper"]),
.library(name: "SentrySwiftUI", targets: ["Sentry", "SentrySwiftUI", "SentryCppHelper"]),
.library(name: "SentryDistribution", targets: ["SentryDistribution"]),
.library(name: "SentryPulse", targets: ["Sentry", "SentryPulse"]),
.library(name: "SentrySwiftLog", targets: ["Sentry", "SentrySwiftLog"])
]

Expand Down Expand Up @@ -55,6 +56,14 @@ var targets: [Target] = [
.linkedFramework("Sentry")
]
),
.target(
name: "SentryPulse",
dependencies: ["Sentry", .product(name: "Pulse", package: "Pulse")],
path: "Sources/SentryPulse",
linkerSettings: [
.linkedFramework("Sentry")
]
),
.target(
name: "SentrySwiftLog",
dependencies: ["Sentry", .product(name: "Logging", package: "swift-log")],
Expand All @@ -63,6 +72,7 @@ var targets: [Target] = [
.linkedFramework("Sentry")
]
),

.target(
name: "SentryInternal",
path: "Sources/SentrySwiftUI",
Expand Down Expand Up @@ -112,7 +122,7 @@ if let env = env, String(cString: env, encoding: .utf8) == "1" {
name: "SentryObjc",
dependencies: ["SentrySwift"],
path: "Sources",
exclude: ["Sentry/SentryDummyPublicEmptyClass.m", "Sentry/SentryDummyPrivateEmptyClass.m", "Swift", "SentrySwiftUI", "SentrySwiftLog", "Resources", "Configuration", "SentryCppHelper", "SentryDistribution", "SentryDistributionTests"],
exclude: ["Sentry/SentryDummyPublicEmptyClass.m", "Sentry/SentryDummyPrivateEmptyClass.m", "Swift", "SentrySwiftUI", "SentryPulse", "SentrySwiftLog", "Resources", "Configuration", "SentryCppHelper", "SentryDistribution", "SentryDistributionTests"],
cSettings: [
.headerSearchPath("Sentry/include/HybridPublic"),
.headerSearchPath("Sentry"),
Expand All @@ -133,7 +143,8 @@ let package = Package(
// SPM doesn't support peer-dependencies, so users are locked into our declared version.
// Using `from: "1.6.0"` covers 1.6.0 < 2.0.0, resolving minor versions automatically.
// See develop-docs/DECISIONS.md for discussion.
.package(url: "https://github.com/apple/swift-log", from: "1.6.0")
.package(url: "https://github.com/apple/swift-log", from: "1.6.0"),
.package(url: "https://github.com/kean/Pulse", from: "5.0.0")
],
targets: targets,
cxxLanguageStandard: .cxx14
Expand Down
24 changes: 24 additions & 0 deletions Plans/SentryPulse_Base.xctestplan
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"configurations" : [
{
"id" : "EBB4F92C-3CA9-47E0-8589-7934881F1E4B",
"name" : "Configuration 1",
"options" : {

}
}
],
"defaultOptions" : {
"codeCoverage" : true
},
"testTargets" : [
{
"target" : {
"containerPath" : "container:Sentry.xcodeproj",
"identifier" : "92B71B682EBB7F3C00A64658",
"name" : "SentryPulseTests"
}
}
],
"version" : 1
}
Loading
Loading