diff --git a/.swiftlint.yml b/.swiftlint.yml index 44b967d2..2e2408c4 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -2,7 +2,7 @@ opt_in_rules: - shorthand_optional_binding disabled_rules: # rule identifiers to exclude from running - todo - - operator_whitespace + - function_name_whitespace - large_tuple - closure_parameter_position - inclusive_language # sqlite_master etc. @@ -12,7 +12,7 @@ included: # paths to include during linting. `--path` is ignored if present. tak - Tests - Package.swift excluded: # paths to ignore during linting. overridden by `included`. - - .build + - "*/.build/*" identifier_name: excluded: diff --git a/CHANGELOG.md b/CHANGELOG.md index de50d3a8..d73c1c59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -0.15.5 (tbd), [diff][diff-0.15.5] +0.15.5 (22-01-2025), [diff][diff-0.15.5] ======================================== * Support more package traits ([#1341][]), including FTS5 ([#1343][]) * SQLCipher package manager integration ([#1336][], [#1340][]) @@ -189,6 +189,7 @@ For breaking changes, see [Upgrading.md](Documentation/Upgrading.md). [diff-0.15.2]: https://github.com/stephencelis/SQLite.swift/compare/0.15.1...0.15.2 [diff-0.15.3]: https://github.com/stephencelis/SQLite.swift/compare/0.15.2...0.15.3 [diff-0.15.4]: https://github.com/stephencelis/SQLite.swift/compare/0.15.3...0.15.4 +[diff-0.15.5]: https://github.com/stephencelis/SQLite.swift/compare/0.15.4...0.15.5 [#30]: https://github.com/stephencelis/SQLite.swift/issues/30 [#142]: https://github.com/stephencelis/SQLite.swift/issues/142 diff --git a/Documentation/Index.md b/Documentation/Index.md index 360353d1..a4eaa0da 100644 --- a/Documentation/Index.md +++ b/Documentation/Index.md @@ -109,7 +109,7 @@ process of downloading, compiling, and linking dependencies. ```swift dependencies: [ - .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.4") + .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.5") ] ``` @@ -127,19 +127,19 @@ SQLite.swift for different use cases. ```swift dependencies: [ .package(url: "https://github.com/stephencelis/SQLite.swift.git", - from: "0.15.4", + from: "0.15.5", traits: ["XXX"]) ] ``` -| Trait | Description | -|--------------------------|-----------------------------------------------------| -| `SystemSQLite` (default) | Uses the system SQLite (provided by Apple) | -| `SwiftToolchainCSQLite` | Embeds the SQLite provided by [swift-toolchain][] | -| `SQLiteSwiftCSQLite` | Embeds a [custom SQLite][] based on swift-toolchain | -| `StandaloneSQLite` | Only used by CocoaPods | -| `SQLCipher` | Embeds [SQLCipher][] (see below) | -| `FTS5` | Enables FTS5, only works with `SQLiteSwiftCSQLite` | +| Trait | Description | SQLite version | +|--------------------------|-----------------------------------------------------|--------------------------------------| +| `SystemSQLite` (default) | Uses the system SQLite (provided by Apple) | macOS 15.7.x: `3.43.2`, 26: `3.50.2` | +| `SwiftToolchainCSQLite` | Embeds the SQLite provided by [swift-toolchain][] | 1.0.7: `3.50.4` | +| `SQLiteSwiftCSQLite` | Embeds a [custom SQLite][] based on swift-toolchain | `3.50.4` | +| `StandaloneSQLite` | Only used by CocoaPods | | +| `SQLCipher` | Embeds [SQLCipher][] (see below) | 4.13.0: `3.51.2` | +| `FTS5` | Enables FTS5, only works with `SQLiteSwiftCSQLite` | | [traits]: https://docs.swift.org/swiftpm/documentation/packagemanagerdocs/packagetraits/ [custom SQLite]: https://github.com/stephencelis/CSQLite/tree/SQLite.swift @@ -151,7 +151,7 @@ If you want to use [SQLCipher][] with SQLite.swift you can specify the `SQLCiphe ```swift depdencies: [ - .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.4", traits: ["SQLCipher"]) + .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.5", traits: ["SQLCipher"]) ] ``` @@ -181,7 +181,7 @@ let package = Package( dependencies: [ .package( url: "https://github.com/stephencelis/SQLite.swift.git", - from: "0.15.4", + from: "0.15.5", traits: ["SQLCipher"]) ], targets: [ @@ -228,7 +228,7 @@ install SQLite.swift with Carthage: 2. Update your Cartfile to include the following: ```ruby - github "stephencelis/SQLite.swift" ~> 0.15.4 + github "stephencelis/SQLite.swift" ~> 0.15.5 ``` 3. Run `carthage update` and [add the appropriate framework][Carthage Usage]. @@ -258,7 +258,7 @@ install SQLite.swift with Carthage: use_frameworks! target 'YourAppTargetName' do - pod 'SQLite.swift', '~> 0.15.4' + pod 'SQLite.swift', '~> 0.15.5' end ``` @@ -272,7 +272,7 @@ with the OS you can require the `standalone` subspec: ```ruby target 'YourAppTargetName' do - pod 'SQLite.swift/standalone', '~> 0.15.4' + pod 'SQLite.swift/standalone', '~> 0.15.5' end ``` @@ -282,7 +282,7 @@ dependency to sqlite3 or one of its subspecs: ```ruby target 'YourAppTargetName' do - pod 'SQLite.swift/standalone', '~> 0.15.4' + pod 'SQLite.swift/standalone', '~> 0.15.5' pod 'sqlite3/fts5', '= 3.15.0' # SQLite 3.15.0 with FTS5 enabled end ``` diff --git a/Documentation/Linux.md b/Documentation/Linux.md index 5f84fa13..f748097c 100644 --- a/Documentation/Linux.md +++ b/Documentation/Linux.md @@ -13,7 +13,7 @@ embed SQLite: ```swift dependencies: [ .package(url: "https://github.com/stephencelis/SQLite.swift.git", - from: "0.15.4", + from: "0.15.5", traits: ["SwiftToolchainCSQLite"]) ] ``` diff --git a/Makefile b/Makefile index e00e4b6e..0bde22d5 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ IOS_SIMULATOR = iPhone 14 IOS_VERSION = 16.4 # tool settings -SWIFTLINT_VERSION=0.52.2 +SWIFTLINT_VERSION=0.63.1 SWIFTLINT=bin/swiftlint-$(SWIFTLINT_VERSION) SWIFTLINT_URL=https://github.com/realm/SwiftLint/releases/download/$(SWIFTLINT_VERSION)/portable_swiftlint.zip XCBEAUTIFY_VERSION=3.1.2 diff --git a/Package.swift b/Package.swift index 18303b4b..80a55259 100644 --- a/Package.swift +++ b/Package.swift @@ -60,9 +60,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/swiftlang/swift-toolchain-sqlite", from: "1.0.7"), - .package(url: "https://github.com/stephencelis/CSQLite", - branch: "SQLite.swift", - traits: [.trait(name: "FTS5", condition: .when(traits: ["FTS5"]))]), + .package(url: "https://github.com/stephencelis/CSQLite", from: "3.50.4", traits: [.trait(name: "FTS5", condition: .when(traits: ["FTS5"]))]), .package(url: "https://github.com/sqlcipher/SQLCipher.swift", from: "4.11.0") ], targets: [target, testTarget], diff --git a/README.md b/README.md index 4195c639..2fb0174d 100644 --- a/README.md +++ b/README.md @@ -131,7 +131,7 @@ Swift code. ```swift dependencies: [ - .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.4") + .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.5") ] ``` @@ -155,7 +155,7 @@ install SQLite.swift with Carthage: 2. Update your Cartfile to include the following: ```ruby - github "stephencelis/SQLite.swift" ~> 0.15.4 + github "stephencelis/SQLite.swift" ~> 0.15.5 ``` 3. Run `carthage update` and diff --git a/SQLite.swift.podspec b/SQLite.swift.podspec index 1c95606c..829e092d 100644 --- a/SQLite.swift.podspec +++ b/SQLite.swift.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "SQLite.swift" - s.version = "0.15.4" + s.version = "0.15.5" s.summary = "A type-safe, Swift-language layer over SQLite3." s.description = <<-DESC diff --git a/SQLite.xcodeproj/project.pbxproj b/SQLite.xcodeproj/project.pbxproj index 70f677d9..248c70a2 100644 --- a/SQLite.xcodeproj/project.pbxproj +++ b/SQLite.xcodeproj/project.pbxproj @@ -1772,7 +1772,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 13.0; MACOSX_DEPLOYMENT_TARGET = 10.13; - MARKETING_VERSION = 0.15.4; + MARKETING_VERSION = 0.15.5; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = ""; @@ -1832,7 +1832,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 13.0; MACOSX_DEPLOYMENT_TARGET = 10.13; - MARKETING_VERSION = 0.15.4; + MARKETING_VERSION = 0.15.5; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = ""; SDKROOT = iphoneos; diff --git a/Sources/SQLite/Typed/Operators.swift b/Sources/SQLite/Typed/Operators.swift index 04676920..7048b68e 100644 --- a/Sources/SQLite/Typed/Operators.swift +++ b/Sources/SQLite/Typed/Operators.swift @@ -21,9 +21,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. // - -// TODO: use `@warn_unused_result` by the time operator functions support it - +// swiftlint:disable file_length private enum Operator: String, Sendable { case plus = "+" case minus = "-" diff --git a/Sources/SQLite/Typed/Query.swift b/Sources/SQLite/Typed/Query.swift index d82761c8..1f2b6004 100644 --- a/Sources/SQLite/Typed/Query.swift +++ b/Sources/SQLite/Typed/Query.swift @@ -21,6 +21,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. // +// swiftlint:disable file_length import Foundation public protocol QueryType: Expressible { diff --git a/Tests/.swiftlint.yml b/Tests/.swiftlint.yml index 81d6c314..52205b23 100644 --- a/Tests/.swiftlint.yml +++ b/Tests/.swiftlint.yml @@ -1,5 +1,3 @@ -parent_config: ../.swiftlint.yml - disabled_rules: - force_cast - force_try diff --git a/Tests/SPM/Package.swift b/Tests/SPM/Package.swift index 461cdc94..a635d3ad 100644 --- a/Tests/SPM/Package.swift +++ b/Tests/SPM/Package.swift @@ -22,7 +22,7 @@ let package = Package( // for testing from same repository .package(path: "../..", traits: traits) // normally this would be: - // .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.4") + // .package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.15.5") ], targets: [ .executableTarget(name: "test", dependencies: [.product(name: "SQLite", package: "SQLite.swift")])