Supported versions
Use this page to check that your framework version works, and to know what happens when its maintainers drop it.
Supported stacks
Section titled “Supported stacks”Servers
Section titled “Servers”| Server | Versions | Validators |
|---|---|---|
| NestJS | 12 | zod, yup, class-validator |
| Express | 4, 5 | zod, yup |
| Fastify | 5 | zod, yup, Ajv |
| AdonisJS | 7 (6 still works but is no longer maintained, see below) | zod, yup, VineJS |
| Hono | 4 | zod, yup |
| Spring Boot | 4 | generated checks, Jakarta constraints on the records |
| Symfony | 7.4, 8 | generated checks, Symfony Validator constraints on the inputs |
| Laravel | 13 (PHP 8.3 to 8.5) | generated FormRequest rules, Laravel’s own value rules by default |
| FastAPI | 0.162 (Python 3.12 or later) | generated checks, Pydantic models, Pydantic’s own value rules by default |
| Django REST Framework | 3.18, on Django 5.2 and 6 (Python 3.12 or later) | generated checks and serializers, DRF’s own field arguments by default |
| Django Ninja | 1.5.3 and later, on Django 5.2 and 6 (Python 3.12 or later) | generated checks, Pydantic models, Pydantic’s own value rules by default |
Spring Boot 4 is generated at build time by the Gradle plugin io.github.jubasse.seampact or the Maven plugin seampact-maven-plugin. It can also generate Spring Security matchers and refusals, and springdoc annotations. Laravel 13 is generated by vendor/bin/seampact generate (installed with Composer from Packagist) or php artisan seampact:generate (see Laravel). Symfony (PHP 8.3 to 8.5) is generated with seampact/symfony: see the Symfony guide. FastAPI, Django REST Framework and Django Ninja are generated by seampact generate of the Python package (pypi:seampact-fastapi, pypi:seampact-drf or pypi:seampact-ninja in the entry’s use, installed from PyPI): see the FastAPI guide, the Django REST Framework guide and the Django Ninja guide. The compiler binary comes with the seampact-ir[compiler] extra.
Clients
Section titled “Clients”| Framework | Versions | Query tools |
|---|---|---|
Typed fetch client |
any framework or none | none |
| React | 19 | TanStack Query 5, SWR 2, RTK Query 2, or none |
| Vue | 3 | TanStack Query 5, Pinia Colada 1, or none |
| Angular | 22 | none: a service over HttpClient, with NgRx 22 actions and effects or NgRx Signals 22 store features as an option |
| MSW mocks | 2 | none: handlers for setupServer and setupWorker |
The rule
Section titled “The rule”seampact supports the versions their maintainers still maintain. When a framework version is not tested, generate warns (config.matrix.untested). To accept it, list it under allowUntested of the target: see Config reference. A version known to be incompatible is refused (config.matrix.incompatible).
Dependencies of the framework
Section titled “Dependencies of the framework”Inside a supported version, seampact accepts the range the framework accepts. It does not raise its floor each time an advisory is published for one of those dependencies: keeping them current is your app’s job.
For example, seampact accepts every Starlette that FastAPI accepts. The FastAPI guide says why.
A version its maintainers no longer maintain
Section titled “A version its maintainers no longer maintain”It keeps working, with the same generated code. The day it needs work (a test that breaks, a fix of its own), seampact drops it, in a minor release too. Move to a maintained version when you can. AdonisJS 6 is in this case today: see the AdonisJS guide.
PHP patch releases
Section titled “PHP patch releases”The PHP engine runs seampact’s own runtime, so seampact requires the PHP patch releases that fix security flaws in the engine itself. Composer refuses to install seampact on an older patch release, and names the constraint it needs. Today: >=8.3.36 <8.4 || >=8.4.27 <8.5 || >=8.5.12.
Next: Targets and links, or Config reference.