We’re thrilled to announce the release of Specmatic 2.0.x, a significant milestone release that is set to transform the way developers approach contract testing, intelligent service virtualization and backward compatibility testing. Now you can also transform your GraphQL and gRPC API specs into executable contracts in seconds. Specmatic 2.0 ushers in a new era of API resilience testing.Â
These enhancements broaden the scope of Specmatic, allowing teams to adopt cutting-edge technologies while ensuring the integrity and reliability of their APIs. It means your team can spend more time building great features and less time worrying about integration hell. This new release 2.0.x stays true to the spirit of Shift Left by adding more to the arsenal of features that enable teams in catching issues early in the development process with the ability to run tests locally and in CI.
What’s new?Â
GraphQL and gRPC supportÂ
Now you can easily set up leverage your GraphQL and gRPC APIs for contract testing, intelligent service virtualisation and backward compatibility testing, just like you would for your OpenAPI-based services. No more complex and brittle setups that involve an assortment of tools – Specmatic handles it all for you, thereby making for a one stop solution that enables a seamless DevEx.Â
YAML config filesÂ
YAML config support has been added in addition to JSON, enabling consistency with the OpenAPI specification format and making for a more concise configuration.
What’s changing?Â
Terminology alignmentÂ
In a move to improve semantics and better align with Contract Driven Development terminology, the new provides and consumes sections have replaced the test and stub sections. This change reflects Specmatic’s commitment to clarity and usability in API contract testing.
Although the test and stub keys will continue to be supported, users are encouraged to adopt the new keys for clarity and consistency. Here’s the documentation.
Introducing a new domain and new group IDÂ
We have a new domain for our website – specmatic.io.
Specmatic packages are now available under a new groupId ‘io.specmatic’. https://mvnrepository.com/artifact/io.specmatic
Users using Specmatic in projects with JVM languages like Kotlin, Java can migrate to Specmatic 2.0.0 by simply updating their contract tests to import the classes from ‘io.specmatic’ instead of ‘in.specmatic’.
For example, if you had import statements like this:
import net.specmatic.test.whatever;
You’ll now need to update them to:
import io.specmatic.test.whatever;
Pricing updateÂ
To leverage these exciting new features and expanded capabilities you will need a paid Specmatic Pro or Enterprise plan. See the updated pricing page for more details
How to get startedÂ
For GraphQL and gRPC, the setup process is just as straightforward as it is for OpenAPI. All you need are your GraphQL schema files or gRPC proto files, along with a simple Specmatic configuration, and you’re good to go.
To make it easier for developers to get started with Specmatic 2.0, updated sample projects are readily available. These projects are designed to showcase the full potential of Specmatic’s new features and provide a straightforward path for developers to try out the tool.
Sample gRPC projectsÂ
https://github.com/znsio/specmatic-order-bff-grpc-kotlin
https://github.com/znsio/specmatic-order-api-grpc-kotlin
https://github.com/znsio/specmatic-order-bff-grpc-go
Sample GraphQL projects:Â
https://github.com/znsio/specmatic-order-bff-graphql-java
https://github.com/znsio/specmatic-order-graphql-ui-react
https://github.com/znsio/specmatic-order-graphql-consumer-java
At its core, Specmatic 2.0 is about empowering developers and teams to build more reliable, efficient, and scalable microservices.
Give it a try and experience the difference for yourself!