Skip to content

Sync with base#5

Open
LeeGathercole wants to merge 395 commits intoNHSDigital:mainfrom
event-catalog:main
Open

Sync with base#5
LeeGathercole wants to merge 395 commits intoNHSDigital:mainfrom
event-catalog:main

Conversation

@LeeGathercole
Copy link
Collaborator

Motivation

(Write your motivation here.)

boyney123 and others added 30 commits January 28, 2026 15:57
* chore(core): updated astro

* Create fair-humans-jog.md
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…logs (#2051)

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix(core): add config to disable api/catalog prerender for large catalogs

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* feat(visualizer): add layout persistence in dev mode

Add ability to save and restore node positions in visualizer during development. Layouts saved to _data/visualizer-layouts/ and committed to git for team sharing. Includes layout change detection, quick-save UI, and dropdown menu options. Routes injected via Astro integration only in dev mode.

Fixes #2035

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
… navigation (#2057)

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
…pport (#2070)

* feat(custom-docs): add clickable folder navigation with index file support

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Update clever-foxes-dance.md

* Update clever-foxes-dance.md

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
#2080)

* fix(deps): downgrade react-syntax-highlighter to v15 for compatibility

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix(deps): override prismjs to >=1.30.0 to fix CVE-2024-53382

react-syntax-highlighter v16 has a broken ESM build, so we stay on v15
which uses refractor@3.6.0 with prismjs@1.27.0. The pnpm override forces
prismjs to the patched version to resolve the arbitrary code injection
vulnerability.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
#2082)

* fix(core): resolve PlantUML rendering race condition with destroyZoomInstances

* Create slimy-planes-exist.md

---------

Co-authored-by: David Boyne <boyneyy123@gmail.com>
* update README.md [skip ci]

* update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
…2090)

* fix(core): configure esbuild jsx automatic mode in vite optimizeDeps

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* commit

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* chore(deps): remove unused dependencies

Remove @eventcatalog/generator-ai, @tanstack/react-query, date-fns,
rehype-raw, tw-animate-css, @playwright/test, and test:e2e script

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* chore(deps): update lockfile after removing unused dependencies

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…nt vite restart race (#2095)

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Remove 'max-h-content' class from content

* Create chilly-shoes-hug.md

---------

Co-authored-by: David Boyne <boyneyy123@gmail.com>
boyney123 and others added 30 commits March 5, 2026 16:07
* feat(cli): add message_deprecated governance trigger

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix(cli): send fallback deprecation webhook when producerServices is empty

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…2306)

When output is set to 'server', getStaticPaths does not run so props
are empty. The GET handlers now fall back to dynamically resolving
schemas via the SDK's new getSchemaForMessage function for messages,
and via direct collection lookup for service specifications.

Also adds getSchemaForMessage to @eventcatalog/sdk, SSR regression
tests for both schema API endpoints, and ignores language-server
generated files from prettier.

Closes #2305

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…#2308)

Pass `true` to rmServiceById to keep existing child resources (events,
commands) when rewriting a service during addMessageToService,
addEntityToService, and addDataStoreToService.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…explicit version (#2310)

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat(cli): add schema_changed governance trigger and improve snapshot handling

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* chore(playground): skip vercel deployments on PRs

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat(core): add analytics integrations support for GA4, GTM, and PostHog

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix(core): disable GA4 auto pageview and normalize base URL for analytics

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…2318)

* feat(cli): add fail action type to governance rules for CI/CD gating

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix(cli): use process.exitCode instead of process.exit for governance check

Avoids truncating buffered stdout when output is piped in CI.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix: target @eventcatalog/cli in changeset

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…#2323)

* feat(core): redesign schema explorer with modern layout and dark mode

- Restructure detail panel into center content + right sidebar layout
- Add window-style code viewer with traffic light dots and filename
- Modernize left sidebar with gradient background and compact list items
- Add format pill filters and collection type tabs with active indicators
- Fix dark mode across all modals, diff viewer, and SVG icons
- Move producers/consumers from tab into right sidebar
- Extract shared ICON_SPECS, getFormatBadge, extractServiceName to utils
- Replace duplicated MutationObserver pattern with shared useDarkMode hook
- Remove dark: Tailwind variants in favor of CSS variables
- Clean up dead code and redundant memo dependencies

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* feat(core): modernize discover page with full-height sidebar and compact pagination

- Full-height filter sidebar with gradient background matching schema explorer
- Remove duplicate sidebar search (table filter is sufficient)
- Simplify pagination to compact prev/page/next style
- Tone down badge styling in table columns
- Clean table layout: remove card wrapper, row striping, accent hover border
- Fix stale setGlobalFilter reference in clearAllFilters
- Memoize columnVisibility to avoid unnecessary re-renders
- Extract ownerUsers/ownerTeams to avoid repeated .filter() calls
- Remove unnecessary JSX nesting in table headers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…lorer (#2325)

* feat(core,sdk): add usage examples support for messages in schema explorer

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix(core): reset selected example index when examples prop changes

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix(sdk): prevent path traversal in example add and remove operations

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…nts (#2327)

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* fix(core): use semver comparison for version sorting instead of lexicographic

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix(language-server): suppress SDK type error for runtime-only dynamic import

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(core): populate actor node data in flow node graphs

Actor nodes in flows were rendering empty because the ActorNode component
reads name/summary from props.data, but flows-node-graph.ts only stored
them nested under node.data.actor. Spread actor properties into root
node.data so the component can access them.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Create nice-days-ring.md

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* fix(core): sidebar navigation loses sync with custom base path

Strip the configured base path from window.location.pathname before
matching URL patterns in the sidebar, so active page detection works
correctly when base is set to something other than '/'.

Closes #2321

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Create silver-seahorses-agree.md

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…pendencies (#2336)

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat(core): add export to PDF for message pages

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix(core): add exportPDF to default action fallback and show actual latest version in print overview

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
The `satisfies()` call in a `.find()` callback didn't narrow
`pointer.version` to `string` despite the guard on the outer scope.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants