Skip to content

Cross versions - new strategy

Compare
Choose a tag to compare
@etorreborre etorreborre released this 08 Apr 12:26
· 687 commits to main since this release

This release changes a bit the strategy for using specs2 versions across Scala versions (from what is described here).

There is now:

  1. 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

  2. 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.

  3. 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