跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

Removal timeline

When deprecated plugin SDK surfaces become eligible for removal

The dates and gates that govern when deprecated surfaces become removable. Part of the Plugin SDK migration guide.

pnpm plugin-sdk:surface:check enforces the latest stable release's committed typed public surface independently of export-count budgets. Removing a shipped subpath or named export requires a covering deprecated, removal-pending, or removed compatibility record with a removeAfter date strictly before the current UTC date; a removalGate alone does not authorize removal. Packaged private runtime facades without a types export condition are excluded because they are not declared typed-public contracts.

Removal timeline

WhenWhat happens
NowWarning-capable deprecated surfaces emit runtime warnings; repository guards reject deprecated SDK imports from core and bundled plugins.
Pending owner decisionRecords without removeAfter or removalGate remain deprecated and ineligible until their owner publishes a gate.
Day after a deprecated record's removeAfter dateAt 00:00 UTC, that record becomes date-eligible and pnpm plugins:boundary-report --fail-on-eligible-compat exits non-zero. The date itself is the final compatibility day.
A removal-pending record's removeAfter dateAt 00:00 UTC, the report marks the record due for review and lists its blockers. It does not trigger the compatibility fail flag.
Next Plugin SDK majorinbound-reply-dispatch, synchronous plugin keyed stores, memory session inventory readers, synchronous Mention Inbox persistence methods, and synchronous session/extension/provider replay persistence reach their explicit next-plugin-sdk-major gate; none is date-eligible before that version boundary.

The remaining public SDK subpaths below have registry-backed removal windows. The July 30 rows were removed after their early maintainer-authorized sweep: unused subpaths were deleted, earlier compatibility aliases were deleted, and bundled-only modules were demoted to private-local build mappings.

The August 15 compatibility subpaths agent-config-primitives, channel-logging, channel-secret-runtime, channel-streaming, group-access, matrix, text-runtime, and zod were retired early by explicit SDK-owner approval in August 2026. Use the focused replacements in the Plugin SDK subpath catalog, and import zod directly from the zod package. inbound-reply-dispatch remains available until the next Plugin SDK major.

The beta.5 whole-session-store bridge was retired with explicit SDK-owner approval on September 30, 2026, ahead of its former October 12 deadline. The supported-plugin cutoff excludes v2026.7.1-beta.5 and all releases that still import those bridge exports or package-root whole-store aliases. Upgrade affected plugins to scoped row and transcript-identity APIs before upgrading the host. The session-store-runtime subpath and resolveStorePath remain supported; see the removed session APIs and replacements.

Removal gateTierSDK subpaths
next-plugin-sdk-majorMajor-version compatibility gateinbound-reply-dispatch; api.runtime.state.openSyncKeyedStore and PluginStateSyncKeyedStore; loadArchivedSessions and resolveMemorySessionTargets; mentionInbox.list, mentionInbox.dismiss, mentionInbox.recordCommittedInput, and mentionInbox.invalidate; synchronous SessionManager, extension session, and provider replay persistence contracts
2026-10-01Media legacy projectionagent-media-payload, plus the non-subpath MsgContext Media* fields, channel inbound media payload builders, buildMediaPayload, hook media aliases, and {{Media*}} templates

The five compatibility subpaths channel-lifecycle, channel-message, channel-reply-pipeline, config-runtime, and infra-runtime were retired early by explicit SDK-owner approval on September 30, 2026. That decision supersedes their October 1 gate and external-migration retention blocker; it does not certify that every external plugin has migrated. Their public exports and compatibility aliases are removed. Upgrade affected plugins before loading them on a host containing this removal.

These subpaths remained available in 2026.8.2 under an approved retention exception. On September 2, 2026, the release maintainer renewed their removeAfter date from September 1 to October 1 for 2026.9.1. The September 30 decision replaces that window. See channel import mappings and config and infrastructure migration for replacements and behavioral differences. System-event snapshot inspection and consumption now use openclaw/plugin-sdk/system-event-runtime.

The compatibility subpaths command-auth, discord, and telegram-account were retired early by explicit SDK-owner approval on October 2, 2026. That decision closes their compatibility window; it does not certify that every external plugin has migrated. Their public exports are removed. Upgrade affected plugins before loading them on a host containing this removal. See the command and channel facade replacements.

Bundled-plugin migration does not prove that every external caller can use a path-only replacement. Migrate the functions with verified typed-public mappings; adapt the caller where a removed named type or required behavior lacks a public replacement. Do not substitute a private-local host export. Run pnpm plugins:boundary-report to see the dates, gates, and blockers for the surfaces your plugin uses.