-
Notifications
You must be signed in to change notification settings - Fork 554
Description
Broken API or pattern
This is a follow-up for https://github.com/microsoft/FluidFramework/pull/25130/files which introduced minVersionForCollab in lower layers of the Fluid stack. A number of fields and functions were introduced as optional or returning potentially undefined values to preserve layer compatibility. Since some of these APIs are non-internal (e.g., IContainerRuntimeBase, which is currently legacy + beta). Because of this, we are following the breaking API change contract rather than the layer compatibility contract.
Fields/functions that need to change:
- ContainerRuntime.getMinVersionForCollab() and IContainerRuntimeBase.getMinVersionForCollab() need to be non-optional and not return a potentially undefined value
- FluidDataStoreContext.getMinVersionForCollab() and IFluidDataStoreContext.getMinVersionForCollab() need to be non-optional
- IFluidDataStoreRuntimeInternalConfig.minVersionForCollab and FluidDataStoreRuntime.minVersionForCollab should be changed not accept undefined
- KernelArgs.minVersionForCollab should be changed not accept undefined
Preparation References
It is unlikely this API will be consumed outside of Fluid internal source. Communicating the new semantics of these fields/functions as part of the changelog should be sufficient.
Packages
- @fluidframework/container-runtime
- @fluidframework/runtime-definitions
- @fluidframework/datastore-definitions
- @fluidframework/datastore
- @fluidframework/shared-object-base
Expected Timeline
2.80.0
Reminders