Cross versions - new strategy
This release changes a bit the strategy for using specs2 versions across Scala versions (from what is described here).
There is now:
-
a full version of specs2, 4.15.0, for Scala2 (2.12 and 2.13) with all the usual features, developed from the
specs2-4.x-maintenance
branch -
a version of specs2, 4.15.0, for Scala3 based on limited features (read about the limitations here) but mostly compatible with the specs2 source code used with Scala 2. That version comes from the
specs2-cross
branch. -
a full version of specs2, 5.0.0, for Scala3 (developed on the
main
branch). That version is not backward compatible with other 4.x versions
The idea is that:
-
if you want to stay on Scala2 with no intent yet of migrating to Scala3, you can use a version >= 4.15 && < 5
-
if you want to cross-compile for Scala2 and Scala3, you can use a version >= 4.15 && < 5, but you might have to do some small changes to your source code (or have less features like auto-examples)
-
if you want to only use Scala 3 you can use versions >= 5
This is a delicate setup but I hope it will help you migrate gradually to Scala 3. Please don't hesitate to ask questions if you have any issue migrating your code.
Note: you can ignore the 4.13.1-cross
artefact