Skip to content

Remove deprecated assert API from @fluidframework/core-utils in 3.10.0 #28084

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 #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

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.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions