Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Scala 3 & Play 3 - drop oldest Play & Scala versions #411

Merged
merged 1 commit into from
Nov 8, 2023

Conversation

rtyley
Copy link
Member

@rtyley rtyley commented Nov 8, 2023

Play v2.9 introduces support for Scala 3 - Play v3.0 also switches from Akka to Pekko, which is great from a licensing perspective (Play v2.9 had to ship with old versions of Akka to avoid the BSL license).

Here, we're upgrading play-secret-rotation to support these new latest versions of Play, and add the new welcome Scala 3 support! To reduce maintenance build complexity, we're also dropping support for Play 2.6, and Scala 2.12.

Note, Matthias Kurz made some interesting suggestions about restructuring the multi-Play support in this project and also google-play-auth: guardian/frontend#26677 (comment) ...however, for play-secret-rotation at least, the changes didn't appear necessary, as play-secret-rotation actually has a fairly minimal dependency on Play, and doesn't touch Akka/Pekko related code.

Play v2.9 introduces support for Scala 3 - Play v3.0 also switches from
Akka to Pekko, which is great from a licensing perspective (Play v2.9
had to ship with old versions of Akka to avoid the BSL license:
https://www.playframework.com/documentation/3.0.x/General#How-Play-Deals-with-Akkas-License-Change ).

Here, we're upgrading `play-secret-rotation` to support these new latest
versions of Play, and add the new welcome Scala 3 support! To reduce
maintenance build complexity, we're also dropping support for Play 2.6,
and Scala 2.12.

Note, Matthias Kurz made some interesting suggestions about
restructuring the multi-Play support in this project and also
`google-play-auth`:

guardian/frontend#26677 (comment)

...however, for `play-secret-rotation` at least, the changes didn't
appear necessary, as `play-secret-rotation` actually has a fairly
minimal dependency on Play, and doesn't touch Akka/Pekko related code.
@rtyley rtyley requested a review from a team as a code owner November 8, 2023 11:51
@rtyley rtyley merged commit 70900eb into main Nov 8, 2023
2 checks passed
@rtyley rtyley deleted the support-scala-3-and-play-3 branch November 8, 2023 13:20
@rtyley rtyley restored the support-scala-3-and-play-3 branch November 8, 2023 13:20
@rtyley rtyley deleted the support-scala-3-and-play-3 branch November 8, 2023 13:20
rtyley added a commit that referenced this pull request Nov 8, 2023
Not long after I was warned that symbolic links are dangerous, I broke some
symbolic links! In #411
I dropped support for Play v2.6, but didn't correctly update all the
symbolic links in this project to point to the Play 2.7 version of the code -
so all the links were broken, and the result was that the published artifacts
did not have `RotatingSecretComponents` in them. Darn.
@@ -1,21 +1,21 @@
import ReleaseTransformations._

lazy val baseSettings = Seq(
scalaVersion := "2.12.18",
scalaVersion := "2.13.11",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did you not upgrade to 2.13.12? Is there a reason for that, like compile errors?

Copy link
Member Author

@rtyley rtyley Nov 10, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, we recently got slightly burned on a different project by a dependency that failed on Scala 2.13.12 (see scala/bug#12862 & scala/bug#12862 (comment))... we're not using that dependency on this project, and I could have upgraded to 2.13.12 - I just needed a bit of space to breathe and not handle another complexity right now!

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah ok, got it 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants