open-telemetry / opentelemetry-swift

OpenTelemetry API for Swift
https://opentelemetry.io/docs/instrumentation/swift/
Apache License 2.0
207 stars 124 forks source link

Swift 5.9 doesn't support iOS 12 and tvOS 12 #521

Open ganeshnj opened 6 months ago

ganeshnj commented 6 months ago

There is mismatch of supported iOS/tvOS version with Swift language version.

https://github.com/open-telemetry/opentelemetry-swift/blob/main/Package%40swift-5.9.swift#L6-L13

As per Apple, Swift 5.9 supports iOS 12 going along with Xcode 15 supporting iOS 12 targets.

image

Hence, opentelemetry-swift should not drop support for iOS 12 with their Swift 5.9 support.

nachoBonafonte commented 6 months ago

We know there is a mismatch between iOS supported versions and the supported swift version in Xcode, but the decision is taken in order to support Concurrency in the code, which only comes with iOS 13.

crsantos commented 6 months ago

https://github.com/open-telemetry/opentelemetry-swift/issues/441#issue-1814374547

ganeshnj commented 6 months ago

I wonder if it was necessary to bump the version in Package.swift was necessary. @crsantos the comment you shared doesn't explain anything why it was required and any alternative solution discussed or not.

Could this be solved using compile & runtime check (#available.... @available) while dealing with specific iOS versions?

ganeshnj commented 4 months ago

hi there 👋

any update on this? It makes almost impossible to take a dependency on this packages as a library developer. We wouldn't want to drop iOS 12 support before Apple drops officially.

nachoBonafonte commented 4 months ago

No updates, the change is made and won't be reverted. It was announced before doing and no one said anything against it then.

ganeshnj commented 4 months ago

I think we should come up with support strategy here, when and how certain version of Swift, Xcode or platforms are supported under certain conditions.

I agree, no one said anything against back then but as the popularity of the library grows, we are going to have such corner cases and discovered when someone tries to integrate the library.

I'm happy to chat on this further.