Skip to content

v0.22.0-M1

Pre-release
Pre-release
Compare
Choose a tag to compare
@rossabaker rossabaker released this 25 Jan 01:23
· 2886 commits to series/0.22 since this release
c56f915

This is a new series, forked from main before Cats-Effect 3 support was merged. It is binary incompatible with 0.21, but contains several changes that will be necessary for Scala 3 (Dotty) support. It builds on all the changes from v1.0.0-M1 through v1.0.0-M10, which are not echoed here.

The headline change is that all parboiled2 parsers have been replaced with cats-parse.

Should I switch?

  • Users who had been tracking the 1.0 series, but are not prepared for Cats Effect 3, should switch to this series.
  • Users who wish to remain on the bleeding edge, including Cats Effect 3, should continue track the 1.0 series.
  • Users who need a stable release should remain on the 0.21 series for now.

http4s-core

Breaking changes

  • #3855: All parboiled2 parsers are replaced by cats-parse. parboiled2 was not part of the public API, nor are our cats-parse parsers. Users may observe a difference in the error messages and subtle semantic changes. We've attempted to minimize them, but this is a significant underlying change. See also: #3897, #3901, #3954, #3958, #3995, #4023, #4001, #4013, #4042, #3982, #4071, #4017, #4132, #4154, #4200, #4202, #4206, #4201, #4208, #4235, #4147, #4238 #4238
  • #4070: No longer publish a scala.annotations.nowarn annotation in the 2.12 build. This is provided in the standard library in 2.12.13, and isn't necessary at runtime in any version.
  • #4138: Replace boolean with Weakness sum type in EntityTag model
  • #4148: Lift ETag.EntityTag out of header and into the org.http4s package
  • #4164: Removal of several deprecated interfaces. Most were non-public binary compatibility shims, or explicit cats instances that had been superseded by new implicits. Some exceptions:
  • #4145: Port macros in org.http4s.syntax.literals to Scala 3. Deprecated macros that were on various companion objects will not be in the Scala 3 releases.

Bugfixes

  • #4017: Render a final - in a byte ranges without an end value

http4s-laws

Breaking changes

  • #4144: Add LawsAdapter to create PropF for effectful properties. Restate various Entity codec laws in terms of it.
  • #4164: Removed arbitrary instances for CIString. These are provided by case-insensitive.

http4s-server

Breaking changes

  • #4164: Removed deprecated SSLConfig, KeyStoreBits, SSLContextBits, and SSLBits.

http4s-testing

Breaking changes

  • #4164: No longer a publicly published package. All public API was previously deprecated.

Dependency upgrades

  • async-http-client-2.12.2
  • cats-parse-0.3.0
  • circe-0.14.0-M3
  • jackson-databind-2.12.1
  • jawn-1.0.3
  • log4cats-1.2.0-RC1 (now under org.typelevel)
  • log4s-1.0.0-M4
  • okio-2.10.0
  • vault-2.1.0-M14 (now under org.typelevel)