Skip to content

Increase minimum supported macOS version from 13 Ventura to 15 Sequoia #1024

@rgoldberg

Description

@rgoldberg

Increase mas's minimum supported macOS version from 13 Ventura to 15 Sequoia.

This should be done only on the release of a major version.

The known benefits of increasing the minimum macOS version for running mas are (by minimum version):

  • All:
    • Remove mas & header code that is no longer needed
      • #available
      • #unavailable
      • @available
      • NS_AVAILABLE_MAC
      • NS_DEPRECATED_MAC
    • Replace, e.g.:
      • 12 ➡ 14
      • Monterey ➡ Sonoma
      • 13 ➡ 15
      • Ventura ➡ Sequoia
  • 14 Sonoma
    • Observation framework
    • withDiscardingTaskGroup(…)
    • JSONEncoder.encode(_:configuration:)
    • .sorted(using: SortDescriptor(\.name, comparator: .localizedStandard)) instead of .sorted { $0.name.localizedStandardCompare($1.name) == .orderedAscending }
  • 15 Sequoia
    • /usr/bin/jq: remove jq brew dependency for 14 Sonoma & earlier
    • /usr/bin/trash
    • ManagedAtomicAtomic
    • SKPaymentQueue
      • Remove due to deprecation
    • String
      • init(validating:as:)
    • AsyncSequence<Element, Failure> (instead of AsyncSequence<Element>)
    • RangeSet
    • Int128
    • UInt128
  • 27 ?
    • Drop x86_64 support

Mac models that become unsupported by specific macOS versions:

  • 14 Sonoma
    • iMac 2017
    • MacBook 2017
    • MacBook Pro 2017
  • 15 Sequoia
    • MacBook Air 2018
    • MacBook Air 2019
  • 26 Tahoe
    • iMac 2019 27" 5K Retina
    • iMac 2019 21.5" 4K Retina
    • iMac Pro 2017
    • Mac mini 2018
    • MacBook Air 2020 13" Retina
    • MacBook Pro 2018 13" 4 Thunderbolt ports
    • MacBook Pro 2018 15"
    • MacBook Pro 2019 13" 2 Thunderbolt ports
    • MacBook Pro 2019 13" 4 Thunderbolt ports
    • MacBook Pro 2019 15"
    • MacBook Pro 2020 13" 2 Thunderbolt ports

Metadata

Metadata

Assignees

No one assigned

    Labels

    📚 dependenciesUpdate dependencies🧊 backlogPostponed: requires more info, requires too much effort for payoff, etc.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions