Interop & Migration

5.6 to 5.7 Migration

Move a complete Topaz v5.6 package to the current v5.7 identity without rewriting source.

Topaz 5.7 inherits the complete v5.6 grammar and semantics. Migration changes the package identity; it does not rewrite .tpz source.

From the package root, run:

SH
topaz migrate --from 5.6 --to 5.7 --root .

The command resolves and checks the whole package in both language modes before writing. On success it changes only [package].language = "5.6" to "5.7" and an exact std = "5.6" dependency to "5.7". Other dependencies, comments, formatting, source files, lockfiles, and vendored bytes stay unchanged. Any parse, resolution, type, dependency, or destination error leaves every file unchanged.

Regenerate package-derived products after migration:

SH
topaz lock --root .
topaz check --root . --locked
topaz test --root . --locked
topaz build --root . --locked --out-dir build

Use --language-version 5.6, or keep language = "5.6" in an unmigrated package, when you need the explicit compatibility lane. New packages default to topaz-5.7.