Releases: softwaremill/tapir
v1.10.3
Note on skipped version
Due to issues with Sonatype Central repository, releases 1.10.1 and 1.10.2 failed with incosistent state, so 1.10.3 is the next version number after 1.10.0.
What’s Changed
- Don't publish artifacts for tests (#3652) @kciesielski
- Update scalafmt-core to 3.8.1 (#3649) @softwaremill-ci
- WebSockets for netty-cats (#3628) @kciesielski
- codegen: implement oneOf support (#3624) @hughsimpson
- Fix tapir on scala 3.4.0: an incorrect form of a tuple type being generated (#3643) @jchyb
- Making sure scala 2.13 is used when importing to IntelliJ (#3640) @ghik
- Lazy InputStream over Netty HttpContent Publisher (#3637) @ghik
- Codegen: Generate attributes on endpoints for any specification extensions defined on path or operation objects (#3599) @hughsimpson
- Simplified and refactored Netty-ReactiveStreams integration (#3636) @ghik
- Graceful Netty server shutdown in case of startup errors (#3558) @goawash
- codegen: Support default values in schema objects (#3614) @hughsimpson
- codegen: Jsoniter support (#840) (#3610) @hughsimpson
- Fix small wording issue in netty.md (#3619) @cptwunderlich
- Allow setting Server header in Netty config (#3615) @kciesielski
- Clear compilation warnings (#3618) @kciesielski
- Performance tests for loom-based backends (#3611) @kciesielski
- Added missing Schema/Codec for cats NonEmptyVector to integration module (#3612) @kastoestoramadus
Dependency updates
- Update swagger-ui to 5.13.0 (#3650) @softwaremill-ci
- Update gatling-sbt to 4.8.2 (#3648) @softwaremill-ci
- Update vertx-web to 4.5.7 (#3641) @softwaremill-ci
- Update fs2-reactive-streams to 3.10.2 (#3646) @softwaremill-ci
- Update armeria to 1.27.3 (#3638) @softwaremill-ci
- Update swagger-ui to 5.12.2 (#3639) @softwaremill-ci
- Update fs2-reactive-streams to 3.10.1 (#3635) @softwaremill-ci
- Update prometheus-metrics-core, ... to 1.2.0 (#3633) @softwaremill-ci
- Update netty-all to 4.1.108.Final (#3631) @softwaremill-ci
- Update vertx-web to 4.5.6 (#3632) @softwaremill-ci
- Update aws-lambda-java-runtime-interface-client to 2.5.0 (#3629) @softwaremill-ci
- Update sbt-buildinfo to 0.12.0 (#3630) @softwaremill-ci
- Update client3:akka-http-backend, ... to 3.9.5 (#3626) @softwaremill-ci
- Update sbt-scalajs, scalajs-compiler, ... to 1.16.0 (#3627) @softwaremill-ci
- Update model:core to 1.7.9 (#3621) @softwaremill-ci
- Update fs2-reactive-streams to 3.10.0 (#3620) @softwaremill-ci
- Update swagger-ui to 5.12.0 (#3622) @softwaremill-ci
- Update model:core to 1.7.8 (#3616) @softwaremill-ci
v1.10.0
You might notice some changes in your generated schemas - all components will now include a title
field, which should fix some rendering issues (more specifically fixing how coproducts are displayed) with newer Swagger UI versions - that's covered in #3593.
Moreover, we're using a new sttp-apispec
release (#3604), which includes a small but binary-incompatible change - adding the uniqueItems
property, making Set
s properly represented in schemas. Not that the incompatibility is only for the sttp-apispec project, it does not affect tapir's core
, only the documentation generation module.
What’s Changed
- codegen: support enum query params (#3602) @hughsimpson
- Schema screaming snake case (#3607) @kamilkloch
- Adding
uniqueItems
property to Set schemas (#3604) @ghik - Codegen: Add new
useHeadTagForObjectNames
flag to permit splitting generated endpoint objects by tag (#3594) @hughsimpson - Better codegen errors (#3601) @hughsimpson
- Automatic propagation of schema name as schema title (#3593) @ghik
- Updated Vertx Cats WebSocket (#3573) @DybekK
- Improve showShort to avoid parsing Uri (#3590) @kciesielski
- Use async-profiler as a recommended tool (#3591) @kciesielski
- Add a delimiter attribute to properly represent delimited values in examples/defaults (#3589) @adamw
- Optimize SimpleSubscriber for Netty (#3583) @kciesielski
- Simplify tapir schema -> openapi schema conversion (#3584) @adamw
- Optimize parsing headers for pekko-http and akka-http (#3575) @kciesielski
- disable connection linger timeout by default (#3576) @fwbrasil
- Remove Netty's SO_TIMEOUT setting (#3579) @kciesielski
Dependency updates
- Update vertx-web to 4.5.5 (#3609) @softwaremill-ci
- Update sbt-assembly to 2.2.0 (#3608) @softwaremill-ci
- Update jackson-module-scala to 2.17.0 (#3603) @softwaremill-ci
- Update play-ahc-ws-standalone to 3.0.2 (#3597) @softwaremill-ci
- Update swagger-ui to 5.11.10 (#3598) @softwaremill-ci
- Update play-ahc-ws-standalone to 2.2.6 (#3595) @softwaremill-ci
- Update jackson-module-scala to 2.16.2 (#3588) @softwaremill-ci
- Update opentelemetry-api, ... to 1.36.0 (#3587) @softwaremill-ci
- Update classgraph to 4.8.168 (#3586) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.28.4 (#3585) @softwaremill-ci
- Update client3:akka-http-backend, ... to 3.9.4 (#3580) @softwaremill-ci
v1.9.11
What’s Changed
- Add .sbt to .gitignore (#3574) @kciesielski
- optimize path input decoding to avoid allocations (#3554) @fwbrasil
- Add benchmarking blogs to docs (#3572) @kciesielski
- Optimize server request .uri for pekko-http and akka-http (#3566) @kciesielski
- optimize channel closing to avoid allocations when flushing pending responses (#3553) @fwbrasil
- avoid allocation in Validator.All.contramap (#3555) @fwbrasil
- Optimize Http4sServerRequest.uri (#3543) @kciesielski
- Make some Endpoint method lazy vals (#3551) @kciesielski
- Update sbt, sbt-dependency-tree to 1.9.9 (#3532) @softwaremill-ci
- Record HdrHistogram for standard REST perf tests (#3533) @kciesielski
- Fix exposing both WS and REST endpoints in http4s perf tests (#3531) @kciesielski
- Perf test: WebSockets (Vert.X) (#3527) @kciesielski
Dependency updates
- Update cats-effect to 3.5.4 (#3571) @softwaremill-ci
- Update classgraph to 4.8.167 (#3569) @softwaremill-ci
- Update http4s-circe, http4s-core, ... to 0.23.26 (#3570) @softwaremill-ci
- Update model:core to 1.7.7 (#3568) @softwaremill-ci
- Update logback-classic to 1.5.3 (#3567) @softwaremill-ci
- Update iron to 2.5.0 (#3564) @softwaremill-ci
- Update logback-classic to 1.5.2 (#3563) @softwaremill-ci
- Update play, play-akka-http-server, ... to 2.9.2 (#3561) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.28.3 (#3560) @softwaremill-ci
- Update play, play-netty-server, ... to 3.0.2 (#3562) @softwaremill-ci
- Update sbt-projectmatrix to 0.10.0 (#3559) @softwaremill-ci
- Update scala3-library, ... to 3.3.3 (#3556) @softwaremill-ci
- Update aws-lambda-java-runtime-interface-client to 2.4.2 (#3542) @softwaremill-ci
- Update logback-classic to 1.5.1 (#3541) @softwaremill-ci
- Update scala-library, scala-reflect to 2.13.13 (#3537) @softwaremill-ci
- Update sbt-twirl to 2.0.4 (#3538) @softwaremill-ci
- Update armeria to 1.27.2 (#3534) @softwaremill-ci
- Update scala-library, scala-reflect to 2.12.19 (#3536) @softwaremill-ci
- Update sbt-softwaremill-browser-test-js, ... to 2.0.19 (#3535) @softwaremill-ci
- Update vertx-web to 4.5.4 (#3530) @softwaremill-ci
v1.9.10
What’s Changed
- Avoid generic type in Netty's RunAsync (#3529) @fwbrasil
- Perf test: WebSockets (pekko-http) (#3526) @kciesielski
- Perf test: WebSockets (http4s) (#3520) @kciesielski
- Codegen multipart body support (#3519) @markussammallahti
- Pin scopt 3.7.1 (#3517) @kciesielski
- Allow running performance test server and simulations separately (#3514) @kciesielski
- Allow to retrieve schema type parameters full name (#3500) @yakivy
- Improve CSV reports for perf tests (#3505) @kciesielski
Dependency updates
- Update gatling-charts-highcharts to 3.10.4 (#3523) @softwaremill-ci
- Update gatling-test-framework to 3.10.4 (#3522) @softwaremill-ci
- Update logback-classic to 1.5.0 (#3521) @softwaremill-ci
- Update netty-all to 4.1.107.Final (#3518) @softwaremill-ci
- Update scopt to 4.1.0 (#3516) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.28.2 (#3513) @softwaremill-ci
- Update gatling-sbt to 4.8.1 (#3511) @softwaremill-ci
- Update opentelemetry-api, ... to 1.35.0 (#3512) @softwaremill-ci
- Update client3:akka-http-backend, ... to 3.9.3 (#3509) @softwaremill-ci
- Update pekko-http to 1.0.1 (#3510) @softwaremill-ci
- Update armeria to 1.27.1 (#3506) @softwaremill-ci
- Update scalacheck-1-17 to 3.2.18.0 (#3508) @softwaremill-ci
- Update scalatest to 3.2.18 (#3507) @softwaremill-ci
- Update zio-prelude to 1.0.0-RC23 (#3503) @softwaremill-ci
- Update vertx-web to 4.5.3 (#3504) @softwaremill-ci
- Update slf4j-api to 2.0.12 (#3501) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.28.1 (#3499) @softwaremill-ci
- Update gatling-sbt to 4.8.0 (#3498) @softwaremill-ci
v1.9.9
What’s Changed
- Guard against bad zio-http Request objects, sometimes provoked by malicious requests (#3494) @swaldman
- Proposal to describe OAuth2 flows (#3490) @leoniv
- Fix Test Reports fail frequently on master (#3497) @DybekK
- Add support for pekko http in sttp client interpreter (#3493) @adamw
Dependency updates
- Update vertx-web to 4.5.2 (#3496) @softwaremill-ci
- Update armeria to 1.27.0 (#3495) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.28.0 (#3492) @softwaremill-ci
v1.9.8
What’s Changed
- [bugfix] Fix memory leak of Netty byte buffer in netty.cats server (#3489) @kciesielski
- Release netty buffers after use (#3485) @easel
- Improvements to the performance testing harness (#3484) @kciesielski
Dependency updates
- Update jsoniter-scala-core, ... to 2.27.7 (#3486) @softwaremill-ci
- Update refined to 0.11.1 (#3487) @softwaremill-ci
v1.9.7
What’s Changed
- Remove dependency on logback-classic and scala-logging where unnecessary (#3471) @hygt
IMPORTANT: This fix removes unwanted dependencies tologback-classic
andscala-logging
from some Tapir modules. This may affect your project, if it is accidentally relying on transitive dependencies. Affected backends aretapir-jdkhttp-server
and Netty-based backends. - Performance tests: Fix warm-up phase (#3479) @kciesielski
- Add Scala 3 support to sttp-mock-server (#3478) @oldstevekenobi
- Fix sttp client content-type header override (#3472) @markarasev
- Update pekko-grpc-runtime, ... to 1.0.2 (#3446) @softwaremill-ci
- Performance tests part 1 (#3434) @kciesielski
- [bugfix] Release Netty buffers (#3469) @kciesielski
- [bugfix] Close the DefaultEventExecutor on shutdown (#3460) @kciesielski
- Better error messages when can't map because a class has more than 22 fields (#3449) @adamw
- Appending multiple variants (#3438) @pramodShehan5
- [bugfix] Don't inherit encodedName (#3430) @kciesielski
- Update sbt, sbt-dependency-tree to 1.9.8 (#3403) @softwaremill-ci
- Add derivation for schemas of union types (#3425) @adamw
Dependency updates
- Update java-dogstatsd-client to 4.3.0 (#3481) @softwaremill-ci
- Update asyncapi-circe-yaml, ... to 0.7.4 (#3483) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.27.6 (#3482) @softwaremill-ci
- Update jackson-module-scala to 2.16.1 (#3480) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.27.5 (#3474) @softwaremill-ci
- Update quicklens to 1.9.7 (#3475) @softwaremill-ci
- Update jackson-module-scala to 2.15.3 (#3473) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.27.4 (#3468) @softwaremill-ci
- Update fs2-reactive-streams to 3.9.4 (#3467) @softwaremill-ci
- Update netty-all to 4.1.106.Final (#3465) @softwaremill-ci
- Update sbt-scala-native to 0.4.17 (#3466) @softwaremill-ci
- Update jwt-circe to 10.0.0 (#3461) @softwaremill-ci
- Update play-json to 3.0.2 (#3459) @softwaremill-ci
- Update zio-prelude to 1.0.0-RC22 (#3462) @softwaremill-ci
- Update client3:akka-http-backend, ... to 3.9.2 (#3456) @softwaremill-ci
- Update jwt-circe to 9.4.6 (#3455) @softwaremill-ci
- Update netty-all to 4.1.105.Final (#3458) @softwaremill-ci
- Update play-json to 2.10.4 (#3457) @softwaremill-ci
- Update cats-effect to 3.5.3 (#3454) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.27.3 (#3453) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.27.2 (#3452) @softwaremill-ci
- Update opentelemetry-api, ... to 1.34.1 (#3451) @softwaremill-ci
- Update upickle to 3.1.4 (#3450) @softwaremill-ci
- Update mdoc, sbt-mdoc to 2.5.2 (#3444) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.27.1 (#3442) @softwaremill-ci
- Update opentelemetry-api, ... to 1.34.0 (#3443) @softwaremill-ci
- Update http4s-circe, http4s-core, ... to 0.23.25 (#3440) @softwaremill-ci
- Update zio, zio-streams, zio-test, ... to 2.0.21 (#3439) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.27.0 (#3436) @softwaremill-ci
- Update http4s-blaze-client to 0.23.16 (#3437) @softwaremill-ci
- Update sbt-projectmatrix to 0.9.2 (#3435) @softwaremill-ci
- Update http4s-blaze-client, ... to 0.23.16 (#3433) @softwaremill-ci
- Update sbt-scalajs, scalajs-compiler, ... to 1.15.0 (#3432) @softwaremill-ci
- Update iron to 2.4.0 (#3431) @softwaremill-ci
- Update play, play-netty-server, ... to 3.0.1 (#3417) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.26.2 (#3429) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.26.1 (#3427) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.26.0 (#3426) @softwaremill-ci
- Update gatling-charts-highcharts to 3.10.3 (#3421) @softwaremill-ci
v1.9.6
What’s Changed
- Updated Http4sWebSockets. (#3393) @kamilkloch
- Added CORSInterceptor example for PekkoServer (#3423) @amorfis
- Use full names in macro to avoid collision - fixes #3407 (#3413) @ivan-klass
- Most examples moved from Scala 2 -> Scala 3 (#3404) @amorfis
Dependency updates
- Update gatling-test-framework to 3.10.3 (#3420) @softwaremill-ci
- Update magnolia to 1.1.8 (#3419) @softwaremill-ci
- Update netty-reactive-streams-http to 3.0.2 (#3418) @softwaremill-ci
- Update play, play-akka-http-server, ... to 2.9.1 (#3414) @softwaremill-ci
- Update gatling-test-framework to 3.10.2 (#3415) @softwaremill-ci
- Update gatling-sbt to 4.7.0 (#3409) @softwaremill-ci
- Update gatling-charts-highcharts to 3.10.0 (#3411) @softwaremill-ci
- Update netty-all to 4.1.104.Final (#3406) @softwaremill-ci
- Update vertx-web to 4.5.1 (#3400) @softwaremill-ci
- Update zio, zio-streams, zio-test, ... to 2.0.20 (#3398) @softwaremill-ci
- Update netty-all to 4.1.103.Final (#3399) @softwaremill-ci
- Update magnolia to 1.1.7 (#3395) @softwaremill-ci
- Update netty-all to 4.1.102.Final (#3396) @softwaremill-ci
v1.9.5
What’s Changed
- Fix Json Schema meta schema ID (#3394) @dvgica
- Fix the hidden schema annotation for Scala 3 (#3392) @adamw
- Support MaxContentLength for zio-http, fix file upload (#3391) @kciesielski
- Add date-time support to codegen (#3390) @markussammallahti
- MaxContentLength for Pekko and Akka, Play, Vertx (#3375) @kciesielski
- When calculating the client ip, allow the possibility of the address to be null (#3389) @adamw
- fix(server): proper path segment decoding (#3386) @finalchild
- Fix Circe Yaml (#3388) @zarthross
- Fix codegen method parsing (#3387) @markussammallahti
- Fix: ContentType is not set for multipart file upload in VertxServer (#3383) @yoskhdia
- MaxContentLength for http4s, jdkhttp, play (#3374) @kciesielski
- fix doc bytes (#3372) @timzaak
Dependency updates
- Update opentelemetry-api, ... to 1.33.0 (#3381) @softwaremill-ci
- Update armeria to 1.26.4 (#3380) @softwaremill-ci
- Update play-ahc-ws-standalone to 2.2.5 (#3376) @softwaremill-ci
- Update sbt-twirl to 2.0.3 (#3379) @softwaremill-ci
- Update netty-reactive-streams-http to 3.0.1 (#3378) @softwaremill-ci
- Update play-ahc-ws-standalone to 3.0.1 (#3377) @softwaremill-ci
v1.9.4
MaxContentLength for Netty
All Netty backends now support restricting maximum request body length. This per-endpoint protection ensures that no more bytes are loaded from body than given limit. Exceeding the limit results in HTTP 413 Payload Too Large response. For details see https://tapir.softwaremill.com/en/latest/endpoint/security.html#limiting-request-body-length for details.
More backends will support this feature in upcoming versions.
- If you have been using the global
NettyConfig.maxContentLength
setting, it's no longer available. Please switch to the new per-endpoint annotation. NettyConfig.defaultNoStreaming
has been removed, useNettyConfig.default
Removed ZIO 1.x modules
Tapir integrations for zio
, zio-json
, zio-http
, etc. are now available only for ZIO 2.x
What’s Changed
- Remove test leftovers (#3370) @kciesielski
- Remove zio1 support (#3369) @kciesielski
- Adjust Play 2.9 to changes in RequestBody (#3368) @kciesielski
- MaxContentLength support for Netty pt 2 (#3337) @kciesielski
- Update pekko-discovery, pekko-slf4j, ... to 1.0.2 (#3363) @softwaremill-ci
- separated test report (#3351) @micsza
- Fix automerge - use squash method. (#3358) @micsza
- use-repo-token-for-rebase-cmd-dispatch (#3353) @micsza
Dependency updates
- Update json4s-core, json4s-jackson to 4.0.7 (#3365) @softwaremill-ci
- Update swagger-ui to 5.10.3 (#3364) @softwaremill-ci
- Update jsoniter-scala-core, ... to 2.25.0 (#3362) @softwaremill-ci
- Update logback-classic to 1.4.14 (#3361) @softwaremill-ci
- Update zio-http to 3.0.0-RC4 (#3357) @softwaremill-ci