We'd like to use sttp-ai from a large Scala 2.12 codebase where the 2.13 migration is a multi-month project in its own right. Looking into what 2.12 support would take, the gap turned out to be small: every dependency the build pins (sttp client4 4.0.26, tapir-apispec-docs 1.13.31, circe 0.14.16, circe-generic-extras 0.14.4, sttp-apispec 0.11.10, pekko 1.6.0, akka 2.6.20, scalatest 3.2.20) already publishes _2.12 artifacts at those exact versions.
We have a working branch: 2.12.20 added to the scala2 matrix row (core, openai, claude, gemini, agent-testkit, fs2/zio/pekko/akka streaming), ~14 small cross-compatible source adjustments, no change for 2.13/3 users, full test suite green on all three versions. The port also surfaced one latent bug worth having regardless: Attachment binds the wrong Tool type on 2.12 due to scala/bug#4695 import precedence.
PR to follow shortly with an ADR documenting the compat mechanisms and an explicit exit criterion (first pinned dependency to drop _2.12 removes the row in the next breaking release, rather than holding updates back).
Completely understand if an extra Scala version isn't a maintenance commitment you want to carry — in that case we'll maintain a fork and this issue can simply be closed.
We'd like to use sttp-ai from a large Scala 2.12 codebase where the 2.13 migration is a multi-month project in its own right. Looking into what 2.12 support would take, the gap turned out to be small: every dependency the build pins (sttp client4 4.0.26, tapir-apispec-docs 1.13.31, circe 0.14.16, circe-generic-extras 0.14.4, sttp-apispec 0.11.10, pekko 1.6.0, akka 2.6.20, scalatest 3.2.20) already publishes
_2.12artifacts at those exact versions.We have a working branch: 2.12.20 added to the
scala2matrix row (core, openai, claude, gemini, agent-testkit, fs2/zio/pekko/akka streaming), ~14 small cross-compatible source adjustments, no change for 2.13/3 users, full test suite green on all three versions. The port also surfaced one latent bug worth having regardless:Attachmentbinds the wrongTooltype on 2.12 due to scala/bug#4695 import precedence.PR to follow shortly with an ADR documenting the compat mechanisms and an explicit exit criterion (first pinned dependency to drop
_2.12removes the row in the next breaking release, rather than holding updates back).Completely understand if an extra Scala version isn't a maintenance commitment you want to carry — in that case we'll maintain a fork and this issue can simply be closed.