-
Notifications
You must be signed in to change notification settings - Fork 286
Description
Should mas's minimum supported macOS version be increased from 10.11 to 10.13 or newer?
The user base on macOS 10.11 & 10.12 is probably vanishingly small.
.swift-version
has specified since 2022 that mas uses Swift 5.7, but that isn't in any released mas version. The code already uses the if let shorthand from 5.7, and possibly other 5.7 features.
Moreover, main
has been switched from Commandant to Swift Argument Parser 1.5.0, which requires Swift 5.7+.
Thus, I think that all references to Swift versions in main
should be set to the newest Swift 5.7.x, and mas should be configured to explicitly only support macOS 10.13+.
We might want to increase the minimum macOS version to 10.15 when we release 2.0.0, which will allow the use of Swift Concurrency & swift-testing or newer versions of Nimble & Quick. Other newer macOS versions wouldn't unlock as many new useful APIs, and might orphan too many users.
The benefits of which I'm aware of increasing the minimum macOS version for running mas are (by minimum version):
- 10.12
ISO8601DateFormatter
- 10.13
- Swift 5.7+
- PromiseKit 8+ (currently 8.1.2)
JSONSerialization.WritingOptions.sortedKeys
- 10.15
- Concurrency
- swift-testing
- Nimble 11+ (currently 13.x)
- Quick 6+ (currently 7.x)
JSONSerialization.WritingOptions.withoutEscapingSlashes
- 11
Logger
- 12
Date.ISO8601Format
Date.ISO8601FormatStyle
- 13
Regex
& relatedLocale.Currency
- 15
RangeSet
I know that there are other benefits, I just haven't yet identified them.