Skip to content

0.8.1

Choose a tag to compare

@fatbobman fatbobman released this 10 Mar 10:48
· 54 commits to main since this release

CoreDataEvolution 0.8.1

0.8.1 is a major update.

This release moves CoreDataEvolution beyond basic actor isolation for Core Data and into a broader toolkit for model declaration, typed path mapping, runtime schema validation, and code generation. Compared with the 0.7.x line, this version significantly expands the public surface area, test coverage, documentation, and downstream validation workflow.

Highlights

  • Introduces the new @PersistentModel macro system
  • Adds typed path, typed sort, and %K-based predicate infrastructure
  • Expands runtime schema building and test support
  • Introduces cde-tool and CoreDataEvolutionToolingCore
  • Adds downstream generated-flow fixture validation and release smoke modes
  • Broadly improves documentation, test scripts, and integration coverage

Major Changes

@PersistentModel

This release introduces @PersistentModel, a new macro-based modeling layer for Core Data.

It generates the metadata and support structures needed for both runtime behavior and tooling, including:

  • field mapping tables
  • typed key/path support
  • composition encode/decode helpers
  • transformed storage descriptions
  • runtime schema metadata
  • stronger bridges from Swift model declarations to Core Data runtime behavior

This is a major step from "actor-safe Core Data access" toward a more Swift-first Core Data modeling experience.

Typed Path And Predicate Infrastructure

0.8.1 establishes the typed path foundation used by sorting and predicate construction.

Key additions include:

  • typed sort construction from Object.Keys and Object.path.*
  • %K-based predicate building from mapped paths
  • relationship path support
  • composition path support
  • to-many quantifiers: any, all, and none

This is one of the most important architectural additions in the release and provides the base for more expressive query construction going forward.

Runtime Schema And Test Infrastructure

This version strengthens runtime schema assembly and test container support, making Core Data model validation and integration testing much more robust.

It includes:

  • a more complete runtime schema builder
  • isolated SQLite-backed test containers
  • stronger concurrency-focused test validation
  • integration model compile and verification flows
  • downstream generated-flow validation

Together, these changes make the package easier to verify under real Core Data runtime behavior, not just unit-level expansion tests.

Tooling And CLI

0.8.1 introduces cde-tool together with CoreDataEvolutionToolingCore, extending the project from a runtime library into a broader tooling workflow.

The CLI now covers:

  • config initialization
  • generate
  • validate
  • inspect

The generated-flow script also supports release smoke testing against path, tag, branch, or revision, making it easier to validate both local workspace behavior and published references.

Documentation And Verification

This release includes a broad documentation and verification refresh.

That includes:

  • substantial new user-facing and development documentation
  • corrections where docs and implementation had drifted apart
  • script-based test entry points for repeated validation
  • generated fixture verification
  • integration model verification
  • full-suite and serial test validation during stabilization

Release Positioning

0.8.1 is a major 0.x release.

It significantly expands CoreDataEvolution from a focused concurrency wrapper for Core Data into a more complete system spanning model declaration, typed path mapping, runtime validation, code generation, and downstream integration checks.

If you care about:

  • a more SwiftData-like modeling experience on top of Core Data
  • safer actor-isolated Core Data access
  • stronger typed path, predicate, and sort infrastructure
  • a fuller generation and validation workflow

then 0.8.1 is the key release to adopt.