Status: v0.14.0 scope gate baseline
This document defines what is in-scope for Ruff v1.0.0, what is explicitly out-of-scope, and what compatibility commitments apply.
Canonical readiness boundary: Ruff remains pre-1.0 until ROADMAP.md and docs/PRE_V1_MASTER_UNFINISHED_CHECKLIST.md release gates are closed.
- Stable core language syntax already shipped in
v0.13.0/v0.14.0baseline docs. - Stable runtime behavior for currently documented core execution paths:
- CLI script execution (
ruff runVM default + interpreter fallback) - core control flow, function, collection, and error-flow semantics covered by tests
- optional typing boundary remains explicit: interpreter mode may emit non-fatal type-check warnings, while VM/default mode keeps dynamic execution without a static type gate
- CLI script execution (
- Stable machine-readable tooling surfaces for:
- CLI JSON contracts documented in
docs/CLI_MACHINE_READABLE_CONTRACTS.md - LSP protocol contracts documented in
docs/PROTOCOL_CONTRACTS.md
- CLI JSON contracts documented in
- Release process reproducibility and artifact/install validation flow documented under:
docs/RELEASE_PROCESS.mddocs/RELEASE_ARTIFACT_VALIDATION.md
- Editor adapter baseline policy and first-party extension baseline wiring (
ruff lsp) documented and tested.
- New major language features that alter parser/runtime compatibility guarantees.
- Experimental runtime expansion that lacks stable CLI/LSP contract coverage.
- Editor-specific feature forks that duplicate Ruff parser/analyzer behavior.
- Platform/package-manager distribution channels not yet covered by release artifact validation evidence.
Language/runtime commitments:
- Backward-compatible behavior for documented syntax/runtime contracts unless a major-version policy change is declared.
- No silent behavior drift for covered core language/runtime tests.
- Any intentional breaking language/runtime change must be release-noted and version-gated.
Machine-readable tooling commitments:
- CLI/LSP contract field removal, rename, or type changes are considered breaking.
- Additive optional fields are non-breaking when existing fields remain stable.
- Golden fixture and contract test updates must accompany any intentional contract change.
Release/process commitments:
- Version-state consistency between
Cargo.toml,README.md, andROADMAP.mdremains CI-enforced. - Artifact validation and checksum workflows remain part of release-gate evidence.
The following runtime-path implementation backlogs are explicitly deferred and non-silent for v1.0.0 scope tracking:
src/vm.rs:Upvaluefull closure-capture implementation remains deferred while current closure behavior stays contract-locked by parity suites.GeneratorStatefull restoration model remains deferred while current generator boundaries stay explicitly documented indocs/VM_INTERPRETER_PARITY_MATRIX.md.
src/compiler.rs:- Dedicated VM
SpawnThreadopcode is deferred; current spawn lowering behavior remains explicit in compiler comments and roadmap-driven follow-up planning. - Enum and interpolated-string builder opcode optimizations are deferred as post-v1 performance/representation work (non-contract semantics).
- Dedicated VM
src/interpreter/native_functions/async_ops.rs:spawn_taskbody execution with full interpreter-context evaluation is deferred; current placeholder behavior remains explicit in code and triage artifacts.
Deferral guardrails:
- Every deferred runtime item must stay listed in
docs/generated/V1_CODE_TODO_TRIAGE.mdwith owner + bucket. - Deferred runtime behavior must remain explicit in code comments (no silent TODO markers on high-risk paths).
- Any future implementation of these items must add/update targeted runtime/parity/security tests before checklist closure.
The following items are explicitly tracked as post-1.0 backlog and are not blockers for v1.0.0:
- Generics
- FFI (foreign function interface)
- WASM target
- Macro system
These candidates should be tracked as roadmap backlog slices after v1.0.0 release stabilization.
Before tagging v1.0.0, confirm:
v0.14.0stabilization checklist is fully complete.- Contract docs/tests and release process docs are in sync.
- Release notes clearly distinguish
v1.0.0guaranteed surfaces vs deferred backlog.