Skip to content

Rename minVersionForCollab to oldestSupportedClient - #27806

Open
WillieHabi wants to merge 1 commit into
microsoft:mainfrom
WillieHabi:wh/oldest-supported-client
Open

Rename minVersionForCollab to oldestSupportedClient#27806
WillieHabi wants to merge 1 commit into
microsoft:mainfrom
WillieHabi:wh/oldest-supported-client

Conversation

@WillieHabi

@WillieHabi WillieHabi commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Description

Adds oldestSupportedClient, typed OldestSupportedClientVersion, as the preferred name for configuring container-runtime cross-client compatibility, while preserving compatibility with minVersionForCollab:

  • MinimumVersionForCollabOldestSupportedClientVersion
  • LoadContainerRuntimeParams.minVersionForCollaboldestSupportedClient
  • BaseContainerRuntimeFactoryProps.minVersionForCollaboldestSupportedClient

The old property names still work, marked @deprecated and specifying both throws a UsageError.

MinimumVersionForCollab remains supported and is not deprecated in this PR: the deprecation checklist requires in-codebase uses to be removed at the same time, so the tag lands with that migration. Persisted document-schema fields and telemetry property names are unchanged.

Tree, datastore, service-client, and test-utility APIs are intentionally out of scope.

Reviewer Guidance

The review process is outlined on this wiki page.

@github-actions github-actions Bot added area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct area: tools area: runtime Runtime related issues area: dds Issues related to distributed data structures area: repo Repo related work area: website area: tests Tests to add, test infrastructure improvements, etc public api change Changes to a public API area: dds: tree changeset-present base: main PRs targeted against main branch labels Jul 31, 2026
@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Hi! Thank you for opening this PR. Want me to review it?

Based on the diff (188 lines, 14 files), I've queued these reviewers:

  • Correctness — logic errors, race conditions, lifecycle issues
  • Security — vulnerabilities, secret exposure, injection
  • API Compatibility — breaking changes, release tags, type design
  • Performance — algorithmic regressions, memory leaks
  • Testing — coverage gaps, hollow tests

How this works

  • Adjust the reviewer set by ticking/unticking boxes above. Reviewer toggles alone don't trigger anything.

  • Tick Start review below to dispatch the review fleet.

  • After review finishes, tick Start review again to request another run — it auto-resets after each dispatch.

  • This comment updates as new commits land; your reviewer selections are preserved.

  • Start review

@WillieHabi
WillieHabi force-pushed the wh/oldest-supported-client branch from c99ae9d to 560718b Compare July 31, 2026 17:25
@github-actions github-actions Bot removed area: dds Issues related to distributed data structures area: tests Tests to add, test infrastructure improvements, etc area: dds: tree labels Jul 31, 2026
@WillieHabi
WillieHabi force-pushed the wh/oldest-supported-client branch 3 times, most recently from afe2544 to 04f8085 Compare July 31, 2026 18:37
@github-actions github-actions Bot added the area: tests Tests to add, test infrastructure improvements, etc label Jul 31, 2026
@WillieHabi
WillieHabi marked this pull request as ready for review July 31, 2026 20:38
@WillieHabi
WillieHabi requested a review from a team as a code owner July 31, 2026 20:38
Copilot AI review requested due to automatic review settings July 31, 2026 20:38
@WillieHabi
WillieHabi requested a review from a team as a code owner July 31, 2026 20:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 14 out of 14 changed files in this pull request and generated no comments.

@WillieHabi
WillieHabi requested review from Josmithr and jason-ha July 31, 2026 21:20
Adopts the name sanctioned by the Fluid Framework API review thread:
`oldestSupportedClient`, typed `OldestSupportedClientVersion`.

- `MinimumVersionForCollab` -> `OldestSupportedClientVersion`, with the old
  name kept as a deprecated alias so existing references keep compiling.
- `LoadContainerRuntimeParams.minVersionForCollab` ->
  `oldestSupportedClient`, old name deprecated, both-specified rejected.
- `BaseContainerRuntimeFactoryProps.minVersionForCollab` ->
  `oldestSupportedClient`, same treatment.

The name is deliberately layer-neutral. This value propagates through the
Runtime and DataStore layers and is consumed by DDSes such as SharedTree
for format and feature selection, so a runtime-scoped name would
misrepresent the contract -- the objection that closed microsoft#27726.

Renaming the internal propagation path is a separate mechanical follow-up.
Persisted document-schema fields and telemetry property names are
intentionally unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 06fbfc68-87c1-4ea2-ae5e-be0ac9a9ef39
@WillieHabi
WillieHabi force-pushed the wh/oldest-supported-client branch from 04f8085 to 0266ebf Compare July 31, 2026 21:26
@github-actions

Copy link
Copy Markdown
Contributor

🔗 No broken links found! ✅

Your attention to detail is admirable.

linkcheck output

1: starting server using command "npm run serve -- --no-open"
and when url "[ 'http://127.0.0.1:3000' ]" is responding with HTTP status code 200
running tests using command "npm run check-links"


> fluid-framework-website@0.0.0 serve
> docusaurus serve --no-open

[SUCCESS] Serving "build" directory at: http://localhost:3000/

> fluid-framework-website@0.0.0 check-links
> linkcheck http://localhost:3000 --skip-file skipped-urls.txt

Crawling...

Stats:
  309092 links
    1963 destination URLs
    2219 URLs ignored
       0 warnings
       0 errors


@github-actions

Copy link
Copy Markdown
Contributor

Bundle size comparison

Base commit: 33e014ac636d43a5f90b1ce1f64b95e60aaf2bca
Head commit: 0266ebfa0850ada318a7177aad14b73322c6597a

Notable changes

No bundles changed by ≥ 500 bytes parsed.

Per-bundle deltas

@fluid-example/bundle-size-tests

  • azureClient.js: parsed 620351 → 620774 (+423), gzip 165480 → 165660 (+180)
  • odspClient.js: parsed 592639 → 593062 (+423), gzip 158606 → 158783 (+177)
  • aqueduct.js: parsed 526970 → 527372 (+402), gzip 141035 → 141192 (+157)
  • fluidFramework.js: parsed 398057 → 398202 (+145), gzip 113016 → 113062 (+46)
  • sharedTree.js: parsed 387461 → 387599 (+138), gzip 110447 → 110484 (+37)
  • containerRuntime.js: parsed 305091 → 305277 (+186), gzip 83553 → 83630 (+77)
  • sharedString.js: parsed 176457 → 176464 (+7), gzip 49807 → 49815 (+8)
  • experimentalSharedTree.js: parsed 160677 → 160677 (0), gzip 46276 → 46276 (0)
  • matrix.js: parsed 160302 → 160309 (+7), gzip 45800 → 45807 (+7)
  • loader.js: parsed 145459 → 145473 (+14), gzip 39221 → 39235 (+14)
  • odspDriver.js: parsed 103906 → 103927 (+21), gzip 32404 → 32411 (+7)
  • directory.js: parsed 67110 → 67117 (+7), gzip 18859 → 18866 (+7)
  • 578.js: parsed 58686 → 58686 (0), gzip 17657 → 17657 (0)
  • map.js: parsed 47205 → 47212 (+7), gzip 14455 → 14462 (+7)
  • odspPrefetchSnapshot.js: parsed 45635 → 45649 (+14), gzip 15242 → 15249 (+7)
  • 252.js: parsed 44371 → 44371 (0), gzip 13732 → 13732 (0)
  • summarizerDelayLoadedModule.js: parsed 30717 → 30717 (0), gzip 7716 → 7716 (0)
  • socketModule.js: parsed 26469 → 26476 (+7), gzip 7895 → 7903 (+8)
  • createNewModule.js: parsed 12454 → 12454 (0), gzip 4797 → 4797 (0)
  • summaryModule.js: parsed 3789 → 3789 (0), gzip 1857 → 1857 (0)
  • connectionState.js: parsed 909 → 909 (0), gzip 500 → 500 (0)
  • sharedTreeAttributes.js: parsed 847 → 854 (+7), gzip 499 → 508 (+9)
  • debugAssert.js: parsed 429 → 429 (0), gzip 299 → 299 (0)
  • FluidFramework-HashFallback.js: parsed 419 → 419 (0), gzip 313 → 313 (0)

@dannimad

dannimad commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

wait for #27824 to merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct area: repo Repo related work area: runtime Runtime related issues area: tests Tests to add, test infrastructure improvements, etc area: tools area: website base: main PRs targeted against main branch changeset-present public api change Changes to a public API

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants