Public desired-schema access.IDesiredSchemaProvider is now public and exposed as app.DesiredSchema.
Hash on Script and DataMigration. For reading the canonical hash of the body.
Changed
Refresh no longer silently replaces a state payload it cannot read: it fails unless RefreshArguments.Force is set, and a forced replacement carries
a warning that the run-once script ledger was reset. The state capture after an apply still replaces an unreadable payload (the SQL has already run),
with the same warning.