Upgrade circe-yaml dependency to 0.16.x
The latest sttp-apispec depends on circe-yaml 0.15.1 (November 2023), which is pretty far behind (diff) their latest 0.16.0 release (August 2024).
I'd suggest it'd be prudent to try to update. FWIW, I've been running an application for a little while that evicts circe-yaml 0.15.1 for 0.16.0 and it's been fine, so I'm optimistic it shouldn't be a challenge, but I don't know if there are known issues, challenges, or reasons to hold back (if so, perhaps upgrading to 0.15.3 would still be approachable).
(Curiously, I don't see any Scala-steward PRs for this, so I'm wondering if the ignore setting for 1.x.x is misbehaving.)
I did create a fork in which I ran tests (I was also surprised at the 6G testing need when I had heap issues the first time) that passed, updated the circe-yaml version to 0.16.0, and promptly ran into Scala version errors, suggesting that circe-yaml depends on a higher version of Scala 2.13 than sttp-apispec does—I'm not sure if that suggests an increase to that minimum, too, or if that's the reason not to update.
[IJ]asyncapiCirceYaml / evicted
[warn] Scala version was updated by one of library dependencies:
[warn] * org.scala-lang:scala-library:2.13.14 is selected over {2.13.13, 2.13.8, 2.13.11}
[warn] +- com.softwaremill.sttp.apispec:asyncapi-circe-yaml_2.13:0.0.0+1-fe6fd9c2+20250331-0920-SNAPSHOT (depends on 2.13.14)
I'm happy to snag some minutes here and there to work on this if there are tips or reasoning to share with me—I'm new to contributing to softwaremill projects.
[error] sbt.librarymanagement.ResolveException: Error downloading io.circe:circe-yaml_2.12:0.16.0
OK that was unexpected but might also explain why sttp-apispec hasn't updated yet.
Ah, you mean that circe-yaml isn't available for 2.12, but is available for 2.13 and 3? Maybe we can try updating the dependency only for 2.13 and 3 then?
Indeed, I just noticed that this July 2024 PR appears to have caused circe-yaml to cease building for Scala 2.12.
I lean toward thinking it would be a good idea to split the dependency versions that are used for 2.12 and 2.13/3, but acknowledge that it could complicate things in the future if/when circe-yaml makes a change that is incompatible with 2.12. I could go one layer deeper and try to persuade the circe group to bring back 2.12 builds.
Thoughts?
FWIW, I gave that a try and it does compile and pass tests, so I made a PR.
I don't want to force things, though. I welcome edits, feedback, etc.