Deprecate IIdCompressorCore ahead of making it internal in 2.100#26865
Conversation
|
Marked as release-blocking since Monday's release is the deadline for these announcements for 2.100.0 |
There was a problem hiding this comment.
Pull request overview
This PR deprecates IIdCompressorCore in @fluidframework/id-compressor and introduces a migration path so consumers can continue serializing compressors without depending on the core interface ahead of the planned 2.100.0 internalization.
Changes:
- Marked
IIdCompressorCoreas deprecated and added migration guidance in TSDoc and a changeset. - Added
serializeIdCompressor(compressor, withSession)as the supported serialization API for consumers. - Added an internal helper (
toIdCompressorWithCore) to support internal runtime usage while preparing to narrow return types in a future release.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/runtime/id-compressor/src/types/idCompressor.ts | Adds deprecation + migration guidance on IIdCompressorCore. |
| packages/runtime/id-compressor/src/index.ts | Exports new serialization helper and internal cast helper. |
| packages/runtime/id-compressor/src/idCompressor.ts | Adds new free-function serialization API and internal cast helper; updates docs around return-type narrowing. |
| packages/runtime/id-compressor/api-report/id-compressor.legacy.beta.api.md | Updates legacy beta API report to reflect deprecation + new function exports. |
| .changeset/deprecate-id-compressor-core.md | Documents the deprecation and migration steps in release notes. |
Co-authored-by: Craig Macomber (Microsoft) <42876482+CraigMacomber@users.noreply.github.com>
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
CraigMacomber
left a comment
There was a problem hiding this comment.
Approving changeset for docs.
| * @privateremarks To be made internal in 2.100.0 | ||
| * | ||
| * @deprecated `IIdCompressorCore` will be removed from the public API in 2.100.0. | ||
| * |
There was a problem hiding this comment.
Deprecations should reference a GitHub issue. If there is a planned time for the break, then it should be associated with breaking change issue for that version. I don't see an issue (should be linked here) and don't see anything under #26282 which covers 2.100 breaks.
There was a problem hiding this comment.
Yes thanks for the reminder I'll open an issue today
…rosoft#26865) `IIdCompressorCore` was always meant to be an internal detail, not exposed in any API surface to consumers. It leaked due to free functions `createIdCompressor` and `deserializeIdCompressor` including it in their return type, as well as the utility of the `serialize` function on the interface. This change deprecates it, including a migration plan in the changeset. To see the final state we'll release in `2.100.0`, see 94bfedf
Resolves AB#63316
Description
IIdCompressorCorewas always meant to be an internal detail, not exposed in any API surface to consumers. It leaked due to free functionscreateIdCompressoranddeserializeIdCompressorincluding it in their return type, as well as the utility of theserializefunction on the interface.This PR deprecates it, including a migration plan in the changeset.
To see the final state we'll release in
2.100.0, see 94bfedfBreaking Changes
None, this is merely deprecating / announcing the upcoming change. See #26903