Releases: scala/scala3
0.13.0-RC1
Notable Changes
Language
- Syntax changes for new implicits #5825
- Simplify Source Positions #5713
- Realizability: extra tests and code fix from #5558 #5726
- Import Implied #5868
- Improvements to Typeclass Derivation #5839
- Change Implicit Resolution Rules #5887
- Base multiversal equality on typeclass derivation #5843
- An Alternative to Implicits #5458
- Allow toplevel definitions #5754
- Add typeclass derivation #5540
- Add support for lambda serialization #5837
Meta-programming
- Extract quote reification from Staging phase #5763
Tooling
- Translate the sbt-bridge to Java. #5596
- SemanticDB generator #5761
- Embryonic but functioning JSR223 support #5686
As well as many many 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.12.0-RC1..0.13.0-RC1
these are:
309 Martin Odersky
116 Nicolas Stucki
52 Guillaume Martres
42 poechsel
22 Aggelos Biboudis
20 Paolo G. Giarrusso
19 Olivier Blanvillain
11 Liu Fengyun
5 Allan Renucci
4 Miles Sabin
3 Tobias Bordenca
3 LPTK
3 Abel Nieto
2 Lukas Rytz
1 lpwisniewski
1 Adriaan Moors
1 Georg Schmid
1 Jentsch
1 Marc Karassev
1 Daniel Murray
1 Olivier ROLAND
1 Raphael Jolly
1 Stéphane Micheloud
1 Sébastien Doeraene
1 Umayah Abdennabi
Reporting Bugs
If you encounter a bug, please open an issue! 🙏
0.12.0
0.12.0-RC1
Notable Changes
Language
- New proposal for extension methods #5114
- Refinements to realizability #5568
- Propagate dependencies through implicit parameters #5601
- Add SIP 23 ValueOf #5647
- Tests to Explore Typeclass Derivation #5497
- Gadt unification #5611
- Add SIP compliant by-name implicits #5461
- Fix #5526: Better type inference for dependent function types #5631
- Fix #5411: varargs with intersection type elements #5632
- Fix #5556: Check SAM types for realizability #5623
- Fix #5527: Fix companion module for hk opaque type aliases #5628
- Fix #4678: Create single Typed tree with multiple type annotations #5714
- Fixes #5640 Typer crash on 0 arity tuple #5660
- Memoize SourceFile creation #5642
- Fix #5350: Fix purity of local lazy vals #5703
- Rewrite
typer.TermRefSet
#5593 - Revive the Scala.js backend. #5143
Meta-programming
- Add typeOf to TASTy reflection #5569
- Allow macros calling inherited methods on modules #5575
- Move TASTy Reflect decorators to top level #5589
- Improve
showExpr
example #5562 - Add minimal prototype for f interpolator macro #5532
- Add
List[Expr[T]]
toExpr[List[T]]
conversion in the library #5543 - Remove TASTy Reflect Select signature from extractor #5542
- Rename reflect/reify and make them plain methods #5474
- Add tasty seal methods #5603
- Add TASTy reflect constructors #5438
- Decompiler: final, duplicate type args, default initialiser #5728
- Add missing TASTy Reflect type API #5529
- Add tasty.reflect.utils #5685
- Tasty add flag constructors #5670
Tooling
- Fix race condition in worksheet output #5552
- Run worksheets after willSave instead of didSave #5553
- Fix #3979: Completion for renamed imports #4977
- Support multi-project rename #5462
- Small improvements to
workspace/symbol
#5443 - Decompile .tasty files with VS Code Extension #5513
- Fix #4713: Fixing sidebar auto-collapse issue #5654
- worsksheet: clarify where the hidden output is #5605
- Rework multi-line output handling in the worksheet #5582
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.11.0-RC1..0.12.0-RC1
these are:
109 Martin Odersky
64 Nicolas Stucki
34 Martin Duhem
25 Allan Renucci
16 Guillaume Martres
12 Aleksander Boruch-Gruszecki
11 Tobias Bordenca
10 Miles Sabin
10 Liu Fengyun
7 Aggelos Biboudis
7 Jaemin Hong
5 Paolo G. Giarrusso
3 duanebester
3 Dotty CI
2 Sébastien Doeraene
2 Saurabh Rawat
2 Vlastimil Dort
1 tOverney
1 Denis Buzdalov
1 Hermes Espínola González
1 Ivan Youroff
1 João Pedro de Carvalho
1 Neeraj Jaiswal
1 Olivier Blanvillain
1 poechsel
1 Abel Nieto
Reporting Bugs
If you encounter a bug, please open an issue! 🙏
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! 🙏