Core Data Evolution (CDE) is an experimental Swift library that modernizes Core Data development without replacing it. It introduces SwiftData-style macro-based model declarations via @PersistentModel, type-safe predicate building with TypedPath (supporting persistent name aliasing), actor-based concurrency isolation via @NSModelActor, and improved testing utilities including runtime schema generation and per-test SQLite stores. CDE keeps .xcdatamodeld as the production model source while adding a modern Swift expression layer on top. A companion CLI tool (cde-tool) handles code generation, validation, and alignment between model files and source declarations. The project also integrates with PersistentHistoryTrackingKit and iCloudSyncStatusKit for a complete modern Core Data stack.

16m read timeFrom fatbobman.com
Post cover image
Table of contents
Who CDE Is ForSome Preliminary ConsiderationsModel DeclarationTypedPathConcurrencyTestingcde-toolOther Pieces of the Core Data Modernization PuzzleWhat CDE Has Taught Me

Sort: