Releases: scala/scala3
3.3.6-RC1
Highlights of the release
- Partial Fix #21242: Add REPL init script setting #22206
- Update asm to patched 9.7.1 #22250
- REPL: Add back
:silent
command #22248 - Do not lift annotation arguments #22035 and #22046
- Scala 2 forwardport:
-Yprofile-trace
#19897
Other changes and fixes
Annotations
- Make sure symbols in annotation trees are fresh before pickling #22002
- Fix Java parsing of annotations on qualified types #21867
- Rename
InlineCopier
toConservativeTreeCopier
, use it inTypeMap
s #21941 - Consider all arguments in Annotations.refersToParamOf #22001
Backend
- Flag class file collision as error #19332
- Backend computes line number from source of position #21763
CI
- In CI, use new standard scala/cla-checker action #22203
- Cancel stale CI executions when CI is re-triggered in the same branch/PR #21974
- Drop support for old experimental in community-build #21729
Coverage
- Fix coverage serialization when encountering macro suspension #22303
Dependencies
Desugaring
Documentation
- Fix: typo in documentation for Tuple.zip #22313
- Copyright 2025 #22326
- Documentation only: update Example code linked to obsolete content in macros-spec.md #22256
- Doc fix, removed repeated use of the word with #21915
- Fix typos #21913
Enums
- Add type parameters derived from enum to default param getters of enum cases #22157
Extension Methods
Infrastructure
- Improve, document and group versioning code in
Build.scala
#21837 - Fix: drop jackson-module-scala from CB #22353
- Fix inductive-implicits benchmark #22007
- Remove tests/pos-with-compiler-cc from VSCode ignored files #22198
- Bump webrick from 1.8.2 to 1.9.1 in /docs/_spec #22066
- Fix Windows OS detection in TraceNameManglingTest #21937
- Don't warn for deprecated Thread.getId() calls in
ChromeTrace
#21831 - Improvement: Remove workaround for Bloop and update docs #21842
- Ensure ChromeTraceTest event timestamps are emitted in correct invervals #21911
- Remove tests/pos-with-compiler-cc #21956
- Shade scalajs.ir under dotty.tools #21765
Implicits
- Rollback constraints in compareAppliedTypeParamRef #22339
- Apply implicit conversion from derived Conversion instance defined as implicit rather than given #21785
Imports
- Allow imports nested in packagings to shadow #21539
Inline
- Fix inline reduction for CaseDef guards with asInstanceOf #22305
- Avoid using the current denotation in NamedType.disambiguate #21414
Linting
- Append instead of prepending import selectors for the current scope when collecting them in CheckUnused #22314
- Allow discarding "Discarded non-Unit" warnings with
: Unit
#21927 - Disallow open modifier on objects #21922
- Only count associated files of direct members of package objects in dropStale #22190
Metaprogramming
- Rethrow SuspendExceptions caught in CodeGen phase #22009
- Extend compiletime.testing.typechecks with certain transform phases #21185
Match Types
- Fix #21841: Check more that an
unapplySeq
on aNonEmptyTuple
is valid. #22366 - Type avoidance in MT bound inference #22142
Nullability
Parser
- Fix: don't consider
into
as a soft-modifier #21924 - Fix: Allow
as
as an infix type in non context bound types #21849 - Undo patch of double-block apply #21982
Pattern Matching
- (Re-)Drop inaccessible subclasses from refineUsingParent #21930
- Fix #21914: Don't project nested wildcard patterns to nullable #21934
- Fix use of class terms in match analysis #21848
- Fix provablyDisjoint handling enum constants with mixins #21876
- Do not consider uninhabited constructors when performing exhaustive match checking #21750
Pickling
Presentation Compiler
- Use new infer expected type for singleton complations #21421
- Fix presentation compiler testcases #22253
- Fix match error in keyword completions #22138
- Add test cases project for presentation compiler #22101
- Improvement: Update mtags to 1.4.1 and backport remaining changes #21859
- Backport changes for the presentation compiler from Metals #21756
Quotes
- Fix tupleTypeFromSeq for XXL tuples #21782
- Do not bring forward symbols created in transform and backend phases #21865
- Fix #20471: owners of top-level symbols in cached quoted code being incorrect #21945
- Fix for macro annotation that resolves macro-based implicit crashing the compiler #20353
- Allow macro annotations to recover from suspension #21969
REPL
- REPL: JLine: follow recommendation to use JNI, not JNA; also JLine 3.27.1 (was 3.27.0) #22205
- Fix #9879: allow top-level opaque type definitions in REPL #21753
Reflection
- Do not return java outline dummy constructor in
primaryConstructor
#22104
Reporting
- Normalise the types for Type Mismatch Error (E007) #22337
- Do not warn about expected missing positions in quotes.reflect.Symbol #21677
- Add missing error messages to asserts in QuotesImpl #21852
- Don't point to the compiler backlog when a compiler plugin phase crashes #21887
- Nowarn extension matching nonpublic member #21825
- Fix: better error messages when an enum derives from AnyVal #22236
Scaladoc
- [ISSUE-#19208] If scaladocs on file protocol don't do SPA routing. #22013
- Fix scaladoc graph highlight background color in dark mode #21814
SemanticDB
- Extract semanticDB for lifted definitions #21856
Specification
3.7.0-RC1
Highlights of the release
- Add
@scala.annotation.internal.preview
annotation and-preview
flag. #22317 - Make SIP-52
@publicInBinary
a stable feature in 3.7 #22591 - Make SIP-58 -
Named Tuples
a stable feature in 3.7 #22753 - Make SIP-62 -
Better Fors
a preview feature in 3.7 #22776 - Implement SIP-61
@unroll
annotation as experimental #21693 - Implement SIP-68
Reference-able Package Objects
as experimental #22011 - Upgrade Scala 2 Standard Library to 2.13.16 #22386
- Upgrade Scala.js to 1.18.1. #22397
- Upgrade Scala CLI to 1.7.0 #22735
- Expression Compiler is now part of Scala 3 compiler #22597
- Quotes API: Added
apply
methods to import selectors #22457 - Quotes API: Implement experimental
summonIgnoring
method #22417 - Quotes API: Add class parameters, flags, and privateWithin and annotations to experimental
newClass
methods #21880 - Experimental: Capture Calculus - Inferring
tracked
modifier #21628 - Presentation Compiler: Show inferred type on holes in hover #21423
- JVM Backend: Fix #15736 blocking Scala 3 on Android #22632
- REPL: add flag to quit after evaluating init script #22636
- REPL: implement :jar (deprecate :require) #22343
- Linting: Improvements to -Wunused and -Wconf #20894
- Implicit parameters warn at call site without
using
keyword #22441 - Minimal support for dependent case classes #21698
Other changes and fixes
Annotations
- Lift arguments of explicitly constructed annotations #22553
- Fix copy of annotation on
@main
methods #22582 @publicInBinary
has now effect on secondary constructors #22630- Fix mapping of annotations #22407
Backend: Scala.js
- Emit
js.NewArray
IR nodes when possible. #22446
Classpath
- Fix empty ClassPath attribute in one or more classpath jars causes crash #22462
Documentation
- Improve the usage of inclusive language #22360
Erasure
- Handle type aliases in contextFunctionResultTypeAfter #21517
- Align erasure of
Array[Nothing]
andArray[Null]
with Scala 2 #22517
Desugering
- Under
betterFors
don't drop the trailingmap
if it would result in a different type (also drop_ => ()
) #22619
Experimental: Capture Checking
- Canonicalize capture variable subtype comparisons #22299
- Permit Capture Refs for Uninitialized Type and Term Params in BiTypeMap #22451
- Fix maximal capability handling and expand aliases #22341
Experimental: Modularity
- Widen skolem types when adding parent refinements #22488
Experimental: Global Initialization Checker
- Refactor the abstract domain of global init checker to compile http4s #22179
- Fix global init checking crash when using a value defined in by-name closure #22625
Experimentals
- Expand value references to packages to their underlying package objects #22011
Implicits
- Restrict implicit args to using #22458
Linting
- Suppress spurious Suppression #22383
- CheckUnused checks span.exists before testing its parts #22504
- Don't warn retainedBody #22510
- Handle Typeable #22663
- Nowarn public implicit val class params #22664
- Exclude synthetic this.m, Any.m from import lookup #22695
- Warn unused member of anonymous class #22729
- Ignore params to default arg getters #22749
- Lazy val def member is pattern var #22750
- Restore resolving prefixes of implicit Ident #22751
- No warning for parameter of overriding method #22757
- Dealias before checking for member in lint #22708
- Warn on bad extensions of aliases #22362
- Warn universal extensions on opaque types #22502
- Discourage default arg for extension receiver #22492
- Rename on import is never wildcard #22712
- Collect nowarn symbols instead of skipping them #22766
Match Types
- Handle NoType in TypeComparer.disjointnessBoundary #21520
Named Tuples
- Special case NamedTuple.From for arguments derived from Tuple #22449
- Generate mirrors for named tuples #22469
Opaque Types
- Fix stack overflow errors when generating opaque type proxies #22479
- Fix inline proxy generation for opaque types referencing other opaque types #22381
- Fix opaque types leaking rhs when inlined and found in type params (and a related stale symbol issue) #22655
Overloading
- Make overload pruning based on result types less aggressive #21744
Parser
- Fix annotations being not expected in the middle of an array type by java parser #22391
- No outdent at eof #22435
- Allow observing an indent after conditional #22611
- Correctly detect colon lambda eol indent for optional brace of argument #22477
Pattern Matching
- Avoid crash in uninhab check in Space #22601
- Account for named tuples in space subtraction #22658
- Check exhaustivity of any case class #22604
Presentation Compiler
- Add enum type param support in sourceSymbol #18603
- Map name position to desugared version of named context bound #22374
- Hover and go to definition for named tuples #22202
- Completions: do not complete package #20532
- Print parens for single method argument only if a direct tuple type #21510
- Improvement: use heuristic to figure out
nameSpan
ifpointDelta
too big #22484 - Fix inferredTypeEdits for symbols #22485
- Fix: Only fallback to the definition of a synthetic valdef if it is zero extent #22551
- Better LSP completions inside of backticks #22555
- Don't search for members in pc info when irrelevant #22674
- Backport from Metals #22426
- Backport from Metals #22491
- Backport from Metals #22665
Runner
- Upgrade Scala CLI to 1.7.0 highlights
3.6.4
Highlights of the release
- Support for JDK 24 #22250
- REPL
:silent
command to toggle automatic printing of outputs #22248 - REPL
--repl-init-script:
setting to run a code on startup #22206 - Deprecated setting
-Xno-decode-stacktraces
is now an alias to-Xno-enrich-error-messages
#22208 - Annotation arguments are no longer lifted #22035
- Experimental Capture Checking: Implement tracked members #21761
Breaking changes
-
Align
@implicitNotFound
and@implicitAmbigous
with the language specification #22371This change may impact users who previously used these annotations using variables or string interpolation.
Previously, a bug in the Scala 3 compiler allowed non-literal strings to be passed as arguments to the
@implicitNotFound
and@implicitAmbiguous
annotations.
This could have affected how failed implicit search results were reported by the compiler.Starting from Scala 3.6.4, the arguments for these annotations must be string literals.
If a message is too long, it can be concatenated using the+
operator, allowing for constant folding.
Other changes and fixes
Annotations
- Make sure symbols in annotation trees are fresh before pickling #22002
- Consider all arguments in Annotations.refersToParamOf #22001
- Do not lift annotation arguments (bis) #22046
Desugaring
Documentation
- Update example code linked to obsolete content in macros-spec.md #22256
Experimental: Capture Checking
- Fix #21868, #21869, and #21870: handle CapsOf in more places #21875
- Refine rules for capture parameters and members #22000
- Add a hint for using CC with REPL #22220
- Consolidate CC #21863
Experimental: Global Initialization
- Fix crash when initializing val in ByName closure #22354
Experimental: Named Tuples
- Handle TypeProxy of Named Tuples in unapply #22325
- Fail more eagerly when trying to adapt named unapply patterns #22315
- Widen singleton types when computing fields from .Fields #22149
- Fix .toTuple insertion #22028
Extension Methods
Implicits
- Rollback constraints in compareAppliedTypeParamRef #22339
- Try implicit searching after finding dynamic select #22318
Linting
- Allow discarding "Discarded non-Unit" warnings with
: Unit
#21927
Match Types
- Fix #21841: Check more that an
unapplySeq
on aNonEmptyTuple
is valid. #22366 - Type avoidance in MT bound inference #22142
Metaprogramming
- Rethrow SuspendExceptions caught in CodeGen phase #22009
Metaprogramming: Compile-time
- Extend compiletime.testing.typechecks with certain transform phases #21185
Nullability
Presentation Compiler
- Use new infer expected type for singleton complations #21421
- Fix match error in keyword completions #22138
Reflection
- Do not return java outline dummy constructor in
primaryConstructor
#22104
Reporting
- Normalise the types for Type Mismatch Error (E007) #22337
- Improve given search preference warning #22189
- Better error messages when an enum derives from AnyVal #22236
- Correctly print litteral types in the refined printer #22351
Rewrites
- Undo patch of double-block apply #21982
Scaladoc
- Scaladoc: Add support for named tuples #22263
Settings
- Limit exposure to ConcurrentModificationException when sys props are replaced or mutated #22180
Specification
Transform
Typer
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 3.6.3..3.6.4
these are:
46 Martin Odersky
33 noti0na1
24 Wojciech Mazur
14 Dale Wijnand
13 Matt Bovel
11 Hamza Remmal
7 Jan Chyb
6 aherlihy
5 Kacper Korban
5 Seth Tisue
5 Som Snytt
4 Oliver Bračevac
4 Yichen Xu
3 Sébastien Doeraene
3 dependabot[bot]
3 kasiaMarek
2 João Ferreira
1 David Hua
1 Eugene Flesselle
1 Eugene Yokota
1 Florian3k
1 Jędrzej Rochala
1 Kenji Yoshida
1 Mathias
1 Natsu Kagami
1 Oleg Zenzin
1 Piotr Chabelski
1 Rui Chen
1 philippus
1 rochala
1 xiaoshihou
3.6.4-RC2
3.3.5
Highlights of the release
- Use Scala 2.13.15 standard library #21648
- Support JDK 23 #20144
- Add the
-Wall
option that enables all warnings #20577
Breaking changes
- Aligned
-Wconf
parsing order with Scala 2 semantics:-Wconf:x,y
now means-Wconf:x -Wconf:y
, with y overruling x, rather than the reverse to align with Scala 3.4+ and with user intuition #21985
Other changes and fixes
Annotations
- Tighten java annot value parsing #21650
Exports
- Re-use attachment in exportForwarders to handle ambiguous overloads #21518
- Allow export statements in AnyVal #21653
Extension Methods
- Make right assoc ext method fwd refs error #21641
Inference
Linting
- Add origin filter to WConf, DeprecationWarning #21404
- CheckUnused checks type param annotations #20549
Match Types
- Fix #20897: Make
Nothing ⋔ Nothing
, as per spec. #21241 - Always interpret underscores inside patterns as type bounds #21718
Overloading
- Report only non-overridden unimplemented members #21337
Parser
- Harden skip in Scanner #21607
- SimplePattern errors should now be recovered as wildcard instead of unimplemented expr #21438
Positions
- Fix trailing comma Ident's span #20445
Presentation Compiler
- Fix autoimports with using directives #21590
- Remove artificial
CURSOR
added to code in the completions #20899 - Help implement Metals' infer expected type feature #21390
- Weekly metals backport #21343
- Change mock symbol search #21296
- Fix: completions when parenthesis already provided #21299
- Backport from metals #21196
- Fix: don't add suffix if brackets already present #21259
Quotes
- Handle suspension due to macro call in arbitrary phases #21651
- Have a better error message when healing types #21711
- Expr#show: Don't crash when the expression contains an unsupported type (like a SkolemType) #20494
- Quotes type printing: take
infix
type modifier into account #21726
Reporting
- Nicer error message in case a
derived
method has an explicit term param #21332 - Add better error reporting for inlined non-immutable paths #21639
Releases
- Add support for Chocolatey #20534
- Add the merge commit hash to the icon's url #21221
- Add sources of synthetic classes to sources jar #20904
REPL
- Uppdate JLine to 3.27.0 (was 3.25.1) #21752
- Allow JLine to fall back to a dumb terminal #21330
- JLine: follow recommendation to use JNI, not JNA; also JLine 3.27.1 (was 3.27.0) #22205
Runner
- Fix old scala runner to use correct JLine classpath #22464
- Fix remaining JNA classpath entries in
dist/bin/scaladoc*
scripts #22471
Scaladoc
- Only trim one newline when preprocessing the content of a markdown code snippet #21519
- Bump Inkuire version to fix it for the new Scala versions #21611
- Filter opaque modifier from object documentation #21640
TASTy format
- Add child to parent in completion context #21214
Transform
- Three fixes to SAM type handling #21596
- Fix treatment of separately compiled
@native
methods in FirstTransform #21593 - Fix #20856: Serialize
Waiting
andEvaluating
as ifnull
. #21243 - Fixes IllegalAccessError with Java package protected class #21362
- Consistently use TypeMismatch in TreeChecker #21529
- Fix: don't use color codes for pattern match code action #21120
- Let show behave more robustly for Recheck #21678
- Always rewrite empty List() to Nil #21689
Typer
- Fix extending protected nested java classes #21857
- Avoid cyclic errors forcing default arg types #21597
- Survive inaccessible types when computing implicit scope #21589
- Revert "Drop redundant
butNot = Param
clause in isAnchor" #21566 - Fail early & more clearly on shaded-broken classfiles #21262
- Fix isomorphism tests of
AndOrType
s under non-emptyBinderPairs
#21017 - Some fixes for AnnotatedTypes mapping #19957
- Simple performance improvement for Denotations #21584
- Avoid import suggestion thread hang if -Ximport-suggestion-timeout <= 1 #21434
- Fix incorrect caching with dependent method parameters #21699
Experimental: Explicit Nulls
- Add tracking of NotNullInfo for Match, Case, Try trees (fix #21380) #21389
- Fix #21392: Adjust
canComparePredefined(Nothing, T)
in explicit nulls #21504
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 3.3.4..3.3.5-RC1
these are:
56 Wojciech Mazur
14 Dale Wijnand
10 Katarzyna Marek
8 rochala
5 Hamza Remmal
5 noti0na1
4 Matt Bovel
4 Seth Tisue
4 Som Snytt
3 Jamie Thompson
3 Martin Odersky
3 Michał Pałka
3 dependabot[bot]
3 kasiaMarek
2 Aleksander Rainko
2 Eugene Flesselle
2 Florian3k
2 HarrisL2
2 Jędrzej Rochala
2 Kacper Korban
2 Yichen Xu
1 Eugene Yokota
1 Guillaume Martres
1 Hamza REMMAL
1 Jan Chyb
1 Joel Wilsson
1 Kenji Yoshida
1 Martin Duhem
1 Nicolas Stucki
1 Ondrej Lhotak
1 Sébastien Doeraene
1 Tomasz Godzik
3.3.5-RC3
3.6.4-RC1
Highlights of the release
- Add REPL init script setting #22206
- Support for JDK 24 #22250
- Merge -Xno-decode-stacktraces with -Xno-enrich-error-messages #22208
- Do not lift annotation arguments #22035
Other changes and fixes
Annotations
- Make sure symbols in annotation trees are fresh before pickling #22002
- Consider all arguments in Annotations.refersToParamOf #22001
- Do not lift annotation arguments (bis) #22046
Desugaring
Documentation
- Update example code linked to obsolete content in macros-spec.md #22256
Experimental: Capture Checking
- Fix #21868, #21869, and #21870: handle CapsOf in more places #21875
- Refine rules for capture parameters and members #22000
- Add a hint for using CC with REPL #22220
- Consolidate CC #21863
Experimental: Global Initialization
- Fix crash when initializing val in ByName closure #22354
Experimental: Named Tuples
- Handle TypeProxy of Named Tuples in unapply #22325
- Fail more eagerly when trying to adapt named unapply patterns #22315
- Widen singleton types when computing fields from .Fields #22149
- Fix .toTuple insertion #22028
Extension Methods
Implicits
- Rollback constraints in compareAppliedTypeParamRef #22339
- Try implicit searching after finding dynamic select #22318
Inline
- Drop phase.isTyper use in isLegalPrefix/asf #21954
Linting
- Allow discarding "Discarded non-Unit" warnings with
: Unit
#21927
Match Types
- Fix #21841: Check more that an
unapplySeq
on aNonEmptyTuple
is valid. #22366 - Type avoidance in MT bound inference #22142
Metaprogramming
- Rethrow SuspendExceptions caught in CodeGen phase #22009
Metaprogramming: Compile-time
- Extend compiletime.testing.typechecks with certain transform phases #21185
Nullability
Presentation Compiler
- Use new infer expected type for singleton complations #21421
- Fix match error in keyword completions #22138
Reflection
- Do not return java outline dummy constructor in
primaryConstructor
#22104
Reporting
- Normalise the types for Type Mismatch Error (E007) #22337
- Improve given search preference warning #22189
- Better error messages when an enum derives from AnyVal #22236
- Correctly print litteral types in the refined printer #22351
Rewrites
- Undo patch of double-block apply #21982
Scaladoc
- Scaladoc: Add support for named tuples #22263
Settings
- Limit exposure to ConcurrentModificationException when sys props are replaced or mutated #22180
Specification
Transform
Typer
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 3.6.3..3.6.4-RC1
these are:
46 Martin Odersky
33 noti0na1
17 Wojciech Mazur
14 Dale Wijnand
13 Matt Bovel
11 Hamza Remmal
7 Jan Chyb
6 aherlihy
5 Kacper Korban
5 Seth Tisue
5 Som Snytt
4 Oliver Bračevac
4 Yichen Xu
3 Sébastien Doeraene
3 dependabot[bot]
3 kasiaMarek
2 João Ferreira
1 David Hua
1 Eugene Flesselle
1 Eugene Yokota
1 Florian3k
1 Jędrzej Rochala
1 Kenji Yoshida
1 Mathias
1 Natsu Kagami
1 Oleg Zenzin
1 Piotr Chabelski
1 Rui Chen
1 philippus
1 rochala
1 xiaoshihou
3.3.5-RC2
Backported fixes
- Backport "REPL: JLine: follow recommendation to use JNI, not JNA; also JLine 3.27.1 (was 3.27.0)" to LTS #22377
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 3.3.5-RC1..3.3.5-RC2
these are:
5 Wojciech Mazur
3 Seth Tisue
1 Hamza Remmal
3.6.3
Highlights of the release
- Scala 2 forwardport:
-Yprofile-trace
#19897
Other changes and fixes
Annotations
- Fix Java parsing of annotations on qualified types #21867
- Consider all arguments in Annotations.refersToParamOf #22001
Backend
- Flag class file collision as error #19332
Compiler Phases
- Fix #21939: Update names and descriptions for cc and setup phases #21942
- Limit exposure to ConcurrentModificationException when sys props are replaced or mutated #22275
Experimental: Explicit Nulls
- Improve warning for wildcard matching only null under the explicit nulls flag (scala#21577) #21623
- Fix warning message for matching on redundant nulls #21850
Experimental: Capture Checking
- Fix #21868, #21869, and #21870: handle CapsOf in more places #21875
- Consolidate CC #21863
- Add path support for capture checking #21445
Experimentals
- Replace symbol traversal with tree traversal when finding top level experimentals #21827
Extension Methods
- Nowarn extension matching nonpublic member #21825
Implicits
- Apply implicit conversion from derived Conversion instance defined as implicit rather than given #21785
Imports
- Allow imports nested in packagings to shadow #21539
Inline
- Avoid using the current denotation in NamedType.disambiguate #21414
- Drop phase.isTyper use in isLegalPrefix/asf #21954
- Fix for macro annotation that resolves macro-based implicit crashing the compiler #20353
- Allow macro annotations to recover from suspension #21969
Linting
- Disallow open modifier on objects #21922
- Allow discarding "Discarded non-Unit" warnings with
: Unit
#21927
Opaque Types
- Fix pkg obj prefix of opaque tp ext meth #21527
Parser
- Fix: don't consider
into
as a soft-modifier #21924
Pattern Matching
- Drop inaccessible subclasses from refineUsingParent #21799
- (Re-)Drop inaccessible subclasses from refineUsingParent #21930
- Fix use of class terms in match analysis #21848
- Don't project nested wildcard patterns to nullable #21934
- Fix provablyDisjoint handling enum constants with mixins #21876
- Do not consider uninhabited constructors when performing exhaustive match checking #21750
Presentation Compiler
- Update mtags to 1.4.1 and backport remaining changes #21859
- Backport changes for the presentation compiler from Metals #21756
Pickling
REPL
- Allow top-level opaque type definitions in REPL #21753
- JLine: follow recommendation to use JNI, not JNA; also JLine 3.27.1 (was 3.27.0) #22271
Scaladoc
- Fix scaladoc TastyInspector regressions #21716
- Bring back the fix for scaladoc TastyInspector regressions #21929
- Fix scaladoc graph highlight background color in dark mode #21814
Standard Library
- Combine cases of
Tuple.Zip
disjoint from(h1 *: t1, h2 *: t2)
#21287
Quotes
Reporting
- Do not warn about expected missing positions in quotes.reflect.Symbol #21677
- Add missing error messages to asserts in QuotesImpl #21852
- Don't point to the compiler backlog when a compiler plugin phase crashes #21887
- Better error message for polytypes wrapping capturing types #21843
- Pretty-print lambdas #21846
- Nowarn extension matching nonpublic member #22276
- Refactor: Improve Given search preference warning #22273
Runner
- Fix: update
scala-cli.jar
path #22274
Releases
- Fix layout of released SDK archives, restore intermiediete top-level directory #22272
Scala.js
- Shade scalajs.ir under dotty.tools #21765
SemanticDB
- Extract semanticDB for lifted definitions #21856
Transform
- Fix enclosingClass from returning refinement classes #21411
- Attempt to beta reduce only if parameters and arguments have same shape #21970
- Drop copied parent refinements before generating bytecode #21733
Tooling
- Ensure to escape characters before constructing JSON profile trace #21872
Tuples
- Fix tupleTypeFromSeq for XXL tuples #21782
Typer
- Do not crash when typing a closure with unknown type, since it can occur for erroneous input #21178
- Revert SAM condition to what it was before #21684
- Fix ctx implicits under case unapplySeq #21748
- Avoid erasure/preErasure issues around Any in transformIsInstanceOf #21647
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 3.6.2..3.6.3
these are:
33 Wojciech Mazur
30 Dale Wijnand
30 Kacper Korban
14 noti0na1
11 Hamza Remmal
10 Eugene Flesselle
10 HarrisL2
9 Martin Odersky
8 Matt Bovel
7 Jan Chyb
6 Tomasz Godzik
5 Seth Tisue
4 Jamie Thompson
2 Friendseeker
2 João Ferreira
2 Pascal Weisenburger
2 Som Snytt
2 Sébastien Doeraene
1 Adrien Piquerez
1 Alden Torres
1 Alexander
1 Eugene Yokota
1 Fengyun Liu
1 Georgi Krastev
1 Jentsch
1 Lunfu Zhong
1 Michał Pałka
1 Natsu Kagami
1 Rui Chen
1 dependabot[bot]
1 friendseeker
1 tgodzik
3.6.3-RC2
Backported fixes
- Fix: update
scala-cli.jar
path #22274 - Nowarn extension matching nonpublic member #22276
- Limit exposure to ConcurrentModificationException when sys props are replaced or mutated #22275
- Refactor: Improve Given search preference warning #22273
- Fix layout of released SDK archives, restore intermediate top-level directory #22272
- REPL: JLine: follow recommendation to use JNI, not JNA; also JLine 3.27.1 (was 3.27.0) #22271
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 3.6.3-RC1..3.6.3-RC2
these are:
4 Wojciech Mazur
2 João Ferreira
2 Seth Tisue
2 Som Snytt
1 Eugene Yokota
1 Hamza Remmal
1 Rui Chen