Skip to content

Replace kamon-play with a Play 3 only module supporting Scala 2.13 and 3 - #3

Merged
pjfanning merged 3 commits into
mainfrom
kamon-play3
Oct 10, 2026
Merged

pjfanning merged 3 commits into
mainfrom
kamon-play3

Conversation

@pjfanning

@pjfanning pjfanning commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

Brings over kamon-io#1433: a Play 3 (Pekko) only module cross-built for Scala 2.13 and 3. In this fork it takes over the kamon-play name, and the old Akka-based kamon-play module (which this fork never built) is deleted.

  • The first commit is Add kamon-play3 module supporting Play 3 on Scala 2.13 and 3 kamon-io/Kamon#1433's main commit, cherry-picked, with the build.sbt conflict resolved for this fork's Pekko-only build. Rebased onto main; the .disablePlugins(AssemblyPlugin) line is dropped since Upgrade sbt to 1.13.0 and the sbt plugins #1 removed sbt-assembly.
  • The second commit renames instrumentation/kamon-play3 to instrumentation/kamon-play, deletes the old Akka-based module, and updates build.sbt, the test config paths, the reference.conf header and the README.
  • kamon-play depends on kamon-pekko and kamon-pekko-http from this build, and on io.kamon:kamon-testkit for tests. It's in instrumentationProjects, so CI tests it and it's published as com.github.pjfanning:kamon-play_2.13 / kamon-play_3.
  • The package names are unchanged (kamon.instrumentation.play).

The upstream follow-up commit only added comments about the bundles, which this fork doesn't build, so it isn't included.

Tested locally on Java 17: "+scalafmtCheckAll;scalafmtSbtCheck" passes, "+kamon-play/test" passes 18/18 on Scala 2.13.13 and 3.3.5, and "+kamon-play/publishLocal" publishes kamon-play_2.13 and kamon-play_3.

🤖 Generated with Claude Code

kamon-play is built against Play 2.8 and depends on the Akka modules, so it
can't be built for Scala 3. kamon-play3 supports only Play 3 (Pekko) and is
cross-built for Scala 2.13 and 3. Advices use the class plus @static pattern
because Scala 3 static forwarders drop parameter annotations.

Fixes kamon-io#1418

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…play

This fork only supports Play 3 (Pekko), so the module takes over the
kamon-play name. The old Akka-based module was not built by this fork.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@pjfanning pjfanning changed the title Add kamon-play3 module supporting Play 3 on Scala 2.13 and 3 Replace kamon-play with a Play 3 only module supporting Scala 2.13 and 3 Oct 10, 2026
Play 3 requires Java 11+ (its jars are class file version 55), so on Java 8
the kamon-play tests fail with UnsupportedClassVersionError and the job hangs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@pjfanning
pjfanning merged commit 1eecc50 into main Oct 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant