microsoft / microsoft/FluidFramework
Remove deprecated assert API from @fluidframework/core-utils in 3.10.0
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 4.9k
- Forks
- 586
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 146
Description
Deprecated API
Remove the external assert export from @fluidframework/core-utils. This API is available from the package's default and /legacy entry points.
Context
The API is intended only for Fluid Framework client code. An external export creates an API support commitment for functionality that external consumers must not use. PR https://github.com/microsoft/FluidFramework/pull/28080 deprecates the external export and keeps a non-deprecated API at @fluidframework/core-utils/internal for Fluid Framework repository code.
This issue supersedes #28083, which specified the incorrect removal version.
Approach
Remove the external assert export in version 3.10.0. Keep the internal export for Fluid Framework repository code. External consumers must use an assertion utility that is appropriate for their application or throw an Error directly.
Dependencies
- Merge https://github.com/microsoft/FluidFramework/pull/28080 in version 3.0.0.
- Search partner repositories for external use and notify affected partners.
Compatibility Concerns
This removal is a compile-time breaking change for consumers that import assert from @fluidframework/core-utils or @fluidframework/core-utils/legacy. It does not change persisted data, loader compatibility, or runtime compatibility. Fluid Framework repository code can continue to import assert from @fluidframework/core-utils/internal.
Phases
- Deprecate the external API in version 3.0.0 with migration guidance and this issue link.
- Confirm partner impact and notify affected partners.
- Stage the removal on a
test/breaks/client/3.10.0/branch. - Remove the external export and its compatibility implementation.
- Update API reports, compatibility tests, documentation, and examples.
- Add a breaking-change changeset for the removal.
Expected Timeline
Remove the API in version 3.10.0.
Open Questions
None.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing PR 28080 and the @fluidframework/core-utils default, /legacy, and /internal entry points. Search for the external assert export, then check the API reports, compatibility tests, documentation, examples, and breaking-change changeset. Done means the external exports are removed in the 3.10.0 staging branch while the internal export remains available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, release
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100