Broken API or pattern
Client 3.0 should no longer support active cross-client collaboration with Fluid Framework 1.x clients. The canonical compatibility setting is oldestSupportedClient, typed as OldestSupportedClientVersion.
The Client 3.0 type and runtime validation should accept supported 2.x and 3.x values and reject actual client versions below 2.0.0. The deprecated minVersionForCollab property and MinimumVersionForCollab type alias inherit the same lower-bound restriction while they remain available.
Legacy terminology
This setting was formerly exposed as the minVersionForCollab property and MinimumVersionForCollab type. The preferred names were introduced in PR #27806, and removal of the deprecated names is tracked in issue #27851. The older names remain in this issue so historical searches and references still connect to the current API.
Persisted document-schema fields and telemetry properties continue to use minVersionForCollab.
Migration guidance
Before upgrading an application to Client 3.0:
- Ensure every active deployment that must collaborate is using Fluid Framework 2.0.0 or later.
- Configure
oldestSupportedClient to the oldest active Fluid version the application must support.
- Remove any 1.x compatibility configuration.
If an active deployment is still below 2.0.0, wait for that deployment to age out or upgrade before adopting Client 3.0. Loading historical data remains a separate data-at-rest compatibility concern.
Internal historical-default sentinel
The internal value 2.0.0-defaults is not a deployable client version and does not represent continued 1.x collaboration support. It preserves the runtime defaults used before callers had to choose an explicit compatibility value and remains necessary for cross-version tests and replay tooling.
It is behaviorally distinct from explicit 2.0.0 (for example, explicitSchemaControl remains disabled for the historical sentinel). The lower-bound implementation must preserve that distinction rather than normalizing all sentinel behavior to explicit 2.0.0.
Dependencies and sequencing
- Depends on the requiredness preparation tracked in issue #27180.
- Must preserve the final Client 3.x
OldestSupportedClientVersion shape established by PR #28022.
- The implementation PR is PR #27972, which should be rebuilt on the final prerequisite stack.
Packages and surfaces
@fluidframework/runtime-definitions — narrow OldestSupportedClientVersion and deprecated MinimumVersionForCollab.
@fluidframework/runtime-utils — advance the runtime floor while preserving the internal sentinel.
@fluidframework/container-runtime — reject unsupported 1.x customer inputs and remove unreachable 1.x defaults.
- Service clients, Aqueduct, Tree, and aggregate/re-export surfaces — inherit the final type and migration guidance.
- Cross-client test infrastructure — remove active 1.x matrix entries while retaining historical data-at-rest coverage.
Expected timeline
Client 3.0.0
Broken API or pattern
Client 3.0 should no longer support active cross-client collaboration with Fluid Framework 1.x clients. The canonical compatibility setting is
oldestSupportedClient, typed asOldestSupportedClientVersion.The Client 3.0 type and runtime validation should accept supported 2.x and 3.x values and reject actual client versions below
2.0.0. The deprecatedminVersionForCollabproperty andMinimumVersionForCollabtype alias inherit the same lower-bound restriction while they remain available.Legacy terminology
This setting was formerly exposed as the
minVersionForCollabproperty andMinimumVersionForCollabtype. The preferred names were introduced in PR #27806, and removal of the deprecated names is tracked in issue #27851. The older names remain in this issue so historical searches and references still connect to the current API.Persisted document-schema fields and telemetry properties continue to use
minVersionForCollab.Migration guidance
Before upgrading an application to Client 3.0:
oldestSupportedClientto the oldest active Fluid version the application must support.If an active deployment is still below 2.0.0, wait for that deployment to age out or upgrade before adopting Client 3.0. Loading historical data remains a separate data-at-rest compatibility concern.
Internal historical-default sentinel
The internal value
2.0.0-defaultsis not a deployable client version and does not represent continued 1.x collaboration support. It preserves the runtime defaults used before callers had to choose an explicit compatibility value and remains necessary for cross-version tests and replay tooling.It is behaviorally distinct from explicit
2.0.0(for example,explicitSchemaControlremains disabled for the historical sentinel). The lower-bound implementation must preserve that distinction rather than normalizing all sentinel behavior to explicit2.0.0.Dependencies and sequencing
OldestSupportedClientVersionshape established by PR #28022.Packages and surfaces
@fluidframework/runtime-definitions— narrowOldestSupportedClientVersionand deprecatedMinimumVersionForCollab.@fluidframework/runtime-utils— advance the runtime floor while preserving the internal sentinel.@fluidframework/container-runtime— reject unsupported 1.x customer inputs and remove unreachable 1.x defaults.Expected timeline
Client 3.0.0