Repository navigation
Releases
Releases · aws-samples/sample-architecture-diagram-mcp-server
v2.3.0 — diagram-core 1.6.0
- Icon catalogs and resolver in the core (
diagram-core1.6.0):
SERVICE_ICONS,SHAPE_ICONS,iconForService,iconForShape,
withServiceIcon,iconFilterKind.lib/service-icons.jsonand
lib/shape-icons.jsonmove into the core as data; the MCP keeps only the
fuzzy layer over the icon files on disk.LiveDiagram,SequencePlayerand
FlowPlayerfill a missingiconfromservice, so a host no longer has to. - Document schemas in the core:
diagramSchema/validateDiagram
(architecture) andsequenceDocSchema/validateSequence(UML sequence) —
JSON Schema + dependency-free validators with referential integrity. A new
test keeps them in step with the MCP's zod tool schemas; it found and fixed
two gaps: the MCP now acceptsfragments[].tone(the player already drew it),
and the core schema accepts{ en, pt }text where the MCP does. - Canvas theme in the core:
DIAGRAM_THEME+diagramThemeCss()/
diagramBaseCss()— the light/dark tokens ofLiveDiagram(the MCP's HTML
and the slides host each kept their own copy). - Fix:
Iconno longer inverts coloredRes_*glyphs in dark mode (only
the navy ones without a*_Darksibling,MONO_INVERT_RES); it also swaps
pathed diagram icons and host-listed logos (brandDarkVariants) and takes
named sizes (sizes) — the slides deck's Icon is now a wrapper around it. - Accessible descriptions:
describeArchitecture/describeSequence
(en/pt/es, i18n text);LiveDiagramandSequencePlayerrender as a figure
described by a visually hidden summary (describe={false}to opt out). - One inline mini-markdown grammar:
parseInline/inlineHtml/
safeHref(**/__bold,*/_italic at word boundaries,
`code`, links throughsafeHref, linear on hostile input). The card
text, the flow player and the slides deck's RichText and blog text all parse
with it; each keeps its own styling.
Also in this release (2.2.2)
- Fix: the installed MCP starts. Run through
npxor from a release
tarball, the server crashed withERR_MODULE_NOT_FOUNDfor
@aws-sample-live-diagram/core(only present in a clone's workspace). The
runtime now imports the core's sources by path, ships them all infiles,
anddagre(pulled by the shared layout engine) moved todependencies. A
test walks the runtime's imports so this cannot regress. - Fix —
serverInfo.versionis read frompackage.json(it said 2.1.0);
the plugin and marketplace manifests were still at 2.1.3. A test keeps them
in sync with the package.
2.2.1
- One sequence layout.
diagram-core1.5.0 exportslayoutSequence(pure):
the ReactSequencePlayerand the self-contained sequence HTML player both
lay out from it (the generator inlines it, as it already does for the flow
layout). Output is unchanged — the SVG is identical element for element. - Examples — the account-vend sequence example and two code comments no
longer name a customer environment.
2.2.0
- Typed diagrams in the core and in the MCP's HTML. The 15 typed diagram
kinds (ER, Gantt, swimlane, tree, timeline, Kanban, journey, quadrant, Venn,
layers, fishbone, Wardley, flywheel, UML class, and the new decision
workflow) move intodiagram-core1.4.0: specs, validator and registry in
./typed(pure, also exportable as JSON contracts for a server-side
validator) and the SVG views in./typed-react. A multi-tab document gains
kind: "typed"tabs (diagram: { kind, … }), validated with the same specs
before rendering. - Fix — the sequence player sets its own text color (it inherited the
host's, unreadable on a light card inside a dark page); flow and sequence
players keep a.light/.force-lightisland light inside a dark page.
2.1.4
diagram-core1.3.0 — the players move into the core.FlowPlayer
(workflow / data-flow / lifecycle) andSequencePlayer(UML sequence) are now
core React components, alongsideLiveDiagram. The MCP's sequence tab renders
withSequencePlayer; apps (e.g. a slides deck) import both directly, so a
flow or sequence reads exactly as in the MCP's HTML.- One layout, one palette. The flow layout (
layoutFlow), the player
palette (PLAYER_TONES,DIAGRAM_TONES) and light/dark tokens
(PLAYER_THEME,playerThemeCss) live in the core; the self-contained flow
and sequence HTML players inline them instead of carrying copies. Edge labels
sit at the arc-length midpoint in both renderers. Also new:AWS_ORANGE,
STATUS_COLORS, and the UI chrome strings (UI_STRINGS,makeUi). - Build — one file per core entry (no hashed chunks); the pure vocabulary
is bundled once, indist/index.js.packages/diagram-core/dist/is no longer
committed:npm testandbuild:standalonebuild it first, and the release
workflow builds it beforenpm pack. - Fix — the dagre fallback layout emitted nested groups innermost-first,
so an outer container was drawn over its inner ones. - Types — optional component props are typed optional;
npm run typecheck
runs in CI. - Cleanup — removed the pre-core copies under
src/components/and
src/lib/(codegen, codeview, drawio/PNG export, compound layout, tone/group
shims) and the tests that only exercised them; the group and membership tests
now run against the core.
2.1.3
- The shared render package is renamed
@aws-live-diagram/core→
@aws-sample-live-diagram/core(same entry points:.,./react,
./layout-engine). diagram-core1.2.0 is attached to each GitHub Release as an npm tarball
(aws-sample-live-diagram-core-<version>.tgz+.sha256), so apps can depend on a
pinned release URL instead of vendoringdist/.diagram-core:stepLayout: "below"stacks the walkthrough card under the
canvas. Theattachedandbelowlayouts keep step zoom and refit whenever
the canvas box changes, so the focused nodes are no longer clipped behind
the card track.
Install the render package from this release:
npm install https://github.com/aws-samples/sample-architecture-diagram-mcp-server/releases/download/v2.1.3/aws-sample-live-diagram-core-1.2.0.tgz
2.1.2
- Security — dependency advisories cleared:
@modelcontextprotocol/sdk
1.32.2,zod4 (memory exhaustion on oversized collections),hono,
proxy-addr,body-parser,qs,fast-uri,ip-address,vite,
source-map-jsandvitest.npm auditreports 0 vulnerabilities. The tool
schemas move to the two-argumentz.record(key, value)form that zod 4 requires. - Fix —
setup_icons/scripts/fetch-icons.shfind the renamed AWS icon
package (Icon-package_<date>.zip), gain--latestto download it, and refresh
a stale shared icon cache. - Hardening — the bullet lead split (
Lead — detail), the caption stat split
(Label: value) and the inline-markdown link pattern no longer backtrack
quadratically on long author text (CodeQLjs/polynomial-redos); iconsrc
values are escaped in the flow and sequence players and limited to inlined
data:image/or same-origin paths in the React renderer (js/xss-through-dom).