0.10.0-RC1
Pre-release
Pre-release
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! 🙏