Sttp Versions Save

The Scala HTTP client you always wanted!

v3.8.16

10 months ago

:warning: Important note

Some modules of sttp 3.8.16 have switched to Cats Effect 3.5.1, which changes the way Async.async, Async.async_, and Async.fromFuture behave around cancellation. If your project relies on Cats Effect 3, read CE release notes and make sure your usages of mentioned methods are aligned.

What’s Changed

  • Update dependencies (#1880) @PanHNE
  • Retry flaky test (v3) (#1883) @kciesielski
  • Issue 1853 empty content-encoding (#1855) @flsh86
  • Add Scala Native build for circe (#1805) @alfabetacain
  • Add Scala Native build for jsoniter (#1796) @kyri-petrou
  • Bump zio-json (#1784) @ioleo

v3.8.15

1 year ago

What’s Changed

  • Add Scala Native build for jsoniter (#1796) @kyri-petrou
  • Bump zio-json (#1784) @ioleo

v3.8.14

1 year ago

What’s Changed

  • Bump zio-json (#1784) @ioleo

v4.0.0-M1

1 year ago

This is the first milestone release for the upcoming sttp 4. The focus of this release is to simplify the types used by sttp, improve type inference and error reporting, while keeping the same API.

Hence the good news: if you are using sttp 3, your code should work with minimal changes. These should concern mainly the types, and code organization (package names). If you'd like to help us and try out this release, please do - and report anything that has been unexpectedly broken.

sttp 4 uses a new organization (com.softwaremill.sttp.client4) and package name (sttp.client4), so you can safely use both v3 and v4 in a single codebase.

If you'd like to test the new release, check out the updated quickstart documentation page.

And finally, for feedback regarding this release, or suggestions on what to improve in further milestone releases (NOW is the best time to let us know what you found irritating or broken in sttp v3), please let us know on the community forum. Thank you!

Thanks to @adpi2 for the PR transforming how we define requests & backends.

Non-exhaustive list of breaking changes

  • remove RequestT, introduce PartialRequest, Request, StreamRequest, WebSocketRequest, WebSocketStreamRequest
  • rename SttpBackend to GenericBackend, introduce subtypes: Backend, StreamBackend, SyncBackend etc.
  • rename SttpBackendOptions to BackendOptions
  • rename Backend.responseMonad to Backend.monad
  • request.send(backend) is now the only preferred method of sending a request
  • remove SimpleHttpClient
  • move HttpClientBackend to a dedicated package, introduce DefaultSyncBackend and DefaultFutureBackend

What’s Changed

  • Reformat using new scalafmt rules (#1764) @adamw
  • Introduce default backends (#1763) @adamw
  • Categorize backends into packages (#1762) @adamw
  • Rename "responseMonad" to "monad" in Backend (#1758) @adamw
  • Add a parameterless send() extension method for quick requests (#1761) @adamw
  • Fix try & either backends (#1760) @adamw
  • Remove TryHttpURLConnectionBackend (#1759) @adamw
  • Remove deprecated exceptions type aliases (#1757) @adamw
  • Drop Scala 2.11 (#1750) @adamw
  • Drop SimpleHttpClient (#1749) @adamw
  • Rename the client3 package to client4, as well as the artifact's organization (#1748) @adamw
  • [Proposal] Add type hierarchy of requests and backends (#1703) @adpi2

Dependency updates

  • Update upickle to 3.0.0 (#1755) @softwaremill-ci
  • Update http4s-blaze-client to 0.23.14 (#1756) @softwaremill-ci
  • Update jsoniter-scala-core, ... to 2.21.3 (#1754) @softwaremill-ci
  • Update opentelemetry-api, ... to 1.24.0 (#1753) @softwaremill-ci
  • Update circe-core, circe-generic, ... to 0.14.5 (#1752) @softwaremill-ci
  • Update jsoniter-scala-core, ... to 2.13.39 (#1751) @softwaremill-ci
  • Update http4s-ember-client to 0.23.18 (#1747) @softwaremill-ci

v3.8.13

1 year ago

What’s Changed

  • http4s: add ember constructor (#1742) @Fristi

Dependency updates

  • Update zio-streams to 2.0.10 (#1744) @softwaremill-ci
  • Update akka-http-cors to 1.2.0 (#1743) @softwaremill-ci

v3.8.12

1 year ago

What’s Changed

  • Add accessor methods for ZIO 2 (#1716) @haoqin

Dependency updates

  • Update scalafmt-core to 3.7.2 (#1741) @softwaremill-ci
  • Update scribe to 3.11.1 (#1740) @softwaremill-ci
  • Update cats-effect-kernel, ... to 3.4.8 (#1739) @softwaremill-ci
  • Update zio-interop-reactivestreams to 2.0.1 (#1738) @softwaremill-ci
  • Update opentelemetry-api, ... to 1.23.1 (#1737) @softwaremill-ci
  • Update cats-effect, cats-effect-kernel, ... to 3.4.7 (#1736) @softwaremill-ci
  • Update zio-streams to 2.0.9 (#1735) @softwaremill-ci
  • Update armeria to 1.22.1 (#1734) @softwaremill-ci
  • Update opentelemetry-api, ... to 1.23.0 (#1733) @softwaremill-ci
  • Update armeria to 1.22.0 (#1731) @softwaremill-ci
  • Update zio, zio-streams to 2.0.8 (#1732) @softwaremill-ci
  • Update fs2-core, fs2-io, ... to 3.6.1 (#1730) @softwaremill-ci
  • Update scribe to 3.11.0 (#1729) @softwaremill-ci
  • Update fs2-core, fs2-reactive-streams to 3.6.0 (#1728) @softwaremill-ci

v3.8.11

1 year ago

What’s Changed

  • Add an option to customise armeria's WebClient when creating the backend. (#1725) @adamw
  • Adjust exceptions in SttpBackendStub (#1723) @adamw

Dependency updates

  • Update cats-effect, cats-effect-kernel, ... to 3.4.6 (#1722) @softwaremill-ci

v3.8.10

1 year ago

Drops support for 2.11 + JS/Native

What’s Changed

  • Fix response.request accessible from PrometheusBackend (#1718) @Krever

Dependency updates

  • Update sbt-scalajs, scalajs-library_2.13, ... to 1.13.0 (#1713) @softwaremill-ci
  • Update mdoc, sbt-mdoc to 2.3.7 (#1715) @softwaremill-ci
  • Update scala3-library, ... to 3.2.2 (#1717) @softwaremill-ci

v3.8.9

1 year ago

What’s Changed

  • Optimize the way HttpClient-based backends read body as an input stream (#1712) @adamw

Dependency updates

  • Update fs2-core, fs2-io to 3.5.0 (#1700) @softwaremill-ci
  • Update scalafmt-core to 3.7.1 (#1711) @softwaremill-ci
  • Update zio, zio-streams to 2.0.6 (#1698) @softwaremill-ci
  • Update http4s-client to 0.23.18 (#1701) @softwaremill-ci
  • Update cats-effect, cats-effect-kernel, ... to 3.4.5 (#1699) @softwaremill-ci
  • Update scribe to 3.10.7 (#1709) @softwaremill-ci
  • Update fs2-reactive-streams to 3.5.0 (#1705) @softwaremill-ci

v3.8.8

1 year ago

What’s Changed

  • Armeria retry (#1658) @Pask423
  • Set the content length, when explicitly specified, in HttpClient based backends (#1696) @adamw
  • Adds method and optional status Labels to PrometheusBackend (#1651) @kevinmeredith

Dependency updates

  • Update scalatest-flatspec, ... to 3.2.15 (#1694) @softwaremill-ci
  • Update opentelemetry-api, ... to 1.22.0 (#1693) @softwaremill-ci
  • Update scribe to 3.10.6 (#1692) @softwaremill-ci
  • Update http4s-client to 0.23.17 (#1690) @softwaremill-ci
  • Update sbt to 1.8.2 (#1691) @softwaremill-ci
  • Update http4s-blaze-client, http4s-client to 0.22.15 (#1689) @softwaremill-ci