All Versions
40
Latest Version
Avg Release Cycle
10 days
Latest Release
444 days ago

Changelog History
Page 1

  • v3.0.0-RC9 Changes

    November 10, 2020

    What’s Changed

    • ⚡️ Update sttp-shared, switch to new monix binary streams representation (#747) @adamw
    • 🛠 Fix handling of host header in finagle-backend (#746) @sloanesturz
    • Non blocking monix http (#745) @ghostbuster91
  • v3.0.0-RC8 Changes

    November 06, 2020

    What’s Changed

  • v3.0.0-RC7 Changes

    October 27, 2020

    What’s Changed

    • Compile httpclient backends for 2.12 (#735) @adamw
  • v3.0.0-RC6 Changes

    October 24, 2020

    What’s Changed

  • v3.0.0-RC5 Changes

    September 29, 2020

    🚀 This is a preview release, containing most of the functionality planned for sttp v3. The code passes all tests, however the API might change.

    ⚡️ sttp client v3 uses a new package name (sttp.client3) and organization (com.softwaremill.sttp.client3). This way old and new sttp client versions can be used side-by-side. Make sure to update your imports and build dependencies!

    📚 Documentation is updated for the new version.

    💥 Breaking changes since v2:

    SttpBackend trait

    0️⃣ The trait now has 2, instead of 3 parameters. The "default" case of a backend with no additional capabilities changed:

    SttpBackend[F, Nothing, NothingT] --\> SttpBackend[F, Any]
    

    👍 The second type parameter now contains a list of supported additional capabilities. This can include:

    • an implementation of Streams
    • WebSockets

    👍 Finally, the type of supported streams is not given directly, but wrapped in a Streams object. For example, the types of the AkkaHttpBackend and AsyncHttpClientZioBackend backends now are:

    SttpBackend[Future, AkkaStreams with WebSockets]SttpBackend[Task, ZioStreams with WebSockets]
    

    Request type

    0️⃣ The type describing a request has undergone similar changes, with the last type parameter specifying the requirements that a backend must meet in order of the request to be sent. The "default" description of a request which doesn't use websockets or streams changed:

    Request[T, Nothing] -\> Request[T, Any]
    

    Similarly, the type of ResponseAs changed.

    🗄 The Request.send() method, which used an implicit SttpBackend is deprecated. Instead, use Request.send(backend), giving the backend explicitly.

    SttpBackendStub

    • method name change: thenRespondWrapped -> thenRespondF
    • 👻 when nothing is stubbed, an exception (failed effect) is thrown, instead of returning 404

    Other

    • 👀 ResponseError -> ResponseException, but type aliases are provided
    • 👀 ResponseException is parametrised with library-specific deserialisation exception type and http-error type. What previous was ResponseError[E] now would be ResponseException[String, E]
    • 0️⃣ streamBody sets application/octet-stream as the content type by default
    • 0️⃣ the default execution context used in the akka-http backend is different: instead of global, the EC backing the provided actor system is used
    • 📦 for zio backends, the send method has been moved from SttpClient to the package (for consistency with other zio libraries)
    • 🔧 logging backends have been combined into a single one, exposing various configuration options
  • v3.0.0-RC4 Changes

    September 16, 2020

    🚀 This is a preview release, containing most of the functionality planned for sttp v3. The code passes all tests, however the API might change.

    ⚡️ sttp client v3 uses a new package name (sttp.client3) and organization (com.softwaremill.sttp.client3). This way old and new sttp client versions can be used side-by-side. Make sure to update your imports and build dependencies!

    💥 Breaking changes since v2:

    SttpBackend trait

    0️⃣ The trait now has 2, instead of 3 parameters. The "default" case of a backend with no additional capabilities changed:

    SttpBackend[F, Nothing, NothingT] --\> SttpBackend[F, Any]
    

    👍 The second type parameter now contains a list of supported additional capabilities. This can include:

    • an implementation of Streams
    • WebSockets

    👍 Finally, the type of supported streams is not given directly, but wrapped in a Streams object. For example, the types of the AkkaHttpBackend and AsyncHttpClientZioBackend backends now are:

    SttpBackend[Future, AkkaStreams with WebSockets]SttpBackend[Task, ZioStreams with WebSockets]
    

    Request type

    0️⃣ The type describing a request has undergone similar changes, with the last type parameter specifying the requirements that a backend must meet in order of the request to be sent. The "default" description of a request which doesn't use websockets or streams changed:

    Request[T, Nothing] -\> Request[T, Any]
    

    Similarly, the type of ResponseAs changed.

    🗄 The Request.send() method, which used an implicit SttpBackend is deprecated. Instead, use Request.send(backend), giving the backend explicitly.

    SttpBackendStub

    • method name change: thenRespondWrapped -> thenRespondF
    • 👻 when nothing is stubbed, an exception (failed effect) is thrown, instead of returning 404

    Other

    • 👀 ResponseError -> ResponseException, but type aliases are provided
    • 👀 ResponseException is parametrised with library-specific deserialisation exception type and http-error type. What previous was ResponseError[E] now would be ResponseException[String, E]
    • 0️⃣ streamBody sets application/octet-stream as the content type by default
    • 0️⃣ the default execution context used in the akka-http backend is different: instead of global, the EC backing the provided actor system is used
    • 📦 for zio backends, the send method has been moved from SttpClient to the package (for consistency with other zio libraries)
    • 🔧 logging backends have been combined into a single one, exposing various configuration options
  • v3.0.0-RC3 Changes

    September 15, 2020

    🚀 This is a preview release, containing most of the functionality planned for sttp v3. The code passes all tests, however the API might change.

    💥 Breaking changes since v2:

    SttpBackend trait

    0️⃣ The trait now has 2, instead of 3 parameters. The "default" case of a backend with no additional capabilities changed:

    SttpBackend[F, Nothing, NothingT] --\> SttpBackend[F, Any]
    

    👍 The second type parameter now contains a list of supported additional capabilities. This can include:

    • an implementation of Streams
    • WebSockets

    👍 Finally, the type of supported streams is not given directly, but wrapped in a Streams object. For example, the types of the AkkaHttpBackend and AsyncHttpClientZioBackend backends now are:

    SttpBackend[Future, AkkaStreams with WebSockets]SttpBackend[Task, ZioStreams with WebSockets]
    

    Request type

    0️⃣ The type describing a request has undergone similar changes, with the last type parameter specifying the requirements that a backend must meet in order of the request to be sent. The "default" description of a request which doesn't use websockets or streams changed:

    Request[T, Nothing] -\> Request[T, Any]
    

    Similarly, the type of ResponseAs changed.

    🗄 The Request.send() method, which used an implicit SttpBackend is deprecated. Instead, use Request.send(backend), giving the backend explicitly.

    SttpBackendStub

    • method name change: thenRespondWrapped -> thenRespondF
    • 👻 when nothing is stubbed, an exception (failed effect) is thrown, instead of returning 404

    Other

    • 👀 ResponseError -> ResponseException, but type aliases are provided
    • 👀 ResponseException is parametrised with library-specific deserialisation exception type and http-error type. What previous was ResponseError[E] now would be ResponseException[String, E]
    • 0️⃣ streamBody sets application/octet-stream as the content type by default
    • 0️⃣ the default execution context used in the akka-http backend is different: instead of global, the EC backing the provided actor system is used
    • 📦 for zio backends, the send method has been moved from SttpClient to the package (for consistency with other zio libraries)
    • 🔧 logging backends have been combined into a single one, exposing various configuration options
  • v3.0.0-RC2 Changes

    September 10, 2020

    🚀 This is a preview release, containing most of the functionality planned for sttp v3. The code passes all tests, however the API might change.

    💥 Breaking changes since v2:

    SttpBackend trait

    0️⃣ The trait now has 2, instead of 3 parameters. The "default" case of a backend with no additional capabilities changed:

    SttpBackend[F, Nothing, NothingT] --\> SttpBackend[F, Any]
    

    👍 The second type parameter now contains a list of supported additional capabilities. This can include:

    • an implementation of Streams
    • WebSockets

    👍 Finally, the type of supported streams is not given directly, but wrapped in a Streams object. For example, the types of the AkkaHttpBackend and AsyncHttpClientZioBackend backends now are:

    SttpBackend[Future, AkkaStreams with WebSockets]SttpBackend[Task, ZioStreams with WebSockets]
    

    Request type

    0️⃣ The type describing a request has undergone similar changes, with the last type parameter specifying the requirements that a backend must meet in order of the request to be sent. The "default" description of a request which doesn't use websockets or streams changed:

    Request[T, Nothing] -\> Request[T, Any]
    

    Similarly, the type of ResponseAs changed.

    🗄 The Request.send() method, which used an implicit SttpBackend is deprecated. Instead, use Request.send(backend), giving the backend explicitly.

    SttpBackendStub

    • method name change: thenRespondWrapped -> thenRespondF
    • 👻 when nothing is stubbed, an exception (failed effect) is thrown, instead of returning 404

    Other

    • 👀 ResponseError -> ResponseException, but type aliases are provided
    • 👀 ResponseException is parametrised with library-specific deserialisation exception type and http-error type. What previous was ResponseError[E] now would be ResponseException[String, E]
    • 0️⃣ streamBody sets application/octet-stream as the content type by default
    • 0️⃣ the default execution context used in the akka-http backend is different: instead of global, the EC backing the provided actor system is used
    • 📦 for zio backends, the send method has been moved from SttpClient to the package (for consistency with other zio libraries)
    • 🔧 logging backends have been combined into a single one, exposing various configuration options
  • v3.0.0-RC11 Changes

    November 30, 2020

    What’s Changed

  • v3.0.0-RC10 Changes

    November 24, 2020

    What’s Changed