-
Notifications
You must be signed in to change notification settings - Fork 325
Add Scala 3.7.0 release blog post #1798
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
Conversation
#### Scala CLI | ||
|
||
Scala runner has been updated and uses now Scala CLI 1.7.1. | ||
The new Scala runner uses `scalafmt` binaries built using Scala Native for `fmt` subcommand, this change can improve the performance of formatting Scala sources. It also includes experimental support for running `scalafix` rules using `scala fix` subcommand. | ||
|
||
Please refer to Scala CLI changelogs for more details: | ||
|
||
* [Scala CLI 1.6.0](https://github.com/VirtusLab/scala-cli/releases/tag/v1.6.0) | ||
* [Scala CLI 1.6.1](https://github.com/VirtusLab/scala-cli/releases/tag/v1.6.1) | ||
* [Scala CLI 1.7.0](https://github.com/VirtusLab/scala-cli/releases/tag/v1.7.0) | ||
* [Scala CLI 1.7.1](https://github.com/VirtusLab/scala-cli/releases/tag/v1.7.1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Gedochao I'm not sure if we should highlight experimental changes introduced to Scala runner. I also had no good idea how to scope the introduced changes since 1.5.4. Maybe you have some idea how to write down the introduce changes to the runner?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe experimental changes should be highlighted, yep.
I added a comment with suggested changes. It mostly refactors what's already there.
The presentation compiler is a specialized instance of the Scala compiler that runs interactively in IDEs or LSPs, providing immediate feedback about code correctness, type checking, symbol resolution, autocompletion, error highlighting, and other editing support functionalities. | ||
Some of the latest improvements to the presentation compiler focus on the ability to infer more information about expected types of expressions provided by the users. As the results presented compiler can now show the users the expected type of expression when hovering over holes. | ||
|
||
### Quotes API changes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jchyb Can I ask for technical review of this part? I don't want to make some mistake in here
### [SIP-52: Binary APIs](https://docs.scala-lang.org/sips/binary-api.html) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The SIP contains a fragment about the deprecation strategy, where previously deprecated-public method becomes package-private and publicInBinary
. Is it still the use case?
Is there any case where where protected or package private method is emitted as private in bytecode? AFAIK these 2 are always emitted with ACC_PUBLIC so effectively public.
|
||
## New experimental SIPs | ||
|
||
### [SIP-61: Unroll Default Arguments for Binary Compatibility](https://docs.scala-lang.org/sips/unroll-default-arguments.html) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bishabosha Can I ask for a quick technical review here as your the implementor of the @unroll?
There were some PRs labeled with REPL: add flag to quit after evaluating init script scala/scala3#22636 |
} | ||
``` | ||
|
||
Furthermore, the `Quotes.newClass` method has been extended to support class parameters, flags, privateWithin, and annotations ([#21880](https://github.com/scala/scala3/pull/21880)). This enhancement enables the dynamic creation of classes with constructors, access modifiers, and annotations, providing greater control over generated code structures. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lihaoyi fyi for Cross macro in mill
@WojciechMazur I believe |
|
||
## Other notable changes | ||
|
||
### New scheme for given prioritization |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As this is kind-of breaking change, shouldn't we somehow point this out at the very beginning of the blog post?
Blogpost for the Scala 3.7.0 release, scheduled for May 7th