Skip to content

Drop support for iOS 12, tvOS 12, watchOS 5, and macOS 10.13/14 #255

Closed
@cbaker6

Description

@cbaker6

New Issue Checklist

Issue Description

Original discussion began here: #13 (comment)

The current OS's to be removed (iOS 12, tvOS 12, watchOS 5, and macOS 10.13/14) are currently in limbo as the Swift SDK should work well with them with the exception that ParseLiveQuery cannot be used. This is due to native websocket additions in iOS13+. Any OS before the aforementioned OS's already have to resort to the Obj-C SDK.

The Swift SDK leverages modern Swift: value types, Combine, web sockets, and with modification; SwiftUI. The minimum requirements for the aforementioned modern features is iOS 13. In addition, the Swift SDK indirectly supports the Identifiable protocol (if the developer adds the id property themselves) which simplifies using ParseObject's as models for SwiftUI. iOS 13 supports devices as old as 6+ years (2015).

Supporting the "limbo" OS's requires additional code (as seen in PR #254) and require extra care with maintaining. There were massive changes added by Swift 5.1 with minimum OS support for iOS13, tvOS 13, watchOS 6, and macOS 10.15. Dropping the "limbo" OS's allow for easier app development for developers as ParseObject's natively conform to Identifiable and simplifies maintenance and addition of features.

What can happen next is next version of the Swift SDK, 1.11.0 (which should include #238 and #248) will be the last release supporting the "limbo" OS's. After, 2.0.0 will drop support.

Steps to reproduce

Try to use Identifiable, Combine, natively on an older OS.

Actual Outcome

Won't compile.

Expected Outcome

Environment

Client

  • Parse Swift SDK version: 1.10.4
  • Xcode version: Xcode 13
  • Operating system (iOS, macOS, watchOS, etc.): iOS 15
  • Operating system version: Big Sur

Server

  • Parse Server version: 4.10.3
  • Operating system: linux
  • Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): self host

Database

  • System (MongoDB or Postgres): Postgres
  • Database version: 13
  • Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): self host

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:featureNew feature or improvement of existing feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions