tapir

Declarative, type-safe web endpoints library

APACHE-2.0 License

Stars
1.3K
Committers
297

Bot releases are visible (Hide)

tapir - v0.17.14

Published by github-actions[bot] over 3 years ago

What’s Changed

  • Update client3:akka-http-backend, ... to 3.1.7 (#1057) @scala-steward
  • Update json4s-core, json4s-jackson to 3.6.11 (#1055) @scala-steward
  • Update http4s-blaze-server, http4s-circe, ... to 0.21.20 (#1056) @scala-steward
  • Fix WebSocketBodyOutput's setters and comments (#1054) @mkobzik
  • Add contextPath capability to RedocHttp4s handler (#1042) @vbouzon
  • WebSocket client properly handle fragmented frames (#1034) @dkarwacki
  • Update tethys-core, tethys-derivation, ... to 0.23.0 (#1052) @scala-steward
  • Update swagger-ui to 3.44.0 (#1049) @scala-steward
  • Update client3:akka-http-backend, ... to 3.1.6 (#1045) @scala-steward
tapir - v0.17.13

Published by github-actions[bot] over 3 years ago

What’s Changed

  • Add instances of ModifyFunctor for cats.data collections (#1044) @matwojcik
  • Update scalatest to 3.2.5 (#1031) @scala-steward
  • Fix streaming from vertx streams (#1028) @danilbykov
  • Update cats-effect to 2.3.3 (#1025) @scala-steward
  • Update mdoc_2.12, sbt-mdoc to 2.2.18 (#1024) @scala-steward
  • Add InvariantSemigroupal instances for Endpoint(Input|IO|Output) (#1023) @nigredo-tori
  • Update catbird-effect, catbird-finagle to 21.2.0 (#1039) @scala-steward
  • Update akka-http to 10.2.4 (#1038) @scala-steward
  • Update client3:akka-http-backend, ... to 3.1.5 (#1037) @scala-steward
  • Update akka-stream to 2.6.13 (#1036) @scala-steward
  • Update shared:akka, shared:core, shared:fs2, ... to 1.1.1 (#1035) @scala-steward
  • Update scala-java-time, ... to 2.2.0 (#1033) @scala-steward
  • Update client3:akka-http-backend, ... to 3.1.3 (#1030) @scala-steward
  • Update discipline-scalatest to 2.1.2 (#1029) @scala-steward
  • Update refined to 0.9.21 (#1027) @scala-steward
  • Update scalatest to 3.2.4 (#1026) @scala-steward
tapir - v0.17.12

Published by github-actions[bot] over 3 years ago

What’s Changed

  • Update cats-core, cats-laws to 2.4.2 (#1021) @scala-steward
  • Update cats-effect to 2.3.2 (#1022) @scala-steward
  • Derevo integration (#1014) @FunFunFine
  • add integration with scala-newtype (#1017) @dkarwacki
  • Update scalacheck to 1.15.3 (#1019) @scala-steward
tapir - v0.17.11

Published by github-actions[bot] over 3 years ago

What’s Changed

  • return correct OpenAPI yaml for json values (#1013) @dkarwacki
  • return Unsupported Media Type when Content-Type header doesn't match (#1007) @dkarwacki
  • Update jsoniter-scala-core, ... to 2.6.4 (#1011) @scala-steward
  • Update http4s-blaze-server, http4s-circe, ... to 0.21.19 (#1012) @scala-steward
  • Update tethys-core, tethys-derivation, ... to 0.22.0 (#1016) @scala-steward
  • test if value-less params are supported (#1015) @dkarwacki
  • Update zio-interop-cats to 2.3.1.0 (#1010) @scala-steward
  • Update sbt-scalajs, scalajs-compiler, ... to 1.5.0 (#1009) @scala-steward
  • Update swagger-ui to 3.43.0 (#1008) @scala-steward
  • Update finatra-http, inject-app, ... to 21.2.0 (#1006) @scala-steward
tapir - v0.17.10

Published by github-actions[bot] over 3 years ago

What’s Changed

  • Update scalacheck-toolbox-datetime to 0.5.0 (#991) @scala-steward
  • correct circe encoder for OpenAPI (#1003) @dkarwacki
  • Update cats-core, cats-laws to 2.4.1 (#1005) @scala-steward
  • Update client3:akka-http-backend, ... to 3.1.1 (#1004) @scala-steward
  • Add example value to Schema (#999) @dkarwacki
  • Update tethys-core, tethys-derivation, ... to 0.21.0 (#998) @scala-steward
  • make tokenUrl optional as Oauth implicit grant flow doesn't use it (#997) @dkarwacki
  • use SString schema for LocalDateTime codec (#989) @dkarwacki
  • Update mdoc_2.12, sbt-mdoc to 2.2.17 (#996) @scala-steward
  • Update vertx-web to 4.0.2 (#992) @scala-steward
  • Update swagger-ui to 3.42.0 (#990) @scala-steward
  • Update model:core to 1.3.3 (#988) @scala-steward
  • Update http4s-blaze-server, http4s-circe, ... to 0.21.18 (#987) @scala-steward
  • Update vertx-web to 4.0.1 (#986) @scala-steward
tapir - v0.17.9

Published by github-actions[bot] over 3 years ago

What’s Changed

  • Update http4s-blaze-server, http4s-circe, ... to 0.21.17 (#983) @scala-steward
  • Add default key to Schema and openAPI documentation (#824) @esthomw
  • Swagger doc for vertx (#981) @danilbykov
  • Add option to specify custom class names for OpenAPI and AsyncAPI schemas (#985) @dkarwacki
  • Update zio, zio-streams to 1.0.4-2 (#984) @scala-steward
  • Update zio, zio-streams to 1.0.4-1 (#982) @scala-steward
  • Vertx tests for zio (#980) @danilbykov
  • Update jsoniter-scala-macros to 2.6.3 (#979) @scala-steward
  • Update jsoniter-scala-core to 2.6.3 (#978) @scala-steward
tapir - v0.17.8

Published by github-actions[bot] over 3 years ago

What’s Changed

  • Fix #933: add example support to AsyncAPI (#973) @adamw
  • Update client3:akka-http-backend, ... to 3.1.0 (#976) @scala-steward
  • Update shared:akka, shared:core, shared:fs2, ... to 1.1.0 (#977) @scala-steward
  • Support cats and zio in vertx interpreter (#934) @danilbykov
  • Update akka-stream to 2.6.12 (#975) @scala-steward
  • Update upickle to 1.2.3 (#974) @scala-steward
  • Remove global execution context from play server interpreter (#971) @jkobejs
  • oauth2 authorization example with http4s (#970) @michalo2882
  • Update model:core to 1.2.1 (#969) @scala-steward
  • Update tethys-core, tethys-derivation, ... to 0.20.0 (#968) @scala-steward
  • Introduce custom implicitNotFound error for Schema (#966) @majk-p
  • Update http4s-blaze-server, http4s-circe, ... to 0.21.16 (#967) @scala-steward
  • Remove logback dependency from sttp-client module (#964) @kubukoz
  • add json4s support (#961) @michalo2882
  • fix branch filter in GH workflows config (#962) @michalo2882
  • SchemaMagnoliaDerivation.enrichSchema refactoring (#959) @ptol
  • Update zio, zio-streams to 1.0.4 (#958) @scala-steward
tapir - v0.17.7

Published by github-actions[bot] over 3 years ago

What’s Changed

  • validate annotation (#956) @ptol
  • Add redocVersion parameter for RedocHttp4s (#955) @vbouzon
  • Update mdoc_2.12.12, sbt-mdoc to 2.2.16 (#954) @scala-steward
tapir - v0.17.6

Published by github-actions[bot] almost 4 years ago

What’s Changed

  • Include the _root_ prefix in quasiquotes to ensure macro hygiene (#949) @propensive
  • Update akka-http to 10.2.3 (#951) @scala-steward
  • Update mdoc, sbt-mdoc to 2.2.15 (#950) @scala-steward
tapir - v0.17.5

Published by github-actions[bot] almost 4 years ago

What’s Changed

  • Fixes #946: clear validator cache during derivation (#948) @adamw
  • Update finatra-http, inject-app, ... to 21.1.0 (#943) @scala-steward
  • Fixes #945: also cache coproducts during derivation. Add note on semi-auto derivation of recursive schemas. (#947) @adamw
  • Update swagger-ui to 3.40.0 (#942) @scala-steward
  • Update akka-stream to 2.6.11 (#941) @scala-steward
tapir - v0.17.4

Published by github-actions[bot] almost 4 years ago

What’s Changed

  • Update shared:akka, shared:core, shared:fs2, ... to 1.0.0 (#939) @scala-steward
  • Update model:core to 1.2.0 (#938) @scala-steward
  • Simplify BookExample (#937) @simpadjo
  • Update sbt-scalajs, scalajs-compiler, ... to 1.4.0 (#935) @scala-steward
tapir - v0.17.3

Published by github-actions[bot] almost 4 years ago

When migrating to 0.17.x, see the release notes for 0.17.0

What’s Changed

  • make creation of http clients easier (#920) @simpadjo
tapir - v0.17.2

Published by github-actions[bot] almost 4 years ago

When migrating to 0.17.x, see the release notes for 0.17.0

What’s Changed

  • Handle responses with the same status code and different media types (#919) @danilbykov
  • Fix rendering exclusive bounds in OpenAPI (#898) @JJag
  • cleanup some deadcode warnings (#932) @simpadjo
  • Update refined to 0.9.20 (#930) @scala-steward
  • Cleanup warnings (#928) @simpadjo
  • Fix some warnings (#921) @simpadjo
  • Add "-Ywarn-macros:after" option (#925) @simpadjo
  • Update play-json to 2.9.2 (#926) @scala-steward
  • Update http4s-blaze-server, http4s-circe, ... to 0.21.15 (#916) @scala-steward
  • Update discipline-scalatest to 2.1.1 (#912) @scala-steward
  • Update mdoc, sbt-mdoc to 2.2.14 (#910) @scala-steward
  • Update cats-effect to 2.3.1 (#914) @scala-steward
  • Update shared:akka, shared:core, shared:fs2, ... to 1.0.0-RC11 (#902) @scala-steward
  • Update client3:akka-http-backend, ... to 3.0.0-RC13 (#900) @scala-steward
  • Update swagger-ui to 3.38.0 (#913) @scala-steward
  • Update cats-core, cats-effect, cats-laws to 2.3.1 (#911) @scala-steward
  • Update scalacheck to 1.15.2 (#909) @scala-steward
  • Update http4s-blaze-server, http4s-circe, ... to 0.21.14 (#908) @scala-steward
  • Update scala-java-time, ... to 2.1.0 (#907) @scala-steward
  • Update refined to 0.9.19 (#906) @scala-steward
  • Update play, play-akka-http-server, ... to 2.8.7 (#905) @scala-steward
  • Update akka-http to 10.2.2 (#904) @scala-steward
  • Update finatra-http, inject-app, ... to 20.12.0 (#903) @scala-steward
  • Update model:core to 1.2.0-RC9 (#901) @scala-steward
  • Update sbt-projectmatrix to 0.7.0 (#899) @scala-steward
tapir - v0.17.1

Published by github-actions[bot] almost 4 years ago

When migrating to 0.17.x, see the release notes for 0.17.0

What’s Changed

  • Fixes #893: access to the underlying request via ServerRequest (#895) @adamw
  • Closes #889: explicit interpreters instead of extension methods (#894) @adamw
  • Fixes #890: Accept authorization type in lower case (#892) @adamw
  • JSON specific decode errors (#877) @markarasev
  • Allow to specify name of security scheme in api docs (#888) @mszczygiel
tapir - v0.17.0

Published by github-actions[bot] almost 4 years ago

Breaking changes

  • Compatibility with sttp3. The 4th type parameter of Endpoint (and also the last type parameter of ServerEndpoint) changed from containing the supported stream type or Nothing, to a combination of supported capabilities (which can include: streaming and web sockets support) or Any`. See https://github.com/softwaremill/sttp/issues/610 for more information on the design of the capabilities system. This means that the type of the default endpoint is now:
val endpoint: Endpoint[Unit, Unit, Unit, Any]
  • instead of Endpoint[Unit, Unit, Unit, Nothing]. How to migrate?

    • replace usages of Nothing with Any in endpoint types
    • instead stream types, e.g. Endpoint[I, E, O, Source[ByteString, Any]], use the capability: Endpoint[I, E, O, AkkaStreams]
  • the signature of streamBody changed slightly. The first parameter now needs to be the companion object for the stream capability (e.g. AkkaStreams, Fs2Streams, ZioStreams).

  • Schema derivation is configurable, either automatic derivation (which was the default before) or semi-automatic derivation can be used. See the docs. How to migrate? Add an explicit import:

import sttp.tapir.generic.auto._

in the source files where an implicit Schema can no longer be found. You can also use the SchemaDerivation mixin.

  • Validators are now part of schemas. Validator values are no longer looked up as implicit values, but instead should be added to schemas. How to migrate? If you had an implicit validator instance for a custom type, you'll need to modify the schema to add it; take a look at schema customisation in the docs to see how to customise derived schemas. For example:
implicit def schemaForColor: Schema[Color] = Schema.string
  .validate(Validator.enum(List(Blue, Red), { c => Some(plainCodecForColor.encode(c)) }))

New features

Credits

@danilbykov @mszczygiel @tg44 @sbrunk @erikvanoosten @adamw @jan0sch @erikvanoosten @kciesielski @andyczerwonka @CucumisSativus @gaeljw @johnspade @ghostbuster91

(in random order) Thank you!

What next?

Vote on the issue you'd like to see resolved (yes, we're looking at the 👍 that you are leaving there :) ).

And more generally ... let us know where you'd like to see Scala headed in the Scala developer survey - thanks!

tapir - v0.17.0-M11

Published by github-actions[bot] almost 4 years ago

What’s Changed

  • Openapi codegen improvements - docs and sbt oprions (#879) @tg44
  • Add Scala.js support to sttp client (#860) @sbrunk
  • Update sbt-scalajs, scalajs-compiler, ... to 1.3.1 (#858) @scala-steward
  • Update refined to 0.9.18 (#857) @scala-steward
  • Allow swagger-ui to run on a non-root context-path. Solves #694. (#865) @erikvanoosten
  • Annotations for endpoint inputs (#832) @danilbykov
  • Update cats-effect to 2.3.0 (#873) @scala-steward
  • Update discipline-scalatest to 2.1.0 (#856) @scala-steward
  • Update cats-core, cats-laws to 2.3.0 (#871) @scala-steward
  • Update http4s-blaze-server, http4s-dsl to 0.21.13 (#870) @scala-steward
  • Update mdoc, sbt-mdoc to 2.2.13 (#869) @scala-steward
  • Update client3:akka-http-backend, ... to 3.0.0-RC10 (#867) @scala-steward
  • Remove travis, use gh actions only (#866) @adamw
  • Add notice regarding authentication headers. (#847) @jan0sch
  • Update swagger-ui to 3.37.0 (#862) @scala-steward
tapir - v0.17.0-M10

Published by github-actions[bot] almost 4 years ago

What’s Changed

  • Update sbt-scalajs, scalajs-compiler, ... to 1.3.1 (#858) @scala-steward
  • Update refined to 0.9.18 (#857) @scala-steward
  • Allow swagger-ui to run on a non-root context-path. Solves #694. (#865) @erikvanoosten
  • Annotations for endpoint inputs (#832) @danilbykov
  • Update cats-effect to 2.3.0 (#873) @scala-steward
  • Update discipline-scalatest to 2.1.0 (#856) @scala-steward
  • Update cats-core, cats-laws to 2.3.0 (#871) @scala-steward
  • Update http4s-blaze-server, http4s-dsl to 0.21.13 (#870) @scala-steward
  • Update mdoc, sbt-mdoc to 2.2.13 (#869) @scala-steward
  • Update client3:akka-http-backend, ... to 3.0.0-RC10 (#867) @scala-steward
  • Remove travis, use gh actions only (#866) @adamw
  • Add notice regarding authentication headers. (#847) @jan0sch
  • Update swagger-ui to 3.37.0 (#862) @scala-steward
tapir - v0.17.0-M9

Published by adamw almost 4 years ago

Auto/semi auto derivation: Validator and Schema derivations are now configurable. In order make your code compile as it was before, you need to add an explicit import:

import sttp.tapir.generic.auto._

or separately:

import sttp.tapir.generic.schema._
import sttp.tapir.generic.validator._

You can also use ValidatorDerivation and SchemaDerivation mixins. See https://tapir.softwaremill.com/en/latest/endpoint/customtypes.html#schema-derivation for more details.

There's also a ScalaFix migration available: https://github.com/xela85/TapirGenericAutoMigration.

tapir - v0.17.0-M8

Published by github-actions[bot] almost 4 years ago

What’s Changed

  • #825: properly set schema for primitive codecs (#826) @adamw
tapir - v0.17.0-M7

Published by github-actions[bot] almost 4 years ago

What’s Changed

  • Play Client Interpreter (#791) @gaeljw
  • Update scalacheck to 1.15.0 (#823) @scala-steward
  • Openapi codegen tests and better class generator (#822) @tg44