Releases: scala/scala3
0.11.0
0.11.0-RC1
Notable Changes
Tooling
- IDE: New shiny Worksheet mode for VS Code #5102, #5230, #5238, #5277, #5320, #5380
- IDE: Improved completions for imports #5476
- IDE: Added support for
Signature Help
#5395 - IDE: Added support for
Jump to Definition
in imports #4199 - IDE: Added support for
Go to Implementation
#5401 - IDE: Improve display of documentation on hover #5394
- IDE: Support for multi-projects
Find all References
#5209 - REPL: History now persists across sessions #5252
- REPL: Syntax highlighting of comments is now supported #5301
- TASTY files can now be the input of
dotc -from-tasty
#5325
Language
- New Opaque Types Aliases #5300
- Synthesised
copy
andapply
methods of case classes now share the same visibility as their constructor #5472 - Introduction of soft modifiers (i.e.
inline
,opaque
) that can be used as identifiers #5471 - Replacement for Weak Conformance #5371
- Improvements to lazy vals performance and code size #5354, #5446, #5478
- Improved error reporting for @tailrec annotated methods #5399, #5431
- Exhaustivity checker now takes anonymous classes into account #5396
- Several improvements to structural types #5377, #5391
- Several improvements and addition to Macros and the Tasty reflect API
#5164, #5181, #5235, #5398, #5416, #5435, #5437, #5475, #5477, #5483, #5504
Platforms
As well as many bug fixes and other improvements!
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 0.10.0..0.11.0-RC1
these are:
143 Martin Duhem
104 Nicolas Stucki
82 Martin Odersky
60 Guillaume Martres
35 Allan Renucci
21 poechsel
12 Olivier Blanvillain
10 Liu Fengyun
8 Aleksander Boruch-Gruszecki
6 Tobias Bordenca
5 Sébastien Doeraene
4 Stéphane Micheloud
3 João Pedro Evangelista
3 Miles Sabin
3 Neeraj Jaiswal
3 Abel Nieto
2 Ólafur Páll Geirsson
2 Fengyun Liu
2 veera venky
1 mikhail
1 Glavo
1 0xflotus
1 Paolo G. Giarrusso
Reporting Bugs
If you encounter a bug, please open an issue! 🙏
0.10.0
0.10.0-RC1
Blog post with more details on the release: http://dotty.epfl.ch/blog/2018/10/10/10th-dotty-milestone-release.html
Notable Changes
Breaking changes
- We now require sbt 1.2.3 and sbt-dotty 0.2.4, see https://github.com/lampepfl/dotty-example-project
Platforms
- Java 9+ is now supported #5175, #5166, #3138
- Our Windows support has been improved #5130, #5171, #5179, #5170, #5156, #5125, #5085
- Compiling using the 2.13 standard library is almost here #4807
- Using mill instead of sbt is now possible, though still considered experimental: https://github.com/lampepfl/dotty-example-project/tree/mill
Tooling
- The REPL now has a
:doc
command to show documentation #4669 - The REPL has a new and more reliable syntax highlighter #5137
- The REPL now supports initial and cleanup commands #4933
- The IDE experience has been improved in various ways: #5133, #5128, #5123, #4304, #5057
- The VSCode plugin now uses the official scala-lang syntax highlighting plugin #5105
Language
- Match Types are the latest attempt at solving type-level programming, their semantic is still in flux #4964
- Tail-recursive methods can now be polymorphic #5112
- Name-based
unapplySeq
is now supported #5078 - Several improvement and addition to Macros and the Tasty reflect API #5189, #4991, #4976, #4904, #4895, #4887, #4896, #4894, #4856, #4874, #4823, #4859, #4822, #4780
- Proof of concept: Macro based string interpolator #5096
- Documentation can now be generated from TASTY files, this means we can generate documentation without retypechecking the entire project. It is the first step toward making documentation generation incremental #4789
- Experimental support for generic Tuples has been implemented #4938
- Label defs have been replaced by labelled blocks #5056, #4982, #5113
- This fixes some long-standing issues with pattern matching, including stack overflows in the compiler with big pattern matches
- It also makes it much easier for the (in progress) Scala.JS backend to output Javascript, since Javascript does not have
goto
but does havebreak
.
- The experimental local optimizations phases have been removed #4799
As well as many bug fixes and other improvements!
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 0.9.0..0.10.0-RC1
these are:
219 Martin Odersky
142 Nicolas Stucki
67 Paolo G. Giarrusso
52 Allan Renucci
48 Guillaume Martres
39 Martin Duhem
23 Liu Fengyun
15 Olivier Blanvillain
10 Dmytro Melnychenko
10 Abel Nieto
10 Sébastien Doeraene
7 Jaemin Hong
7 Eugene Melekhov
5 Saloni Vithalani
3 Daniel Li
3 Dale Wijnand
3 Jasper Moeys
2 lloydmeta
2 Aggelos Biboudis
2 Greg Pevnev
1 Adriaan Moors
1 Lukas Rytz
1 Kazuhiro Sera
1 Justin du Coeur, AKA Mark Waks
1 Jan Rock
1 Fengyun Liu
1 Szymon Pajzert
1 Chris Birchall
1 benkobalog
1 Martijn Hoekstra
Reporting Bugs
If you encounter a bug, please open an issue! 🙏
0.9.0
0.9.0-RC1
Notable Changes
- Support for implicit conversions on singleton types #4738
- The REPL now uses JLine3 under the hood which means support for Windows, better completions and multi-line editing #4680
- Documentation support in the IDE #4461, #4648
- Drop requirement that implicit functions must be non-empty #4549
- Improved auto-completion in the REPL #4398
- An experimental stream library built using quotes and splices #4317
- A step toward tree inspection in macros #4279
- Optimise
applyOrElse
for partial function literals #4245 - Emit feature warnings for implicit conversions #4229
- Optimise
s
andraw
interpolators #3961 - Support for compiler plugins #3438
As well as many bug fixes and stability work
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 0.8.0..0.9.0-RC1
these are:
200 Nicolas Stucki
155 Martin Odersky
71 Allan Renucci
42 Paolo G. Giarrusso
27 Aggelos Biboudis
25 Guillaume Martres
22 Martin Duhem
10 Sebastian Nadorp
10 Wojtek Swiderski
6 Olivier Blanvillain
5 benkobalog
4 Ingar Abrahamsen
3 Ankit Soni
2 Liu Fengyun
2 Olivier ROLAND
2 Fabian Page
1 Roberto Bonvallet
1 Fengyun Liu
1 Zoltán Elek
1 benkbalog
1 Glavo
1 dieutth
1 fschueler
1 mentegy
Reporting Bugs
If you encounter a bug, please open an issue! 🙏
0.8.0
0.8.0-RC1
Notable Changes
- sbt 1 support #3872
- Unchecked warnings #4045
- Kind Polymorphism #4108
- Improved support for SAM type #4152
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 0.7.0..0.8.0-RC1
these are:
95 Martin Odersky
91 liu fengyun
91 Nicolas Stucki
84 Allan Renucci
73 Guillaume Martres
67 Martin Duhem
18 Jendrik Wenke
16 Paolo G. Giarrusso
8 Robert Stoll
6 Thierry Treyer
4 Aggelos Biboudis
1 tokkiyaa
1 Rajesh Veeranki
1 Maxime Kjaer
1 Saurabh Rawat
1 Joan
1 Jorge Vicente Cantero
1 Jasper Moeys
1 Piotr Gabara
Reporting Bugs
If you encounter a bug, please open an issue! 🙏
0.7.0
0.7.0-RC1
Notable Changes
- Enum Simplification #4003
- Erased terms #3342
- Improved IDE support #3960
- Improved GADT support #3918, #3990, #4034
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 0.6.0..0.7.0-RC1
these are:
182 Martin Odersky
94 Nicolas Stucki
48 Olivier Blanvillain
38 liu fengyun
16 Allan Renucci
15 Guillaume Martres
11 Aggelos Biboudis
5 Abel Nieto
5 Paolo G. Giarrusso
4 Fengyun Liu
2 Georg Schmid
1 Jonathan Skowera
1 Fedor Shiriaev
1 Alexander Slesarenko
1 benkobalog
1 Jimin Hsieh
Reporting Bugs
If you encounter a bug, please open an issue! 🙏