Skip to content

Remove the deprecated Dispatcher interfaces and Event.getInvokeArgs() #57

Description

@camcima

Finding #8 of the 2026-08 architecture review. #52 re-dated the notices; the removal itself is breaking.

Problem

Three deprecated members are still exported at v4.1.0:

Member Location Status
DispatcherInterface src/interfaces/DispatcherInterface.ts Unused internally since v3; the Dispatcher class it described was deleted
CallbackInterface src/interfaces/DispatcherInterface.ts Same
Event.getInvokeArgs() src/Event.ts Stub that always returns []

The first two were marked "will be removed in v4" and then shipped in v4 — the deprecation promise was missed, which is why #52 re-dated them to v5 rather than quietly leaving them. getInvokeArgs() is worse than dead weight: it is a method that compiles, runs, and silently returns the wrong answer for anyone still calling it, since invoke args now travel through Observer.update(subject, args).

Proposed direction

Delete all three, along with their re-exports in src/index.ts / src/interfaces/index.ts and their entries in docs/interfaces.md and docs/core.md.

Worth doing in the same pass: re-check every remaining @deprecated tag in the tree and give each one a version it will actually be removed in, so this does not recur.

Acceptance criteria

  • DispatcherInterface, CallbackInterface, and Event.getInvokeArgs() removed, including from EventInterface.
  • No stale references left in docs/.
  • Remaining @deprecated tags audited for a real removal target.
  • Migration guide entry under docs/migration/.

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

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions