New
- Expose
DatabaseRowproperties forSQLiteDatabaseextensibility (#1067):DatabaseRowis surfaced through the publicSQLiteDatabaseprotocol, but its stored properties were not publicly accessible, preventing wrapper implementations (encryption, compression, logging) from reusingApolloSQLiteDatabasethrough composition. The requiredDatabaseRowmembers are nowpublic, so customSQLiteDatabaseimplementations can inspect and transform row contents while still leveraging Apollo's existing SQLite implementation. This brings the v1 improvement from #1056 to v2. Thank you to @ErShubhShankar for the contribution.
Improvement
- Apply
additionalCapitalizationRulesto generated operation & fragment type names (#1063): A follow-on to #1037, which applied the opt-inadditionalCapitalizationRulesto property-level names only. The rules now also apply to the generated Swift type names of GraphQL operations and named fragments, so anid→IDrule generatesSomethingByIDSubscriptioninstead ofSomethingByIdSubscription. TheoperationNamestring is unchanged. Generated file names are re-cased to match the type names, and case-only renames are now safe on case-insensitive volumes — the pruner skips old paths that differ only by case unless the volume is known to be case-sensitive, andApolloFileManagerrenames an existing file whose on-disk name differs only by case before writing. The option remains fully opt-in, so output is unchanged when no rules are configured. Thank you to @3redrubies for the contribution.