Freedom251 › Contract Testing Tools
Stubborn Contract

What Stubborn Contract is
Stubborn Contract is a consumer-driven contract-testing tool for HTTP and message-based interactions, and the official continuation of Spring Cloud Contract. Its testing core and Stubborn Broker OSS are licensed under Apache 2.0 and free to use, modify, and deploy. Existing Groovy DSL, YAML, and Java DSL contracts can remain in place during migration, with an OpenRewrite recipe to automate mechanical migration steps. Contracts can be published through Maven or Gradle plugins or the CLI. The Broker checks contracts across branches and services and provides a CI-friendly can-i-deploy check. Stubborn Contract 0.1.2 adds Spring-free building blocks for Kafka, RabbitMQ, and JMS. It runs on Java 17 or later. The Broker can be run locally with Docker on port 8080. Community help through GitHub issues is best effort, without a public free-support SLA.
Who it suits
It suits teams maintaining HTTP or messaging contracts, especially those migrating from Spring Cloud Contract. Organizations seeking migration planning, roadmap participation, or dedicated support can consider Enterprise Partnerships.
What it does well
- Apache 2.0 core and Broker OSS are free to use.
- Supports HTTP and message-based contracts.
- Existing Groovy DSL, YAML, and Java DSL contracts continue to work.
- Broker verifies contracts across branches and services.
- Supports Kafka, RabbitMQ, and JMS messaging building blocks.
What to know first
- Community support is best effort, with no public free-support SLA.
- Java 17 or later is required.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Open-source core | Contract-testing core and Stubborn Broker OSS · free to use, modify, and deploy under Apache 2.0 | Free |
| Enterprise Partnership | Scoped to the organization’s needs; no public pricing · Stubborn Pro capabilities · migration planning · architecture sessions · priority engineering · direct maintainer communication · custom integrations | On request |
As stubborn.sh lists them, read 5 Oct 2026. The maker's own page has the final word.
Getting started
- Visit the Stubborn Contract website.
- Use the open-source core, licensed under Apache 2.0, or ask about an Enterprise Partnership.
- Install Java 17 or later for Stubborn Contract 0.1.2.
- Publish contracts through Maven, Gradle, or the CLI.
- Run the Broker locally with Docker on port 8080 if you want a self-hosted deployment.
- Use the migration guide's OpenRewrite recipe for mechanical migration steps.
Verdict
Stubborn Contract combines an open-source contract-testing core with a Broker for cross-branch checks and deployment decisions. It is a practical fit for teams working with supported contract formats and Java-based messaging integrations, though free community support has no public SLA.
Questions
Is Stubborn Contract free?
The contract-testing core and Stubborn Broker OSS are available for free under Apache 2.0, with permission to use, modify, and deploy them.
What platforms does it support?
The listed platforms are API and self-hosted. The Broker page provides a Docker command for running the server locally on port 8080.
Which contract formats are supported?
The listed formats are YAML, Groovy, Java, and Kotlin. Existing Groovy DSL, YAML, and Java DSL contracts continue to work during migration.
Does it support messaging contracts?
Yes. It supports message-based interactions, and version 0.1.2 adds Spring-free building blocks for Kafka, RabbitMQ, and JMS.
What does Enterprise Partnership cost?
No public price is listed; the partnership is scoped to the organization's needs.
What support is available?
Community support is best effort through GitHub issues, with no public SLA. Enterprise Partnerships include direct maintainer communication and support for CI/CD and deployment pipeline integration.
Facts from Stubborn Contract's own pages
- Broker features
- The Broker page lists branch-aware governance, AI contract generation from captured HTTP traffic, and AI-agent integration through MCP. · stubborn.sh, 5 Oct 2026
- Broker governance
- Stubborn Broker verifies contracts across branches and services and provides a CI-friendly can-i-deploy check. · stubborn.sh, 5 Oct 2026
- Build integrations
- Contracts can be published through Maven or Gradle plugins, or through the CLI. · stubborn.sh, 5 Oct 2026
- Community support
- Community support is best effort through GitHub issues, with no public SLA for free support. · stubborn.sh, 5 Oct 2026
- Enterprise support
- Enterprise Partnerships include direct maintainer communication and support for integrating the project into an organization’s CI/CD and deployment pipelines. · stubborn.sh, 5 Oct 2026
- HTTP and messaging
- The testing project supports contracts for both HTTP and message-based interactions. · github.com, 5 Oct 2026
- Languages
- The Broker page lists Java, Kotlin, JavaScript, and TypeScript SDK support. · stubborn.sh, 5 Oct 2026
- Messaging integrations
- Stubborn Contract 0.1.2 adds Spring-free messaging building blocks for Kafka, RabbitMQ, and JMS. · stubborn.sh, 5 Oct 2026
- Migration
- The migration guide says an OpenRewrite recipe automates mechanical migration steps from Spring Cloud Contract. · stubborn.sh, 5 Oct 2026
- Open-source license
- The contract-testing core and Stubborn Broker OSS are licensed under Apache 2.0 and are free to use, modify, and deploy. · stubborn.sh, 5 Oct 2026
- Purpose
- Stubborn Contract is the official continuation of Spring Cloud Contract, providing consumer-driven contract testing for HTTP and message-based interactions. · github.com, 5 Oct 2026
- Runtime requirement
- Stubborn Contract 0.1.2 runs on Java 17 or later and is listed as tested with Java 21 and 25 and Spring Boot 4.1. · stubborn.sh, 5 Oct 2026
- Self-hosting
- The Broker page provides a Docker command to run the server locally on port 8080. · stubborn.sh, 5 Oct 2026
- Supported formats
- Existing Groovy DSL, YAML, and Java DSL contracts continue to work during migration. · stubborn.sh, 5 Oct 2026
- Who it is for
- Enterprise Partnerships are offered to organizations that rely on Stubborn Contract in production and want migration planning, roadmap participation, or dedicated support. · stubborn.sh, 5 Oct 2026
Where Stubborn Contract stands on Freedom251
- Contract Testing Tools#18 of 22
