diff --git a/Package.resolved b/Package.resolved index c7f91d8f..a2730804 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "324731b33805c70e83b5ad1f65360ddff963c796cb8c77d1c1acc2f81503187d", + "originHash" : "688f63393a7436307eb0f4f8a2e5bf155eb604781201924d1c58b3634e1ab647", "pins" : [ { "identity" : "combine-schedulers", @@ -123,8 +123,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-structured-queries", "state" : { - "revision" : "dafddd843f10630aa6b5be47c1b6a59cc4ab6586", - "version" : "0.34.0" + "revision" : "fb25c16d0bde460ffc01fe19ab911bb26f40f26b", + "version" : "0.35.0" } }, { diff --git a/Package.swift b/Package.swift index ed2019f9..eead4cd9 100644 --- a/Package.swift +++ b/Package.swift @@ -6,10 +6,10 @@ import PackageDescription let package = Package( name: "sqlite-data", platforms: [ - .iOS(.v13), - .macOS(.v10_15), - .tvOS(.v13), - .watchOS(.v7), + .iOS(.v16), + .macOS(.v13), + .tvOS(.v16), + .watchOS(.v9), ], products: [ .library( @@ -30,6 +30,13 @@ let package = Package( name: "CasePaths", description: "Introduce support for enum tables." ), + .trait( + name: "SuppressPlatformSQLiteAvailability", + description: """ + Suppress '@available' checks on APIs that depend on a newer version of SQLite than the one \ + bundled with the platform. + """ + ), .trait( name: "Tagged", description: "Introduce SQLiteData conformances to the swift-tagged package." @@ -51,13 +58,17 @@ let package = Package( .package(url: "https://github.com/pointfreeco/swift-snapshot-testing", from: "1.18.4"), .package( url: "https://github.com/pointfreeco/swift-structured-queries", - from: "0.34.0", + from: "0.35.0", traits: [ + .trait(name: "CasePaths", condition: .when(traits: ["CasePaths"])), .trait( name: "LazyInitializableByDefault", condition: .when(traits: ["LazyInitializableByDefault"]) ), - .trait(name: "CasePaths", condition: .when(traits: ["CasePaths"])), + .trait( + name: "SuppressPlatformSQLiteAvailability", + condition: .when(traits: ["SuppressPlatformSQLiteAvailability"]) + ), .trait(name: "Tagged", condition: .when(traits: ["Tagged"])), ] ), diff --git a/Package@swift-6.0.swift b/Package@swift-6.0.swift index f1662b29..104bbe35 100644 --- a/Package@swift-6.0.swift +++ b/Package@swift-6.0.swift @@ -5,10 +5,10 @@ import PackageDescription let package = Package( name: "sqlite-data", platforms: [ - .iOS(.v13), - .macOS(.v10_15), - .tvOS(.v13), - .watchOS(.v7), + .iOS(.v16), + .macOS(.v13), + .tvOS(.v16), + .watchOS(.v9), ], products: [ .library( @@ -28,7 +28,7 @@ let package = Package( .package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.9.0"), .package(url: "https://github.com/pointfreeco/swift-sharing", from: "2.3.0"), .package(url: "https://github.com/pointfreeco/swift-snapshot-testing", from: "1.18.4"), - .package(url: "https://github.com/pointfreeco/swift-structured-queries", from: "0.34.0"), + .package(url: "https://github.com/pointfreeco/swift-structured-queries", from: "0.35.0"), .package(url: "https://github.com/pointfreeco/xctest-dynamic-overlay", from: "1.5.0"), ], targets: [ diff --git a/Sources/SQLiteData/CloudKit/Internal/Triggers.swift b/Sources/SQLiteData/CloudKit/Internal/Triggers.swift index 729a1485..eebcafc2 100644 --- a/Sources/SQLiteData/CloudKit/Internal/Triggers.swift +++ b/Sources/SQLiteData/CloudKit/Internal/Triggers.swift @@ -541,6 +541,7 @@ } } + @available(iOS 17, macOS 14, tvOS 17, watchOS 10, *) extension QueryExpression { fileprivate var isValidCloudKitRecordName: some QueryExpression { substr(1, 1).neq("_") && octetLength().lte(255) && octetLength().eq(length()) diff --git a/Sources/SQLiteData/Documentation.docc/Articles/ComparisonWithSwiftData.md b/Sources/SQLiteData/Documentation.docc/Articles/ComparisonWithSwiftData.md index 7c82f058..8d673ce9 100644 --- a/Sources/SQLiteData/Documentation.docc/Articles/ComparisonWithSwiftData.md +++ b/Sources/SQLiteData/Documentation.docc/Articles/ComparisonWithSwiftData.md @@ -945,9 +945,6 @@ information about CloudKit synchronization, see . ### Supported Apple platforms -SwiftData and the `@Query` macro require iOS 17, macOS 14, tvOS 17, watchOS 10 and higher, and -some newer features require even more recent versions of iOS. - -Meanwhile, SQLiteData has a broad set of deployment targets supporting all the way back to iOS 13, -macOS 10.15, tvOS 13, and watchOS 6. This means you can use these tools on essentially any -application today with no restrictions. +SQLiteData has a broad set of deployment targets supporting all the way back to the iOS 16 family +of releases. This means you can use these tools on essentially any application today with no +restrictions.