Skip to content

seampact 1.0.1

seampact 1.0.1 is a patch release: server fixes, clearer generate errors, better docs and agent skills. Every package, in every ecosystem, moves to 1.0.1. Nothing in your contract changes.

Python, Laravel and Symfony servers now compute the ETag and idempotency digests of a body holding an integer past 2^53 as the other targets do, so the same body gets the same digest on every server. After the upgrade, a retry of such a request stored by 1.0.0 no longer matches its record and is served as a new request.

  • AdonisJS servers answer a request body in an unknown content coding with 415 and a corrupt or cut gzip body with 400, where they answered 500 before.
  • AdonisJS 6 servers answer a compressed request body with 415, or 413 when it is over the route limit once inflated, where they answered 400 before.
  • Fastify servers that register @fastify/compress now accept gzip request bodies and answer an unknown content coding with 415, a body over the limit once inflated with 413 and a corrupt gzip body with 400, where they refused, failed or hung before.
  • The PHP boundary now reads a gzip request body of several members whole, and refuses as invalid the bytes after a gzip or deflate stream that do not start another gzip member.
  • The PHP boundary now refuses a gzip or deflate request body cut before its end as invalid, instead of reading it as a shorter body.
  • The framework-route allow-list on FastAPI, DRF and Ninja now matches the Node rule: a single * no longer admits a catch-all route, ** matches zero segments, and empty segments are ignored.
  • A generate refusal now names its contract file and line, gives a fix of its own (starting with “Ask the user first:” when it changes the API) and ends with the URL of its troubleshooting row.
  • The Spring Boot, PHP and Python generators no longer tell you to update to a release that does not exist when they refuse a form: the fix says to ask the user before removing the operation, or to remove a waiting artefact switch from the entry, and links the troubleshooting page.
  • The docs are rewritten for every stack, with a new types and validation section.
  • The FastAPI, DRF and Ninja guides now show how to write a paged list handler.
  • Coding agents get small, focused docs files and seampact skills: npx skills add jubasse/seampact (AI agents).
  • The Maven Central POMs and the Gradle Plugin Portal page link to the docs site, the Spring Boot ones to the Spring Boot guide.
  • The Packagist pages link to the docs site, the source and the issues, the Laravel and Symfony ones to their own guide.
  • The PyPI pages link to the docs site, the source and the issues, the FastAPI, DRF and Ninja ones to their own guide.