Releases: scala/scala3
3.1.2
Forward compatibility improvements
- Enable generation of TASTy files readable for older compilers #14156
General improvements
- Add eval (-e) expression evaluation to command line #14263
- Format compiler crash stack traces #14269
- Improve typer traces #14270
- Add -Xmacro-settings option and API #14234
- Add reflect TypeRepr.substituteTypes #13166
- Expand compiletime.ops #13400
- Cache isSubspace for a 3000% speedup #13637
- lint trivially self-recursive extension methods #13709
- add
printTypesAndErasure
test main method to compare typer and erasure #13745 - Warning for infinite recursive lazy vals #13749
- Provide scala.home setting for scripts #13759
- Improve message when -Xmax-inlines limit reached #13783
- Add append operator to Tuple #13786
- Allow passing any JMH option to scala3-bench #13787
- Warn on lossy conversion of literals & constants #13792
- Consider minTargetVersion as always supported #13811
- Add -Xmacro-check for Block constructors #13824
- Navigate the AST within AnnotatedType and ImportType #13834
- Refine handling of CanThrow capabilities #13866
- Indicate name of classfile where leaky mapping of existential type happens #13879
- Refine treatment of TypeBounds in patterns #13881
- Impose implicit search limit #13886
- Better handling of multiple exceptions for saferExceptions #13914
- Complete when importing same symbol multiple times #13972
- Implement :settings in the REPL #13982
- Fixes and improvements to trace logging #13984
- Fail compilation of attempting a 0-arity product extraction #14029
- Traverse the types to find experimental references #14047
- Retain HasDefaultParams flag on export. #14051
- Also consider private symbols in implicit scope of type #14054
- Allow return in tailrec position #14067
- Make outer references Java-synthetic #14084
- Add Reflect
TypeRepr.typeArgs
#14088 - Reject empty target names #14090
- Use =>> instead of => for printing a LambdaTypeTree #14107
- REPL: Add compiler options to :reset #14139
- Add hint on -Xcheck-macro scope extrusion failure #14203
- Support quoted PolyFunction #14222
- Update wording of uninitialized value error to be grammatically correct #14292
- Rename
-Yscala-release
,-release
and-Xtarget
settings to make them more consistent #14606
Scaladoc
- Fix missing known subtypes #13794
- Markdown preprocessor #13140
- Add source position for errors from doc-root-content file #13908
- Fix double implicit modifier #13909
- Fix links to unexisting types sites #13917
- Add support for tables in wiki syntax #13933
- Improve features parity with old scaladoc/docs.scala-lang #13954
- Add missing styles to snippets that are not Scala #13959
- Fix filtering extensions. Better support for exports #14125
SemanticDB
Bug fixes
- Fix #13855: Chaining Match Types fails at value level #14354
- Fix #12260: Add underscore to match type syntax #12261
- Fix #11861 - hash nested calls to inline definitions #12931
- Avoid shadowing of name 'name' #13442
- Fix #13633: Can't reduce match types inside a type alias #13635
- Fix erased context function types #13736
- Widen qualifier skolems #13748
- Change order of proxy evaluation when inlining #13755
- Fix init checker on secondary constructor parameter access #13776
- Add missing @experimental in Tuples #13778
- Fix improper usage of constrained breaking type inference #13779
- Fix error message when deriving an obstract type #13812
- Handles Nothing when synthesizing CanEqual #13828
- Fix #13026: No longer print VBAR and padding in the middle of the message #13829
- Solves dotc assertion error on (non-sensical?) parameter type. #13769 #13830
- Fix missing code-completion on standalone annotations #13831
- Fix comparing
AnyVal | Null
toNull
and selecting inUnsafeNulls
#13837 - Fix error summary printed twice #13843
- Detect opaque aliases in inline val types #13857
- Fix
@experimental @main
methods #13858 - Fix #13860: Ignore bridges when looking for a default getter's attached method. #13870
- Add missing position when expanding error #13872
- Try to instantiate type variables in tryInsertImplicitOnQualifier #13884
- Fix crasher for missing integer argument on command line #13894
- Fix messages leaking via suspended messages #13911
- Don't lift try-catch statements that are already in local functions #13944
- Initialize quote cache on tasty inspector run #13953
- Tighten product match logic in irrefutable check #13962
- Fix Mirror.Product for type lambdas #14003
- Sound type avoidance (hopefully!) #14026
- Fix REPL clashing with CWD artefacts #14021
- Don't retypecheck erroneous arguments when fixing function #14043
- Fix #13994: initialise inline ctx in lateEnter #14050
- Inline inlined private methods before checking accessibility #14049
- Handle hoisted super arguments correctly in
elimByName
#14057 - Check variance of RHS of opaque type #14058
- Don't insert INDENT/UNINDENT without anything in between #14066
- Don't generate illegal types when clarifying implicit errors #14068
- Allow import
<ident>
to show completions #14069 - Bypass eligible caches for impl...
3.1.2-RC3
3.1.2-RC2
Notable Changes
- Set context when reporting summonInline errors #14405
- Fix #14541: Problem running
@main
methods with command line arguments #14543 - Check defined in src for cache in companion #14557
- Rename
-Yscala-release
,-release
and-Xtarget
settings to make them more consistent #14606
Contributors
Thank you to all the contributors who made this release possible ๐
According to git shortlog -sn --no-merges 3.1.2-RC1..3.1.2-RC2
these are:
1 Jamie Thompson
1 Michaล Paลka
1 Nicolas Stucki
1 Paweล Marks
1 Som Snytt
1 Andrzej Ressel
3.1.2-RC1
Forward compatibility improvements
- Enable generation of TASTy files readable for older compilers #14156
General improvements
- Add eval (-e) expression evaluation to command line #14263
- Format compiler crash stack traces #14269
- Improve typer traces #14270
- Add -Xmacro-settings option and API #14234
- Add reflect TypeRepr.substituteTypes #13166
- Expand compiletime.ops #13400
- Cache isSubspace for a 3000% speedup #13637
- lint trivially self-recursive extension methods #13709
- add
printTypesAndErasure
test main method to compare typer and erasure #13745 - Warning for infinite recursive lazy vals #13749
- Provide scala.home setting for scripts #13759
- Improve message when -Xmax-inlines limit reached #13783
- Add append operator to Tuple #13786
- Allow passing any JMH option to scala3-bench #13787
- Warn on lossy conversion of literals & constants #13792
- Consider minTargetVersion as always supported #13811
- Add -Xmacro-check for Block constructors #13824
- Navigate the AST within AnnotatedType and ImportType #13834
- Refine handling of CanThrow capabilities #13866
- Indicate name of classfile where leaky mapping of existential type happens #13879
- Refine treatment of TypeBounds in patterns #13881
- Impose implicit search limit #13886
- Better handling of multiple exceptions for saferExceptions #13914
- Complete when importing same symbol multiple times #13972
- Implement :settings in the REPL #13982
- Fixes and improvements to trace logging #13984
- Fail compilation of attempting a 0-arity product extraction #14029
- Traverse the types to find experimental references #14047
- Retain HasDefaultParams flag on export. #14051
- Also consider private symbols in implicit scope of type #14054
- Allow return in tailrec position #14067
- Make outer references Java-synthetic #14084
- Add Reflect
TypeRepr.typeArgs
#14088 - Reject empty target names #14090
- Use =>> instead of => for printing a LambdaTypeTree #14107
- REPL: Add compiler options to :reset #14139
- Add hint on -Xcheck-macro scope extrusion failure #14203
- Support quoted PolyFunction #14222
- Update wording of uninitialized value error to be grammatically correct #14292
Scaladoc
- Fix missing known subtypes #13794
- Markdown preprocessor #13140
- Add source position for errors from doc-root-content file #13908
- Fix double implicit modifier #13909
- Fix links to unexisting types sites #13917
- Add support for tables in wiki syntax #13933
- Improve features parity with old scaladoc/docs.scala-lang #13954
- Add missing styles to snippets that are not Scala #13959
- Fix filtering extensions. Better support for exports #14125
SemanticDB
Bug fixes
- Fix #13855: Chaining Match Types fails at value level #14354
- Fix #12260: Add underscore to match type syntax #12261
- Fix #11861 - hash nested calls to inline definitions #12931
- Avoid shadowing of name 'name' #13442
- Fix #13633: Can't reduce match types inside a type alias #13635
- Fix erased context function types #13736
- Widen qualifier skolems #13748
- Change order of proxy evaluation when inlining #13755
- Fix init checker on secondary constructor parameter access #13776
- Add missing @experimental in Tuples #13778
- Fix improper usage of constrained breaking type inference #13779
- Fix error message when deriving an obstract type #13812
- Handles Nothing when synthesizing CanEqual #13828
- Fix #13026: No longer print VBAR and padding in the middle of the message #13829
- Solves dotc assertion error on (non-sensical?) parameter type. #13769 #13830
- Fix missing code-completion on standalone annotations #13831
- Fix comparing
AnyVal | Null
toNull
and selecting inUnsafeNulls
#13837 - Fix error summary printed twice #13843
- Detect opaque aliases in inline val types #13857
- Fix
@experimental @main
methods #13858 - Fix #13860: Ignore bridges when looking for a default getter's attached method. #13870
- Add missing position when expanding error #13872
- Try to instantiate type variables in tryInsertImplicitOnQualifier #13884
- Fix crasher for missing integer argument on command line #13894
- Fix messages leaking via suspended messages #13911
- Don't lift try-catch statements that are already in local functions #13944
- Initialize quote cache on tasty inspector run #13953
- Tighten product match logic in irrefutable check #13962
- Fix Mirror.Product for type lambdas #14003
- Sound type avoidance (hopefully!) #14026
- Fix REPL clashing with CWD artefacts #14021
- Don't retypecheck erroneous arguments when fixing function #14043
- Fix #13994: initialise inline ctx in lateEnter #14050
- Inline inlined private methods before checking accessibility #14049
- Handle hoisted super arguments correctly in
elimByName
#14057 - Check variance of RHS of opaque type #14058
- Don't insert INDENT/UNINDENT without anything in between #14066
- Don't generate illegal types when clarifying implicit errors #14068
- Allow import
<ident>
to show completions #14069 - Bypass eligible caches for implicit search under GADT constraints #14072
- Fix passing jvm options [#14073](https://github.com/lamp...
3.1.1
Improvements
- Remove differences in diagnostic printing in the REPL #13266
- Make trace typed, to avoid needless casting #13464
- Change
TastyFormat
forREFINEDtype
to conform to existing.tasty
files #13507 - Emit deferred reachability warnings & fix boxing/unboxing adapting #13485
- Include scope completions for synthic select tree #13515
- Setup snippet compiler for scala.quoted and fix snippets #13521
- Scaladoc: UI/UX Changes #13566
- Make members of the empty package invisible from inside other packages #13593
- Prioritize ambiguous errors in extension method search #13588
- Better nested lists rendering in scaladoc #13643
- Clarify implicit scope of opaque type aliases #13666
- Allow using clauses to introduce Scala-2 conversions #13662
- Remove plugin related settings from common scala settings #13711
- Remove
RenameLifted
phase #13717 - Move part of settings to
CommonScalaSettings
#13712 - Add
init
andlast
methods toNonEmptyTuple
#13735 - Allow dual Scala 2/3 macros in non-experimental scopes #13795
- Refine check for caching companion in sum mirror #14035
Bug fixes
- Do not bind inline parameters when lifting args #13429
- Fix #13440: Avoid capturing var in message closure #13441
- Scaladoc: Fix printing refined self-types in snippet-compiler #13436
- Set correct source for generated TypeTrees #13465
- Fix reachability of non-reducing match type children #13251
- Use correct context when creating inline trace #13492
- Fix #13497: Exception occurred while typechecking summon in nested
flatMap
#13499 - Unwiden scrutinee types, fixing match analysis #13409
- Don't count constructors in allMembers #13505
- Fix crash on uninstantiated field access #13517
- Fix #13320: add
.type
to modules in messages #13374 - Fix #13518: Scala.js: fix primitive + string when the string is a
TermRef
. #13537 - Fix running repl #13535
- Fix specifity comparison for extensions in polymorphic givens #13509
- Capture missing class when loading methods #13525
- Fix snippets in
scala.compiletime
and fix snippet compiler reporting line numbers in specific cases #13528 - Fix Java generic signatures for aliases #13574
- Fix suggested stub implementation code #13529
- Remove anomalies and gaps in handling annotations #13348
- Do not remove accessors to early #13484
- Fix #10349: Match type on
Map
crashes the compiler #13581 - Fix wrong external mappings in
Build.scala
#13582 - Add type modes to
DottyTypeStealer
#13576 - Fix #12962: Fail
verifyScalacArgs
ifdist/target/pack/bin/scalac
not found #13029 - Fix #13455: Also consider sealed classes closed sums #13483
- Fix #13197: Deskolemize lifted named arguments #13590
- Fix missing
SymbolOccurrence
for aliased symbol #13609 - Fix #13487: Unification check in deriving is incorrect #13489
- Fix #13552: Insert compiler libraries head of user-specified classpath #13562
- repl: Handle user-defined
res
definitions #13600 - Fix #13491: 3.0.2 typing incompatible with 3.0.1 #13585
- Ignore
StaleSymbol
exceptions when testing whether dependencies should be ignored #13594 ExtractDependencies
: more robust cycle check #13583- Check that right hand sides of implicit defs don't loop (directly) #13589
- Fix #13495: Break completion cycles #13596
- Fix #10886: Show full evaluation of match types in interactive #13597
- Fix #13469: Type Function Alias behaves differently from the inlined version of the type alias #13598
- Fix variable handling in super calls #13639
- Avoid crash in parser when tree has no position #13640
- Fix #12944: Match type failure to reduce with separate compilation #13636
- Fix 13618: Undo windows wildcard classpath globbing #13619
- Don't reduce inline matches, when a guard cannot be checked at compile time #13601
- Eliminate
newNakedSymbol
methods #13641 - Fix #13418: support
AppliedType
inouterTestNeeded
#13420 - Fix erasure of curried polymorphic function types #13664
- Fix # 13670: Relax requirements for recognizing valid scala hashbang lines #13671
- Make
distinctRefs
inImportSuggestions
use constant stackspace #13667 - Remember compared polytypes #13663
- Fix ordering propagation during parameter unification in constraint solver #13031
- Don't lose paramSyms when unpickling from Scala 2 #13665
- Skipping inlined tree reduction of type member selection #13578
- Fix #12656 by setting the proper reporter for inlined methods #13543
- Inliner: don't confuse method parameters and nested lambda parameters #13658
- Strip Nulls from Java members when
unsafeNulls
is enabled #13337 - Handle inline super prefix bindings #13649
- Fix parents of tuple classes #13659
- Fix broken lookups #13697
- Fix overriding in explicit nulls #13647
- Normalize prototype before decomposing as a function #13651
- Do not perform completion on higher kinded trees #13700
- Fix encoding of setters on anonymous classes with structural types #13707
- Scaladoc: Fix bugs found while setting up cats #13705
- Search for type tests when matching abstract applied type #13453
- Avoid cycle with top-level export and trait #13719
- Handle Java varargs
T...
whereT
is a class parameter #13718 - Fix top level index #13710
- Set the correct owner when quote making inlinable #13547
- Fix error message when "import given" is missing #13731
- Can mark
var
implementation as override #13744 - under
-source:future
, don't warn on infix usage of Scala 2 defined methods with default arguments #13714 - Add missing position to closure tree #13733
- Collective extensions is sensitive to EOF #13432
- Fix init soundness #13472
- Fix F-Bounded types signatures [#13753](ht...
3.1.1-RC2
Notable Changes
- Allow dual Scala 2/3 macros in non-experimental scopes #13795
- Refine check for caching companion in sum mirror #14035
- Scaladoc: generate valid api doc if class name contains / or \ #13827
Contributors
Thank you to all the contributors who made this release possible ๐
According to git shortlog -sn --no-merges 3.1.1-RC1..3.1.1-RC2
these are:
3 Filip Zybaลa
2 Nicolas Stucki
1 Dale Wijnand
1 Jamie Thompson
1 Paweล Marks
Reporting Bugs
If you encounter a bug, please open an issue! ๐
3.1.1-RC1
Improvements
- Remove differences in diagnostic printing in the REPL #13266
- Make trace typed, to avoid needless casting #13464
- Change
TastyFormat
forREFINEDtype
to conform to existing.tasty
files #13507 - Emit deferred reachability warnings & fix boxing/unboxing adapting #13485
- Include scope completions for synthic select tree #13515
- Setup snippet compiler for scala.quoted and fix snippets #13521
- Scaladoc: UI/UX Changes #13566
- Make members of the empty package invisible from inside other packages #13593
- Prioritize ambiguous errors in extension method search #13588
- Better nested lists rendering in scaladoc #13643
- Clarify implicit scope of opaque type aliases #13666
- Allow using clauses to introduce Scala-2 conversions #13662
- Remove plugin related settings from common scala settings #13711
- Remove
RenameLifted
phase #13717 - Move part of settings to
CommonScalaSettings
#13712 - Add
init
andlast
methods toNonEmptyTuple
#13735
Bug fixes
- Do not bind inline parameters when lifting args #13429
- Fix #13440: Avoid capturing var in message closure #13441
- Scaladoc: Fix printing refined self-types in snippet-compiler #13436
- Set correct source for generated TypeTrees #13465
- Fix reachability of non-reducing match type children #13251
- Use correct context when creating inline trace #13492
- Fix #13497: Exception occurred while typechecking summon in nested
flatMap
#13499 - Unwiden scrutinee types, fixing match analysis #13409
- Don't count constructors in allMembers #13505
- Fix crash on uninstantiated field access #13517
- Fix #13320: add
.type
to modules in messages #13374 - Fix #13518: Scala.js: fix primitive + string when the string is a
TermRef
. #13537 - Fix running repl #13535
- Fix specifity comparison for extensions in polymorphic givens #13509
- Capture missing class when loading methods #13525
- Fix snippets in
scala.compiletime
and fix snippet compiler reporting line numbers in specific cases #13528 - Fix Java generic signatures for aliases #13574
- Fix suggested stub implementation code #13529
- Remove anomalies and gaps in handling annotations #13348
- Do not remove accessors to early #13484
- Fix #10349: Match type on
Map
crashes the compiler #13581 - Fix wrong external mappings in
Build.scala
#13582 - Add type modes to
DottyTypeStealer
#13576 - Fix #12962: Fail
verifyScalacArgs
ifdist/target/pack/bin/scalac
not found #13029 - Fix #13455: Also consider sealed classes closed sums #13483
- Fix #13197: Deskolemize lifted named arguments #13590
- Fix missing
SymbolOccurrence
for aliased symbol #13609 - Fix #13487: Unification check in deriving is incorrect #13489
- Fix #13552: Insert compiler libraries head of user-specified classpath #13562
- repl: Handle user-defined
res
definitions #13600 - Fix #13491: 3.0.2 typing incompatible with 3.0.1 #13585
- Ignore
StaleSymbol
exceptions when testing whether dependencies should be ignored #13594 ExtractDependencies
: more robust cycle check #13583- Check that right hand sides of implicit defs don't loop (directly) #13589
- Fix #13495: Break completion cycles #13596
- Fix #10886: Show full evaluation of match types in interactive #13597
- Fix #13469: Type Function Alias behaves differently from the inlined version of the type alias #13598
- Fix variable handling in super calls #13639
- Avoid crash in parser when tree has no position #13640
- Fix #12944: Match type failure to reduce with separate compilation #13636
- Fix 13618: Undo windows wildcard classpath globbing #13619
- Don't reduce inline matches, when a guard cannot be checked at compile time #13601
- Eliminate
newNakedSymbol
methods #13641 - Fix #13418: support
AppliedType
inouterTestNeeded
#13420 - Fix erasure of curried polymorphic function types #13664
- Fix # 13670: Relax requirements for recognizing valid scala hashbang lines #13671
- Make
distinctRefs
inImportSuggestions
use constant stackspace #13667 - Remember compared polytypes #13663
- Fix ordering propagation during parameter unification in constraint solver #13031
- Don't lose paramSyms when unpickling from Scala 2 #13665
- Skipping inlined tree reduction of type member selection #13578
- Fix #12656 by setting the proper reporter for inlined methods #13543
- Inliner: don't confuse method parameters and nested lambda parameters #13658
- Strip Nulls from Java members when
unsafeNulls
is enabled #13337 - Handle inline super prefix bindings #13649
- Fix parents of tuple classes #13659
- Fix broken lookups #13697
- Fix overriding in explicit nulls #13647
- Normalize prototype before decomposing as a function #13651
- Do not perform completion on higher kinded trees #13700
- Fix encoding of setters on anonymous classes with structural types #13707
- Scaladoc: Fix bugs found while setting up cats #13705
- Search for type tests when matching abstract applied type #13453
- Avoid cycle with top-level export and trait #13719
- Handle Java varargs
T...
whereT
is a class parameter #13718 - Fix top level index #13710
- Set the correct owner when quote making inlinable #13547
- Fix error message when "import given" is missing #13731
- Can mark
var
implementation as override #13744 - under
-source:future
, don't warn on infix usage of Scala 2 defined methods with default arguments #13714 - Add missing position to closure tree #13733
- Collective extensions is sensitive to EOF #13432
- Fix init soundness #13472
- Fix F-Bounded types signatures #13753
- Fix #13758: Provide
scala.home
setting for scripts [#13759](https://github.c...
3.1.0
Scala 3.1 is backwards binary-compatible with Scala 3.0: libraries compiled with 3.0.x can be used from 3.1 without change.
Notable changes
- New experimental feature: safer exceptions #11721
- Emit efficient code for switch over strings #11937
- Add reflect SourceFile.{getJPath,name,path} #13177
- Support -Wconf and @nowarn #12857
- Fix #9482: simplified Manifest synthesis #13142
- Scaladoc: Integrate Scastie into Scaladoc #13258
- Add reflect Unapply.apply #13298
- Change @experimental spec #13305
- Update the tasty inspector returned value #13316
- Add Wildcard in reflection #13363
- Add TypedOrTest as super type of Typed in reflection #13362
Stabilized API
scala.Selectable.WithoutPreciseParameterTypes
#13315Symbol
member methods in reflection API #13314scala.quoted.Type.valueOfTuple
#13313- Quotes abort API #13312
Quotes.reflect.TermParamClause.isErased
#13311
Other improvements
Language and compiler
- Add CanEqual typeclass instances of Option, Either and Tuple for strictEquality #12419
- Synthesise Mirror.Sum for nested hierarchies #11686
- Added better explanation for tree, that cannot be typed #12717
- Allowing local variables to be initialized with non-hot values in initialization checker #12867
- Use StringConcatFactory for string concatenation on JDK 9+ #12929
- Add explanation to "already defined" message #13090
- Do not require @experimental on anonymous classes #13155
- Make body of quotes inlinable #13188
- REPL: display the compiler + Java version on startup #13193
- Teach backend to emit iinc instructions #13214
- Allow IntSetting's to be set with a colon #13267
- Add CanEqual typeclass instance for Seq to match Nil case#13265
- Simplify & clarify TASTy isVersionCompatible #13280
- Allow semicolon between type match cases #13338
- Allow experimental erased in experimental scopes #13394
- Add TypeRepr.isTupleN to reflection API #13384
- Allow experimental language imports in experimental scopes #13417
- Allow -source 3.1 as a version #13617
Documentation
- Update the docs, change sidebar url property to page/index #13004
- Inkuire search engine UI improvements #13052
- Generate flat documentation structure for API rather than putting everything in api directory #13130
- Add heuristic to support Context Bounds #13172
- Add snippet includes feature. Introduce new snippet UX/UI. #13217
- Add version browsing for nightlies #13244
- Fetch Inkuire at scaladoc build instead of documentation generation #13287
SemanticDB
- Signature information #12885
- Support new Scala3 modifiers #13239
- Support synthetics: implicit params, context params, and implicit conversions #13288
- Support overridden_symbols#13295
Other bug fixes
- Fix parsing Java annotation values #11809
- Fix #11318: Assertion failed when not adding prefix to extension method in method body #11882
- Fix #10900: Avoid loop for F-bounds in checkCanEqual #12747
- Fix regression in provablyDisjoint #12786
- Do no widen constant type on selector type in inline matches #12902
- Make def generated from givens not synthetic #12979
- Fix non-determinism in
-Ysafe-init
external method trace: #12989 - Exhaustivity warnings on nested case classes #13030
- Fix constructors Java generic signatures #13047
- Set TimeZone for version number #13051
- Avoid auto-tupling in unapply unless a tuple is expected #13063
- Handle overloaded members when generating Java varargs bridges #13066
- Fix definition of enclosingExtensionMethod #13078
- Fix syntax of extension methods #13079
- Refine "can be handled by parent" condition when generting bridges #13092
- Suppress "no outer defs" check for Java sources #13108
- Fix MatchError in Scaladoc Scalajs script #13115
- Escape illegal characters in scaladoc code blocks #13118
- Run PatternMatcher earlier, in the group before ExplicitOuter #13124
- Deskolemise patterns to suppress exhaustivity warnings #13137
- Analyze end markers when looking ahead #13139
- Fix #13131: escape java array in ClassTag #13156
- Handle isDefinedInCurrentRun on no symbol #13157
- call deleteOnExit() after creating temporary scripting compile directory #13171
- Detect cyclic dependencies when loading modules #13178
- Fix #12800: Clarify match type reduction error on empty scrutinee #13184
- Fix intrinsic types documentation when there is no scala package on files to document path #13185
- Remove color from scala.compiletime.codeOf #13186
- Scaladoc fix 12813: type parameter in extension method is wrong #13191
- Scaladoc fix #13148: Empty argument list is not shown in scaladoc in some cases #13192
- Fix inherit doc warnings #13199
- Fix bugs in RemoteLinksTests #13200
- Scaladoc fix [#13194]: Ill formated codeblock #13202
- Fix self types appearing as inherited in docs and docs leaking self type methods #13207
- Fix #12178: cannot resolve
ValueOf
for type literal argument of opaque types #13210 - Make Hole a proper Tree in Trees #13213
- Weaken assertion for duplicate attachments #13224
- Employ frozen_<:< instead of <:< within EtaExpansion extractor logic #13229
- Fix docs of Reflect.Symbol.children #13232- Fix #13141 remove spurious coercion of * to a type identifier (was already a valid identifier) #13237
- Don't export members that will be synthesized in case classes #13234
- Fix a bug causi...
3.1.0-RC3
Notable Changes
- Make batch files support installation path containing spaces #13577
- Fix #13626: Wrong position of quote content #13627
- Fix #10867: Normalize after applyIfParameterized in superType #13253
- Generate static forwarders for object members in companion interface #13573
- Allow -source 3.1 as a version #13617
Contributors
Thank you to all the contributors who made this release possible ๐
According to git shortlog -sn --no-merges 3.1.0-RC2..3.1.0-RC3
these are:
4 Olivier Blanvillain
2 Stรฉphane Micheloud
1 Guillaume Martres
1 Martin Odersky
1 Matthieu Bovel
1 Paweล Marks
Reporting Bugs
If you encounter a bug, please open an issue! ๐
3.1.0-RC2
Notable Changes
- Fix #10747: Raise type error on unreducible match type #12768
- Set typer phase after InteractiveDriver.run #13530
- 3.1.0 line is no longer bootstrapped by the nightly build of the compiler
Contributors
Thank you to all the contributors who made this release possible ๐
According to git shortlog -sn --no-merges 3.1.0-RC1..3.1.0-RC2
these are:
9 Olivier Blanvillain
3 Jamie Thompson
1 Andrzej Ratajczak
1 Nicolas Stucki
1 Tomasz Godzik
Reporting Bugs
If you encounter a bug, please open an issue! ๐