Skip to main content

Announcing Changelogs for EventCatalog

ยท 3 min read
David Boyne
Founder of EventCatalog

I'm excited to share that EventCatalog 2.2.0 is now available, featuring support for changelogs.

You can now add changelogs to your domains, services and messages (events/commands).

Why changelogs?โ€‹

In event-driven architectures, various components like domains, services, schemas, formats, and boundaries are constantly evolving. Unfortunately, the context or reason behind these changes often gets lost.

As a result, developers may begin to question architectural decisions, schema formats, service boundaries, and more. Without historical information, it can be challenging to share this knowledge, especially as team members leave or join the company.

EventCatalog changelogs are designed to address this issue.

Getting startedโ€‹

EventCatalog gives you the ability to document your event-driven architecture through domains, services and messages.

These resource types can be versioned and now EventCatalog provides the ability to add changelogs by providing a changelog.md file along side your resource.

Exampleโ€‹

Changelog files are located along side your domain, service or message, this also includes any versioned resource.

/events/OrderPlaced/changelog.md
---
createdAt: 2024-08-01
badges:
- content: โญ๏ธ JSON Schema
backgroundColor: purple
textColor: purple
---

### Added support for JSON Schema

InventoryAdjusted uses Avro but now also supports JSON Draft 7.

```json title="Employee JSON Draft"
// labeled-line-markers.jsx
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Employee",
"properties": {
"Name": {
"type": "string"
},
"Age": {
"type": "integer"
},
"Town": {
"type": "string"
}
},
"required": ["Name", "Age", "Town"]
}

``

Changelogs will be rendered into their own page. All changelog.md files for a given domain, service or message are gathered and listed in order of version number.

See example on the demo project.

Example

Adding schema diffs, labels and moreโ€‹

Changelogs are a great way to document diffs in your schemas. Add code blocks to your changelog and use the diff syntax in the codeblock.

Read more about code block features including diffs, labels, and frames for code blocks.

Summaryโ€‹

EventCatalog now supports changelogs for domains, services and messages (events/commands).

You can use changelogs to audit and document changes within your architecture. Changelogs can be useful for teams and organizations that want to share historic information.

Changelogs are powered by changelog.md files you can add to any resource. EventCatalog will find your changelog files and render them in order of version.

Read the documentation to learn more and get started:

If you have any questions, feature ideas, or would like to discuss EventCatalog features with your team, join our Discord community.


Want to learn more about EventCatalog and how it can help you? Reach out to me on socials or Discord, and I would be happy to join a call with you and your team.