Skip to content

Releases: scala/scala3

3.0.2-RC2

23 Aug 20:39
b8b980d
Compare
Choose a tag to compare
3.0.2-RC2 Pre-release
Pre-release

Notable Changes

  • Do not update source positions once initizlized #13201
  • Pick right type parameters for opaqueToBounds in TreeUnpickler #13206
  • Avoid crash by relaxing TyperState assertion #13150

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges 3.0.2-RC1..3.0.2-RC2 these are:

     9  Martin Odersky
     2  Krzysztof Romanowski
     1  Andrzej Ratajczak
     1  Guillaume Martres
     1  Michał Pałka
     1  Paweł Marks
     1  Tom Grigg

Reporting Bugs

If you encounter a bug, please open an issue! 🙏

3.0.2-RC1

13 Jul 10:57
Compare
Choose a tag to compare
3.0.2-RC1 Pre-release
Pre-release

Notable Changes

Language & syntax

  • Don't insert semicolons in conditions unless indented #12801
  • Add escape hatch Selectable.WithoutPreciseParameterTypes #12268
  • Add Matchable to the parents of Null in explicit nulls #12697

Scaladoc

  • Add no links warning setting to scaladoc #12936
  • Search for methods also by type signature #12375

Metaprogramming

  • Map opaque types in arguments of inlined calls to proxies #12922
  • Don't forget side effects in prefixes of inlined function calls #12842
  • Drop "no inlines with opaques" implementation restriction #12815
  • Detect abstract inline method calls after inlining #12777
  • Fix implicit ValueOf synthesis #12615

Other improvements

  • Add Scala 3 batch commands for Windows #13006
  • Fix #12981: show diagnostics levels (warn | error) in REPL #13000
  • Use WeakHashSet instead of HashSet for hash-consing types #12935
  • Balance And/Or types when forming lubs and glbs #12928
  • Restricts isInstanceOf[Null] checks #12905
  • Add support for shallow capture sets #12875
  • Drop implementation restriction for polymorphic functions #12863
  • Preserve hard unions in more situations #12654
  • Better support type-heavy pattern matches #12549

Other bug fixes

  • Fix #13046: override is a valid identifier in Java, not a keyword #13048
  • Don't emit Java generic signatures for constructors #13047
  • Exhaustivity warnings on nested case classes #13030
  • Refine overriding pairs in RefChecks #12982
  • Let annotations on parameters see preceding type parameters #12980
  • Retain transparent flag on exports #12978
  • Widen unions before finding members #12925
  • ProtoTypes#normalizedCompatible: keep more constraints #12924
  • Detect provisional superclasses and recompute them in Typer #12912
  • Properly handle self-types in reflection member lookup #12893
  • Use Java rules for member lookup in .java sources #12884
  • Hide problematic static forwarders #12860
  • When checking tp1 <:< tycon2[args2], widen tp1 to reveal application #12846
  • Skip contexts for implicit search when resolving imports #12816
  • Insert conversions also on selections wrapped in type applications #12719
  • Emit generic signature for static forwarders to nullary methods #12710
  • Always generate a partial function from a lambda #12670
  • Fix #12572: Ignore default accessor bridges in non-native JS classes. #12657

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges 3.0.1..3.0.2-RC1 these are:

    85 Martin Odersky
    60 Liu Fengyun
    47 Kacper Korban
    28 Filip Zybała
    17	Andrzej Ratajczak
    16 Guillaume Martres
    15 Jamie Thompson
    10 bjornregnell
     9	tanishiking
     8	Dylan Halperin
     8	Anatolii Kmetiuk
     7	Tom Grigg
     5	Som Snytt
     5	changvvb
     4	Nicolas Stucki
     4	Aleksander Boruch-Gruszecki
     4	Sébastien Doeraene
     4	Michał Pałka
     3	Magnolia.K
     3	Phil
     3	Krzysztof Romanowski
     3	Paweł Marks
     2	xuwei-k
     2	Ben Plommer
     2	Florian Schmaus
     2	Lukas Rytz
     2	Maciej Gorywoda
     2	Markus Sutter
     2	Roman Kotelnikov
     2	Stéphane Micheloud
     2	noti0na1
     2	vincenzobaz
     1	Ondrej Lhotak
     1	KazuyaMiayshita
     1	odersky
     1	Julian Mendez
     1	Anton Sviridov
     1	GavinRay97
     1	EnzeXing
     1	Tomas Mikula
     1	Tomasz Godzik
     1	Vaastav Arora
     1	Vadim Chelyshov
     1	Will Sargent
     1	Zofia Bartyzel
     1	Dale Wijnand
     1	Bjorn Regnell
     1	dmitrii.naumenko
     1	Adrien Piquerez
     1	Meriam Lachkar
     1	Martin
     1	Olivier Blanvillain
     1	Lorenzo Gabriele

Reporting Bugs

If you encounter a bug, please open an issue! 🙏

3.0.1

09 Jul 10:02
Compare
Choose a tag to compare

Notable changes (in comparison to 3.0.0)

Language

  • Add @experimental annotation #12102
  • A simpler implementation of init checker #12495
  • Allow _ as a type lambda placeholder in -Ykind-projector:underscores compatiblity mode #12378
  • Support variance annotations in -Ykind-projector mode #12341
  • Better error message for errors arising from implicit completions #12002
  • Explain match type reduction failures in error messages #12053

Metaprogramming

  • Cache quote unpickling #12242
  • Add Expr.valueOrAbort and reflect.report.errorAndAbort #12056
  • Avoid pickled tasty for some captured quote reference #12248
  • Improve quote matcher performance #12418
  • Port scala.quoted.runtime.impl.QuoteMatcher #12402
  • Check transparent inline type argument bounds #12334
  • Improve constant folding logic #12080
  • Support inline val references in top level splices #12235

Scaladoc

  • Snippet compiler #11582
  • Update user manual for scaladoc #12083

Bug fixes

  • IArray.toArray: Deprecate broken method #12598
  • Fix comparison of dependent function types #12214
  • Make translucentSuperType handle match types #12153
  • Harden Type Inference #12560
  • Reject references to self in super constructor calls #12567
  • Provide mirror support after inlining #12062
  • Allow export paths to see imports #12134
  • Streamline given syntax #12107
  • Export constructor proxies #12311
  • Identify package and nested package object in isSubPrefix #12297
  • Treat Refinements more like AndTypes #12317
  • Fix #9871: use toNestedPairs in provablyDisjoint #10560
  • Fix TypeTest exhaustivity check #12059
  • TreeUnpickler: fix cycle involving param accessor #12873

Other

  • record end markers in trees and semanticdb, exclude top level def wrappers #12541
  • Use stringOf from REPL to avoid trimming #11562
  • sbt bridge reporting improvements #12845

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges 3.0.0..3.0.1 these are:

   122	Martin Odersky
   111	Liu Fengyun
    98	Nicolas Stucki
    32	Guillaume Martres
    24	Phil
    20	Olivier Blanvillain
    14	Tom Grigg
    14	Adrien Piquerez
    13	Natsu Kagami
    12	Andrzej Ratajczak
    10	Anatolii Kmetiuk
    10	Aleksander Boruch-Gruszecki
    10	odersky
     8	Jamie Thompson
     7	Michał Pałka
     6	Maxime Kjaer
     5	Krzysztof Romanowski
     5	Som Snytt
     3	Fengyun Liu
     3	noti0na1
     3	Filip Zybała
     3	Phil Walker
     3	Kai
     2	soronpo
     2	Kacper Korban
     2	Raphael Jolly
     2	Adam Warski
     2	tanishiking
     2	Vadim Chelyshov
     2	Sébastien Doeraene
     2	Johannes Rudolph
     1	xuwei-k
     1	Alexander Ioffe
     1	David Barri
     1	Devon Stewart
     1	Dmitrii Naumenko
     1	Ivan Kurchenko
     1	Jakub Kozłowski
     1	Jonas Ackermann
     1	Kevin Lee
     1	Markus Sutter
     1	Martin
     1	Miles Sabin
     1	Oron Port
     1	Paweł Marks
     1	Ruslan Shevchenko
     1	Seth Tisue
     1	nogurenn
     1	nurekata

Reporting Bugs

If you encounter a bug, please open an issue! 🙏

3.0.1-RC2

22 Jun 16:28
Compare
Choose a tag to compare
3.0.1-RC2 Pre-release
Pre-release

Notable Changes

  • sbt bridge reporting improvements #12845
  • TreeUnpickler: fix cycle involving param accessor #12873
  • Fix TyperState assertion failures #12837
  • ci fixes #12895

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges 3.0.1-RC1..3.0.1-RC2 these are:

     3  Guillaume Martres
     2  Krzysztof Romanowski
     1  Anatolii Kmetiuk
     1  Markus Sutter
     1  Martin Odersky
     1  Vadim Chelyshov

Reporting Bugs

If you encounter a bug, please open an issue! 🙏

3.0.1-RC1

02 Jun 09:32
Compare
Choose a tag to compare
3.0.1-RC1 Pre-release
Pre-release

Notable Changes

Language

  • Add @experimental annotation #12102
  • A simpler implementation of init checker #12495
  • Allow _ as a type lambda placeholder in -Ykind-projector:underscores compatiblity mode #12378
  • Support variance annotations in -Ykind-projector mode #12341
  • Better error message for errors arising from implicit completions #12002
  • Explain match type reduction failures in error messages #12053

Metaprogramming

  • Cache quote unpickling #12242
  • Add Expr.valueOrAbort and reflect.report.errorAndAbort #12056
  • Avoid pickled tasty for some captured quote reference #12248
  • Improve quote matcher performance #12418
  • Port scala.quoted.runtime.impl.QuoteMatcher #12402
  • Check transparent inline type argument bounds #12334
  • Improve constant folding logic #12080
  • Support inline val references in top level splices #12235

Scaladoc

  • Snippet compiler #11582
  • Update user manual for scaladoc #12083

Bug fixes

  • IArray.toArray: Deprecate broken method #12598
  • Fix comparison of dependent function types #12214
  • Make translucentSuperType handle match types #12153
  • Harden Type Inference #12560
  • Reject references to self in super constructor calls #12567
  • Provide mirror support after inlining #12062
  • Allow export paths to see imports #12134
  • Streamline given syntax #12107
  • Export constructor proxies #12311
  • Identify package and nested package object in isSubPrefix #12297
  • Treat Refinements more like AndTypes #12317
  • Fix #9871: use toNestedPairs in provablyDisjoint #10560
  • Fix TypeTest exhaustivity check #12059

Other

  • record end markers in trees and semanticdb, exclude top level def wrappers #12541
  • Use stringOf from REPL to avoid trimming #11562

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges 3.0.0-RC2..3.0.1-RC1 these are†:

   121  Martin Odersky
   111  Liu Fengyun
    98  Nicolas Stucki
    29  Guillaume Martres
    24  Phil
    20  Olivier Blanvillain
    14  Tom Grigg
    14  Adrien Piquerez
    13  Natsu Kagami
    12  Andrzej Ratajczak
    10  odersky
    10  Aleksander Boruch-Gruszecki
     9  Anatolii Kmetiuk
     8  Jamie Thompson
     6  Maxime Kjaer
     5  Som Snytt
     3  Filip Zybała
     3  Krzysztof Romanowski
     3  Kai
     3  Fengyun Liu
     3  noti0na1
     3  Phil Walker
     2  Johannes Rudolph
     2  soronpo
     2  tanishiking
     2  Adam Warski
     2  Kacper Korban
     2  Raphael Jolly
     2  Sébastien Doeraene
     1  xuwei-k
     1  Alexander Ioffe
     1  David Barri
     1  Devon Stewart
     1  Dmitrii Naumenko
     1  Ivan Kurchenko
     1  Jakub Kozłowski
     1  Jonas Ackermann
     1  Kevin Lee
     1  Martin
     1  Michał Pałka
     1  Miles Sabin
     1  Oron Port
     1  Paweł Marks
     1  Ruslan Shevchenko
     1  Seth Tisue
     1  Vadim Chelyshov
     1  nogurenn
     1  nurekata

†: Note that we measure against 3.0.0-RC2 and not 3.0.0 because we stabilized on 3.0.0-RC2. Only critical bug fixes found their way into 3.0.0-RC3 and further, while the majority of changes ended up in 3.0.1-RC1.

Reporting Bugs

If you encounter a bug, please open an issue! 🙏

3.0.0

13 May 14:07
Compare
Choose a tag to compare

Release blog post at https://www.scala-lang.org/blog/2021/05/14/scala3-is-here.html

Changelog from 3.0.0-RC3

  • Fix typo in file name #12181
  • Tasty: set experimental to zero #12438

Contributors

Thank you to all the contributors who made this release possible 🎉

All-time contributors who made Scala 3 a reality, according to git shortlog -sn --no-merges 2308509d2651ee78e1122b5d61b798c984c96c4d..3.0.0, are:

  8661  Martin Odersky
  3186  Nicolas Stucki
  1435  Guillaume Martres
   976  Dmitry Petrashko
   797  Liu Fengyun
   774  Felix Mulder
   407  Allan Renucci
   324  liu fengyun
   324  Olivier Blanvillain
   323  Martin Duhem
   224  Aleksander Boruch-Gruszecki
   204  Jamie Thompson
   201  Krzysztof Romanowski
   200  Sébastien Doeraene
   172  Paolo G. Giarrusso
   171  Bryan Abate
   163  Aggelos Biboudis
   162  Anatolii Kmetiuk
   160  Anatolii
   129  Robert Stoll
   103  bishabosha
   103  Filip Zybała
   101  Miles Sabin
    82  Antoine Brunner
    64  poechsel
    64  Guillaume Raffin
    62  Tom Grigg
    61  Lan, Jian
    55  noti0na1
    54  Andrzej Ratajczak
    51  odersky
    50  Nikita Eshkeev
    44  Guillaume R
    37  Stéphane Micheloud
    34  Enno Runne
    33  Sara Alemanno
    31  Paweł Marks
    30  Ondrej Lhotak
    29  Som Snytt
    29  Abel Nieto
    26  Ruslan Shevchenko
    25  VladimirNik
    23  Adrien Piquerez
    22  Raphael Jolly
    22  Jonathan Brachthäuser
    22  Michał Pałka
    20  vsalvis
    20  Tobias Bordenca
    20  Fengyun Liu
    19  Martijn Hoekstra
    19  Samuel Gruetter
    19  Phil
    19  Maxime Kjaer
    18  Jendrik Wenke
    17  Jason Zaugg
    16  Krzysztof Romanwoski
    16  Arnaud ESTEVE
    15  Dale Wijnand
    14  Jaemin Hong
    13  gzoller
    13  Vlad Ureche
    12  Miron Aseev
    12  Wojtek Swiderski
    11  Yichen Xu
    11  Grzegorz Bielski
    10  Sebastian Nadorp
    10  Jentsch
    10  bjornregnell
    10  Arnaud Esteve
    10  Dmytro Melnychenko
    10  Lionel Parreaux
     9  Jonathan Brachthäuser
     9  yu-croco
     9  Jasper Moeys
     8  Clemens Winter
     8  Lukas Rytz
     8  Varunram Ganesh
     8  Oron Port
     8  Reto Hablützel
     7  Ólafur Páll Geirsson
     7  Varunram
     7  benkobalog
     7  Eugene Melekhov
     6  jvican
     6  Seth Tisue
     6  Natsu Kagami
     6  Thierry Treyer
     6  Akhtiam Sakaev
     6  Olivier ROLAND
     6  Olafur Pall Geirsson
     5  Nada Amin
     5  Michael Pilquist
     5  Ausmarton Zarino Fernandes
     5  k0ala
     5  Vlastimil Dort
     5  Valthor Halldorsson
     5  Travis Brown
     5  Tomasz Godzik
     5  Alex Merritt
     5  Guillaume Massé
     5  Alexander Myltsev
     5  Saloni Vithalani
     5  Raphael Bosshard
     5  Julien Richard-Foy
     4  Michał Gutowski
     4  Sebastian Harko
     4  fhackett
     4  ysthakur
     4  Ben Elliott
     4  Raymond Tay
     4  Ayush
     4  Neeraj Jaiswal
     4  Sarunas Valaskevicius
     4  Lucas Burson
     4  Dotty CI
     4  Eric K Richardson
     4  Vitor Vieira
     4  Yevgen Nerush
     4  Shane Delmore
     4  Andrew Valencik
     4  senia-psm
     4  Minghao Liu
     4  Matt D'Souza
     4  Eugene Yokota
     4  Hanns Holger Rutz
     4  Alex Zolotko
     4  Georg Schmid
     4  Chris Birchall
     4  december32
     4  Ingar Abrahamsen
     3  Michal Gutowski
     3  Gabriele Petronella
     3  Gabi Volpe
     3  Master-Killer
     3  Uko
     3  Timothée Floure
     3  xuwei-k
     3  Eric Loots
     3  Enno
     3  Edmund Noble
     3  Saurabh Rawat
     3  Albert Chen
     3  Jakob Odersky
     3  Daniel Li
     3  Dani Rey
     3  ansvonwa
     3  duanebester
     3  Alexandre Archambault
     3  jerylee
     3  kenji yoshida
     3  Artur Opala
     3  Adriaan Moors
     3  Ankit Soni
     3  Adam Fraser
     3  Pavel Shirshov
     3  João Pedro Evangelista
     3  Andrea Mocci
     3  Krzysztof Bochenek
     3  Tudor Voicu
     2  Tobias Schlatter
     2  Alden Torres
     2  AnEmortalKid
     2  Andrew Zurn
     2  Ara Adkins
     2  Artsiom Miklushou
     2  Ashwin Bhaskar
     2  Aurélien Richez
     2  Camila Andrea Gonzalez Williamson
     2  Dvir Faivel
     2  Fabian Page
     2  FabioPinheiro
     2  Francois GORET
     2  Glavo
     2  Greg Pevnev
     2  Henrik Huttunen
     2  Hermes Espínola González
     2  James Thompson
     2  Jan Christopher Vogt
     2  Jens Kat
     2  Jim Van Horn
     2  Jon Pretty
     2  Lorand Szakacs
     2  Luc Henninger
     2  Lucas
     2  Matthew Pickering
     2  Matthias Sperl
     2  Mikael Blomstrand
     2  Nadezhda Balashova
     2  Nikolay
     2  Nikolay.Tropin
     2  Patrik Mada
     2  Philippus
     2  Philippus Baalman
     2  Radosław Waśko
     2  Rafal Piotrowski
     2  Robert Soeldner
     2  Roberto Bonvallet
     2  Rodrigo Fernandes
     2  Steven Heidel
     2  Thiago Pereira
     2  Tudor
     2  William Narmontas
     2  changvvb
     2  dos65
     2  esarbe
     2  johnregan
     2  lloydmeta
     2  typeness
     2  veera venky
     2  xhudik
     2  ybasket
     1  Jyotman Singh
     1  Justin du Coeur, AKA Mark Waks
     1  Julien Jean Paul Sirocchi
     1  João Pedro de Carvalho
     1  rsoeldner
     1  Jonathan Skowera
     1  Jonathan Rodriguez
     1  Jon-Anders Teigen
     1  ruben
     1  Alexander Slesarenko
     1  Pierre Ricadat
     1  Piotr Gabara
     1  squid314
     1  tOverney
     1  Raj Parekh
     1  Rajesh Veeranki
     1  John Sullivan
     1  Johannes Rudolph
     1  Joan
     1  Jimin Hsieh
     1  Richard Beddington
     1  Rick M
     1  Rike-Benjamin Schuppner
     1  tanaka takaya
     1  Jean Detoeuf
     1  tanishiking
     1  tim-zh
     1  Jarrod Janssen
     1  Jan Rock
     1  Sam Desborough
     1  Jakub Kozłowski
     1  Sandro Stucki
     1  Jacob J
     1  Jaap van der Plas
     1  Ivano Pagano
     1  Ivan Youroff
     1  Iltotore
     1  Serhii Pererva
     1  Igor Mielientiev
     1  Ignasi Marimon-Clos
     1  Simon Hafner
     1  Simon Popugaev
     1  Ian Tabolt
     1  SrTobi
     1  Stefan Zeiger
     1  Stephane MICHELOUD
     1  tokkiyaa
     1  Stéphane MICHELOUD
     1  Herdy Handoko
     1  Szymon Pajzert
     1  Harrison Houghton
     1  Taisuke Oe
     1  yytyd
     1  Harpreet Singh
     1  Haemin Yoo
     1  Timur Abishev
     1  Grzegorz Kossakowski
     1  Tobias Kahlert
     1  0xflotus
     1  Greg Zoller
     1  Tomas
     1  George Leontiev
     1  Florian Schmaus
     1  zgrybus
     1  Florian Cassayre
     1  Ferhat Aydın
     1  Umayah Abdennabi
     1  Fedor Shiriaev
     1  Dmitry Melnichenko
     1  Dmitrii Naumenko
     1  Vasil Vasilev
     1  Victor
     1  Deon Taljaard
     1  Denis Buzdalov
     1  Dean Wampler
     1  David Hoepelman
     1  Vykintas Narmontas (William)
     1  Alexander Shamukov
     1  DarkDimius
     1  Daniel Reigada
     1  Daniel Murray
     1  Yilin Wei
     1  Zoltán Elek
     1  adpi2
     1  aesteve
     1  amanjpro
     1  andreaTP
     1  Damian Albrun
     1  ayush
     1  benkbalog
     1  Csongor Kiss
     1  Ciara O'Brien
     1  Carlos Quiroz
     1  brunnerant
     1  =
     1  costa100
     1  Bunyod
     1  dieutth
     1  AlexSikia
     1  Brian Wignall
     1  张志豪
     1  felher
     1  Brandon Elam Barker
     1  fschueler
     1  gan74
     1  gnp
     1  gosubpl
     1  Bojan Dunaj
     1  iroha168
     1  Ben Hutchison
     1  Albert Serrallé Ríos
     1  Batanick
     1  Bartosz Krasiński
     1  August Nagro
     1  AngAng
     1  Adam Trousdale
     1  lpwisniewski
     1  manojo
     1  mentegy
     1  mikhail
     1  Mathias
     1  msosnicki
     1  Ang9876
     1  Max Ovsiankin
     1  Markus Kahl
     1  Markus Hauck
     1  Marc Karassev
     1  Mads Hartmann
     1  Lukas Ciszewski
     1  Ang Hao Yang
     1  Mike Samuel
     1  Lucas Jenß
     1  Li Haoyi
     1  Lanny Ripple
     1  Mohuety Kirisame
     1  Krzysiek Bochenek
     1  phderome
     1  Kevin Dreßler
     1  Keith Pinson
     1  Kazuyoshi Kato
     1  Kazuhiro Sera
     1  Niklas Vest
     1  Amadou CISSE
     1  riiswa
     1  Katrix
     1  Karol Chmist
     1  Ondra Pelech

Reporting Bugs

If you encounter a bug, please open an issue! 🙏

3.0.0-RC3

19 Apr 16:09
Compare
Choose a tag to compare

Notable Changes

  • Fix type test for trait parameter arguments #12066
  • Set file filter correctly #12119
  • Provide mirror support after inlining #12079
  • Revert "Recursively check nonvariant arguments of base types for realizability" #12067
  • When simplifying match types, ensure fully defined before reducing #12068
  • sbt-dotty: the binary version is 3 for Scala >= 3.0.0 #12084
  • Fix isInstanceOf[Array[?]] returning true on non-Array #12108
  • Scala2Unpickler: don't unpickle the same type parameter twice #12129
  • Overloading resolution: Handle SAM types more like Java and Scala 2 #12131
  • Add TermParamClause.isGiven #12042

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges 3.0.0-RC2..3.0.0-RC3 these are:

     8  Martin Odersky
     7  Adrien Piquerez
     6  Guillaume Martres
     4  Liu Fengyun
     1  Anatolii Kmetiuk
     1  Nicolas Stucki

Reporting Bugs

If you encounter a bug, please open an issue! 🙏

3.0.0-RC2

29 Mar 14:32
e8cfbb3
Compare
Choose a tag to compare

Notable Changes

Features and API

  • Treat Scala.js pseudo-unions as real unions #11671
  • A New UnsafeNulls Language Feature for Explicit Nulls #9884
  • Only enable experimental features for snapshot and nightly (V2) #11920
  • Rename -Ycheck-init to -Ysafe-init #11670
  • Replace package object compiletime by top-level definitions; move compiletime.S to compiletime.ops.int.S #11745

Metaprogramming

  • Add quotes.Type.valueOfConstant #11715
  • Remove compiletime.Widen #11569
  • Add -Xcheck-macros scalac option #11655
  • Add reflect Symbol.info and ClassInfo #11664

Other

  • Fix #11774: only enable experimental features for snapshot and nightly #11852
  • Fixes and improvements to erasure #11695
  • Rename -Ycheck-init to -Ysafe-init #11670

Documentation

  • Handle help, version and @file parameters in scalac and scaladoc #11476
  • Documentation for using IntelliJ and Metals #11535

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges 3.0.0-RC1..3.0.0-RC2 these are:

   150  Martin Odersky
    83  Liu Fengyun
    44  Nicolas Stucki
    40  Guillaume Martres
    17  Tom Grigg
    14  Paweł Marks
    12  Andrzej Ratajczak
    11  Aleksander Boruch-Gruszecki
    11  Yichen Xu
    10  Phil
    10  Filip Zybała
    10  bjornregnell
    10  Michał Pałka
     9  Jamie Thompson
     9  Raphael Jolly
     8  Krzysztof Romanowski
     7  Lan, Jian
     6  Sébastien Doeraene
     6  Adrien Piquerez
     5  Olivier Blanvillain
     5  Alex Merritt
     4  Lukas Rytz
     4  Anatolii Kmetiuk
     3  Stéphane Micheloud
     3  Ruslan Shevchenko
     3  Jakob Odersky
     3  Eric K Richardson
     2  Som Snytt
     2  xhudik
     2  Ayush
     2  noti0na1
     1  Jonathan Brachthäuser
     1  Ivano Pagano
     1  Hanns Holger Rutz
     1  Mathias
     1  Guillaume Raffin
     1  Miles Sabin
     1  Fengyun Liu
     1  Ben Hutchison
     1  Roberto Bonvallet
     1  Alexandre Archambault
     1  Jakub Kozłowski

Reporting Bugs

If you encounter a bug, please open an issue! 🙏

3.0.0-RC1

16 Feb 11:47
Compare
Choose a tag to compare

Notable Changes

Syntax

  • Allow indentation to work inside parens #10969
  • Allow new import syntax #11244
  • Use uninitialized for wildcard initializers #11231
  • Add Matchable trait #10670
  • Allow leading context parameters in extension methods #10940

Language

  • Warn when matching against an opaque type #10664
  • Fix #6190: eta-expand companion object if functions are expected #7207
  • Fix #8634: Support -release option #10746
  • Alternative definition layout of IArray #11329
  • Change scheme to implement creator applications #10784

Metaprogramming

  • Add scala.quoted.Expr.unapply as dual of Expr.apply #10580
  • Remove Expr.StringContext.unapply #10675
  • Add reflect MatchCase TypeRepr #10735
  • Rename scala.quoted.staging.{Toolbox => Compiler} #11129
  • Fix #10863: Make show AnyKinded #10988
  • Add ParamClause to allow multiple type param clauses #11074
  • Rework reflect Symbol fields API #10705
  • Rename Liftable to ToExpr and Unliftable to FromExpr #10618
  • Expand non-transparent macros after Typer #9984
  • Rework TastyInspector API to allow inspection of all files #10792
  • Rename Not to NotGiven to make its purpose clearer #10720
  • Fix #10709: Add missing level check before inlining #10781

Other

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges 3.0.0-M3..3.0.0-RC1 these are:

   183  Martin Odersky
   138  Nicolas Stucki
    36  Krzysztof Romanowski
    25  Filip Zybała
    25  Liu Fengyun
    24  Lan, Jian
    22  Jamie Thompson
    19  Tom Grigg
    17  Andrzej Ratajczak
    16  Stéphane Micheloud
    15  Guillaume Martres
    11  Paweł Marks
     9  Phil
     6  Aleksander Boruch-Gruszecki
     6  Jonathan Brachthäuser
     6  Natsu Kagami
     6  odersky
     4  Jasper Moeys
     4  Adrien Piquerez
     3  Sébastien Doeraene
     3  Michał Pałka
     3  Albert Chen
     2  Alexandre Archambault
     2  Som Snytt
     2  kenji yoshida
     2  Luc Henninger
     2  Ayush
     2  Raphael Jolly
     2  Anatolii Kmetiuk
     2  Olivier Blanvillain
     2  changvvb
     1  ysthakur
     1  Ang Hao Yang
     1  Ang9876
     1  AngAng
     1  August Nagro
     1  Ciara O'Brien
     1  Dale Wijnand
     1  Florian Cassayre
     1  Florian Schmaus
     1  Iltotore
     1  Jason Zaugg
     1  Julien Richard-Foy
     1  Katrix
     1  Master-Killer
     1  Michael Pilquist
     1  Mikael Blomstrand
     1  Mike Samuel
     1  Philippus
     1  Philippus Baalman
     1  Rick M
     1  Stephane MICHELOUD
     1  Timur Abishev
     1  Tomas
     1  ansvonwa
     1  ayush
     1  costa100
     1  iroha168
     1  noti0na1
     1  riiswa
     1  tanishiking

Reporting Bugs

If you encounter a bug, please open an issue! 🙏

3.0.0-M3

16 Dec 17:31
73d942c
Compare
Choose a tag to compare

Notable Changes

Language

  • Givens without as #10538
  • Drop as in patterns #10565
  • Fix #10484: Switch back to old context function closure syntax #10487
  • Add Matchable trait #10670

Metaprogramming

  • Add Expr.asTerm #10694
  • Add reflect MatchCase TypeRepr #10735
  • Rework reflect Symbol fields API #10705
  • Remove Expr.StringContext.unapply #10675
  • Rename Liftable to ToExpr and Unliftable to FromExpr #10618
  • Remove Unliftable[Unit] #10570
  • Remove reflect.LambdaType #10548
  • Add scala.quoted.Expr.unapply as dual of Expr.apply #10580
  • Move Quotes as last parameter in ExprMap.transform #10519
  • Rework reflect Constant API #10753
  • Unify quoted.report and reflect.Reporting #10474
  • Fix #10359: Add GivenSelector to reflection API #10469
  • Rework reflect show API #10661
  • Fix #10709: Add missing level check before inlining #10781

Tooling

  • [sbt-bridge] Bump Zinc to 1.4.3 and upgrade to CompilerInterface2 #10607
  • Scala3doc/community build #10522
  • Scripting solution #10491

Other changes

  • Rename Not to NotGiven to make its purpose clearer #10720
  • Clean up settings #10655
  • Introduce Transparent flag #10458
  • Keep export clause until first transform, use for incremental compilation #10182

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges 3.0.0-M1..3.0.0-M3 these are:

    80  Nicolas Stucki
    73  Martin Odersky
    64  Krzysztof Romanowski
    32  Liu Fengyun
    28  Aleksander Boruch-Gruszecki
    22  Anatolii Kmetiuk
    17  Guillaume Martres
    17  Sébastien Doeraene
    14  Andrzej Ratajczak
    13  Tom Grigg
     8  Filip Zybała
     7  Lan, Jian
     5  Olivier Blanvillain
     5  Som Snytt
     5  Jamie Thompson
     4  Stéphane Micheloud
     4  Lionel Parreaux
     3  Adrien Piquerez
     3  Artur Opala
     3  Hanns Holger Rutz
     3  Michael Pilquist
     3  Michał Pałka
     3  bishabosha
     2  Jonathan Brachthäuser
     2  Camila Andrea Gonzalez Williamson
     1  Mikael Blomstrand
     1  Francois GORET
     1  Felix Mulder
     1  Raphael Jolly
     1  Robert Stoll
     1  Ruslan Shevchenko
     1  Seth Tisue
     1  Eugene Yokota
     1  Amadou CISSE
     1  Akhtiam Sakaev
     1  Martin Duhem
     1  Tomasz Godzik
     1  Matthew Pickering
     1  odersky

Reporting Bugs

If you encounter a bug, please open an issue! 🙏