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

Default Scala versions are out of date #2394

Closed
SethTisue opened this issue Sep 12, 2023 · 9 comments · Fixed by #2411
Closed

Default Scala versions are out of date #2394

SethTisue opened this issue Sep 12, 2023 · 9 comments · Fixed by #2411
Labels
bug Something isn't working

Comments

@SethTisue
Copy link
Contributor

I noticed today that even though Scala 2.13.12 and Scala 3.3.1 are both out now, scala-cli -S 2 still runs 2.13.11, and scala-cli -S 3 still runs 3.3.0.

Is there some way we can expedite updating that when new Scala versions come out?

As the Scala 2 release manager, I'd be happy to add this to the Scala 2 release steps if action from our end is needed.

One possibility would be simply be for me to open an issue in this repo whenever there's a new Scala 2 release, to remind y'all to do something. But I could also PR a change directly if you point me in the right direction.

Pardon if we've discussed this before and I'm not remembering. but let's not depend on my memory, let's enshrine something in the release steps. (And perhaps @Kordyjan could add something to the Scala 3 release steps.)

@SethTisue SethTisue added the bug Something isn't working label Sep 12, 2023
@SethTisue
Copy link
Contributor Author

I hesitate to nag, but naturally all of us were swamped last week, because of Scala Days — can we return to this now...?

@lwronski
Copy link
Contributor

I will discuss this issue internally and return with response tomorrow. Thank you for reporting this issue.

@tgodzik
Copy link
Member

tgodzik commented Sep 20, 2023

We decided that when using version such as 3 or 3.3 it should infer the latest version that meets the criteria:

3 -> 3.3.1
3.2 -> 3.2.2
etc.

The default version used by Scala CLI will be the last version we released with, since that is properly tested and we don't want to change the version for the users at a random time. We can bump the version and release at a later date since it's not really breaking anyones code.

@machadoit
Copy link

What is a bit confusing to me, is how does this fit the expectations of SIP-46? Maybe is something for later, but I was assuming that running scala, would use the latest installed Scala version.

For instance, using coursier and trying the cs install scala-experimental changed my scala --version from 3.3.1 to 3.3.0 which is a bit confusing.

@SethTisue
Copy link
Contributor Author

Is there some way we can expedite updating that when new Scala versions come out?

As the Scala 2 release manager, I'd be happy to add this to the Scala 2 release steps if action from our end is needed.

One possibility would be simply be for me to open an issue in this repo whenever there's a new Scala 2 release, to remind y'all to do something. But I could also PR a change directly if you point me in the right direction.

still wondering about these questions?

@tgodzik
Copy link
Member

tgodzik commented Sep 26, 2023

What is a bit confusing to me, is how does this fit the expectations of scala/improvement-proposals#46? Maybe is something for later, but I was assuming that running scala, would use the latest installed Scala version.

There will be separate artifact release with Scala 3, but that was postponed to 3.3.2. With that artifact the version will correspond to the installed version. So if you install scala:3.3.0 you will have Scala 3.3.0 as the default and if you update to the latest version you will get the newest Scala version.

We don't want to change the defaults automatically since that might make people code stop compiling if the newest version would for example be 3.4.x or later.

@machadoit
Copy link

still wondering about these questions?

The aim was to share the concerns on the scope of the solution #2411 (should've probably asked on the PR itself my bad)

(...) postponed to 3.3.2. With that artifact the version will correspond to the installed version.

Sounds great, thanks for clarifying!

@SethTisue
Copy link
Contributor Author

SethTisue commented Feb 21, 2024

We decided that when using version such as 3 or 3.3 it should infer the latest version that meets the criteria:

3 -> 3.3.1
3.2 -> 3.2.2
etc.

I don't think I understand the logic here of having "no version specified" mean "latest when this scala-cli was built", but having "no patch version specified" mean "latest on Maven Central"

I thought the policy would be "We don't want to change the defaults automatically" across the board.

So for example, @j-mie6 reported on Discord today that he had his students using //> using scala 2.13, but then 2.13.13 hit Maven Central and now all of his students' builds are likely broken, since at the moment tooling for 2.13.13 isn't published yet.

Am I asking/reporting this in the right place, or is there some more recent discussion?

@j-mie6
Copy link

j-mie6 commented Feb 21, 2024

Yeah, to provide some background, the CI I'm running when I had the run fail post 2.13.13 release is pulling

curl -fL https://github.com/Virtuslab/scala-cli/releases/latest/download/scala-cli-x86_64-pc-linux.gz

We are set to //> using scala 2.13, and I had my build failing because of missing plugins for scala-native because it's pulling for 2.13.13

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Archived in project
5 participants