You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added liftoff model, a new way to inspect and correct the local migration data directly: list/get show every captured entity in full detail (with sensitive values redacted unless explicitly revealed), and set/unset let you fix or clear a single entity's value by hand. Changing a value that's already populated requires a person's approval, and the command tells you exactly which check to re-run afterward.
Discarding the local database to re-discover from scratch, and re-staging a unit that's already migrated, now require explicit approval before they proceed. The approval prompt states exactly what would be lost — captured secrets, captured state, staged units, migrated units — so nothing is discarded silently.
Added an audit check that flags a stack whose runner image can't actually be pulled by the worker pool it would run on (for example, a private image assigned to the public pool), and names the registry to point it at instead.
Added an audit check that flags a module whose provider Spacelift would reject outright, catching the problem before it surfaces much later as a failed creation.
Published guidance on choosing an AI model to drive a migration: what capabilities matter, the concrete ways a migration can go quietly wrong with a model that isn't up to the task, and how to check your own choice against that bar.
Fixes
Fixed module version publishing being addressed by a module's bare name instead of its full registry identifier, which could push a version to the wrong module or fail outright.
Fixed the duplicate-identifier audit check to compare modules by their real registry identifier instead of their bare name — this both removes false alarms when a stack and a module merely share a plain name, and now catches real collisions that share a registry identifier.
Failed calls to the destination account now report which operation was refused, on which entity, and a specific next step based on the reason (not found, access denied, already exists, or an invalid value) instead of a generic error.
Fixed a case where a person approving an action from their own terminal could be wrongly asked to supply a proof token that is only ever issued to an AI assistant.
Security Updates
Closed a gap where an assistant could obtain the token proving it had read a required guidance page without the page's content ever actually reaching its context (for example, by filtering the command's output down to just the token). Such a token is now always accompanied by an explicit warning that it proves nothing unless the full content was read.
Error text and details coming back from the destination account's API are now stripped of stray control characters before being printed, closing off a path where a malformed or malicious API response could inject terminal escape sequences.