tapir

Declarative, type-safe web endpoints library

APACHE-2.0 License

Stars
1.3K
Committers
297

Bot releases are visible (Hide)

tapir - v0.20.2

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

What’s Changed

  • No changes
tapir - v1.0.0-RC1

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

The first release candidate of tapir 1.0.0, which will stabilise the core module for Scala 2 - meaning that no backward-incompatible changes will be introduced until the next major version.

Please update & test! :)

What’s Changed

  • Use sttp-apispec (#2129) @adamw
  • Open product with non-open fields #1699 (#2122) @marcin-jozefowicz
  • Netty native transports rebased (#2094) @marcin-jozefowicz

Dependency updates

  • Update scalafmt-core to 3.5.3 (#2127) @scala-steward
  • Update scalajs-dom to 2.2.0 (#2125) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.22 (#2126) @scala-steward
  • Update refined to 0.9.29 (#2121) @scala-steward
  • Update opentelemetry-api, ... to 1.14.0 (#2120) @scala-steward
  • Update opentelemetry-sdk-metrics to 1.14.0 (#2119) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.21 (#2117) @scala-steward
tapir - v1.0.0-M9

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

What’s Changed

  • Support flag query parameters (#2113) @adamw
  • Fix OpenAPI Callback circe encoder (#2098) @seglo
  • Change the schema of BigDecimal to number and BigInteger to integer (#2111) @adamw
  • Add a validateEach annotation (#2109) @adamw
  • Improve validators by introducing a dedicated ValidationResult type and simplifying ValidationError (#2108) @adamw
  • Support scala native (#2104) @adamw
  • move JAVA_OPTS to .sbtopts (#2100) @jtjeferreira
  • remove usages of ExecutionContext.Implicits.global (#2088) @jtjeferreira
  • Add the discriminator as a field when using oneOfUsingField (#2093) @adamw
  • [play-server] handle playBodyParsers parsing errors (#2084) @jtjeferreira
  • Add Codec.tupledWithRaw and jsonBodyWithRaw body descriptions (#2087) @adamw
  • Support handling multiple Authorization headers (#2083) @marcin-jozefowicz

Dependency updates

  • Update netty-all to 4.1.77.Final (#2112) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.19 (#2101) @scala-steward
  • Update scalafmt-core to 3.5.2 (#2096) @scala-steward
  • Update upickle to 2.0.0 (#2097) @scala-steward
  • Update model:core to 1.4.26 (#2089) @scala-steward
  • Update shared:akka, shared:armeria, ... to 1.3.5 (#2090) @scala-steward
  • Update sbt-scalajs, scalajs-compiler, ... to 1.10.0 (#2022) @scala-steward
tapir - v1.0.0-M8

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

What’s Changed

  • Upgrade to zio 2.0.0-RC5, zio http to 2.0.0-RC7 (#2043) @gavares
  • Move testing package to a separate module, make internal definitions in core private (#2081) @adamw
  • Validator: convert to patterns (#2082) @benzwreck
  • Support for defining optional bearerFormat. (#2075) @marcin-jozefowicz
  • docs: ✏️ Document how to hide input/output from OpenAPI (#2076) @gaeljw
  • Allow using streaming bodies in oneOf (#2074) @adamw
  • Find shadowed inputs (#1943) @felix-lipski
  • Doc: add limitation of fetch (#2073) @ex0ns
  • Properly parse vertx query parameters (#2071) @adamw

Dependency updates

  • Update jsoniter-scala-core, ... to 2.13.18 (#2080) @scala-steward
  • Update scalatest to 3.2.12 (#2079) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.17 (#2077) @scala-steward
  • Update zhttp to 1.0.0.0-RC27 (#2009) @scala-steward
  • Update finatra-http-server, inject-app, ... to 22.4.0 (#2070) @scala-steward
  • Update finatra-http-server, inject-app, ... to 22.3.0 (#1995) @scala-steward
  • Update armeria to 1.16.0 (#2069) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.16 (#2068) @scala-steward
tapir - v1.0.0-M7

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

What’s Changed

  • Add schema format for int (#2067) @marcin-jozefowicz
  • Fix for Swagger oauth2-redirect.html resource. (#2063) @marcin-jozefowicz
  • feat: Use relative path for SwaggerUI (#2055) @gaeljw
  • Provide doc endpoint available from root. (#2058) @marcin-jozefowicz
  • Added context path to RedocInterpreter (#2048) @marcin-jozefowicz
  • Fix explicitly setting of content-type for play streaming responses, add test (#2044) @adamw
  • Simplify the http4s interpreter by removing the extra type parameter (#2042) @adamw
  • Close the server web socket when the stream ends (#2040) @adamw
  • Improve naming of .customiseInterceptors and stringBodyAnyFormat (#2030) @adamw
  • Generate "default" and "example" values in OpenAPI for nested optional fields (#2026) @rucek

Dependency updates

  • Update scala3-library, ... to 3.1.2 (#2052) @scala-steward
  • Update zio-json to 0.2.0-M4 (#2047) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.15 (#2066) @scala-steward
  • Update scalafmt-core to 3.5.1 (#2064) @scala-steward
  • Update vertx-web to 4.2.7 (#2060) @scala-steward
  • Update zio, zio-streams, zio-test, ... to 1.0.14 (#2054) @scala-steward
  • Update netty-all to 4.1.76.Final (#2053) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.13 (#2051) @scala-steward
  • Update opentelemetry-api, ... to 1.13.0 (#2031) @scala-steward
  • Update aws-lambda-java-runtime-interface-client to 2.1.1 (#2045) @scala-steward
  • Update upickle to 1.6.0 (#2046) @scala-steward
  • Update json4s-core, json4s-jackson to 4.0.5 (#2024) @scala-steward
  • Update scalafmt-core to 3.5.0 (#2015) @scala-steward
  • Update scalacheck to 1.16.0 (#2029) @scala-steward
  • Update sbt-mima-plugin to 1.1.0 (#2028) @scala-steward
  • Update cats-effect to 3.3.11 (#2025) @scala-steward
  • Update swagger-ui to 4.10.3 (#2023) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.12 (#2021) @scala-steward
  • Update cats-effect to 3.3.10 (#2019) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.11 (#2012) @scala-steward
tapir - v1.0.0-M6

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

What’s Changed

  • Minor interceptor improvements (#2008) @adamw
  • make reject handler effectful (#2007) @danielleontiev
  • Make exception handler effectful (#2001) @danielleontiev
  • Fully support optional, mandatory and mixed OpenAPI security requirements (#2002) @adamw
  • Add attributes and docs extensions to schemas, security schemes (also descriptions) (#1996) @adamw

Dependency updates

  • Update gatling-sbt to 4.1.5 (#2006) @scala-steward
  • Update play, play-akka-http-server, ... to 2.8.15 (#2004) @scala-steward
  • Update fs2-reactive-streams to 3.2.7 (#1997) @scala-steward
  • Update fs2-reactive-streams to 3.2.6 (#1994) @scala-steward
tapir - v1.0.0-M5

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

What’s Changed

  • Allow filtering of endpoints in RequestInterceptor, add attributes to ServerRequest (#1993) @adamw
  • Add more metadata to interceptors (#1990) @adamw
  • [BUG] oneOfUsingField fails for case object enums that inherit enumeratum EnumEntry reproducer (#1976) @seglo
  • Fix derived enumeration schema validators (#1989) @kubinio123
  • Update swagger-ui to 4.9.1 (#1986) @danielleontiev
  • Add prepend/append interceptor method to CustomInterceptors (#1971) @adamw

Dependency updates

  • Update mdoc, sbt-mdoc to 2.3.2 (#1988) @scala-steward
  • Update gatling-sbt to 4.1.4 (#1969) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.8 (#1977) @scala-steward
  • Update play, play-akka-http-server, ... to 2.8.14 (#1983) @scala-steward
  • Update armeria to 1.15.0 (#1982) @scala-steward
  • Update cats-effect to 3.3.9 (#1979) @scala-steward
  • Update akka-slf4j, akka-stream to 2.6.19 (#1961) @scala-steward
  • Update swagger-ui to 4.8.1 (#1974) @scala-steward
tapir - v1.0.0-M4

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

What’s Changed

  • Fix oneOfSchema generation using an enum extractor (#1970) @adamw
  • Use proper subtype values when creating coproduct schemas using oneOfUsingField (#1968) @adamw
  • 1919 Add hidden flag for API parameters (second try) (#1937) @slavaschmidt

Dependency updates

  • Update scala-collection-compat to 2.7.0 (#1966) @scala-steward
  • Update swagger-ui to 4.8.0 (#1967) @scala-steward
  • Update magnolia to 1.1.2 (#1965) @scala-steward
  • Update tagging to 2.3.3 (#1963) @scala-steward
tapir - v1.0.0-M3

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

What’s Changed

  • Improve the API of prometheus/opentelemetry metrics, add phase to request duration metric, change metric names (#1960) @adamw
  • Add a prependSecurityIn to ServerEndpoint (#1959) @adamw

Dependency updates

  • Update swagger-ui to 4.6.2 (#1958) @scala-steward
  • Update cats-effect to 3.3.8 (#1957) @scala-steward
  • Update http4s-blaze-client, ... to 0.23.11 (#1954) @scala-steward
tapir - v1.0.0-M2

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

What’s Changed

  • Filter server endpoints using the request path before decoding (#1953) @adamw
  • Performance tests improvements (#1952) @adamw
  • Remove deprecations (#1949) @adamw
  • Cleanup the sttp.tapir package (#1948) @adamw
  • Separate server-core and client-core modules (#1947) @adamw
  • CORS interceptor (#1944) @rucek
  • Simplify default http4s/vertx log by removing the wrapping object (#1940) @adamw
  • Fix fileBody for zio1-http (#1936) @Fristi
  • Add method to override server request fields (#1938) @adamw

Dependency updates

  • Update sbt-buildinfo to 0.11.0 (#1926) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.7 (#1945) @scala-steward
  • Update cats-effect to 3.3.7 (#1925) @scala-steward
  • Update model:core to 1.4.25 (#1942) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.6 (#1908) @scala-steward
  • Update netty-all to 4.1.75.Final (#1929) @scala-steward
  • Update gatling-test-framework to 3.7.6 (#1933) @scala-steward
  • Update gatling-charts-highcharts to 3.7.6 (#1934) @scala-steward
tapir - v1.0.0-M1

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

What’s Changed

  • Improve readability of server log output (#1928) @adamw
  • Create a single ServerResponse case class (#1931) @adamw
  • Rename renderPathTemplate to showPathTemplate (#1930) @adamw
  • setup akkaHttpOnly vs akkaHttpTapir perf tests (#1886) @felix-lipski
  • Fix handling of resource directories (#1927) @adamw
  • Initial OpenAPI code generation CLI (#1810) @alonsodomin
  • Fix success status code range (#1924) @markarasev
  • Fix typo of PublicEndpoint alias (#1923) @yoohaemin
  • cross-compile openapi projects to scalajs (#1903) @cornerman
  • Read the request body from the ServerRequest, which can potentially be modified by an interceptor (#1909) @adamw
  • Allow full customization of interceptors in tests (#1912) @rucek

Dependency updates

  • Update logback-classic, logback-core to 1.2.11 (#1921) @scala-steward
  • Update akka-http to 10.2.9 (#1913) @scala-steward
tapir - v0.20.1

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

What’s Changed

  • Change the way a sanity check when reading static resource is done (#1911) @adamw
  • redocs: support json spec files and reuse of html (#1904) @cornerman

Dependency updates

  • Update swagger-ui to 4.5.2 (#1906) @scala-steward
tapir - v0.20.0

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

Towards 1.0

We are planning for 0.20.0 to be the final 0.x release, with the next version being a stable 1.0.0. This means that core will have to remain binary-compatible throughout the 1.x lifecycle, which limits code changes that will be possible.

Hence, if you have any features that you'd like to see implemented (especially if they affect the core module) or if there are some bugs that you'd like to see fixed: please report new issues or vote on existing ones. Voting using 👍 is a great way for us to prioritise work.

New features

  • improved stub interpreter
  • Armeria server interpreters
  • better support for enumerations and schema annotations
  • ZIO 2.0 support
  • oneOfBody input
  • endpoint attributes

Breaking changes

  • optional parts in a multipart codec are now represented as a Option[Part[T]], instead of an Part[Option[T]]

What’s Changed since 0.20.0-M10

  • derive schema for Enumeration (#1824) @kubinio123
  • Fix coproduct subtype schemas which are not direct subtypes of the main type (#1898) @adamw
  • Introduce an options object when configuring static content endpoints, add default fallback (#1893) @adamw
  • Make RejectInterceptor customizable with a RejectHandler (#1865) @rucek
  • Possibility to document status code ranges in dynamic statuc code outputs (#1888) @adamw
  • 11 complete openapi model components (#1878) @micsza
  • Make the source of a server response available for interceptors (#1885) @adamw
  • Enumeratum encoded default schema annotation (#1883) @sijarsu
  • Server stub (#1866) @kubinio123
  • Clarify Swagger interpreter options (#1882) @adamw
  • Simplify the extractTreeAndOptTreeFromAnnotation method (#1879) @sijarsu

Dependency updates

  • Update cats-effect to 3.3.6 (#1901) @scala-steward
  • Update mdoc, sbt-mdoc to 2.3.1 (#1896) @scala-steward
  • Update zhttp to 2.0.0-RC4 (#1890) @scala-steward
  • Update zhttp to 1.0.0.0-RC25 (#1889) @scala-steward
  • Update magnolia to 1.1.1 (#1887) @scala-steward
  • Update fs2-reactive-streams to 3.2.5 (#1880) @scala-steward
  • Update armeria to 1.14.1 (#1881) @scala-steward
tapir - v0.20.0-M10

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

What’s Changed

  • Add Armeria server interpreters (#1830) @ikhoon
  • Default value for enumeratum (#1852) @sijarsu
  • Expand type parameter names in Endpoint and ServerEndpoint (#1877) @adamw
  • Enable asyncapi-docs, uPickle, zioJson for Scala3 (#1876) @adamw
  • Add the possibility for security logic to contribute to the output (#1875) @adamw
  • Extend the way server logic can be specified (#1871) @adamw
  • Move task cancelation on blocking pool (#1851) @danilbykov
  • Improve single component path handling (#1868) @adamw
  • add discriminatorMapping when deriving a schema for co-products (#1838) @yurique
  • Scala3 tapir-json-spray cross compilation (#1823) @liosedhel
  • value class codec macros (#1841) @kubinio123
  • #1808: add external Refs (#1831) @martinpallmann

Dependency updates

  • Update zio, zio-streams, zio-test, ... to 2.0.0-RC2 (#1812) @scala-steward
  • Update mdoc, sbt-mdoc to 2.3.0 (#1804) @scala-steward
  • Update vertx-web to 4.2.5 (#1869) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.5 (#1872) @scala-steward
  • Update zhttp to 2.0.0-RC3 (#1846) @scala-steward
  • Update zhttp to 1.0.0.0-RC24 (#1844) @scala-steward
  • Update netty-all to 4.1.74.Final (#1843) @scala-steward
  • Update model:core to 1.4.23 (#1867) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.4 (#1864) @scala-steward
  • Update sbt-scalajs, scalajs-compiler, ... to 1.9.0 (#1861) @scala-steward
  • Update sbt-assembly to 1.2.0 (#1863) @scala-steward
  • Update sbt-assembly to 1.1.1 (#1855) @scala-steward
  • Update scalafmt-core to 3.4.3 (#1853) @scala-steward
  • Update akka-http to 10.2.8 (#1860) @scala-steward
  • Update zio-interop-cats to 3.2.9.1 (#1857) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.2 (#1854) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.1 (#1849) @scala-steward
  • Update jsoniter-scala-core, ... to 2.13.0 (#1842) @scala-steward
  • Update simpleclient_common to 0.15.0 (#1835) @scala-steward
  • Update opentelemetry-api, ... to 1.11.0 (#1833) @scala-steward
  • Update swagger-ui to 4.5.0 (#1836) @scala-steward
  • Update scalafmt-core to 3.4.2 (#1837) @scala-steward
  • Update jsoniter-scala-core, ... to 2.12.4 (#1832) @scala-steward
  • Update http4s-blaze-client, ... to 0.23.10 (#1828) @scala-steward
  • Update swagger-ui to 4.4.1-1 (#1829) @scala-steward
  • Update zio-json to 0.3.0-RC3 (#1827) @scala-steward
tapir - v0.19.4

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

What’s Changed

  • Backport patch for swagger ui vulnerability (#1848) @majk-p
tapir - v0.20.0-M9

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

What’s Changed

  • macro for collecting schema annotations (#1818) @kubinio123
  • Support ZIO 1.0 and ZIO 2.0 for sttp ws (#1819) @ghostdogpr
  • Implement ServerLogic.prependSecurity (#1817) @adamw
  • Annotations metadata coproduct (#1816) @kubinio123

Dependency updates

  • Update scala3-library, ... to 3.1.1 (#1820) @scala-steward
  • Update magnolia to 1.1.0 (#1815) @scala-steward
  • Update swagger-ui to 4.4.1 (#1814) @scala-steward
tapir - v0.20.0-M8

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

What’s Changed

  • map single example with summary or name into examples OpenAPI (#1811) @kubinio123
  • Support ZIO 1.0 and 2.0 (#1807) @ghostdogpr
  • fix: 🐛 (Play Server) Use HttpEntity.Chunked when possible (#1803) @gaeljw

Dependency updates

  • Update cats-effect to 3.3.5 (#1806) @scala-steward
  • Update scalafmt-core to 3.4.0 (#1805) @scala-steward
tapir - v0.20.0-M7

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

What’s Changed

  • Allow filtering of static files & resources (#1798) @adamw
  • Unique open api path parameters (#1788) @kubinio123
  • fix multiPart upload codec (#1781) @uryyyyyyy
  • Update build.sbt (#1785) @rssh

Dependency updates

  • Update upickle to 1.5.0 (#1797) @scala-steward
  • Update jsoniter-scala-core, ... to 2.12.3 (#1796) @scala-steward
  • Update zhttp to 1.0.0.0-RC23 (#1794) @scala-steward
  • Update http4s-blaze-client, ... to 0.23.8 (#1793) @scala-steward
  • Update jsoniter-scala-core, ... to 2.12.2 (#1792) @scala-steward
  • Update scalafmt-core to 3.3.3 (#1783) @scala-steward
  • Update scalacheck-1-15 to 3.2.11.0 (#1787) @scala-steward
  • Update scalatest to 3.2.11 (#1786) @scala-steward
  • Update json4s-core, json4s-jackson to 4.0.4 (#1784) @scala-steward
tapir - v0.20.0-M6

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

What’s Changed

  • New annotations (#1767) @kubinio123
  • Consistent naming of client interpreter methods, fixing docs (#1775) @adamw
  • require value class parameters list to not be empty (#1774) @kubinio123
  • Add nullable when describing Option in OpenApi schema (#1716) @rwiskerke
  • added copying format field in value class Schema derivation (#1763) @kubinio123
  • added type name for api key auth as parameter (#1760) @kubinio123
  • Fix artifact name for tapir-zio-http-server dependency (#1761) @williamhaw

Breaking changes

  • toRequestUnsafe in http4s and play client interpreters have been renamed to toRequestThrowDecodeFailures

Dependency updates

  • Update scalafmt-core to 3.3.2 (#1773) @scala-steward
  • Update aws-lambda-java-runtime-interface-client to 2.1.0 (#1772) @scala-steward
  • Update swagger-ui to 4.2.1 (#1769) @scala-steward
  • Update vertx-web to 4.2.4 (#1768) @scala-steward
  • Update tethys-core, tethys-derivation, ... to 0.26.0 (#1762) @scala-steward
  • Update jsoniter-scala-core, ... to 2.12.1 (#1759) @scala-steward
  • Update finatra-http-server, inject-app, ... to 22.1.0 (#1758) @scala-steward
tapir - v0.20.0-M5

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

What’s Changed

  • Resolve name clashes when using a macro to derive inputs using annotations (#1755) @adamw
  • Swap constructor/method parameter in ServerInterpreter so that it can be created once for a given list of endpoints (#1754) @adamw
  • oneOfBody input/output (#1739) @adamw
  • Scala 2.13 partial unification comment (#1747) @nebasuke
  • added mapping required property for object based on input codec (#1750) @kubinio123
  • Nested descritpions fix (#1624) @Pask423
  • fixed mapSecurityInTo (#1745) @kubinio123

Dependency updates

  • Update model:core to 1.4.22 (#1751) @scala-steward
  • Update scala-library, scala-reflect to 2.13.8 (#1753) @scala-steward
  • Update inject-app, inject-core, ... to 21.9.0 (#1515) @scala-steward
  • Update swagger-ui to 4.1.3-1 (#1749) @scala-steward
  • Update model:core to 1.4.21 (#1748) @scala-steward
  • Update play, play-akka-http-server, ... to 2.8.13 (#1743) @scala-steward
  • Update netty-all to 4.1.73.Final (#1744) @scala-steward
  • Update cats-effect to 3.3.4 (#1736) @scala-steward
  • Update upickle to 1.4.4 (#1735) @scala-steward