diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 32ff33b2e7d..305fba6be59 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -381,70 +381,6 @@ jobs: - run: scala-steward validate-repo-config .scala-steward.conf - coverage: - name: Generate coverage report - strategy: - matrix: - os: [ubuntu-22.04] - scala: [2.13.16] - java: [temurin@8] - runs-on: ${{ matrix.os }} - steps: - - name: Install Nix - uses: cachix/install-nix-action@v27 - - - name: Checkout current branch (full) - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup sbt - uses: sbt/setup-sbt@v1 - - - name: Setup Java (temurin@8) - id: setup-java-temurin-8 - if: matrix.java == 'temurin@8' - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: 8 - cache: sbt - - - name: sbt update - if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false' - run: 'nix develop .#${{ matrix.java }} -c sbt +update' - - - name: Setup Java (temurin@11) - id: setup-java-temurin-11 - if: matrix.java == 'temurin@11' - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: 11 - cache: sbt - - - name: sbt update - if: matrix.java == 'temurin@11' && steps.setup-java-temurin-11.outputs.cache-hit == 'false' - run: 'nix develop .#${{ matrix.java }} -c sbt +update' - - - name: Setup Java (temurin@17) - id: setup-java-temurin-17 - if: matrix.java == 'temurin@17' - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: 17 - cache: sbt - - - name: sbt update - if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' - run: 'nix develop .#${{ matrix.java }} -c sbt +update' - - - run: 'nix develop .#${{ matrix.java }} -c sbt ''++ ${{ matrix.scala }}'' coverage rootJVM/test coverageAggregate' - - - if: github.event_name != 'pull_request' - uses: codecov/codecov-action@v3 - site: name: Generate Site strategy: diff --git a/build.sbt b/build.sbt index 7aa0030911d..d2783a2c20c 100644 --- a/build.sbt +++ b/build.sbt @@ -26,27 +26,6 @@ ThisBuild / githubWorkflowJobSetup ~= { steps => ThisBuild / githubWorkflowSbtCommand := "nix develop .#${{ matrix.java }} -c sbt" -ThisBuild / githubWorkflowAddedJobs ++= Seq( - WorkflowJob( - id = "coverage", - name = "Generate coverage report", - scalas = List(scala_213), - javas = List(JavaSpec.temurin("8")), - steps = githubWorkflowJobSetup.value.toList ++ - List( - WorkflowStep.Sbt(List("coverage", "rootJVM/test", "coverageAggregate")), - WorkflowStep.Use( - UseRef.Public( - "codecov", - "codecov-action", - "v3", - ), - cond = Some("github.event_name != 'pull_request'"), - ), - ), - ) -) - ThisBuild / jsEnv := { import org.scalajs.jsenv.nodejs.NodeJSEnv new NodeJSEnv( diff --git a/core/shared/src/main/scala/org/http4s/Status.scala b/core/shared/src/main/scala/org/http4s/Status.scala index 84e3b947186..21ca157bf70 100644 --- a/core/shared/src/main/scala/org/http4s/Status.scala +++ b/core/shared/src/main/scala/org/http4s/Status.scala @@ -179,8 +179,6 @@ object Status { val ImATeapot: Status = register(trust(418, "I'm A Teapot")) val MisdirectedRequest: Status = register(trust(421, "Misdirected Request")) val UnprocessableContent: Status = register(trust(422, "Unprocessable Content")) - @deprecated("now called UnprocessableContent", since = "0.23.31") - val UnprocessableEntity: Status = UnprocessableContent val Locked: Status = register(trust(423, "Locked")) val FailedDependency: Status = register(trust(424, "Failed Dependency")) val TooEarly: Status = register(trust(425, "Too Early")) diff --git a/docs/changelog.md b/docs/changelog.md index 21f75e85316..343a96f58f4 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -3,6 +3,21 @@ Maintenance branches are merged before each new release. This change log is ordered chronologically, so each release contains all changes described below it. +# v0.23.32 (2025-09-24) + +## What's Changed +### http4s-dsl +* Restore binary compatibility with <0.23.31 in dsl.Statuses by @rossabaker in https://github.com/http4s/http4s/pull/7722 +### Behind the scenes +
+ +* Update http4s-circe, http4s-ember-client to 0.23.31 in series/0.23 by @http4s-steward[bot] in https://github.com/http4s/http4s/pull/7721 + +
+ +**Full Changelog**: https://github.com/http4s/http4s/compare/v0.23.31...v0.23.32 + + # v1.0.0-M45 (2025-09-22) ## What's Changed @@ -7216,3 +7231,5 @@ the future client. # v0.1.0 (2014-04-15) * Initial public release. + +[bot]: https://github.com/http4s/steward diff --git a/dsl/src/main/scala/org/http4s/dsl/impl/Responses.scala b/dsl/src/main/scala/org/http4s/dsl/impl/Responses.scala index e154c1eb192..503a2160699 100644 --- a/dsl/src/main/scala/org/http4s/dsl/impl/Responses.scala +++ b/dsl/src/main/scala/org/http4s/dsl/impl/Responses.scala @@ -135,11 +135,6 @@ trait Responses[F[_], G[_]] { status: UnprocessableContent.type ): UnprocessableContentOps[F, G] = new UnprocessableContentOps[F, G](status, liftG) - @deprecated("use http4sUnprocessableContentSyntax", since = "0.23.31") - implicit def http4sUnprocessableEntitySyntax( - status: UnprocessableEntity.type - ): Responses.UnprocessableEntityOps[F, G] = - new Responses.UnprocessableEntityOps[F, G](status, liftG) implicit def http4sLockedSyntax(status: Locked.type): LockedOps[F, G] = new LockedOps[F, G](status, liftG) implicit def http4sFailedDependencySyntax( @@ -330,11 +325,6 @@ object Responses { val status: UnprocessableContent.type, val liftG: G ~> F, ) extends EntityResponseGenerator[F, G] - @deprecated("use UnprocessableContentOps", since = "0.23.31") - final class UnprocessableEntityOps[F[_], G[_]]( - val status: UnprocessableEntity.type, - val liftG: G ~> F, - ) extends EntityResponseGenerator[F, G] final class LockedOps[F[_], G[_]](val status: Locked.type, val liftG: G ~> F) extends EntityResponseGenerator[F, G] final class FailedDependencyOps[F[_], G[_]](val status: FailedDependency.type, val liftG: G ~> F) diff --git a/dsl/src/main/scala/org/http4s/dsl/impl/Statuses.scala b/dsl/src/main/scala/org/http4s/dsl/impl/Statuses.scala index a81b943ffbb..44c184fe935 100644 --- a/dsl/src/main/scala/org/http4s/dsl/impl/Statuses.scala +++ b/dsl/src/main/scala/org/http4s/dsl/impl/Statuses.scala @@ -63,9 +63,8 @@ trait Statuses { val UnsupportedMediaType: Status.UnsupportedMediaType.type = Status.UnsupportedMediaType val RangeNotSatisfiable: Status.RangeNotSatisfiable.type = Status.RangeNotSatisfiable val ExpectationFailed: Status.ExpectationFailed.type = Status.ExpectationFailed - val UnprocessableContent: Status.UnprocessableContent.type = Status.UnprocessableContent - @deprecated("now called UnprocessableContent", since = "0.23.31") - val UnprocessableEntity: Status.UnprocessableEntity.type = Status.UnprocessableEntity + val UnprocessableContent: Status.UnprocessableContent.type = + Status.UnprocessableContent val Locked: Status.Locked.type = Status.Locked val FailedDependency: Status.FailedDependency.type = Status.FailedDependency val UpgradeRequired: Status.UpgradeRequired.type = Status.UpgradeRequired diff --git a/dsl/src/test/scala/org/http4s/dsl/ResponseGeneratorSuite.scala b/dsl/src/test/scala/org/http4s/dsl/ResponseGeneratorSuite.scala index 206d2915912..3c42844ccaa 100644 --- a/dsl/src/test/scala/org/http4s/dsl/ResponseGeneratorSuite.scala +++ b/dsl/src/test/scala/org/http4s/dsl/ResponseGeneratorSuite.scala @@ -27,8 +27,6 @@ import org.http4s.headers.`Content-Length` import org.http4s.headers.`Content-Type` import org.http4s.syntax.literals._ -import scala.annotation.nowarn - class ResponseGeneratorSuite extends Http4sSuite { test("Add the EntityEncoder headers along with a content-length header") { val body = "foo" @@ -156,8 +154,4 @@ class ResponseGeneratorSuite extends Http4sSuite { ).headers ) } - - test("UnprocessableEntity() has unambiguous and deprecated implicit") { - val _ = UnprocessableEntity(): @nowarn("cat=deprecation") - } } diff --git a/project/build.sbt b/project/build.sbt index 7af61a5ca0e..d5cf62144a1 100644 --- a/project/build.sbt +++ b/project/build.sbt @@ -7,6 +7,6 @@ scalacOptions := Seq( libraryDependencies ++= List( "com.eed3si9n" %% "treehugger" % "0.4.4", "io.circe" %% "circe-generic" % "0.14.8", - "org.http4s" %% "http4s-ember-client" % "0.23.30", - "org.http4s" %% "http4s-circe" % "0.23.30", + "org.http4s" %% "http4s-ember-client" % "0.23.32", + "org.http4s" %% "http4s-circe" % "0.23.32", )