Introducing Schema Registry

Jakub WieczorekJakub WieczorekJulius de BruijnJulius de BruijnJakob NorlinJakob NorlinTom HouléTom Houlé
Introducing Schema Registry

We are thrilled to announce the launch of Schema Registry, designed to enhance your development workflow and GraphQL schema management.

Schema Registry is version control tailored explicitly to GraphQL schemas. As your schemas evolve, managing and keeping track of changes becomes increasingly challenging. The Schema Registry steps in to streamline this process. It enables developers to efficiently track changes, manage additions, and maintain a clear history of their schema evolution. Schema Registry provides teams working with GraphQL with a robust schema versioning and management framework.

  • Schema Version History: Schema Registry is the source of truth for your GraphQL schemas, allowing you to maintain a complete historical record of your schema's evolution. If problems arise, you can quickly revert to previous versions if needed. When performing postmortems or analyses, you can understand the progression of their schema over time.
  • Changelog: Track every modification made to your GraphQL schemas. With Schema Registry, you have a comprehensive view of your schema changes, who made the change, and when it was implemented. You can see if types are added, fields deleted, and all other modifications to your schema.
  • Branching: Similar to traditional version control systems, Schema Registry supports branching. This allows different teams or individuals to work on separate aspects of the schema in parallel, enabling more efficient collaboration and experimentation. Individual teams can also work on their schemas, with the registry then federating these subgraphs.
  • Seamless Integration: Schema Registry is designed to integrate seamlessly into your existing Grafbase workflow, ensuring a smooth transition and minimal disruption to your development processes. Standalone graphs deployed to Grafbase automatically integrate with the Schema Registry.

Composition

  • Enhanced Collaboration: Teams can work on different schema versions simultaneously without conflict, making collaborative development smoother and more efficient.
  • Error Reduction: With explicit tracking and history, spotting and correcting errors is easier, ensuring higher quality and consistency in schema development. The Schema Registry also acts as the starting point for your CI/CD pipeline for GraphQL schemas, enabling automatic validation and consistency checks before deployment.
  • Improved Project Management: Change history and branching provide a clear overview of schema developments, aiding in better project planning and management. This enhanced visibility allows teams to track progress, anticipate potential issues, and make informed decisions about future developments.

Create a new graph by running the following command in a new folder:

npx grafbase@latest init

Next, install dependencies:

npm install

Now run the following command to start the local development server:

npx grafbase@latest dev

Now that the graph is up and running, it's time to deploy to production. To do so, run the following command:

npx grafbase@latest create

Now open the Grafbase dashboard and navigate to your newly created graph. You can see the graph's latest schema changes in the Changelog widget and the full history in the Changelog tab.

Read more about Schema Registry in our documentation.