-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support platform versions back to macOS 10.15, iOS 13.0, tvOS 13.0, and watchOS 6.0 #62
Support platform versions back to macOS 10.15, iOS 13.0, tvOS 13.0, and watchOS 6.0 #62
Comments
Hi, I actually did this today! You may have already seen that. It was very simple. There was one instance I found of iOS 16+/macOS 13+ code being used in for parameter in parameters {
renderedString.replace(
"{}",
with: parameter.description,
maxReplacements: 1
)
} It was simple enough to wrap this in a |
I think we should be OK to relax the deployment version. @andrewse02 thanks for looking into it and for offering to put a PR together—that'd be great. 🙌 |
I was thinking of reducing it to iOS 12 as one of our apps still had 12 as the deployment target, and it was easy to change it for the generator and runtime. But for the transport since there is no concurrency support, I've hit a roadblock :( If I need to use it in a iOS 12 environment is it doable in some other way? Maybe with the new macros can we make it generate both the completion style and async/await styles for the |
@andrewse02 Since @denil-ct was able to reduce the URLSession transport's deployment target by 3 versions in apple/swift-openapi-urlsession#7, can you try to do the same for the runtime and generator as well? It's okay if transports are more restrictive, as they're usually more tied to specific platform features, but if it's less restrictive, then adopters won't be able to use it anyway (due to the runtime package requiring a higher deployment target). So let's try to go for the following: @denil-ct If you'd like, you could try a similar PR in https://github.com/swift-server/swift-openapi-async-http-client |
Sure @czechboy0, will check it out. |
Sure @czechboy0, I'll get on that! |
I tried this yesterday, although the documentation isn't that good. However, after reading the source code, I was able to make it work fine. Great job! There's just one thing preventing our company from adopting it: if possible, please lower it to at least iOS 15.0, which is the highest version many devices can get. Additionally, iOS 15.0 (90.9% adoption) would be much safer than 16.0 (74.9% adoption) in terms of current user adoption. But if there is no difficulty in lowering it to iOS 13.0, that would be even better. |
@lucas-quinn wrote:
Thanks for adding your datapoint here. It looks like the current plan (in flight) is to drop to minimum of iOS 13 so that should suit you :)
We'd love to understand how we could improve the documentation. Could you elaborate on what was missing and forced you to inspect the code? 🙏 |
cc @adam-fowler @0xTim for the Hummingbird and Vapor transports, in case you also want to reduce the deployment target (once apple/swift-openapi-runtime#18 lands and is tagged). |
#18) ### Motivation Reduce deployment target by 3 versions to gain more adoption. ### Modifications - Reduced deployment targets by 3 versions - Modified `Converter#renderedRequestPath` to support iOS 13 ### Result Deployment target will be reduced by 3 versions. ### Related issues - Related to apple/swift-openapi-generator#62 ### Related PRs - Paired with apple/swift-openapi-generator#63 --------- Co-authored-by: andrewelliott <> Co-authored-by: Honza Dvorsky <[email protected]>
Reopening until the generator and URLSession/AHC transports are updated as well. |
I guess we can close this? @czechboy0 |
Runtime, URLSession, and AHC have been released, but not this repo yet: #63 - let's wait for that before we close this issue. |
### Motivation Reduce deployment target by 3 versions to gain more adoption. ### Modifications - Reduced deployment targets by 3 versions - Modified `client.Package.x` and `server.Package.x` files to reflect new deployment targets - Modified documentation to reflect new deployment targets ### Result Deployment target will be reduced by 3 versions and documentation will reflect such changes. ### Resolves - Resolves #62 ### Related PRs - Paired with apple/swift-openapi-runtime#18 --------- Co-authored-by: andrewelliott <>
Let's see how much work it'd be to reduce the deployment targets, macOS 13->11, and so on.
This would be all of the repos - generator, runtime, and transports.
// Edit: Possibly we could go as low as
.macOS(.v10_15), .iOS(.v13), .tvOS(.v13), .watchOS(.v6)
.The text was updated successfully, but these errors were encountered: