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

Add 3.5.0 announcement #1676

Merged
merged 8 commits into from
Aug 22, 2024
Merged

Add 3.5.0 announcement #1676

merged 8 commits into from
Aug 22, 2024

Conversation

Kordyjan
Copy link
Contributor

@Kordyjan Kordyjan commented Aug 6, 2024

TODO LIST:

@Kordyjan
Copy link
Contributor Author

Kordyjan commented Aug 6, 2024

I wanted to request a review from:

assert(0B_1000_0010 == 0x82)
```

## Work on a better scheme for given prioritization
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This section may seem longer than necessary, but we really want people to test the new given prioritization scheme.

blog/_posts/2024-10-15-scala-3.5.0-released.md Outdated Show resolved Hide resolved
blog/_posts/2024-10-15-scala-3.5.0-released.md Outdated Show resolved Hide resolved
blog/_posts/2024-10-15-scala-3.5.0-released.md Outdated Show resolved Hide resolved
blog/_posts/2024-10-15-scala-3.5.0-released.md Outdated Show resolved Hide resolved
blog/_posts/2024-10-15-scala-3.5.0-released.md Outdated Show resolved Hide resolved
blog/_posts/2024-10-15-scala-3.5.0-released.md Outdated Show resolved Hide resolved
blog/_posts/2024-10-15-scala-3.5.0-released.md Outdated Show resolved Hide resolved
blog/_posts/2024-10-15-scala-3.5.0-released.md Outdated Show resolved Hide resolved
blog/_posts/2024-10-15-scala-3.5.0-released.md Outdated Show resolved Hide resolved

Scala 3.5.0 supports pipelined compilation. It can be enabled by setting `ThisBuild/usePipelining := true` in sbt build definition. This can result in significant speedups in compilation time for multi-module projects.

You can learn more about how the pipelined compilation works and what benefits you can expect from [the talk by Jamie Thompson](https://www.youtube.com/watch?v=1uuFxEAiPuQ&t=1473s).
Copy link
Member

Choose a reason for hiding this comment

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

Is there also something in textual form people can look at...?

Copy link
Member

Choose a reason for hiding this comment

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

there are only various PR comments and commit messages -and forum post on Scala Contributors - Someone™️ should bring together this information

@SethTisue
Copy link
Member

SethTisue commented Aug 6, 2024

There are "What's new?" section, but there isn't any information about what other changes are included

Perhaps this was conscious, but it's usual to brag about all the bugfixing going on ("37 thousand PRs merged!", that kind of thing, perhaps with a link to a list on GitHub). Maybe at least some bullets (with PR links) for the most significant changes that don't require entire sections to describe...?

Also, do I recall correctly that 3.5.0 warns on a lot more kinds of outmoded code than 3.4 did...? That could be worth calling attention to.

We have conducted experiments that showed that the proposed scheme will result in a more intuitive and predictable given resolution. The negative impact on the existing projects is very small. We have tested 1500 open-source libraries, and new rules are causing problems for less than a dozen of them. We have already submitted PRs with changes that will make them work the same way under both the current and proposed rules.

Our current plan is to introduce the new scheme in Scala 3.7. Starting from Scala 3.6, code whose behavior can differ between new and old rules (ambiguity on new, passing on old, or vice versa) will emit warnings, but the old rules will still be applied. 3.5 gives you a chance to detect if those changes affect your codebase. Running the compiler with `-source 3.6` will give you warnings; with `-source 3.7` or `-source future` you will get the new scheme.

Copy link
Member

Choose a reason for hiding this comment

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

TODO: link to the blog post once it's available (#1675)

Copy link
Member

Choose a reason for hiding this comment

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

another possibility would be to greatly shorten this section and let the blog post do most of the work

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I recently heard from @bracevac that the post will be closer to 3.6. This is why I needed to include the information about the planned changes right now.
However, I agree that it will be better to slightly change the post and release it now. Then we can shorten this section considerably.

@bracevac
Copy link
Contributor

bracevac commented Aug 6, 2024

IIRC after the discussion, we're still making it mandatory to qualify explicitly passed implicit parameters with using. That was introduced in 3.4, but not enforced.

- add contributors list
- add named tuples section
- shorten the given prioritazation section
@soronpo
Copy link
Contributor

soronpo commented Aug 17, 2024

As I mentioned during the last SIP meeting, I propose noting the new experimental features in 3.5 and encouragement to try them out and provide feedback:

@bishabosha
Copy link
Member

The new unchecked syntax

this isn't in 3.5

@bishabosha
Copy link
Member

bishabosha commented Aug 21, 2024

As @soronpo said the new experimental givens syntax is worth a "deep dive" as that is quite important for people to test

@WojciechMazur
Copy link
Contributor

@bishabosha @soronpo I've added a paragraph with a glimpse of the new syntax. There are too many changes to the given syntax, so we cannot show examples to all of them. Instead, let's direct to the 2 broad blogposts explaining the change.

@WojciechMazur WojciechMazur marked this pull request as ready for review August 22, 2024 11:04
@WojciechMazur WojciechMazur merged commit acf7211 into main Aug 22, 2024
1 check passed
@WojciechMazur WojciechMazur deleted the release-3.5.0 branch August 22, 2024 11:27
@soronpo
Copy link
Contributor

soronpo commented Aug 22, 2024

@bishabosha @soronpo I've added a paragraph with a glimpse of the new syntax. There are too many changes to the given syntax, so we cannot show examples to all of them. Instead, let's direct to the 2 broad blogposts explaining the change.

Thanks. It was never the intent to include more than that. Just notifying about this experimental change to encourage testing.

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.

6 participants