Repository navigation
SQL 3.1.0
SQL 3.1.0 focuses on Swift 6 model compatibility while keeping the existing query and preparation architecture intact.
Swift 6 table and column compatibility
Table, AnyTable, and ColumnRoot now work cleanly with Swift 6 default isolation, including @Column projected key paths and Table.key(for:), without requiring consumer-side actor annotations or unsafe concurrency escape hatches.
Possibly breaking: implicit table names
The default Table.tableName for simple nominal types now uses lower snake case:
Todo -> todo
UserProfile -> user_profile
URLValue -> url_value
HTTPServer -> http_server
If your database schema relied on the previous implicit type-name spelling, define static var tableName explicitly before upgrading. Explicit tableName overrides are unchanged.
Built for real Swift 6 apps
This release was also compatibility-checked in strict Swift 6 application environments, including modern SwiftUI codebases and Vapor 4 applications. The updated table and column model is designed to fit naturally into real Swift 6 projects without requiring framework-specific workarounds or extra concurrency annotations.