You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The pre-rename names for the cross-client compatibility parameter:
minVersionForCollab on LoadContainerRuntimeParams (@fluidframework/container-runtime) — @legacy @beta
minVersionForCollab on BaseContainerRuntimeFactoryProps (@fluidframework/aqueduct) — @legacy @beta
minVersionForCollaboration on createTreeContainerRuntimeFactory (@fluidframework/fluid-static) — @legacy @beta
The MinimumVersionForCollab type (@fluidframework/runtime-definitions) — @public
Context
These are replaced by oldestSupportedClient with OldestSupportedClientVersion for runtime APIs in #27806. The deprecated public and beta names remain accepted so those renames are additive. The alpha driver APIs are replaced directly by OldestSupportedServiceClientVersion and ServiceOptions.oldestSupportedClient; indexed office-bohemia code does not use the removed alpha names.
The name is layer-neutral. The value is threaded through Runtime and DataStore layers and consumed by DDSes such as SharedTree for write-format and feature selection.
Approach
Consumers move to oldestSupportedClient, typed OldestSupportedClientVersion for runtime APIs or OldestSupportedServiceClientVersion for the minor-only service-client API.
Dependencies
#27806 introduces the replacement names, deprecates the public and beta old names, removes the superseded alpha driver names, migrates in-repo type references, updates service-client signatures, and adds the preferred createTreeContainerRuntimeFactory overload.
This is distinct from #27180, which makes the parameter required but does not remove either name.
#27896 changes which internal parent-context interface ContainerRuntime implements. Phase 2 should account for that final interface shape.
Compatibility Concerns
The deprecated public and beta names need to coexist while Runtime → DataStore → DDS and service-client internals migrate across package and API layers. Partners consume the beta properties directly, so their removal needs the standard beta-break lead time.
Persisted document-schema fields and telemetry property names are unaffected. IDocumentSchemaInfo.minVersionForCollab remains the on-disk name, and telemetry keeps emitting minVersionForCollab so existing queries and dashboards continue to work.
Thread both names through ContainerRuntime, FluidDataStoreContext, IFluidDataStoreRuntimeInternalConfig, and SharedKernelArgs so old and new consumers can migrate independently.
Update datastore/test-runtime/test-utils properties and mocks.
Migrate ContainerRuntimeLoaderParams and service-client internal callbacks/private helpers.
Narrower service internals
Rename createDOProviderContainerRuntimeFactory and related internal fluid-static parameters.
Migrate service-client internal callbacks and private helpers that still use minVersionForCollaboration.
Tree-specific write-format APIs
Rename CodecWriteOptions.minVersionForCollab and other Tree-local properties.
Regenerate codec-format snapshots.
Helper and test infrastructure names
Rename runtime-utils helper exports and fluid-static defaults such as defaultRuntimeOptionsForMinVersion.
Rename test-version-utils and compatibility helper parameters.
Select a distinct name for lowestMinVersionForCollab, which represents the floor on allowed values rather than the oldest supported client.
Remove deprecated beta properties
Remove minVersionForCollab and minVersionForCollaboration in the 3.10 beta-break window.
CompatibilityMode-specific names disappear with CompatibilityMode cleanup and are not renamed.
Remove the public alias
Remove MinimumVersionForCollab in 4.0.
Expected Timeline
The beta properties are deprecated in 2.116.0 and removed in 3.10.0. The @public type is deprecated in 2.116.0 and removed in 4.0.0.
Open Questions
Final name for lowestMinVersionForCollab.
Whether phases 2 through 5 land as one change or several.
Deprecated API
The pre-rename names for the cross-client compatibility parameter:
minVersionForCollabonLoadContainerRuntimeParams(@fluidframework/container-runtime) —@legacy @betaminVersionForCollabonBaseContainerRuntimeFactoryProps(@fluidframework/aqueduct) —@legacy @betaminVersionForCollaborationoncreateTreeContainerRuntimeFactory(@fluidframework/fluid-static) —@legacy @betaMinimumVersionForCollabtype (@fluidframework/runtime-definitions) —@publicContext
These are replaced by
oldestSupportedClientwithOldestSupportedClientVersionfor runtime APIs in #27806. The deprecated public and beta names remain accepted so those renames are additive. The alpha driver APIs are replaced directly byOldestSupportedServiceClientVersionandServiceOptions.oldestSupportedClient; indexed office-bohemia code does not use the removed alpha names.The name is layer-neutral. The value is threaded through Runtime and DataStore layers and consumed by DDSes such as SharedTree for write-format and feature selection.
Approach
Consumers move to
oldestSupportedClient, typedOldestSupportedClientVersionfor runtime APIs orOldestSupportedServiceClientVersionfor the minor-only service-client API.Dependencies
#27806 introduces the replacement names, deprecates the public and beta old names, removes the superseded alpha driver names, migrates in-repo type references, updates service-client signatures, and adds the preferred
createTreeContainerRuntimeFactoryoverload.This is distinct from #27180, which makes the parameter required but does not remove either name.
#27896 changes which internal parent-context interface
ContainerRuntimeimplements. Phase 2 should account for that final interface shape.Compatibility Concerns
The deprecated public and beta names need to coexist while Runtime → DataStore → DDS and service-client internals migrate across package and API layers. Partners consume the beta properties directly, so their removal needs the standard beta-break lead time.
Persisted document-schema fields and telemetry property names are unaffected.
IDocumentSchemaInfo.minVersionForCollabremains the on-disk name, and telemetry keeps emittingminVersionForCollabso existing queries and dashboards continue to work.Phases
Preferred customer-facing APIs — Rename minVersionForCollab to oldestSupportedClient #27806
LoadContainerRuntimeParamsandBaseContainerRuntimeFactoryProps.createTreeContainerRuntimeFactory({ oldestSupportedClient })overload and deprecateminVersionForCollaboration.MinimumVersionForCollaband migrate in-repo type references.OldestSupportedServiceClientVersionandServiceOptions.oldestSupportedClient, remove the superseded alpha names, and update local-driver.Cross-layer dual-property migration
oldestSupportedClientbesideminVersionForCollabonIFluidParentContext.IFluidParentContextPrivateafter accounting for improvement(client-container-runtime): cleanup from internal ContainerRuntime #27896.ContainerRuntime,FluidDataStoreContext,IFluidDataStoreRuntimeInternalConfig, andSharedKernelArgsso old and new consumers can migrate independently.ContainerRuntimeLoaderParamsand service-client internal callbacks/private helpers.Narrower service internals
createDOProviderContainerRuntimeFactoryand related internal fluid-static parameters.minVersionForCollaboration.Tree-specific write-format APIs
CodecWriteOptions.minVersionForCollaband other Tree-local properties.Helper and test infrastructure names
runtime-utilshelper exports and fluid-static defaults such asdefaultRuntimeOptionsForMinVersion.lowestMinVersionForCollab, which represents the floor on allowed values rather than the oldest supported client.Remove deprecated beta properties
minVersionForCollabandminVersionForCollaborationin the 3.10 beta-break window.Remove the public alias
MinimumVersionForCollabin 4.0.Expected Timeline
The beta properties are deprecated in 2.116.0 and removed in 3.10.0. The
@publictype is deprecated in 2.116.0 and removed in 4.0.0.Open Questions
lowestMinVersionForCollab.