「Scala 3.1.2」では、コンパイラがコードを読み取れる最小バージョンを指定可能な形式で、TASTyファイルとクラスファイルを生成する機能が試験的に追加されている。
コンパイル時に、出力バージョンをScala 3.0に設定でき、Scala 3.0/3.1またはそれ以降のバージョンでコンパイルされたコードでライブラリを使えるようになった。生成されたすべてのTASTyファイルは、Scala 3.0以降と互換性がある。
あわせて、既存の互換性フラグ名が変更され、-releaseは-java-output-versionに、-Xtargetは-Xunchecked-java-output-versionに変更された。
そのほか、コンパイル中に-Xmacro-settingsフラグを渡すことで、コード内のマクロの動作をカスタマイズする機能が試験的に追加されている。