typelevel / typelevel.g8

A typelevel.g8 based on sbt-typelevel
https://typelevel.org/sbt-typelevel/
14 stars 5 forks source link

What to do about Scala 3.4? #132

Closed valencik closed 3 months ago

valencik commented 4 months ago

I think the recommended path forward is that libraries continue publishing for 3.3, and 3.4+ would be yet another cross version. So we don't want to merge this as is. But perhaps we want to add an option to additionally compile against 3.4?

Originally posted by @valencik in https://github.com/typelevel/typelevel.g8/issues/131#issuecomment-1974125183

valencik commented 4 months ago

We could add a new conditional that lets folks choose to add the latest Scala 3.4 to the cross versions. But I think the defaults should remain 2.13 and 3.3

valencik commented 4 months ago

Also, if you cross-compile, it means you care about your users being able to use older versions of the compiler. Presumably that includes Scala 3.3.x LTS users. So in fact you should keep compiling with 3.3.x and not upgrade to 3.4+.

https://github.com/lampepfl/dotty/pull/18819#issuecomment-1799183948

armanbilge commented 4 months ago

We could add a new conditional that lets folks choose to add the latest Scala 3.4 to the cross versions.

Perhaps I'm misunderstanding, but this is not a valid approach. You can't cross-publish for multiple versions of Scala 3 because they all have a common _3 binary suffix.

I think the template should stay pinned to the LTS series. This template represents our recommendation for how to build and publish a library and supporting LTS is a key part of that. If a user wants to live on the edge they can trivially change the Scala version themselves.

valencik commented 4 months ago

You can't cross-publish for multiple versions of Scala 3 because they all have a common _3 binary suffix.

oh no.... i didn't realize that.

Then yes, I 100% agree, LTS for life.

valencik commented 3 months ago

I think we can close this. We only support LTS versions of Scala.