Describe the bug
validateConfigMapOverrides() returns immediately when minVersionForCollab === defaultMinVersionForCollab. Consequently, it never consults ConfigValidationMap for any runtime option when the default is used—even when an enabled option requires a version newer than the current default.
This encourages feature-specific workarounds outside the validation map. A workaround that checks equality with defaultMinVersionForCollab is also incorrect over time: the default can advance, and such code would continue rejecting a feature after the default semantically satisfies its required version.
This was encountered while reviewing PR #27880, where inlineDetachedBlobsAsSummaryBlobs: true requires 2.115.0.
To Reproduce
Steps to reproduce the behavior:
- Add a
ConfigValidationMap entry mapping an enabled option to a version newer than defaultMinVersionForCollab.
- Call
validateConfigMapOverrides(defaultMinVersionForCollab, { option: true }, validationMap).
- Observe that validation returns without checking the entry.
Expected behavior
The shared validation mechanism should support map-driven semantic validation against the actual default version while preserving intentional backward-compatible exceptions for existing options. Feature implementations should not need bespoke default-version checks or duplicate their required version outside the validation map.
Logs
N/A
Describe the bug
validateConfigMapOverrides()returns immediately whenminVersionForCollab === defaultMinVersionForCollab. Consequently, it never consultsConfigValidationMapfor any runtime option when the default is used—even when an enabled option requires a version newer than the current default.This encourages feature-specific workarounds outside the validation map. A workaround that checks equality with
defaultMinVersionForCollabis also incorrect over time: the default can advance, and such code would continue rejecting a feature after the default semantically satisfies its required version.This was encountered while reviewing PR #27880, where
inlineDetachedBlobsAsSummaryBlobs: truerequires2.115.0.To Reproduce
Steps to reproduce the behavior:
ConfigValidationMapentry mapping an enabled option to a version newer thandefaultMinVersionForCollab.validateConfigMapOverrides(defaultMinVersionForCollab, { option: true }, validationMap).Expected behavior
The shared validation mechanism should support map-driven semantic validation against the actual default version while preserving intentional backward-compatible exceptions for existing options. Feature implementations should not need bespoke default-version checks or duplicate their required version outside the validation map.
Logs
N/A