Skip to content

Update the binary compatibility guarantees for Scala 3. #2804

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
May 23, 2023

Conversation

sjrd
Copy link
Member

@sjrd sjrd commented May 17, 2023

In addition, be a more assertive that we strongly intend compatibility of produced artifacts to be preserved, while still making it clear that we cannot guarantee it as it is not mechanically checkable.

@sjrd sjrd requested review from SethTisue, julienrf and Kordyjan May 17, 2023 14:07
Copy link
Contributor

@julienrf julienrf left a comment

Choose a reason for hiding this comment

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

Thank you, this is a great improvement!

I know the original document is only about binary compatibility, but I think it would be useful to also cover source compatibility. I think we could say that we can not guarantee backward source compatibility across compiler releases, but we have some tools (the open community build) to detect such incompatibilities and mitigate them, especially within an LTS series.

Copy link
Contributor

@Kordyjan Kordyjan left a comment

Choose a reason for hiding this comment

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

Looks good.
I only suggest describing the distinction between JVM's LinkageErrors and build-time linking errors from other platforms in more detail.

@sjrd sjrd force-pushed the bincompat-docs-for-scala-3 branch from 2eeb0f0 to 82cd92c Compare May 22, 2023 09:50
@sjrd
Copy link
Member Author

sjrd commented May 22, 2023

Updated to address the reviews.

@sjrd sjrd requested a review from julienrf May 22, 2023 09:50
In addition, be a more assertive that we strongly *intend*
compatibility of produced artifacts to be preserved, while still
making it clear that we cannot *guarantee* it as it is not
mechanically checkable.
@sjrd sjrd force-pushed the bincompat-docs-for-scala-3 branch from 82cd92c to ab786ba Compare May 22, 2023 09:51
Copy link
Contributor

@julienrf julienrf left a comment

Choose a reason for hiding this comment

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

The content looks good to me. I still think we should clarify the source compatibility guarantees, but that can be achieved in a separate PR.

@julienrf julienrf merged commit 367d09a into scala:main May 23, 2023
@sjrd sjrd deleted the bincompat-docs-for-scala-3 branch May 23, 2023 06:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
5 participants