Runtime Policy
The Dart runtime policy is database-driven and enforced at both authoring time and deployment time.
Canonical Runtime Endpoint
Use:
GET /api/v1/runtimes
GET /api/v1/runtime-versions remains a legacy alias, but /api/v1/runtimes
is the canonical endpoint.
Runtime Lifecycle Model
Each runtime row can expose lifecycle metadata such as:
-
releasedAt -
deprecationAnnouncedAt -
blockNewDeploysAfter -
disableExecutionAfter -
supportPhase -
deployable -
executable
The catalog groups runtimes into:
-
supported -
deprecating -
disabled
Enforcement Rules
The current implementation uses the catalog in three places:
-
New function drafts may only select versions in
supported. -
Deployments may only target versions that are still deployable.
-
Stored functions on older runtimes may continue to resolve until execution is disabled.
pubspec.yaml is also checked so its environment.sdk constraint stays within
the currently deployable runtime windows.
Current Seeded Policy In This Repo
At the time of this update, the repository seeds:
-
3.11.0as the default supported runtime -
3.10.0as the previous supported runtime -
3.9.0as disabled and no longer selectable
The exact dates come from application_data.public.dart_runtime_versions, not
from frontend hardcoding.