etorreborre/specs2

4.x series status?

Closed this issue · 5 comments

Hi Eric, thanks for specs2.

I notice that 4.18.0 has recently been released, without a build for Scala 3. Does this mean that from now on the 4.x series is for Scala 2 and 5.x is for Scala 3? If not, would it be possible to release 4.18 for Scala 3?

Hi George,

The situation is the following:

  1. there is a 4.x series for Scala 2 with all the original features
  2. there is a 4.x-cross series for both Scala 2 and 3 with less features (in particular some things related to macros, not all specs2-x jars are available)
  3. there is a 5.x series for Scala 3 with all the original features (possibly not fully backwards compatible here and there, for example due to some difference in implicit resolution when switching to given and Conversion)

My wish would be that everyone eventually migrates to Scala 3 and I just have one branch to maintain but we all know that this can take a very long time :-).

Now about 4.18, that release was actually a mistake on my side and is going to be reverted (see #1116).

Hi Erik, is what you've described here still the plan? It looks to me like 4.x has started supporting Scalas 2 and 3, and 4.x-cross releases have stopped?

I am sorry, the whole thing is complicated to describe. If you are only using the "core" modules, like specs2-core, specs2-matcher,..., then you can use them with both Scala2 and Scala3. However some more exotic modules, like specs2-gwt are only available for Scala2.

@george-wilson-rea from what I'm reading doobie uses only specs2-core in version 4.19 on the main branch so everything should be working ok in both Scala2 and Scala3 if a more recent doobie version gets published (the last one is almost one year old).

the whole thing is complicated to describe

Your description makes senes to me. Thank you for taking the time to explain. :)