Releases: softwaremill/tapir
v1.9.3
Play 2.9 support
Recently Tapir switched its Play modules to version 3. This versions brings support to Play 2.9. Please read the new docs to learn how to configure the dependencies: https://tapir.softwaremill.com/en/latest/server/play.html
Note that tapir-play29-server
works only for Scala 2.13, but tapir-play29-client
and tapir-json-play29
are available for Scala 2.12, 2.13, and 3.
What’s Changed
- Add module with Play 2.9 support (#3313) @cptwunderlich
- Update optionallyAutoPong. (#3350) @kamilkloch
- Replace mergify with GHAs (#3346) @micsza
- Revert "Pretty layout for tests results." (#3352) @micsza
- Pretty layout for tests results. (#3348) @micsza
- Add example and warning for comma-separated query input values (#3344) @andreazube
- [CI] Tune test timeouts (#3342) @kciesielski
- Improve Http4sWebSockets.pipeToBody (#3340) @kamilkloch
Dependency updates
- Update logback-classic to 1.4.13 (#3349) @softwaremill-ci
- Update asyncapi-circe-yaml, ... to 0.7.3 (#3341) @softwaremill-ci
- Update scalafmt-core to 3.7.17 (#3324) @softwaremill-ci
v1.9.2
What’s Changed
- MaxContentLength support (streaming) (#3319) @kciesielski
- [CI] Compile tests in compileScoped (#3336) @kciesielski
- Use setup-node to install npm (#3333) @kciesielski
- make schema nullable instead of adding null-types into the apispec schema (#3331) @cornerman
Dependency updates
- Update sbt-twirl to 2.0.2 (#3323) @softwaremill-ci
- Update jwt-circe to 9.4.5 (#3334) @softwaremill-ci
- Update sbt-assembly to 2.1.5 (#3330) @softwaremill-ci
- Update armeria to 1.26.3 (#3329) @softwaremill-ci
- Update vertx-web to 4.5.0 (#3320) @softwaremill-ci
- Update http4s-circe, http4s-core, ... to 0.23.24 (#3318) @softwaremill-ci
- Update opentelemetry-api, ... to 1.32.0 (#3317) @softwaremill-ci
- Update mdoc, sbt-mdoc to 2.5.1 (#3311) @softwaremill-ci
- Update netty-all to 4.1.101.Final (#3310) @softwaremill-ci
v1.9.1
What’s Changed
- #3315 - upgrade prometheus client java to 1.1.0 (#3325) @gastonschabas
- Update docs for sbt-assembly config (#3328) @BranislavLazic
- Properly handle independent customisation of referenced schemas, where one is an option (#3327) @adamw
- Codegen any type support (#3314) @markussammallahti
- jdkhttp-server: Write multipart parts bigger than threshold to files (#3227) @jnatten
v1.9.0
New Loom-based backends
Backends based on Loom (Java virtual threads) have been migrated from the tapir-loom project, and are now a part of the main distribution. They require JDK 21. Read more:
Breaking changes
DecodeFailureHandler
DecodeFailureHandler
has become DecodeFailureHandler[F]
to allow effectful error handling. If you're using custom handlers, update them to the new apply
signature:
trait DecodeFailureHandler[F[_]] {
def apply(ctx: DecodeFailureContext)(implicit monad: MonadError[F]): F[Option[ValuedEndpointOutput[_]]]
}
RejectHandler
RejectHandler.apply
no longer takes a Failure
, but a RejectContext
, which encapsulates the failure, and the ServerRequest
as well, allowing using more information for your rejection handling.
trait RejectHandler[F[_]] {
def apply(ctx: RejectContext)(implicit monad: MonadError[F]): F[Option[ValuedEndpointOutput[_]]]
}
Full changelog
- [bugfix] Fix blocking implementation for CatsMonadAsyncError (#3309) @kciesielski
- Add RejectContext to RejectHandler. (#3285) @Grryum
- [tests] Implement serverWithStop in all test interpreters (#3306) @kciesielski
- Add type parameter F[_] to DecodeFailureHandler. (#3281) @Grryum
- Migrate servers from tapir-loom (#3304) @kciesielski
- Fix zio-interop-reactivestreams dependency (#3303) @kciesielski
- Support graceful shutdown in Netty server (#3294) @kciesielski
- syntactic sugar: add Codec.mapEither (#3299) @jnicoulaud-ledger
- feat: Update Iron to v2.3.0 (#3298) @Iltotore
Dependency updates
- Update client3:akka-http-backend, ... to 3.9.1 (#3308) @softwaremill-ci
- Update armeria to 1.26.2 (#3307) @softwaremill-ci
- Update iron to 2.3.0 (#3293) @softwaremill-ci
- Update mdoc, sbt-mdoc to 2.5.0 (#3305) @softwaremill-ci
- Update zio, zio-streams, zio-test, ... to 2.0.19 (#3302) @softwaremill-ci
- Update fs2-reactive-streams to 3.9.3 (#3301) @softwaremill-ci
- Update finatra-http-server, inject-app, ... to 23.11.0 (#3295) @softwaremill-ci
- Update play-json to 3.0.1 (#3300) @softwaremill-ci
v1.8.5
What’s Changed
- Add option to provide custom WS config in zio-http (#3291) @kyri-petrou
- [bugfix] Allow calling Pickler.derive on non-mirrored types (#3289) @kciesielski
Dependency updates
- Update circe-yaml to 1.15.0 (#3292) @softwaremill-ci
v1.8.4
What’s Changed
- Netty server side cancellation (#3256) @kciesielski
- update zio-http server to 3.0.0-RC3 (#3277) @lvitaly
Dependency updates
- Update armeria to 1.26.1 (#3286) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.24.4 (#3283) @softwaremill-ci
- Update sbt-assembly to 2.1.4 (#3279) @softwaremill-ci
- Update armeria to 1.26.0 (#3280) @softwaremill-ci
- Update netty-reactive-streams-http to 3.0.0 (#3262) @softwaremill-ci
v1.8.3
What’s Changed
- Only check content type range parameters if they are present (#3274) @adamw
- Update Play Framework and JsonPlay to support Scala 3 (#3089) @KapStorm (update to Play 3)
- Feature: Add iron's RefinedTypeOps support (#3245) @vbergeron
- Better toString in JsonDecodeException (#3250) @adamw
Dependency updates
- Update pekko-grpc-runtime, ... to 1.0.1 (#3270) @softwaremill-ci
- Update scalafmt-core to 3.7.15 (#3271) @softwaremill-ci
- Update magnolia to 1.3.4 (#3269) @softwaremill-ci
- Update sbt-twirl to 2.0.1 (#3264) @softwaremill-ci
- Update sbt-twirl to 1.6.2 (#3260) @softwaremill-ci
- Update sbt, sbt-dependency-tree to 1.9.7 (#3261) @softwaremill-ci
- Update play-json to 2.10.2 (#3259) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.24.2 (#3258) @softwaremill-ci
- Update netty-reactive-streams-http to 2.0.10 (#3257) @softwaremill-ci
- Update mdoc, sbt-mdoc to 2.4.0 (#3252) @softwaremill-ci
v1.8.2
What’s Changed
- Update sttp-model to 1.7.4, add tests. (#3243) @kamilkloch
- added support for (array of) object without properties (#3247) @rparree
- escaping descriptions when generating endpoint from openapi (#3248) @rparree
- fixed parameter object in OpenAPI is not required (#3246) @rparree
- 3234: use markOptionsAsNullable for Option reference types (#3235) @eanea
Dependency updates
- Update swagger-ui to 5.9.0 (#3244) @softwaremill-ci
- Update sbt-scala-native to 0.4.16 (#3242) @softwaremill-ci
v1.8.1
What’s Changed
Dependency updates
- Update vertx-web to 4.4.6 (#3240) @softwaremill-ci
- Update mdoc, sbt-mdoc to 2.3.8 (#3239) @softwaremill-ci
- Update netty-all to 4.1.100.Final (#3237) @softwaremill-ci
- Update sbt-ide-settings to 1.1.2 (#3238) @softwaremill-ci
v1.8.0
What’s Changed
- Allow usage-site customisation of referenced schemas (#3228) @adamw
- Rework Pickler for coproducts and enums (#3222) @kciesielski
- Use Netty-based server in observability examples (#3224) @rucek
Dependency updates
- Update opentelemetry-api, ... to 1.31.0 (#3231) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.24.1 (#3230) @softwaremill-ci