In Indicators this is nothing to migrate: an Indicator has no language versions, only four sheet contracts (abi_version: "wrun-1", frozen forever, then the additive "wrun-2", "wrun-3" and "wrun-4"), and a module written under any of them keeps computing bit-identically. Everything the kScript (legacy) v2 change introduced (per-bar execution, keyword arguments, compile-time checks, dedicated feeds, scalar TA values, field accessors, functions and loops) is the baseline of an Indicator: the four exports run per bar, options objects name every argument, AssemblyScript type-checks before anything runs, input(name, source.field) names a feed, and the TA classes return one number per bar.
Nearest form: Script definition documents the four contracts; a v1 or v2 script ports through the same construct table as a v3 one, on the From kScript (legacy) page beside this one.
What stays on kScript (legacy): the v1 engine itself (buildTimeseries, mergeTimeseries, positional arguments), which the platform still routes a marker-less script to.