From 27804795bf79f02bff63c5db8cd53fe0c5e46807 Mon Sep 17 00:00:00 2001 From: adamw Date: Fri, 18 Nov 2022 19:47:41 +0100 Subject: [PATCH] Release 1.2.2 --- README.md | 2 +- generated-doc/out/client/http4s.md | 2 +- generated-doc/out/client/play.md | 2 +- generated-doc/out/client/sttp.md | 4 ++-- generated-doc/out/docs/asyncapi.md | 2 +- generated-doc/out/docs/openapi.md | 12 ++++++------ generated-doc/out/endpoint/integrations.md | 14 +++++++------- generated-doc/out/endpoint/json.md | 16 ++++++++-------- .../out/generator/sbt-openapi-codegen.md | 2 +- generated-doc/out/grpc.md | 10 +++++++++- generated-doc/out/quickstart.md | 2 +- generated-doc/out/server/akkahttp.md | 4 ++-- generated-doc/out/server/armeria.md | 8 ++++---- generated-doc/out/server/aws.md | 6 +++--- generated-doc/out/server/finatra.md | 4 ++-- generated-doc/out/server/http4s.md | 2 +- generated-doc/out/server/netty.md | 4 ++-- generated-doc/out/server/observability.md | 8 ++++---- generated-doc/out/server/play.md | 2 +- generated-doc/out/server/vertx.md | 8 ++++---- generated-doc/out/server/zio-http4s.md | 6 +++--- generated-doc/out/server/ziohttp.md | 4 ++-- generated-doc/out/testing.md | 10 +++++----- 23 files changed, 71 insertions(+), 63 deletions(-) diff --git a/README.md b/README.md index 724d355bbb..a2927b0939 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ tapir documentation is available at [tapir.softwaremill.com](http://tapir.softwa Add the following dependency: ```sbt -"com.softwaremill.sttp.tapir" %% "tapir-core" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-core" % "1.2.2" ``` Then, import: diff --git a/generated-doc/out/client/http4s.md b/generated-doc/out/client/http4s.md index 64bf52c0a0..66012834b3 100644 --- a/generated-doc/out/client/http4s.md +++ b/generated-doc/out/client/http4s.md @@ -3,7 +3,7 @@ Add the dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-http4s-client" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-http4s-client" % "1.2.2" ``` To interpret an endpoint definition as an `org.http4s.Request[F]`, import: diff --git a/generated-doc/out/client/play.md b/generated-doc/out/client/play.md index 3f10d3c521..a81188275d 100644 --- a/generated-doc/out/client/play.md +++ b/generated-doc/out/client/play.md @@ -3,7 +3,7 @@ Add the dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-play-client" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-play-client" % "1.2.2" ``` To make requests using an endpoint definition using the [play client](https://github.com/playframework/play-ws), import: diff --git a/generated-doc/out/client/sttp.md b/generated-doc/out/client/sttp.md index ce2b626058..85a2e265dc 100644 --- a/generated-doc/out/client/sttp.md +++ b/generated-doc/out/client/sttp.md @@ -3,7 +3,7 @@ Add the dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-sttp-client" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-sttp-client" % "1.2.2" ``` To make requests using an endpoint definition using the [sttp client](https://github.com/softwaremill/sttp), import: @@ -102,7 +102,7 @@ In this case add the following dependencies (note the [`%%%`](https://www.scala- instead of the usual `%%`): ```scala -"com.softwaremill.sttp.tapir" %%% "tapir-sttp-client" % "1.2.1" +"com.softwaremill.sttp.tapir" %%% "tapir-sttp-client" % "1.2.2" "io.github.cquiroz" %%% "scala-java-time" % "2.2.0" // implementations of java.time classes for Scala.JS ``` diff --git a/generated-doc/out/docs/asyncapi.md b/generated-doc/out/docs/asyncapi.md index 122b97e861..4ff9849a30 100644 --- a/generated-doc/out/docs/asyncapi.md +++ b/generated-doc/out/docs/asyncapi.md @@ -3,7 +3,7 @@ To use, add the following dependencies: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-asyncapi-docs" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-asyncapi-docs" % "1.2.2" "com.softwaremill.sttp.apispec" %% "asyncapi-circe-yaml" % "..." // see https://github.com/softwaremill/sttp-apispec ``` diff --git a/generated-doc/out/docs/openapi.md b/generated-doc/out/docs/openapi.md index 7de03ecdc5..b0fb9ab71c 100644 --- a/generated-doc/out/docs/openapi.md +++ b/generated-doc/out/docs/openapi.md @@ -13,7 +13,7 @@ these steps can be done separately, giving you complete control over the process To generate OpenAPI documentation and expose it using the Swagger UI in a single step, first add the dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-swagger-ui-bundle" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-swagger-ui-bundle" % "1.2.2" ``` Then, you can interpret a list of endpoints using `SwaggerInterpreter`. The result will be a list of file-serving @@ -55,7 +55,7 @@ for details. Similarly as above, you'll need the following dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-redoc-bundle" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-redoc-bundle" % "1.2.2" ``` And the server endpoints can be generated using the `sttp.tapir.redoc.bundle.RedocInterpreter` class. @@ -65,7 +65,7 @@ And the server endpoints can be generated using the `sttp.tapir.redoc.bundle.Red To generate the docs in the OpenAPI yaml format, add the following dependencies: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-openapi-docs" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-openapi-docs" % "1.2.2" "com.softwaremill.sttp.apispec" %% "openapi-circe-yaml" % "..." // see https://github.com/softwaremill/sttp-apispec ``` @@ -133,7 +133,7 @@ For example, generating the OpenAPI 3.1.0 YAML string can be achieved by perform Firstly add dependencies: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-openapi-docs" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-openapi-docs" % "1.2.2" "com.softwaremill.sttp.apispec" %% "openapi-circe-yaml" % "..." // see https://github.com/softwaremill/sttp-apispec ``` @@ -164,12 +164,12 @@ The modules `tapir-swagger-ui` and `tapir-redoc` contain server endpoint definit yaml format, will expose it using the given context path. To use, add as a dependency either `tapir-swagger-ui`: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-swagger-ui" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-swagger-ui" % "1.2.2" ``` or `tapir-redoc`: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-redoc" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-redoc" % "1.2.2" ``` Then, you'll need to pass the server endpoints to your server interpreter. For example, using akka-http: diff --git a/generated-doc/out/endpoint/integrations.md b/generated-doc/out/endpoint/integrations.md index a5c296911d..73da18c776 100644 --- a/generated-doc/out/endpoint/integrations.md +++ b/generated-doc/out/endpoint/integrations.md @@ -14,7 +14,7 @@ The `tapir-cats` module contains additional instances for some [cats](https://ty datatypes as well as additional syntax: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-cats" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-cats" % "1.2.2" ``` - `import sttp.tapir.integ.cats.codec._` - brings schema, validator and codec instances @@ -26,7 +26,7 @@ If you use [refined](https://github.com/fthomas/refined), the `tapir-refined` mo validators for `T Refined P` as long as a codec for `T` already exists: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-refined" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-refined" % "1.2.2" ``` You'll need to extend the `sttp.tapir.codec.refined.TapirCodecRefined` @@ -47,7 +47,7 @@ The `tapir-enumeratum` module provides schemas, validators and codecs for [Enume enumerations. To use, add the following dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-enumeratum" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-enumeratum" % "1.2.2" ``` Then, `import sttp.tapir.codec.enumeratum._`, or extends the `sttp.tapir.codec.enumeratum.TapirCodecEnumeratum` trait. @@ -60,7 +60,7 @@ If you use [scala-newtype](https://github.com/estatico/scala-newtype), the `tapi schemas for types with a `@newtype` and `@newsubtype` annotations as long as a codec and schema for its underlying value already exists: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-newtype" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-newtype" % "1.2.2" ``` Then, `import sttp.tapir.codec.newtype._`, or extend the `sttp.tapir.codec.newtype.TapirCodecNewType` trait to bring the implicit values into scope. @@ -71,7 +71,7 @@ If you use [monix newtypes](https://github.com/monix/newtypes), the `tapir-monix schemas for types which extend `NewtypeWrapped` and `NewsubtypeWrapped` annotations as long as a codec and schema for its underlying value already exists: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-monix-newtype" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-monix-newtype" % "1.2.2" ``` Then, `import sttp.tapir.codec.monix.newtype._`, or extend the `sttp.tapir.codec.monix.newtype.TapirCodecMonixNewType` trait to bring the implicit values into scope. @@ -82,7 +82,7 @@ If you use [ZIO Prelude Newtypes](https://zio.github.io/zio-prelude/docs/newtype schemas for types defined using `Newtype` and `Subtype` as long as a codec and a schema for the underlying type already exists: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-zio-prelude" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-zio-prelude" % "1.2.2" ``` Then, mix in `sttp.tapir.codec.zio.prelude.newtype.TapirNewtypeSupport` into your newtype to bring the implicit values into scope: @@ -121,7 +121,7 @@ For details refer to [derevo documentation](https://github.com/tofu-tf/derevo#in To use, add the following dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-derevo" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-derevo" % "1.2.2" ``` Then you can derive schema for your ADT along with other typeclasses besides ADT declaration itself: diff --git a/generated-doc/out/endpoint/json.md b/generated-doc/out/endpoint/json.md index e036c60112..b0112d2d6f 100644 --- a/generated-doc/out/endpoint/json.md +++ b/generated-doc/out/endpoint/json.md @@ -45,7 +45,7 @@ stringJsonBody.schema(implicitly[Schema[MyBody]].as[String]) To use [Circe](https://github.com/circe/circe), add the following dependency to your project: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-json-circe" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-json-circe" % "1.2.2" ``` Next, import the package (or extend the `TapirJsonCirce` trait, see [MyTapir](../mytapir.md)): @@ -118,7 +118,7 @@ Now the above JSON object will render as To use [µPickle](http://www.lihaoyi.com/upickle/) add the following dependency to your project: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-json-upickle" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-json-upickle" % "1.2.2" ``` Next, import the package (or extend the `TapirJsonuPickle` trait, see [MyTapir](../mytapir.md) and add `TapirJsonuPickle` not `TapirCirceJson`): @@ -153,7 +153,7 @@ For more examples, including making a custom encoder/decoder, see [TapirJsonuPic To use [Play JSON](https://github.com/playframework/play-json) add the following dependency to your project: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-json-play" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-json-play" % "1.2.2" ``` Next, import the package (or extend the `TapirJsonPlay` trait, see [MyTapir](../mytapir.md) and add `TapirJsonPlay` not `TapirCirceJson`): @@ -169,7 +169,7 @@ Play JSON requires `Reads` and `Writes` implicit values in scope for each type y To use [Spray JSON](https://github.com/spray/spray-json) add the following dependency to your project: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-json-spray" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-json-spray" % "1.2.2" ``` Next, import the package (or extend the `TapirJsonSpray` trait, see [MyTapir](../mytapir.md) and add `TapirJsonSpray` not `TapirCirceJson`): @@ -185,7 +185,7 @@ Spray JSON requires a `JsonFormat` implicit value in scope for each type you wan To use [Tethys JSON](https://github.com/tethys-json/tethys) add the following dependency to your project: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-json-tethys" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-json-tethys" % "1.2.2" ``` Next, import the package (or extend the `TapirJsonTethys` trait, see [MyTapir](../mytapir.md) and add `TapirJsonTethys` not `TapirCirceJson`): @@ -201,7 +201,7 @@ Tethys JSON requires `JsonReader` and `JsonWriter` implicit values in scope for To use [Jsoniter-scala](https://github.com/plokhotnyuk/jsoniter-scala) add the following dependency to your project: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-jsoniter-scala" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-jsoniter-scala" % "1.2.2" ``` Next, import the package (or extend the `TapirJsonJsoniter` trait, see [MyTapir](../mytapir.md) and add `TapirJsonJsoniter` not `TapirCirceJson`): @@ -217,7 +217,7 @@ Jsoniter Scala requires `JsonValueCodec` implicit value in scope for each type y To use [json4s](https://github.com/json4s/json4s) add the following dependencies to your project: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-json-json4s" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-json-json4s" % "1.2.2" ``` And one of the implementations: @@ -248,7 +248,7 @@ implicit val formats: Formats = org.json4s.jackson.Serialization.formats(NoTypeH To use [zio-json](https://github.com/zio/zio-json), add the following dependency to your project: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-json-zio" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-json-zio" % "1.2.2" ``` Next, import the package (or extend the `TapirJsonZio` trait, see [MyTapir](../mytapir.md) and add `TapirJsonZio` instead of `TapirCirceJson`): diff --git a/generated-doc/out/generator/sbt-openapi-codegen.md b/generated-doc/out/generator/sbt-openapi-codegen.md index 6b055a6b03..e64499ab28 100644 --- a/generated-doc/out/generator/sbt-openapi-codegen.md +++ b/generated-doc/out/generator/sbt-openapi-codegen.md @@ -11,7 +11,7 @@ Add the sbt plugin to the `project/plugins.sbt`: ```scala -addSbtPlugin("com.softwaremill.sttp.tapir" % "sbt-openapi-codegen" % "1.2.1") +addSbtPlugin("com.softwaremill.sttp.tapir" % "sbt-openapi-codegen" % "1.2.2") ``` Enable the plugin for your project in the `build.sbt`: diff --git a/generated-doc/out/grpc.md b/generated-doc/out/grpc.md index c8be42e671..6006e72087 100644 --- a/generated-doc/out/grpc.md +++ b/generated-doc/out/grpc.md @@ -28,6 +28,8 @@ Definition of an endpoint's inputs and output format is very similar to the one endpoint body constructor helper `sttp.tapir.grpc.protobuf.pbdirect.grpcBody[T]` that based on the type `T` create a body definition that can be passed to as input or output of a given endpoint e.g. `endpoint.in(grpcBody[AddSimpleBook]).out(grpcBody[SimpleBook])`. +Mapping for basic types are defined (e.g. `java.lang.String` -> `string`), but the target protobuf type can be simply customized via `.attribute` schema feature +(e.g. `implicit newSchema = implicitly[Derived[Schema[SimpleBook]]].value.modify(_.title)(_.attribute(ProtobufAttributes.ScalarValueAttribute, ProtobufScalarType.ProtobufBytes))` Currently, the only supported protocol is protobuf. On the server side, we use a [PBDirect](https://github.com/47degrees/pbdirect) library for encoding and decoding messages. It derives codecs from a @@ -66,4 +68,10 @@ you can find a simple example. It's worth mentioning that by adjusting slightly encoders/decoders it's possible to expose gRPC endpoints with `AkkaHttpServerInterpreter` as simple HTTP endpoints. This approach is not recommended, because it does not support -transmitting multiple messages in a single http request. \ No newline at end of file +transmitting multiple messages in a single http request. + +## Supported data formats +* Basic scalar types +* Collections (repeated values) +* Top level and nested products +* Tapir schema derivation for coproducts (sealed traits) is supported, but we're missing codecs on the pbdirect side out of the box (oneof) \ No newline at end of file diff --git a/generated-doc/out/quickstart.md b/generated-doc/out/quickstart.md index 560d4fa77d..7d5036b943 100644 --- a/generated-doc/out/quickstart.md +++ b/generated-doc/out/quickstart.md @@ -3,7 +3,7 @@ To use tapir, add the following dependency to your project: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-core" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-core" % "1.2.2" ``` This will import only the core classes needed to create endpoint descriptions. To generate a server or a client, you diff --git a/generated-doc/out/server/akkahttp.md b/generated-doc/out/server/akkahttp.md index d7d5545ddb..8ad7b58daa 100644 --- a/generated-doc/out/server/akkahttp.md +++ b/generated-doc/out/server/akkahttp.md @@ -4,14 +4,14 @@ To expose an endpoint as an [akka-http](https://doc.akka.io/docs/akka-http/curre dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-akka-http-server" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-akka-http-server" % "1.2.2" ``` This will transitively pull some Akka modules in version 2.6. If you want to force your own Akka version (for example 2.5), use sbt exclusion. Mind the Scala version in artifact name: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-akka-http-server" % "1.2.1" exclude("com.typesafe.akka", "akka-stream_2.12") +"com.softwaremill.sttp.tapir" %% "tapir-akka-http-server" % "1.2.2" exclude("com.typesafe.akka", "akka-stream_2.12") ``` Now import the object: diff --git a/generated-doc/out/server/armeria.md b/generated-doc/out/server/armeria.md index 3810361612..2e3efeb21c 100644 --- a/generated-doc/out/server/armeria.md +++ b/generated-doc/out/server/armeria.md @@ -8,7 +8,7 @@ Armeria interpreter can be used with different effect systems (cats-effect, ZIO) Add the following dependency ```scala -"com.softwaremill.sttp.tapir" %% "tapir-armeria-server" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-armeria-server" % "1.2.2" ``` and import the object: @@ -75,7 +75,7 @@ Note that Armeria automatically injects an `ExecutionContext` on top of Armeria' Add the following dependency ```scala -"com.softwaremill.sttp.tapir" %% "tapir-armeria-server-cats" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-armeria-server-cats" % "1.2.2" ``` to use this interpreter with Cats Effect typeclasses. @@ -155,9 +155,9 @@ Add the following dependency ```scala // for zio 2: -"com.softwaremill.sttp.tapir" %% "tapir-armeria-server-zio" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-armeria-server-zio" % "1.2.2" // for zio 1: -"com.softwaremill.sttp.tapir" %% "tapir-armeria-server-zio1" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-armeria-server-zio1" % "1.2.2" ``` to use this interpreter with ZIO. diff --git a/generated-doc/out/server/aws.md b/generated-doc/out/server/aws.md index 975f752f11..f3bdcf1531 100644 --- a/generated-doc/out/server/aws.md +++ b/generated-doc/out/server/aws.md @@ -13,7 +13,7 @@ To implement the Lambda function, a server interpreter is available, which takes Currently, only an interpreter integrating with cats-effect is available (`AwsCatsEffectServerInterpreter`). To use, add the following dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-aws-lambda" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-aws-lambda" % "1.2.2" ``` To configure API Gateway and the Lambda function, you can use: @@ -24,8 +24,8 @@ To configure API Gateway and the Lambda function, you can use: Add one of the following dependencies: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-aws-sam" % "1.2.1" -"com.softwaremill.sttp.tapir" %% "tapir-aws-terraform" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-aws-sam" % "1.2.2" +"com.softwaremill.sttp.tapir" %% "tapir-aws-terraform" % "1.2.2" ``` ## Examples diff --git a/generated-doc/out/server/finatra.md b/generated-doc/out/server/finatra.md index af864f9855..257e666c7a 100644 --- a/generated-doc/out/server/finatra.md +++ b/generated-doc/out/server/finatra.md @@ -4,7 +4,7 @@ To expose an endpoint as an [finatra](https://twitter.github.io/finatra/) server dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-finatra-server" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-finatra-server" % "1.2.2" ``` and import the object: @@ -17,7 +17,7 @@ This interpreter supports the twitter `Future`. Or, if you would like to use cats-effect project, you can add the following dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-finatra-server-cats" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-finatra-server-cats" % "1.2.2" ``` and import the object: diff --git a/generated-doc/out/server/http4s.md b/generated-doc/out/server/http4s.md index 3191e29de3..edbb8ebefc 100644 --- a/generated-doc/out/server/http4s.md +++ b/generated-doc/out/server/http4s.md @@ -4,7 +4,7 @@ To expose an endpoint as an [http4s](https://http4s.org) server, first add the f dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-http4s-server" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-http4s-server" % "1.2.2" ``` and import the object: diff --git a/generated-doc/out/server/netty.md b/generated-doc/out/server/netty.md index 2b0f48c4e3..66011d34c8 100644 --- a/generated-doc/out/server/netty.md +++ b/generated-doc/out/server/netty.md @@ -4,10 +4,10 @@ To expose an endpoint using a [Netty](https://netty.io)-based server, first add ```scala // if you are using Future or just exploring -"com.softwaremill.sttp.tapir" %% "tapir-netty-server" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-netty-server" % "1.2.2" // if you are using cats-effect: -"com.softwaremill.sttp.tapir" %% "tapir-netty-server-cats" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-netty-server-cats" % "1.2.2" ``` Then, use: diff --git a/generated-doc/out/server/observability.md b/generated-doc/out/server/observability.md index 9b713cc231..00edf7f683 100644 --- a/generated-doc/out/server/observability.md +++ b/generated-doc/out/server/observability.md @@ -49,7 +49,7 @@ val labels = MetricLabels( Add the following dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-prometheus-metrics" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-prometheus-metrics" % "1.2.2" ``` `PrometheusMetrics` encapsulates `CollectorReqistry` and `Metric` instances. It provides several ready to use metrics as @@ -130,7 +130,7 @@ val prometheusMetrics = PrometheusMetrics[Future]("tapir", CollectorRegistry.def Add the following dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-opentelemetry-metrics" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-opentelemetry-metrics" % "1.2.2" ``` OpenTelemetry metrics are vendor-agnostic and can be exported using one @@ -157,7 +157,7 @@ val metricsInterceptor = metrics.metricsInterceptor() // add to your server opti Add the following dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-datadog-metrics" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-datadog-metrics" % "1.2.2" ``` Datadog metrics are sent as Datadog custom metrics through @@ -224,7 +224,7 @@ val datadogMetrics = DatadogMetrics.default[Future](statsdClient) Add the following dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-zio-metrics" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-zio-metrics" % "1.2.2" ``` Metrics have been integrated into ZIO core in ZIO2. diff --git a/generated-doc/out/server/play.md b/generated-doc/out/server/play.md index 38c21dd820..523b6e5f29 100644 --- a/generated-doc/out/server/play.md +++ b/generated-doc/out/server/play.md @@ -3,7 +3,7 @@ To expose endpoint as a [play-server](https://www.playframework.com/) first add the following dependencies: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-play-server" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-play-server" % "1.2.2" ``` and (if you don't already depend on Play) diff --git a/generated-doc/out/server/vertx.md b/generated-doc/out/server/vertx.md index 1f7be49237..81c9640f2a 100644 --- a/generated-doc/out/server/vertx.md +++ b/generated-doc/out/server/vertx.md @@ -8,7 +8,7 @@ Vert.x interpreter can be used with different effect systems (cats-effect, ZIO) Add the following dependency ```scala -"com.softwaremill.sttp.tapir" %% "tapir-vertx-server" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-vertx-server" % "1.2.2" ``` to use this interpreter with `Future`. @@ -63,7 +63,7 @@ It's also possible to define an endpoint together with the server logic in a sin Add the following dependency ```scala -"com.softwaremill.sttp.tapir" %% "tapir-vertx-server-cats" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-vertx-server-cats" % "1.2.2" ``` to use this interpreter with Cats Effect typeclasses. @@ -146,9 +146,9 @@ Add the following dependency ```scala // for zio2: -"com.softwaremill.sttp.tapir" %% "tapir-vertx-server-zio" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-vertx-server-zio" % "1.2.2" // for zio1: -"com.softwaremill.sttp.tapir" %% "tapir-vertx-server-zio1" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-vertx-server-zio1" % "1.2.2" ``` to use this interpreter with ZIO. diff --git a/generated-doc/out/server/zio-http4s.md b/generated-doc/out/server/zio-http4s.md index aaaee20c95..53bb47c161 100644 --- a/generated-doc/out/server/zio-http4s.md +++ b/generated-doc/out/server/zio-http4s.md @@ -9,16 +9,16 @@ The `*-zio` modules depend on ZIO 2.x. For ZIO 1.x support, use modules with the You'll need the following dependency for the `ZServerEndpoint` type alias and helper classes: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-zio" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-zio" % "1.2.2" ``` or just add the zio-http4s integration which already depends on `tapir-zio`: ```scala // for zio 2: -"com.softwaremill.sttp.tapir" %% "tapir-http4s-server-zio" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-http4s-server-zio" % "1.2.2" // for zio 1: -"com.softwaremill.sttp.tapir" %% "tapir-http4s-server-zio1" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-http4s-server-zio1" % "1.2.2" ``` Next, instead of the usual `import sttp.tapir._`, you should import (or extend the `ZTapir` trait, see [MyTapir](../mytapir.md)): diff --git a/generated-doc/out/server/ziohttp.md b/generated-doc/out/server/ziohttp.md index f01cb8dd9a..af500fcf6c 100644 --- a/generated-doc/out/server/ziohttp.md +++ b/generated-doc/out/server/ziohttp.md @@ -9,13 +9,13 @@ The `*-zio` modules depend on ZIO 2.x. For ZIO 1.x support, use modules with the You'll need the following dependency for the `ZServerEndpoint` type alias and helper classes: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-zio" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-zio" % "1.2.2" ``` or just add the zio-http integration which already depends on `tapir-zio`: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-zio-http-server" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-zio-http-server" % "1.2.2" ``` Next, instead of the usual `import sttp.tapir._`, you should import (or extend the `ZTapir` trait, see [MyTapir](../mytapir.md)): diff --git a/generated-doc/out/testing.md b/generated-doc/out/testing.md index c5148ea615..f827f2dcb7 100644 --- a/generated-doc/out/testing.md +++ b/generated-doc/out/testing.md @@ -23,7 +23,7 @@ Tapir builds upon the `SttpBackendStub` to enable stubbing using `Endpoint`s or dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-sttp-stub-server" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-sttp-stub-server" % "1.2.2" ``` Let's assume you are using the [akka http](server/akkahttp.md) interpreter. Given the following server endpoint: @@ -140,7 +140,7 @@ requests matching an endpoint, you can use the tapir `SttpBackendStub` extension Similarly as when testing server interpreters, add the dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-sttp-stub-server" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-sttp-stub-server" % "1.2.2" ``` And the following imports: @@ -195,7 +195,7 @@ with [mock-server](https://www.mock-server.com/) Add the following dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-sttp-mock-server" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-sttp-mock-server" % "1.2.2" ``` Imports: @@ -266,7 +266,7 @@ result == out To use, add the following dependency: ```scala -"com.softwaremill.sttp.tapir" %% "tapir-testing" % "1.2.1" +"com.softwaremill.sttp.tapir" %% "tapir-testing" % "1.2.2" ``` ### Shadowed endpoints @@ -292,7 +292,7 @@ Results in: ```scala res.toString -// res2: String = "Set(GET /x/y/x, is shadowed by: GET /x/*, GET /x, is shadowed by: GET /x/*)" +// res2: String = "Set(GET /x, is shadowed by: GET /x/*, GET /x/y/x, is shadowed by: GET /x/*)" ``` Example 2: