Skip to main content

Changelog

v5.7.5

EventCatalog v5.7.5

Domain diagrams place commands and queries with the domain that receives them, and an agent's tools stay on its own diagram

Bug Fixes

  • Domain diagrams: A command or query, and the channel it is delivered on, are drawn in the domain that receives it rather than the one that sends it. Events still go with their publisher. A domain that lists a message in its own receives no longer gets a duplicate edge when the message already reaches it through a channel. The edge from a channel to whatever receives a command or query through it now reads "accepts" instead of "consumes". Read the pull request for #3002 and the @eventcatalog/core@5.7.5 release.
  • Agent diagrams: An agent's tools are drawn only on the agent's own diagram, and only at level 3, not on every service, system or domain diagram the agent sends to or receives from. A domain's diagram shows an agent from another domain as that domain, and an agent in no domain outside its systems. An agent the domain lists itself is drawn inside its box. An agent with tools but no messages gets a proper level 2 view. Read the pull request (@eventcatalog/visualiser 5.2.3).

Upgrade with npm i @eventcatalog/core@latest.

v5.7.4

EventCatalog v5.7.4

Resource changelog pages match the rest of the docs, and domain and system diagrams draw the right connections

Improvements

  • Resource changelogs: A resource's changelog page now matches the rest of its docs. It uses the same layout and header (icon, title and subtitle), and the body text is the same size as the overview. A Versions list on the right jumps to each release and highlights the one in view. Each release shows its version, a Latest chip on the newest, and the date. File diffs sit in a collapsible block that follows the light and dark theme. Read the pull request and the @eventcatalog/core@5.7.4 release.

Bug Fixes

  • Service changelogs in server mode: With output: 'server' and changelogs enabled, a service's sidebar Changelog link (/docs/services/<id>/<version>/changelog) now renders. It used to 404, because that path clashed with the latest-version alias route and was sent to a URL no page served. /docs/services/<id>/changelog still redirects to the versioned page. Thanks to ugostack for the fix.
  • Domain diagram, level 1: Edges through a shared channel are drawn from each message's publisher to the consumers that receive it, labelled with those messages. They used to start at the channel's first consumer, so that consumer looked like the sender. Read the pull request for #3029.
  • System diagram, level 2: An agent that is not part of the system has its tool boxes drawn outside the system group, with the agent. They used to sit inside the group, so they looked like they belonged to the system. Read the pull request for #3028.

Upgrade with npm i @eventcatalog/core@latest.

v5.7.2

EventCatalog v5.7.2

Studio hotspots are easier to work through, the right-click menu is grouped, and the Assistant panel can be made wider

Improvements

  • Hotspots (EventCatalog Studio): The hotspot list at the bottom left shows one row per hotspot, as the Assistant lists the hotspots it flags. Click or hover a row to go to that hotspot. The list stays open. Markers on the canvas are just their severity icon, with a count when there is more than one. An opened hotspot opens beside its marker, pointing at it, and stays there as the canvas zooms. A hotspot being added can be dragged elsewhere with its form open. An open hotspot can be deleted with Delete or Backspace. The hotspot tool's pointer is a faded marker. Deleting a node (by people or agents) deletes the hotspots on it, and undo brings them back. Read the pull request and the @eventcatalog/core@5.7.2 release.
  • Right-click menu: The menu is grouped into writing, clipboard, adding and deleting, with Cut, Paste, a note's colour, and Edit text on notes and text.
  • EventCatalog Assistant: The panel's left edge can be dragged to make it wider (up to 800px), and it remembers the width.
  • Empty canvas: On an empty canvas, the hint to drag resources in points at the palette's tabs when the palette is folded away.

Upgrade with npm i @eventcatalog/core@latest.

v5.7.1

EventCatalog v5.7.1

Draw with AI on a Studio canvas opens the Assistant, which draws the diagram live

New Features

  • Draw with AI (EventCatalog Studio): On a canvas, Draw with AI opens the Assistant (Ask AI) on that canvas. Describe what you want diagrammed and it draws it live with the model configured in eventcatalog.chat.js, using the same canvas actions MCP agents use, roughly three times faster. The canvas follows it as it works and is tidied (laid out in code) once it is done. Sticky notes and text move with the node they sit beside and never land on a node. It can add a whole domain or system with everything in it, or a service or message with what it connects to. It can flag hotspots, write sticky notes and text, zoom you to nodes, and walk you through how something works step by step (a stepper in the chat). It can reference canvas items in its reply, so hovering or clicking takes you there. The chat shows a step-by-step card of what it is doing, and lists the hotspots it flagged. Create a new diagram asks what to draw straight away. The composer grows with what you type. Read the pull request and the @eventcatalog/core@5.7.1 release.

Improvements

  • MCP and WebMCP agents: addToCanvas accepts contents: true (a domain or system with everything inside), connections, and sticky notes and text (fontSize). getCanvas lists hotspots. The Studio API rejects contents and connections with a clear error.
  • eventcatalog.chat.js: Model provider options can be passed via configuration.providerOptions, for example { anthropic: { effort: 'low' } }.
  • Sticky notes and hotspots: Sticky notes are written smaller (16px), from their top left. An open hotspot closes on a click on the canvas or a node. Select all and Delete includes hotspots in EventCatalog's Studio.
  • @eventcatalog/visualiser: Updated to 5.2.1.

Upgrade with npm i @eventcatalog/core@latest.

v5.7.0

EventCatalog v5.7.0

Clicking a node on a diagram shows its card in place, and Studio adds a connected node when you let go of a connection on empty canvas

New Features

  • A node's card on the diagram: Clicking a node on a diagram shows its card next to it, instead of opening focus mode. Focus mode is gone. The card is the same one EventCatalog Studio uses, so a node reads the same on a diagram and on a canvas. It shows what the node is and which domain or system it belongs to, its name, version and summary (the summary is cut to three lines, with the full text on hover), and what it is connected to, each with its icon. A message lists its producers and consumers, including consumers reached through its channels and the channels those route to. A service or agent lists what it sends and receives, what it connects to, and what connects to it. A channel lists what it carries, who produces and consumes it, and where it routes. Click a connection to jump to that node and open its card. A long group shows the first six, then Show N more. Open diagram goes to the node's own diagram, and Cmd-click or Ctrl-click opens it in a new tab. Docs goes to its documentation. Neither link is shown for the page you are already on. A domain or system box opens its card from its header. Picking a node in diagram search moves to it and shows its card. Press Escape to close the card. Flow diagrams and entity maps are unchanged.
  • Let go on empty canvas to add a node (Studio, including Studio on the web): Drag a connection from a node and let go on empty canvas. A placeholder appears where you let go, with a searchable chooser. Suggested connections come first, and you can filter the list by typing. Arrow keys and Enter pick one. Escape or a click away cancels. The new node is added there, already connected, in one undo step, and its card opens so you can name it. The list only offers what the current level shows. Letting go on another node does not open the chooser.

Bug Fixes

  • <NodeGraph lanes> on a flow's page: <NodeGraph lanes="team" /> on a flow's page now opens the flow grouped, the same way <Flow lanes="team" /> does. The lanes value used to be ignored, so the flow opened ungrouped. An invalid value is still ignored, and readers can change the grouping from the Group by menu.
  • EventCatalog Assistant: With the Assistant (Ask AI) panel open, navigating to another page updates the suggested questions to that page, and the "Based on" line in the footer. They used to stay on the page where you opened the panel. A conversation that already has messages is left as it is.

Security

  • Dependencies with known vulnerabilities are updated, including GHSA-v4v9-w7cf-4c6q. @scalar/api-reference-react is 0.9.82 or later, expressive-code (astro-expressive-code and rehype-expressive-code) is 0.44.3 or later, and js-yaml is 4.3.2 or later in the CLI and exporters. The lockfile also refreshes undici, dompurify, fast-xml-parser, lodash, minimatch, sharp and others. Refresh your catalog's lockfile, for example with npm update, so you pick them up.

Upgrade with npm i @eventcatalog/core@latest.

v5.6.1

EventCatalog v5.6.1

Pages make room for an open Assistant panel, and users and teams synced from directory sources pass the linter

Bug Fixes

  • EventCatalog Assistant: With the Assistant panel open, pages you navigate to now make room for it. The panel stayed open when you moved to another page, but that page used to slide under the panel and bring the docs sidebar back until you closed and reopened it.
  • Linter (@eventcatalog/linter 1.3.1): Users and teams synced from directory.sources in eventcatalog.config.js (for example githubDirectory()) no longer fail refs/owner-exists. The linter loads the catalog's .env and runs each directory source the same way EventCatalog does. If a source can't be loaded (no token or no network), it uses the users and teams synced into .eventcatalog/store/directory.json the last time EventCatalog ran. If there are none, it skips refs/owner-exists and prints a warning instead of reporting every synced owner as missing.

Upgrade with npm i @eventcatalog/core@latest.

v5.6.0

EventCatalog v5.6.0

Attach any specification file, such as a WSDL, an XML Schema, or a JSON or YAML contract, and Schema Explorer lists every format in the catalog

New Features

  • Attach any specification file: Services, domains and messages can attach specification files EventCatalog has no first-class support for, such as a WSDL, an XML Schema, or a JSON or YAML contract. Set type: generic. name is optional and defaults to "Specification". icon is optional: a path in public/ or a URL. Each file gets a page at /docs/{type}/{id}/{version}/generic/{filename} (the file name, without its extension) that shows its source. EventCatalog doesn't parse the file. XML (.xml, .xsd, .wsdl, .xsl and .xslt), JSON and YAML are highlighted, and other files are plain text. The specification is listed under API & Contracts in the sidebar, in custom sidebar [[spec|...]] links, on the resource's badges, in the Schema Explorer (the Specifications filter), in the visualiser (the service node's menu and a Spec badge), in ResourceRef, the API catalog routes, the MCP getSchemaForResource tool, the linter, the SDK and the HTML exporter. A remote file is fetched with its headers (only EVENTCATALOG_ and EC_ variables). A remote file that can't be reached shows "Specification not found", and the build continues. Thanks to mc-world for the proposal and first implementation.

    specifications:
      - type: generic
        path: specs/carrier-shipping.wsdl
        name: Carrier Shipping API (WSDL)
        icon: /icons/soap.svg
    
  • Schema Explorer lists every format: The format filters include every format in the catalog, such as XML, YAML and GraphQL, with counts that follow the types you have selected, in a more compact layout. A specification page shows its source in the Schema Explorer code box. A generic file is labelled by its syntax (JSON, YAML or XML) and is found with the Specifications filter. A generic JSON file is counted as JSON.

Bug Fixes

  • EventCatalog Assistant: A long answer stays where it is while it streams. Scroll up to read and the view stays put. Back at the bottom, it follows the answer again. A link that is still arriving is shown as its text, so the answer stays in place as each link completes. A question that needs many lookups gets an answer: the Assistant can take up to 10 steps, and on the last step it answers with what it found.

Also in 5.5.2

  • MCP App views follow the latest MCP Apps guidance.
  • The visualiser places resources added to a laid-out canvas inside their domain or system.

Upgrade with npm i @eventcatalog/core@latest.

v5.5.0

EventCatalog v5.5.0

Domain diagrams draw the messages a domain sends and receives, Mermaid keeps boundaries and levels, and the minimap matches the diagram

New Features

  • Domain diagrams draw a domain's own messages: Domains have accepted sends and receives since 3.7. The diagram now draws them. A message the domain receives is drawn into the domain's box from whoever sends it, and a message it sends is drawn out of the box to whoever receives it. If one of the domain's own services already sends or receives that message, the edge stays on that service. Other domains that list the message at domain level show up on the other side. On level 1, the domain's own messages fold into its box. Edges that meet a domain box, and domain cards, show a dot where they connect. In Studio, a domain connected to a message is labelled ("publishes event", "invokes", "requests").

    ---
    id: Orders
    name: Orders
    version: 1.0.0
    receives:
      - id: PaymentProcessed
    sends:
      - id: OrderCreated
    ---
    
  • Mermaid keeps domain and system boundaries: Exports of domain and system diagrams keep their boxes and levels. Domains, subdomains, systems and a flow's lanes are subgraphs, and edges between domains are highlighted. The visualiser's Mermaid view, the .mermaid routes, AI Chat and the MCP server share one exporter. Level 1 and level 2 are served at /visualiser/{domains|systems}/{id}/{version}/{overview|services}.mermaid. Architecture diagram tools accept detail: "services" for level 2.

  • The Mermaid view works like the diagram: It uses the same title, menu, dotted background and toolbar (fit, zoom, and L1, L2 and L3). Switching a level stays in the Mermaid view, and each diagram is drawn once and fades in. Zoom follows the trackpad or wheel and stays on the cursor. Render as Mermaid sits after the levels. The view is kept in the URL as ?render=mermaid, the same way the level is kept in ?level=. Export image is now Export: download an image or a .mmd file. In the Mermaid view, the image is of the Mermaid diagram. Channels are parallelograms. Entity diagrams export as erDiagram, with each entity's properties (identifier as PK, references as FK), relationship cardinality, entities from other domains named with their domain, and aggregate roots highlighted. Exported images include a "Made with EventCatalog" strip under the diagram.

Improvements

  • The minimap looks like the diagram: Nodes use their resource colours in light and dark themes. Domains and systems are outlined containers with their contents drawn inside, and external systems are dashed. Turning the minimap on or off is remembered across levels and diagrams.

Bug Fixes

  • In Studio, edges meet nodes at their sides again. A new node was measured while it was still popping in, so an edge could stop short of a domain or system box.

Also in 5.5.1

  • MCP server and AI Chat: getSchemaForResource now returns a service's AsyncAPI, OpenAPI and GraphQL specifications. Listing what a domain or system sends and receives rolls up the services, agents, systems and subdomains inside it, with a by field naming who. Producer, consumer and change impact tools include domains that send or receive a message, and leave out old versions of resources. Sends and receives are matched to message versions the same way the message pages do (semver ranges, x-patterns, and no version meaning latest). Tool results are compact JSON, using about a fifth fewer tokens.
  • Schema viewers: The expand/collapse arrow now aligns with the field name in the Avro, JSON Schema and Protobuf schema viewers. The same chevron icon is used everywhere, and it rotates when expanded.

@parcel/watcher is upgraded to ^2.5.4 (installs 2.6.0) for security fixes. 2.6.0 no longer ships a 32-bit Windows (ia32) build.

Also since 5.4.0

  • 5.4.1: Studio's WebMCP tools follow Chrome's annotation rules. show_nodes is no longer marked read-only, because it changes the selection and the view. get_canvas is marked as untrusted content, because names, notes and comments come from people.
  • 5.4.2: Edges in the visualiser and Studio land on their nodes again. A system's diagram keeps only that system's own services inside its group. Services owned by another system already on the diagram point at that system's box. Services with no system, or whose system is not on the diagram, are drawn outside the group.

Upgrade with npm i @eventcatalog/core@latest.

v5.4.0

EventCatalog v5.4.0

Architecture fitness functions that can fail a pull request, and the MCP server on the MCP TypeScript SDK 2

New Features

  • Architecture fitness functions: Write your architecture rules as *.fitness.ts files in a fitness/ folder, at the root of the catalog or next to a domain, system, service, message or data store. Each function is given the resource it sits alongside and read-only access to the catalog through the SDK, and it returns the violations it finds. npx eventcatalog fitness check (or npx @eventcatalog/cli fitness check) prints the results, writes .eventcatalog/fitness/results.json, and exits with code 1 when a rule fails, so you can gate pull requests on it. New catalogs from @eventcatalog/create-eventcatalog 4.5.0 include two starter functions and an npm run fitness script. The new @eventcatalog/fitness 0.1.0 package is MIT, and @eventcatalog/cli is 1.4.0. Write your first function, run it in CI, or read the post.

Improvements

  • MCP server on the MCP TypeScript SDK 2: The server now uses @modelcontextprotocol/server and @modelcontextprotocol/client 2.3.1, and @modelcontextprotocol/ext-apps 2.0.3. Clients connect as before (protocol 2025-11-25), and MCP Apps work in the same hosts. Custom tools in eventcatalog.chat.js still work with zod 3, and they can use the AI SDK's jsonSchema(). A custom tool whose schema can't be read is skipped with a warning, so the MCP server still starts. Tool icons use the SDK's own support. The MCP SDK needs Node.js 20 or later.
  • buildIndex leaves fitness/ folders alone (@eventcatalog/sdk 2.31.2): buildIndex no longer indexes fitness/ folders as resource sidecars, so fitness functions stay out of catalogs that federate one that contains them.

Behaviour change

  • Calling an MCP tool that does not exist now returns a JSON-RPC error (-32602), where it used to return a tool error result.

Upgrade with npm i @eventcatalog/core@latest.

v5.2.0

EventCatalog v5.2.0

Custom exports for people outside the team. Hidden resources are shown again

New Features

  • Custom exports: Share part of your catalog with people outside the team. Each export is a file in exports/ whose frontmatter chooses what's in it, and whose body is its introduction. Include and exclude resources by id, or by a custom property such as x-public: true. references sets what readers see for resources that are not in the export, and hide leaves out fields written for your own teams. eventcatalog build writes each export to exports/<id>.html. eventcatalog export <id> writes one, and eventcatalog export <id> --check reports what's in it and what was left out. Read Export your catalog and Share your architecture with anyone.

Improvements

  • getResourcesByProperty (@eventcatalog/sdk 2.31.0): Returns the resources that set a custom property (a field whose name starts with x-), optionally with a given value. The lookup uses the SDK's in-memory copy of the catalog's frontmatter, so it does not read files.

Behaviour change

  • hidden is no longer read (5.2.1). The hidden frontmatter field is removed from resources, resource docs, users and teams. A resource that sets hidden: true is now shown in the catalog, the MCP server, the API catalog, search and exports. The linter reports hidden as an unknown field. Remove hidden from your frontmatter. To control what goes to people outside the team, use a custom export.

Upgrade with npm i @eventcatalog/core@latest.

v5.1.0

EventCatalog v5.1.0

Share, attach or host your whole catalog as one HTML file

New Features

  • Architecture reference: eventcatalog build writes architecture.html into the build output. It is the whole catalog as one self-contained HTML file you can share, attach, or host. Every domain, system, service, message, channel, data store, flow, entity and team gets its own section, linked to the resources it relates to, with message attributes from schemas, example payloads, TypeScript types, and specifications. It is on by default. Turn it off with exports: { html: { enabled: false } } in eventcatalog.config.js. Server catalogs with authentication enabled skip it unless you set enabled: true, because the build output is served without auth. You can also write the file without building the site: npx @eventcatalog/cli export --format html. See it on the demo catalog.

Improvements

  • Link previews for the architecture reference: The page includes Open Graph and Twitter tags (title, description, and the EventCatalog card image), so a shared link previews properly. A catalog without its own name no longer reads as "the EventCatalog EventCatalog".

Bug Fixes

  • The "latest version of this ..." banner includes a space before the version number.
  • The "New version found" banner on an older version names the resource correctly: query, entity, and architecture decision, instead of "querie", "entitie", and "adr". A GraphQL schema page names the resource that owns the schema, instead of always saying service. The GraphQL badge matches that type, and the assistant prompt uses the same noun.
v5.0.0

EventCatalog v5.0.0

One diagram with three levels of detail, flows grouped by domain, system or team, your diagrams inside your AI agent, Studio canvases, and every feature included in one product

Highlights

EventCatalog v5 is one product. Integrations, the MCP server, the assistant, SSO and federation are included, with no plan or license key needed to turn them on. v5 also brings new ways to see and design your architecture: one diagram with three levels of detail, flows grouped by who owns each step, your diagrams inside your AI agent, and live canvases in EventCatalog Studio. Read the full story in Introducing EventCatalog v5.

Upgrading from v4? Install v5 from a clean install, as it moves to React 19, and follow the v5 upgrade guide.

New Features

  • One diagram, three levels of detail: Every domain and system has one Diagram page. L1 shows domains, systems and how they connect, L2 adds services and data stores, and L3 adds messages and channels. A new canvas toolbar switches levels, simulates messages and shows the minimap, and the level is kept in the URL so shared links open at the same level. Edges are now routed at right angles around nodes, so they no longer run on top of each other. Read the post.
  • Group flows by domain, system or team: Use the Group by menu (or press G) to group a flow's steps as boxes or swimlanes. Groups come from your catalog, so your flows need no changes. Flow steps can also reference channels. Read the post.
  • Your diagrams and schemas inside your AI agent: The MCP server's new showResource tool opens a resource's diagram or schema as an interactive view in Claude, ChatGPT and VS Code. Other clients get Mermaid or the schema code. Every MCP tool is now read-only, so clients can approve them automatically. Read the post.
  • EventCatalog Studio canvases (experimental): Design what comes next on a live canvas inside your catalog. Drag in the resources you already document, comment and review with your team, and let AI agents edit the canvas with you over the MCP server. Start a canvas from any diagram with Open in Studio. Read the post.
  • A dashboard homepage: Catalogs without a custom homepage open on a dashboard with search, Ask, counts of your domains, services, messages, flows, schemas and teams, and the architecture graph. A custom homepage can show it with <CatalogDashboard />.
  • Resources pages for services, flows, channels and messages: See everything a resource sends, receives, reads from and writes to, with Inbound and Outbound filters and the ADRs that apply to it.

Improvements

  • Every feature is included: Custom docs, resource docs, custom pages and styles, the schema API, Fields Explorer lineage, schema diffs, embedding, federation, the assistant, the MCP server, authentication and governance checks work without EVENTCATALOG_SCALE_LICENSE_KEY or a paid plan. The assistant, MCP server and authentication still need output: 'server'.
  • Faster builds and dev: Static builds render several pages at a time. A catalog with 640 events builds in about 40 seconds, down from 50 to 75. eventcatalog dev starts faster, and the sidebar shows with the page instead of after it loads.
  • Better search and page titles: Search ranks resources by how well their name matches. Page titles use your catalog's title, for example Domains | Ordering | Acme Inc.
  • License status: eventcatalog dev and eventcatalog build show your license or 60-day trial in the terminal, and the new Settings > License page shows who the catalog is licensed to and when the license expires.
  • Telemetry you can turn off: Set telemetry: false in eventcatalog.config.js, or DO_NOT_TRACK=1. Astro's own telemetry is now off for every catalog.
  • eventcatalog generate fails in CI: It now exits with code 1 when a generator fails.
  • 5.0.1: The MCP server's @modelcontextprotocol/sdk is upgraded from 1.30 to 1.32.

Breaking Changes

  • React 19: Custom React components in your catalog run on React 19. Update any that use APIs React 19 removed, such as defaultProps on function components, propTypes, string refs or ReactDOM.render.
  • New diagram routes: Domain and system diagrams live at /visualiser/domains/:id/:version and /visualiser/systems/:id/:version. The old Resource, Context and System Diagram pages, the Data Dependency Graph and the architecture overview pages redirect to the new pages. Layouts saved in dev mode for old Resource Diagrams don't carry over.
  • Sidebar labels: "Map", "Resource Diagram", "Context Diagram" and "System Diagram" are now "Diagram".
  • Removed: The Domain Integration Map, the billing settings page, EVENTCATALOG_SHOW_BRANDING and ENABLE_EMBED.
  • pages/api routes need output: 'server': Static builds with API routes now fail with a message instead of skipping them.
  • Flow steps are validated: Unknown step properties fail the build (custom ones must start with x-), and so do steps that mix node types.
  • @eventcatalog/visualiser: layoutGraph returns a promise, and the dagre helpers are removed.

See the v5 upgrade guide for every change and what to do.

License and Pricing

  • @eventcatalog/core 5.0.0 and later is licensed under the Business Source License 1.1. Releases up to 4.x stay MIT, and every v5 release becomes MIT four years after it ships. Ecosystem packages, including create-eventcatalog, stay MIT.
  • EventCatalog is free for individuals, open-source projects, education, and organisations with under $10M in revenue and under $10M raised. Larger organisations buy a license priced by how many teams use the catalog, from $5,995 a year. See pricing and the license FAQ.
  • Every organisation gets a 60-day free evaluation.
v4.12.3

EventCatalog v4.12.3

Flow steps that reference a catalog system render as System nodes

Bug Fixes

  • Flow steps that reference a catalog system (systems or system) now render as System nodes, with a docs link, a System legend entry, and Mermaid styling, instead of generic Step boxes.
v4.12.2

EventCatalog v4.12.2

RSS feed builds are much faster on large catalogs

Improvements

  • RSS feed builds read the latest commit date for every file from one git log walk, instead of starting a git process per file. On a catalog of about 2,000 files that step dropped from about 25 minutes to tens of milliseconds.
  • File paths are passed to git as arguments, so catalog paths that contain shell metacharacters stay safe.
v4.12.1

EventCatalog v4.12.1

Catalog installs no longer pull in a vulnerable auth package, and signed-in users can sign out

Bug Fixes

  • EventCatalog no longer depends on auth-astro, so npm does not install a vulnerable @auth/core (<=0.41.2) in catalog projects.
  • The header profile menu opens on click, so signed-in users can sign out. The avatar and account menu are refreshed.

Improvements

  • New catalogs from @eventcatalog/create-eventcatalog@4.3.13 include TypeScript, Python, and Java usage examples on every message in the default template.
v4.12.0

EventCatalog v4.12.0

EventCatalog runs in your project, with no copied core directory

New Features

  • Catalogs run in your project: EventCatalog reads catalog content and customizations directly from the project. It no longer creates a .eventcatalog-core directory. After you stop older EventCatalog processes, the unused .eventcatalog-core/ folder is safe to delete. Keep .astro/ in .gitignore and .dockerignore. dev --force-recreate resets the entire .astro/ directory (content caches, types, and runtime metadata). Custom components share Core's React and React DOM instances, even when the project has its own React install. API catalog discovery under /.well-known, CommonJS config loading, and Windows prerender and client script paths are preserved.

Improvements

  • Documentation pages use less padding, so content has more room on laptops and desktops.
  • Custom pages that use @catalog/layouts/Layout.astro get the same page padding and theme text color as built-in pages, so content stays readable in dark mode. Pass fullWidth for edge-to-edge.
  • Edits to a custom homepage hot reload instead of restarting Astro on every save.
  • The EventCatalog Assistant is upgraded to Vercel AI SDK v7. Install a provider package that supports v7, for example @ai-sdk/openai@^4. Custom tools written against AI SDK v6 need the v7 APIs. See assistant configuration.

Bug Fixes

  • Installed catalogs in development prebundle browser dependencies for the visualiser and the AI assistant, so those features load. EventCatalog also prebundles every dependency Core's browser components import. That fixes errors such as style-to-js does not provide an export named 'default', and fixes hydration mismatches in the AI assistant panel and the JSON schema viewer.
  • Static builds no longer crash on system changelog pages when changelogs are enabled for systems and agents.
  • dev and build tell you when an unused leftover .eventcatalog-core/ directory from an older version can be deleted.
  • Harmless "use astro:head-inject" module-level directive warnings during builds are silenced.
v4.11.0

EventCatalog v4.11.0

A richer schema explorer for examples, relationships, flows, versions, and metadata

New Features

  • Richer schema explorer: Schema detail pages now keep the contract, who uses it, and reference material on one screen. Deep-linkable tabs cover schema content, properties (JSON Schema, Avro, and Protobuf), examples, producers and consumers, flows, versions, metadata, and API access. Share a view with ?tab= set to schema, properties, examples, producers-consumers, flows, versions, details, or api (the schema tab is the default, so that query is omitted). A tab is omitted when the schema has nothing to show for it. Producers and consumers (services, agents, and data products) include a usage graph. Flows that include the message are listed with their graphs. Switch message versions from the header, and compare any other version with the one you are viewing from the versions tab.
  • Message example layouts: An examples/index.mdx file on a message is rendered in the examples tab through the MDX pipeline. Columns sit explanation next to code, and code groups show the same payload in more than one language, with a language icon on each sample. Payload files in examples/ still appear alongside that page.
  • SDK example sidecars: The SDK keeps an MDX example index as a sidecar of its resource. Resource discovery ignores examples/, so examples/index.mdx is not indexed as its own resource definition.
v4.10.0

EventCatalog v4.10.0

Custom resource sidebars, architecture graphs in your docs, and architecture diffs

New Features

  • Custom resource sidebars: Drop a sidebar.json next to any resource's index.mdx (domains, systems, services, agents, messages, flows, containers, entities, data products, ADRs) to fully define that resource's sidebar. Compose predefined $sections (kept live as the catalog changes) with your own groups of resource references ([[service|order-service]]), documentation ([[doc|guides/onboarding]]), specifications ([[spec|openapi.yml]]), schemas ([[schema|order-placed]]), and links (with {id}/{version}/{collection} placeholders). Groups nest, accept an explicit collapsed initial state, and versioned resources inherit the resource folder's sidebar. Unresolvable tokens and doc/spec/schema references fail the build with an error naming the file and the valid options. Catalogs without a sidebar.json are unchanged.
  • <ArchitectureGraph />: Embed the catalog-wide D3 force-directed architecture graph (the one at /visualiser/graph) inside resource docs, custom documentation pages, and custom landing pages, focused on the page's resource. Same embed pattern as <NodeGraph />. Defaults to the current page's resource at depth 2. Optional quoted-string props: id and type to focus another resource, depth (1-3 hops), lens, search, and lensPicker. Ctrl/cmd+scroll zooms so normal page scroll still works. An Open full screen link appears when visualiser.architectureGraph.enabled is on. The create-eventcatalog default template now includes example embeds. The architecture graph itself remains opt-in via visualiser.architectureGraph.enabled (beta since 4.5.0).
  • @eventcatalog/diff: Compare two SDK Index documents from buildIndex and get an ArchitectureDiff. It reports resources added, removed, or changed; edges added or removed across every direction the SDK resolves; JSON Schema compatibility under backward, forward, full (default), and none (Confluent Schema Registry semantics); and impact naming the producers and consumers hurt by breaking changes, with owners. Unknown schema verdicts land in summary.schemaUnknown so they are never silent. buildIndex in @eventcatalog/sdk gains includeSchemaContent (off by default) to embed raw schema text for those checks. The package is a pure library with no git, CI, or policy opinions. You decide whether to fail, warn, or notify.
  • linkValidation: Static builds can check internal links and anchors after generate. Warns by default; set it to error or ignore. Supports ignore globs so you can skip matching paths.

Improvements

  • Resource sidebars now render as a consistent docs-style tree: collapsible groups with carets on the right, nested groups indent under a guide line, item counts are gone, the selected item stays in view, and scroll position is remembered.
  • The architecture graph fades in over 500ms on mount, instead of popping in after hydration on /visualiser/graph and in <ArchitectureGraph /> embeds.
  • Mermaid and PlantUML diagrams now have redesigned controls: pan, zoom, and reset appear on hover with smooth transitions, and a fullscreen modal lets you drag, scroll, or pinch to zoom (plus keyboard shortcuts). Code blocks and Mermaid/PlantUML MDX components accept placement and actions options.
  • ?embed=true now hides the vertical nav, header, and resource sidebar and fills the viewport on visualiser, architecture graph, system context map, schema explorer/detail, and discover pages. Height is CSS-driven, so embeds no longer depend on post-load scripts. Pair it with ?theme=light or ?theme=dark so an iframe can pick a theme without overwriting the viewer's saved catalog preference.
  • Large NodeGraph layouts on domain and architecture maps now use dagre's tight-tree ranker, so they finish in hundreds of milliseconds instead of several seconds.
  • Static builds no longer prerender Field Usage pages for messages with no field-level lineage (the sidebar already hid those links). On a synthetic catalog of 8 domains / 64 services / 640 events this removed ~640 pages and cut total HTML by about 18% (199.45 MB down to 163.58 MB). Docs and visualiser pages also compact NodeGraph island props so they no longer embed markdown bodies or hydrated producer/consumer trees.
  • The schema explorer now loads schema content, examples, producers, and consumers on demand instead of embedding every version in the page. Large catalogs load faster; selecting a schema still shows full details, and comparison versions fetch when you open the diff.
  • Default template containers now declare owners.
  • The EventCatalog Assistant is shown by default, with bring-your-own-model setup guidance and an option to hide it. Ask and search have a refreshed UI and a keyboard shortcut.
  • Protovalidate (buf.validate.field) and custom Protobuf field options now render in the schema viewer, with property hover feedback across schema formats.

Bug Fixes

  • Embedded <ArchitectureGraph /> MDX components now render in static builds. They were silently blank because Astro can invoke the MDX component more than once per tag, which drifted a render-time counter so the island could not find its portal. Pairing is now by document order.
  • Domain System Diagram visualiser pages no longer 404. /visualiser/domains/:id/:version/systems-context is generated again; the guard now reads hydrated system entries (same as the sidebar) instead of looking systems up by hydrated entry id.
  • Mermaid iconPacks now load extra Iconify collections (e.g. openmoji, mdi) from their own packs instead of always using logos. Extra packs previously registered the logos set under every configured pack name, so those icons never resolved.
  • GitHub sign-in no longer fails with /auth/error?error=Configuration (unexpected iss) when an older @auth/core is hoisted. The bundled GitHub provider now pins issuer for RFC 9207 validation (https://github.com/login/oauth, or {enterprise.baseUrl}/login/oauth for GitHub Enterprise).
  • Domain and system architecture grids now link commands and queries to /docs/commands/... and /docs/queries/... and show the resource name. SSR and system pages hydrate service sends/receives, so missing collections no longer default to events.
  • <ResourceRef> now links teams, users, and custom pages without a version segment, resolves owners to the correct users or teams page, and resolves messages to the collection they live in.
  • Catalog discovery, schema loading, design discovery, and the linter scanner now exclude node_modules, so example catalogs inside dependencies are not loaded as catalog resources.
  • Focus no longer enters the closed EventCatalog Assistant sidebar.
  • JSON Schema oneOf / anyOf variants that only declare constraints, while the properties live on the parent schema, now show those parent properties correctly in the schema explorer. Each variant keeps the parent's fields and required list, hides a property forbidden by a single-field not: { required }, and no longer renders a second property list for array items whose schema has variants.
v4.9.0

EventCatalog v4.9.0

Schema pages stay in theme

Bug Fixes

  • Message schema pages no longer log Astro content-reference errors.
  • Light-mode schema pages no longer flash dark-theme syntax colours on first load.
  • Teams and Users directory pages no longer warn from TanStack Table.
v4.8.0

EventCatalog v4.8.0

Integer and V-prefixed resource versions

New Features

  • Integer and V-prefixed resource versions: Resource versions can be number-like as well as semver: 1, v1, V1, 1.2. They sort numerically (V10 is newer than V2), work in ranges, and flow through the SDK, federation, and snapshots.

Improvements

  • Ubiquitous language terms now support editUrl on the dictionary file or on a single term, so dictionary pages can show "Edit this page" like other resources.

Bug Fixes

  • writeEvent / writeResource with versionExistingContent: true no longer rejects V-prefixed bumps.
  • Snapshots no longer throw Invalid Version on non-semver resource versions.
  • A missing flow version no longer crashes the build. The flow page shows its existing failed-to-load warning instead of dying.
  • Looking up a version that does not exist no longer silently returns latest. You get the not-found state.
  • LikeC4 diagrams in npm run dev now load. Vite resolves likec4:plugin/ virtual modules without a null-byte prefix.
  • Domain entity maps no longer treat entities the domain already owns as external. That was causing a false Entity "X" not found in catalog warning, and sometimes a ghost duplicate of the owned entity (badged external) when the domain pinned an older version.
v4.7.0

EventCatalog v4.7.0

Channel maps, federation diagnostics, and catalog polish

New Features

  • Channel maps: Channels are now a real graph root. You can see producers and messages that publish into the channel, services and agents that consume from it, and routing between channels. Focusing a channel from the visualiser no longer 404s. Channel docs get an Architecture → Map link when the visualiser is enabled, and routing chains stay intact (no bogus direct edges onto the focused channel).
  • Local filesystem federation sources: Point federation.sources at catalogs on disk with the file: protocol. Generated dist and .eventcatalog-core directories are ignored when indexing.
  • Federated custom components: Components from source catalogs are available through @catalog/components, with local catalog components taking precedence.
  • Federation diagnostics: ESLint-style diagnostics with --verbose, configurable per rule via federation.rules in eventcatalog.config.js (off / warn / error). New federation/unresolved-version warning. A failed eventcatalog federate restores the last good output instead of leaving a half-written catalog.

Improvements

  • Historical message versions now show the producers and consumers for that version in the sidebar, not only the latest.
  • Ubiquitous language terms are indexed and searchable.
  • LikeC4 virtual module imports now resolve from the catalog workspace.

Bug Fixes

  • npm run dev no longer crashes on Windows when the project path confused the file-watcher glob.
  • AsyncAPI parser errors now render instead of a blank page.
  • Visualiser context menus on services and agents now link containers to /containers/… rather than /entities/….
  • Legacy generated documentation pills are readable in dark mode.
v4.6.0

EventCatalog v4.6.0

Federated catalogs actually show up in the UI, and you can compose them from the CLI

New Features

  • Federated catalogs in the UI: Federated source directories are loaded alongside the local catalog, including services, domains, subdomains, resource docs, ubiquitous language, users, and teams.
  • eventcatalog federate CLI: Reads federation.sources from eventcatalog.config.js, fetches and indexes GitHub sources, resolves the combined graph, then hydrates content and public assets. Includes a content-addressed cache (--no-cache to bypass), a lockfile of pinned source commits, and ownership conflict reporting.

Improvements

  • Domain Resources pages list every resource attached to a domain (subdomains, systems, agents, data products, plus services, flows, entities, and messages). The sidebar Resources link appears whenever any of those exist. Service sidebar links are versioned again.
  • The Browse section stays expanded while other large sidebar groups still auto-collapse.
v4.5.0

EventCatalog v4.5.0

Architecture Graph (opt-in, beta)

New Features

  • Architecture Graph: A catalog-wide force-directed map at /visualiser/graph. Enable it with visualiser.architectureGraph.enabled in eventcatalog.config.js. It is off by default while in beta. Click a node to focus its neighbourhood, or double-click to open its docs.
v4.4.0

EventCatalog v4.4.0

Sidebar groups stay expanded, and HTML compression is optional

Improvements

  • Top-level sidebar groups now stay expanded, so you spend less time reopening the parts of the catalog you use most.
  • astro-compress is now an optional peer dependency. Install it in your catalog if you want to use compress: true. See the compress config.
v4.3.0

EventCatalog v4.3.0

Scoped MCP servers for domains and systems

New Features

  • Scoped MCP servers: Connect an MCP client to a single domain or system, not only the whole catalog. Set mcp.enabled to false in eventcatalog.config.js if you want to disable the built-in server.

Improvements

  • Stable, versionless URLs for the latest service's specifications, changelog, and attached documentation.
  • Recursive embedded entity properties and opt-in whole-entity relationship targets, shown in entity docs and visualiser nodes. See entity relationships.
  • Better sidebar navigation group collapsing, persistence, and layout scrolling.
v4.2.0

EventCatalog v4.2.0

Message trigger paths, and the thing you are looking at stays focused on the graph

New Features

  • Message trigger paths: Services, domains, and agents can document messages triggered by a received message. Both sides show in message sidebars and node graphs. Messages with trigger relationships get a Trigger paths page (one row per path, with optional scenarios). No page is generated if there are no paths.
  • Graph focus: The resource you are viewing is marked as the graph's focus. Context menus can focus another node in its own map, and edge labels render above edges so intersecting paths stay readable.

Improvements

  • Custom extension properties (x-*) on resources, with <CustomProperties> and <CustomProperty> MDX components.
  • A navigation loading indicator on slower (for example SSR) page transitions, so the catalog does not look stuck.
  • Changelog file diffs and raw Markdown resource endpoints work correctly in SSR.
v4.1.0

EventCatalog v4.1.0

Custom pages in your catalog

New Features

  • Custom pages and API routes: .astro and API route files in the catalog pages/ directory are served as routes under a configurable prefix (pages.prefix, defaults to custom). Available on the Scale plan.

Improvements

  • Proper favicons (EventCatalog no longer serves the logo image as the favicon).
  • Builds no longer crash with TypeError: Missing parameter: id when trailingSlash: true is set.
  • Optional EventCatalog Skills install when scaffolding a new project.
v4.0.0

EventCatalog v4.0.0

Systems arrive as a first-class resource with context maps, a simplified Discover and sidebar experience, Astro 7, and a more generous Community Edition

Highlights

EventCatalog v4 is shaped around a bigger vision: EventCatalog as the graph of your software architecture, not just your events. This release introduces systems — a new resource type for documenting software capabilities and external systems — along with system context maps, a simplified Discover experience, and a more generous Community Edition. Read the full story in Introducing EventCatalog v4.

New Features

  • Systems — A new versioned resource type that sits between domains and implementation detail. Systems group the services, flows, entities, data stores, and diagrams that work together to deliver a capability (e.g. checkout, payment processing, or a third-party provider like Stripe). Systems can be defined at the top level or nested inside a domain, get their own architecture overview page and icon/color in the sidebar, can be owned by teams and users, and can be targeted by ADRs via appliesTo: [{ type: 'system' }].
  • System Context Maps — Systems can declare relationships to other systems and actors (people or roles that interact with them). EventCatalog renders these as a new Context Diagram, viewable globally at /visualiser/system-context-map or per-system at /visualiser/systems/{id}/{version}/context. External systems (e.g. SaaS providers) are visually badged as "External System".
  • System resource diagrams — Add <NodeGraph /> to a system page to render the services, flows, entities, and data stores that make up that system, complementing the higher-level Context Diagram.
  • Simplified Discover experience — Resource-specific Browse sidebar links have been replaced with a single Discover page and a Kind filter, so users can browse domains, systems, services, messages, flows, entities, data stores, ADRs, and teams from one place without needing to know which resource type they're looking for.
  • Systems in the SDK and AI tools — The SDK now supports reading and writing systems, adding resources to systems, and attaching systems to domains. EventCatalog Assistant, the MCP server, and catalog tools also understand systems, enabling questions like "What services make up the Payment Processing System?".
  • Custom homepages now in Community Edition — Build a custom pages/homepage.astro without needing a paid plan, and embed the new SystemContextMap component directly on it.

Improvements

  • Configurable Application sidebar via navigation.groups — Define custom navigation groups for the vertical sidebar, including labels, Lucide icons, custom links, ordering, active-route matching, and bottom-positioned groups. See the application sidebar guide.
  • Top level diagrams navigation group — A new sidebar group surfaces the System Context Map below top-level domains whenever systems exist in your catalog.
  • Diagram version comparison available to everyone — No longer gated behind the Scale plan.
  • Astro 7 upgrade — EventCatalog now runs on Astro 7 internally, with markdown/MDX processing migrated to the new unified processor API.
  • New default template — create-eventcatalog now scaffolds a fuller e-commerce example catalog with domains, systems, services, and messages.

Breaking Changes

  • Export to PDF removed — The Export to PDF / print feature has been removed. Update any internal guidance that references exporting pages to PDF.
  • /visualiser/context-map removed — Replaced by the new system context map routes (/visualiser/system-context-map, /visualiser/systems/{id}/{version}/context, /visualiser/domains/{id}/{version}/systems-context). Update any custom links or bookmarks.
  • Top-level sidebar config removed — The old sidebar visibility config in eventcatalog.config.js has been replaced by navigation.groups. If you don't customize the sidebar, no action is needed. The SideBarConfig type export has also been removed.

See the v4 upgrade guide for full migration steps.

Bug Fixes

  • Fixed the dev watcher incorrectly matching generated files when IGNORE_BUILD_ARTIFACTS is set, which could cause unrelated generated files to be picked up during local development.
  • Restricted the EntityMap MDX component's collection prop to domains or services only.

Business Model Changes

  • EventCatalog trials now last 30 days.
  • The Starter plan has been removed; paid self-hosted features and EventCatalog Cloud are now organized around the Scale plan, and integrations are now available on Scale. Existing customers are grandfathered on their current plans.
v3.26.0

EventCatalog v3.26.0

Schema Fields Explorer, Astro 6 upgrade, PDF export, governance triggers, and generator improvements

New Features

  • Schema Fields Explorer — A brand-new page that lets you explore every field across all your schemas. Trace which messages share the same fields and detect naming conflicts across your architecture. Includes a modern redesigned layout with dark mode support. Learn more.
  • Export to PDF — Message pages can now be exported as PDFs, making it easy to share schema documentation with stakeholders outside your catalog.
  • Usage Examples for Messages — Messages now support usage examples directly in the schema explorer. Default templates include examples out of the box to help new users get started faster.
  • Analytics Integrations — Built-in support for Google Analytics 4, Google Tag Manager, and PostHog so you can track how your team uses the catalog.
  • Flows in Nested Directories — Flows can now live inside domain and service directories, making it easier to co-locate flow documentation with the services they describe.

Improvements

  • Astro 6, Vite 7, and Zod 4 — Upgraded the entire core framework stack. Faster builds, improved SSR stability, and access to the latest Astro features.
  • Governance: Schema Change Detection — A new schema_changed trigger lets you define governance rules that fire when message schemas are modified. Pair with the new fail action type for CI/CD gating that blocks merges when schema contracts are broken. Learn more.
  • Governance: Message Deprecation Trigger — Get notified via console or webhooks when a message is deprecated, so downstream teams can plan their migration.
  • Generator Resilience — Generators that fail no longer stop the entire build. Other generators continue running so you still get a partial catalog even when one source has issues.

Generator Updates

  • AsyncAPI 3.1.0 Support — The AsyncAPI generator now supports the latest 3.1.0 specification.
  • Parse Examples (AsyncAPI & OpenAPI) — Both generators can now parse examples from your specs and include them in the generated catalog with the new parseExamples option.
  • Subdomain Service Paths — Generators can now place services into subdomain directory paths, matching how teams organize services under business domains.
  • Attach Headers to Schema (AsyncAPI) — A new attachHeadersToSchema option combines message headers with payload into a single unified schema view.
  • Channel Server Protocols (AsyncAPI) — Channel protocol detection now reads server protocol information, giving you accurate protocol labels on channels.
  • Circular Reference Handling (AsyncAPI) — The generator now gracefully handles circular references in oneOf/allOf schemas instead of crashing.
  • Confluent Schema Registry Auth Fix — Fixed authentication issues with the Confluent Schema Registry generator for users with custom auth setups.
v3.19.0

EventCatalog v3.19.0

Tailwind CSS v4 migration with dramatically faster dev server startup

New Features

  • Tailwind CSS v4 — Migrated from Tailwind CSS v3 to v4 with the native Vite plugin. Dev server startup dropped from ~6.7s to ~1.1s and first page time-to-first-byte went from ~6.7s to ~1.7s.
  • Channels in Service Sidebar — Services now display their associated channels in the sidebar, making it easier to see which channels a service publishes to or subscribes from.
  • Changelog Quick Reference — A changelog link is now available in the left sidebar Quick Reference section for all resource types.

Improvements

  • Architecture Change Detection (CLI) — A new governance check command in the EventCatalog CLI detects when services start or stop producing or consuming messages. Define rules in a governance.yaml file and get notified via console or webhooks. Works in CI/CD pipelines to catch architecture changes before they merge. Learn more.
  • SDK now includes changelog helper methods for programmatic access to resource changelogs.
v3.18.0

EventCatalog v3.18.0

Refined UI theme and visualiser base path support

Improvements

  • Refined UI Theme — Improved sidebar active states with accent colors, brighter dark mode text, subtle gradients on the homepage, and dark mode icon invert support for a more polished look.
  • Visualiser Base Path Support — The visualiser now supports configurable base paths, so it works correctly when EventCatalog is deployed under a subpath.

Bug Fixes

  • Fixed dark mode styling for embedded Flow borders and footer text.
  • Fixed service sidebar entities rendering as unresolved pointers instead of navigable links.
  • Fixed first-run Vite dep-scan errors by improving file watcher configuration.
v3.17.0

EventCatalog v3.17.0

DSL export improvements and EventCatalog Compass

New Features

  • DSL Message Hydration — Messages are now hydrated in DSL exports with shared managed keys across all message types, making DSL round-trips more reliable.
  • EventCatalog Compass — The DSL playground has been rebranded to EventCatalog Compass, a browser-based tool for authoring and visualising your architecture using the EventCatalog DSL.

Bug Fixes

  • Fixed query edge labels in the visualiser.
  • Fixed resource docs not appearing when folder name differs from frontmatter id.
  • Fixed resource docs glob patterns to support nested directory structures.
  • Fixed MCP server to create fresh transport per request, resolving stateless transport reuse errors.
v3.16.0

EventCatalog v3.16.0

Semver version matching in visualiser and channel routing fixes

New Features

  • Semver Version Matching in Visualiser — Services can now use semver range patterns (^1.0.0, ~1.2.0) and x-patterns (1.x, 1.2.x) in their sends and receives configurations, and these will correctly resolve in the visualiser.

Bug Fixes

  • Fixed visualiser incorrectly routing all event versions to the same channel. When a service sends multiple versions of the same event to different channels, each version now routes to its correct channel.
v3.15.0

EventCatalog v3.15.0

Resource docs and custom documentation improvements

New Features

  • Resource Docs — Attach additional documentation pages to any catalog resource (services, events, domains, etc.). Organize supplementary docs alongside your resources for richer documentation. Learn more.
  • Doc Resource References — Use [[doc|PageName]] syntax to create inline references to custom documentation pages with hover tooltips.

Improvements

  • Replaced concurrently with native process management for cleaner dev server output, now showing EventCatalog version instead of Astro version.
  • Upgraded AsyncAPI React component to v3.
  • Fixed dark theme support on custom documentation pages.
v3.14.0

EventCatalog v3.14.0

Major performance improvements across the board

New Features

  • Lazy-Loaded Search — Search index now loads on intent rather than at startup, significantly reducing initial page load time.
  • Deferred Hydration — Search and sidebar components now hydrate on interaction instead of on page load, reducing JavaScript execution on first render.

Improvements

  • Faster Dev Server — First request after startup is now prewarmed automatically, cutting perceived latency.
  • Lazy-Loaded Viewers — Heavy graph and OpenAPI viewers are now loaded on demand rather than bundled upfront.
  • Compact Search API — Search index payload has been compacted to reduce network transfer size.
  • Gated Visualiser Routes — Static route generation for the visualiser is now skipped when disabled, speeding up builds.
  • Fixed AsyncAPI remote schema resolution to properly pass auth headers.
  • Fixed RemoteSchema environment variable placeholders in SSR mode.
  • Fixed content collection glob patterns to exclude dist directories.
  • Fixed theme toggle hydration mismatch in dark mode.
v3.13.0

EventCatalog v3.13.0

Standalone visualiser package and monorepo restructure

Improvements

  • Monorepo Restructure — EventCatalog is now organized as a monorepo with Turborepo and pnpm workspaces. This improves build times, makes contributing easier, and enables independent versioning of packages like the visualiser, SDK, and CLI.
  • Fixed visualiser header visibility conflicts with Tailwind utilities.
v3.12.0

EventCatalog v3.12.0

Visualizer focus mode and standalone visualiser package

New Features

  • Visualizer Focus Mode — Click any node in the visualizer to open a focus mode panel. See the selected node in the center with incoming connections on the left and outgoing on the right. Click connected nodes to switch focus with smooth slide animations. Includes documentation links and zoom controls.
  • Clickable Folder Navigation — Custom documentation pages now support clickable folder navigation when index files exist, making it easier to browse nested documentation.

Improvements

  • Migrated the visualiser into a standalone package, enabling reuse outside of EventCatalog core.
  • Refactored collection getters with a reverse index for faster producer/consumer resolution.
  • Fixed PlantUML rendering race condition that could cause diagrams to fail on first load.
  • Fixed MCP server compatibility with Vercel AI SDK tool() helper.
  • Security fix: patched prismjs CVE-2024-53382.
v3.11.0

EventCatalog v3.11.0

Visualizer layout persistence for custom node positioning

New Features

  • Visualizer Layout Persistence — Save and restore custom node positions in the visualizer during development. Drag nodes to arrange your visualization, then save layouts to _data/visualizer-layouts/ for sharing with your team. Layouts work across all visualizers including services, events, flows, domains, entity maps, and designs. Available in dev mode only.
v3.10.0

EventCatalog v3.10.0

Build telemetry improvements with resource counting

New Features

  • Build Telemetry — Added resource counting to build telemetry, tracking the number of events, services, domains, and other resources in your catalog. This helps teams monitor catalog growth and understand the scale of their architecture documentation.
v3.9.1

EventCatalog v3.9.1

Enhanced Mermaid diagram rendering for larger diagrams

Improvements

  • Configurable Mermaid Diagram Size — Added configurable maxTextSize parameter for Mermaid diagrams, allowing you to render larger and more complex diagrams without rendering issues.
v3.9.0

EventCatalog v3.9.0

Mermaid export support for visualizations and container collection improvements

New Features

  • Mermaid Export for NodeGraph — Export NodeGraph visualizations as Mermaid diagrams with view mode switching and shareable URLs. This makes it easier to share and embed your architecture visualizations in documentation or presentations.

Bug Fixes

  • Fixed containers collection glob pattern to properly support nested directories, improving organization flexibility for container resources.
v3.8.2

EventCatalog v3.8.2

Windows compatibility fix for custom documentation

Bug Fixes

  • Fixed issue with custom documentation pages not rendering correctly on Windows systems, improving cross-platform compatibility.
v3.8.1

EventCatalog v3.8.1

Type safety improvements for data products

Bug Fixes

  • Fixed TypeScript type errors in data product builder test file by adding proper type casting and missing required fields, improving type safety and developer experience.
v3.8.0

EventCatalog v3.8.0

Data Products collection support

New Features

  • Data Products Collection — Added support for documenting Data Products as a new collection type in EventCatalog. Teams can now catalog and track data products alongside events, services, and domains, providing a complete view of their data architecture.
v3.7.2

EventCatalog v3.7.2

Code refactoring for specification processing

Improvements

  • Extracted shared specification processing utilities to reduce code duplication and improve maintainability across the codebase.
v3.7.1

EventCatalog v3.7.1

Enhanced JSON Schema support and dependency updates

Improvements

  • Enhanced Schema Viewer — Added comprehensive support for oneOf and anyOf JSON Schema keywords, including:

    • Complete handling for anyOf in schema processing
    • Fixed oneOf rendering to show selected variant's properties
    • Added variant selector UI for nested oneOf/anyOf within properties
    • Support for oneOf/anyOf in array items
    • Variant type indicators in property type display
  • Updated Astro dependencies to latest versions for improved performance and security.

v3.7.0

EventCatalog v3.7.0

Domain event flows without service intermediaries

New Features

  • Direct Domain Event Flows — Added sends and receives properties to domains, allowing domains to directly document event flows without requiring services as intermediaries. This simplifies modeling domain-to-domain communication patterns and provides a clearer view of event-driven architecture at the domain level.
v3.6.2

EventCatalog v3.6.2

Type safety improvements and directory navigation enhancement

Improvements

  • Added type check script and fixed type errors in ResourceRef and SearchModal components for improved type safety.
  • Directory navigation now defaults to the teams page when no users are defined, providing a better user experience.
v3.6.1

EventCatalog v3.6.1

Wiki-style resource references and sidebar improvements

New Features

  • Inline Resource References — Added wiki-style syntax for creating interactive resource links. Use [[type|ResourceName]] syntax to create links that display resource details on hover, making it easier to reference and explore related resources directly within your documentation.

Improvements

  • Updated Hono version for improved performance and security.
  • Fixed sidebar favorites removal for deleted nodes and added theme support to plans and custom documentation pages.
v3.6.0

EventCatalog v3.6.0

New Discover page with enhanced browsing and filtering

New Features

  • Discover Page — Added a new Discover page with enhanced table filtering and tabbed navigation for browsing catalog resources. This makes it easier to explore and find services, events, domains, and other resources across your entire catalog.

Improvements

  • Reduced build size through optimized sidebar implementation using node references and static JSON API.
v3.5.2

EventCatalog v3.5.2

Visualizer edge relationship fix

Bug Fixes

  • Fixed visualizer showing incorrect "subscribed by" edge when a producer references a non-existent channel version, improving accuracy of relationship visualization.
v3.5.1

EventCatalog v3.5.1

Avro schema file download fix

Bug Fixes

  • Fixed Avro schema file downloads in context menu by using the actual schema filename from schemaPath instead of a hardcoded 'schema.json' value, ensuring downloaded files have the correct name.
v3.5.0

EventCatalog v3.5.0

Enhanced search with grouping and base path fixes

Improvements

  • Enhanced Sidebar Search — Improved sidebar search with several enhancements:
    • Fixed duplicate search results by filtering out unversioned node keys
    • Added grouping of search results by type with alphabetical sorting
    • Added missing Channel type to filter mapping
    • Extracted shared badge styling utilities using CSS variables for consistent theming

Bug Fixes

  • Fixed search results not respecting base path and trailing slash configuration, ensuring search URLs correctly include configured base path and trailing slash settings.
v3.4.2

EventCatalog v3.4.2

React Hooks compliance fix

Bug Fixes

  • Fixed React Rules of Hooks violation in NestedSideBar component by moving isFavorited hook before early returns, ensuring proper hook execution order.
v3.4.1

EventCatalog v3.4.1

Interactive controls for diagrams

New Features

  • Interactive Diagram Controls — Added interactive controls to Mermaid and PlantUML diagrams, enabling pan, zoom, and other interactions for better diagram exploration and readability.
v3.4.0

EventCatalog v3.4.0

MCP server and shared catalog tools

New Features

  • MCP Server Support — Added Model Context Protocol (MCP) server and shared catalog tools, enabling better integration with AI tools and external systems for querying and interacting with your catalog data.
v3.3.1

EventCatalog v3.3.1

Schema explorer SSR fix

Bug Fixes

  • Fixed schema explorer rendering issue in server-side rendering (SSR) mode on application start, ensuring schemas display correctly on initial page load.
v3.3.0

EventCatalog v3.3.0

Diagram resource type support

New Features

  • Diagrams as Resources — Added support for diagrams as a new resource type, allowing you to document and organize architectural diagrams alongside your other catalog resources for a more complete documentation experience.
v3.2.2

EventCatalog v3.2.2

Changelog theme styling fix

Bug Fixes

  • Fixed changelog theme styles to ensure proper styling across light and dark themes.
v3.2.1

EventCatalog v3.2.1

IcePanel diagram support

New Features

  • IcePanel Diagrams — Added support for embedding IcePanel diagrams in your catalog, enabling teams using IcePanel for C4 model diagrams to integrate them directly into their EventCatalog documentation.
v3.2.0

EventCatalog v3.2.0

Custom tools for AI Assistant

New Features

  • Custom AI Assistant Tools — Added the ability to add custom tools to the AI Assistant, enabling teams to extend the assistant's capabilities with domain-specific functionality tailored to their catalog and workflows. Learn more in the EventCatalog Assistant documentation.
v3.1.0

EventCatalog v3.1.0

Dark mode and custom theme support

New Features

  • Dark Mode and Custom Themes — Added full support for dark mode and custom themes, allowing teams to customize the appearance of their catalog to match their brand or preferences. Users can toggle between light and dark modes, and administrators can configure custom color schemes.
v3.0.0

EventCatalog v3.0.0

A complete redesign focused on performance, discoverability, and bringing AI to your architecture

Highlights

EventCatalog v3 is a ground-up rebuild, delivering a faster, more intuitive experience for documenting and exploring your event-driven architecture. Whether you're onboarding new engineers or investigating production issues, v3 helps you find what you need, when you need it.

New Features

  • EventCatalog Assistant — Bring any AI model to your catalog. Ask questions about your architecture in natural language and get instant answers. Works with OpenAI, Anthropic, or any compatible model.

  • Redesigned Homepage — A new landing experience that gives teams an instant overview of their architecture, with quick access to services, events, and domains.

  • Customizable Documentation Sidebar — Full control over how your documentation is organized. Create custom sections, reorder content, and build the navigation that works for your team.

  • New Search Experience — Faster, smarter search with improved relevance and filtering. Find services, events, and documentation across your entire catalog instantly.

  • Channel Support — Added channel support in navigation and search for better organization of messaging channels.

  • Visualizer Presentation Mode — Visualizations now include a presentation mode for sharing architecture diagrams in meetings and presentations.

  • Admonition Titles — Added support for custom titles on admonition blocks for better documentation clarity.

Performance

  • New Caching System — Dramatically faster build times and page loads through intelligent caching of catalog data and visualizations.

  • Simplified Sidebars — Streamlined navigation reduces cognitive load and makes exploring your architecture more intuitive.

Architecture Changes

  • Updated Domain Hierarchy — Improved structure for organizing domains and subdomains, better reflecting how teams think about bounded contexts.

  • Improved Overview Pages — Architecture overview pages now provide richer context with better visualizations and relationship mapping.

Improvements

  • Updated architecture overview page designs for better clarity and usability
  • Added icons to specification files in the sidebar for easier identification
  • Improved Ubiquitous Language styling throughout the catalog
  • Enhanced table styles for better readability
  • Refactored features into Astro custom integrations for better modularity
  • Updated logger for improved debugging and development experience
  • Explicit opt-in for authentication features
  • llms.txt now enabled by default for better AI integration
  • Removed redundant code and files for cleaner codebase

Bug Fixes

  • Fixed embedding pages on build to ensure proper page generation
  • Fixed issue with nested sidebar state management
  • Resolved deployment issues for example catalogs on releases
  • Fixed search functionality throughout the application
  • Corrected duplicate edge labels in visualizations
  • Fixed accessibility issues across the catalog
  • Resolved AsyncAPI loading issues in the DOM
  • Fixed MDX pages not being added to teams and users sections
  • Corrected circular dependency issues in JavaScript

Migration Notes

The following features have been deprecated or replaced:

  • EventCatalog Chat → replaced with EventCatalog Assistant
  • Chat prompts → removed (use Assistant instead)
  • .md files → use .mdx files for all content
  • LIST_VIEW and SIDE_VIEW → replaced with new navigation system
  • Governance reports → deprecated

See the v3 upgrade guide for complete migration instructions.

Looking for older releases?
For versions prior to v3.0, check out our GitHub Releases.