Skip to content

v0.17.0 — Sequence participant types trimmed

Choose a tag to compare

@demian0311 demian0311 released this 21 May 19:51
· 459 commits to main since this release

⚠ BREAKING: Sequence participant types trimmed from 9 → 4 + default

The sequence diagram retains only the types whose shape carries semantic weight at a glance: actor (stick figure), database (cylinder), cache (dashed cylinder), queue (horizontal pipe), plus the default rectangle.

The keywords service, frontend, networking, gateway, and external were removed — using any of them in is a X is a hard parse error (E_PARTICIPANT_TYPE_REMOVED), one diagnostic per offending line.

What this looks like

sequence
Auth is a service       // E_PARTICIPANT_TYPE_REMOVED — drop the override
WebApp is a frontend    // E_PARTICIPANT_TYPE_REMOVED
LB is a networking      // E_PARTICIPANT_TYPE_REMOVED
API is a gateway        // E_PARTICIPANT_TYPE_REMOVED
Stripe is an external   // E_PARTICIPANT_TYPE_REMOVED

Fix: drop the override — the participant renders as the default rectangle.

Inference shrinks too

The participant-name inference table goes from 223 → 82 rules. Names that previously inferred to a removed type — AuthService, WebApp, Cloudflare, API Gateway, Stripe, Webhook — now fall through to the default rectangle. That fall-through is the intended outcome of the trim: the differentiation went away because the underlying distinction didn't carry its weight.

Renderer

5 D3 helpers deleted (renderServiceParticipant, renderFrontendParticipant, renderNetworkingParticipant, renderExternalParticipant, renderGatewayParticipant) plus their shape-dispatch switch cases — ~200 lines of dead code gone.

Sequence-only scope

external / database / cache / queue remain valid in C4, infra, and org diagrams under their own taxonomies.

Known breakage surfaces

  • Pre-existing share URLs (online.diagrammo.app) containing the removed keywords will surface the parse error after the editor rebuilds against 0.17.0. Share URLs do not pin a dgmo version. Most visible external breakage point.
  • Third-party MDX content via remark-dgmo / astro-dgmo / docusaurus-plugin-dgmo / fumadocs-dgmo will surface the error once those wrappers bump their @diagrammo/dgmo peer.

Public API

  • ParticipantType union narrowed to 'default' | 'database' | 'actor' | 'queue' | 'cache' (re-exported via @diagrammo/dgmo/advanced).
  • RULE_COUNT drops to 82 (was 223).
  • NAME_DIAGNOSTIC_CODES.PARTICIPANT_TYPE_REMOVED and participantTypeRemovedMessage(type) added.
  • SERVICE_BORDER_RADIUS renderer constant removed.

Full diff: v0.16.0...v0.17.0