Skip to content

chore: mark scala-library and scalajs-scalalib_2.13 as always instead of semver-spec #23753

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

Merged
merged 1 commit into from
Aug 15, 2025

Conversation

hamzaremmal
Copy link
Member

@hamzaremmal hamzaremmal commented Aug 15, 2025

In some scenarios, specifically in cross compilation projects, sbt will complain that scala-library:2.13.x and scala-library:3.x.y might be imcompatible, as they are both declared semver-spec. See en example here:

[error] (update) found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[error] 
[error] 	* org.scala-lang:scala-library:3.8.0-RC1-bin-SNAPSHOT (semver-spec) is selected over 2.13.0
[error] 	    +- org.scala-lang:scala3-library_3:3.8.0-RC1-bin-SNAPSHOT (depends on 3.8.0-RC1-bin-SNAPSHOT)
[error] 	    +- org.scala-lang.modules:scala-xml_2.13:1.2.0        (depends on 2.13.0)

In this PR, we change the version scheme of both scala-library and scalajs-scalalib_2.13 to always so that the transition between the old stdlib structure and the new one stay invisible to the users.
In the future, when we break binary compatibility (meaning Scala 4), we can revert this PR and have artifacts labeled with semver-spec as it will be exactly that scheme.


The correctness was validated in #23748 locally.

[skip ci]

@hamzaremmal hamzaremmal merged commit 3a4c98a into scala:main Aug 15, 2025
47 checks passed
@hamzaremmal hamzaremmal deleted the always-scheme branch August 15, 2025 12:06
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