Announcing Dotty 0.10.0-RC1


#1

After a long summer break, we are excited to release Dotty version 0.10.0-RC1!

Blog Post: http://dotty.epfl.ch/blog/2018/10/10/10th-dotty-milestone-release.html

Notable Changes

Breaking changes

Platforms

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 have break .
  • 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 :tada:

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! :pray: