- Notifications
You must be signed in to change notification settings - Fork1.1k
Releases: scala/scala3
3.7.2-RC2
Compare
Backported chnages
- Backport "Bump Scala CLI to v1.8.4 (was v1.8.1)" to 3.7.2#23547
- Backport "Use result of lambda type of implicit in CheckUnused" to 3.7.2#23545
- Backport "Check path of module prefix for tailrec" to 3.7.2#23544
- Backport "Fix stale top level synthetic package object being used in later runs" to 3.7.2#23543
- Backport "Improve completions when a lot of exports are present" to 3.7.2#23542
- Backport "Fix regressions in asSeenFrom introduced in 3.7"#23442
Contributors
Thank you to all the contributors who made this release possible 🎉
According togit shortlog -sn --no-merges 3.7.2-RC1..3.7.2-RC2
these are:
11 Wojciech Mazur 1 Guillaume Martres 1 Tomasz Godzik
Assets28
Uh oh!
There was an error while loading.Please reload this page.
3.7.2-RC1
3f98956
Compare
Highlights of the release
- Implement applied constructor types#22543
- Bump Scala CLI to v1.8.1 (was v1.8.0)#23334
- Support for URLs in using file directives
- See fullScala CLI changelog
Other changes and fixes
Documentation
- Mark
AnyRef::eq
andAnyRef::ne
as infix instead of special casing when emitting the warning#23252 - Mark
eq
andne
in Predef asinfix
#23255
Experimental: Capture Checking
- Allow caps in result types of functions to be mapped to reaches#23275
- Adapt types according to read-only status#23332
- Rename
mut
toupdate
#23335 - Change retains annotation from using term arguments to using type arguments#22909
- New Syntax for Capture Variables and Explicit Capture Polymorphism v3#23063
- Fix#23223: Add handling for classes deriving from Capability during Setup#23248
- Copy
@use
and@consume
annotations to parameter types#23324 - Fix handling of
@use
and@consume
in class parameters#23342 - Some usability improvements relating to errors#23370
- Loosen the "does not match previously inferred" criterion#23067
- Use level checking for Fresh instances#23101
- Ensure all capture variables carry the attachment#23162
- Cache ResultCaps#23198
- Move separation checking to
-source:3.8
#23249 - Refactorings for CC error reporting#23260
- Standardize on log-based undo#23357
- Flag nonsensical capturing types with pure parents as errors#23367
Experimental: Erased Definitions
- Erased fields are not nullable#23311
Experimental: Explicit Nulls
- Relax comparison between Null and reference types in explicit nulls#23308
- Warn about unnecessary uses of .nn#23327
Experimental: Global Initialization
- Modified abstract domain in global initialization checker#23138
Experimental: Into Modifier
- Change
into
scheme to be fully type-based#23014
Implicits
- Try extensions for arguments with type mismatch error#23212
Linting
- Improve checking LHS of Assign#22977
- Remove premature caching of lookups for unused lint#22982
- Enclosing package p.q not visible as q#23069
- Mention extension in unused param warning#23132
- Improve Unit ascription escape hatch#23147
- Dealias for unused param check#23256
- Take inferred or explicit refinement result for unused check#23325
- Nowarn receiver of extension taking params#23351
- Improved edit span for import#23083
Parser
- Fix incorrect warning with -no-indent#23216
- Patvar: adjust caret in error message#23115
- Disallow empty parameter clauses in
extension
definition#23143
Pattern Matching
- Improve GADT reasoning for pattern alternatives#23205
Pickling
- Try to handle SkolemTypes in SingletonTypeTree during pickling#23236
- Avoid creating constructors where not warranted#23178
Presentation Compiler
- Use untpd.Tree instead of tpd.Tree for SelectionRangeProvider#22702
- Fix completion mode filtering + optimize scopeCompletions#23172
- Handle multiple params lists in for infer type#23197
- Add jpath to VirtualFile (for pc)#23203
- Add selection ranges for more names#23257
- Add inlay hints for by-name parameters#23283
- Implement code action 'convert to named lambda parameters'#22799
- Buffix: Make PC actions work for re-exported symbols#22722
- Bugfix: Fix enumeration issues when Value is imported#23124
- Bugfix: Check in the collector for empty arrays#23341
- Bugfix: Don't check scope members if not needed#23384
- Improvement: Don't dealias named tuples for type hints#23013
- Improvement: Simplify match types when possible#23146
- Improvement: Improve efficiency of completions#23355
- Improvement: Cache compilation on . and don't add CURSOR#23356
Private Options
- Add an
-Yimplicit-to-given
flag for rewrites to easily test changes in the ecosystem#22580 - Add
scala.language.2.13
#23219
Rewrites
- Remove empty parentheses when rewriting implicits to givens#23339
Quotes
- Preserve implicits in Quotes context#23263
- Don't StackOverflow when printing RecursiveType structure.#22859
Reflection
- Forbid
StringConstant(null)
#23064
Reporting
- Fix incorrect warning on type ascription for backquoted identifiers#23088
- Improve position of deprecation#23052
- Have a better error message when context bounds are not allowed#23190
- Avoid false warning when synthesising deferred givens#23087
- Fix insufficient number width allocated when using
-print-lines
#23336
SemanticDB
- Fix SemantiDB production of method signature with shadowed parameters#23161
- Check if symbol exists before calling methods on it#23376
Settings
- Filter allowed source versions by import and by settings#23215
Tooling
- Suggest to add using as a code action#23079
Transform
- Warn trivial recursion with module prefix#23278
- Partial function synthesis changesOwner of selector#23337
Typer
- Compare TypeVar and TypeParamRef in mergeRefinedOrApplied#23045
- Revert recent changes to opaque type proxy generation#23059
- Only keep denotation for methods in IntegrateMap#23226
- Tighten condition when to do SAM type conversion#23246
- Revert "Make overload pruning based on result types less aggressive (#21744)" in main#23331
- Tweak parameter dependency test when typing applications#23346
- Ensure pt span exists in implicitParams migration#23372
- Check for error before checking members of product type in getUnapplySelectors#23358
- Synthesise value of
this.type
inValueOf
#23094 - Hide constructor proxies at PostTyper#23269
Assets28
Uh oh!
There was an error while loading.Please reload this page.
3.7.1
92a8f3c
Compare
Highlights of the release
- Support for JDK 25#23004
- Warn if interpolator uses toString#20578
- Warn if match in block is not used for PartialFunction#23002
Other changes and fixes
Annotations
Erasure
- Disallow context function types as value-class parameters#23015
Experimental: Capture Checking
- Two fixes to handling of abstract types with cap bounds#22838
- Drop idempotent type maps#22910
- Fix setup of class constructors#22980
Experimental: Unroll
Experimental: Referencable Package Objects
- Add experimental.packageObjectValues language setting#23001
Exports
- Respect export alias for default arg forwarder#21109
Extension Methods
- Extension check checks for no parens not empty parens#22825
GADTs
- Fix: Prevent GADT reasoning in pattern alternatives#22853
Linting
- Dealias when looking into imports#22889
- Process Export for unused check#22984
- Drill into QuotePattern bindings symbol info#22987
- No warn implicit param of overriding method#22901
- No warn for evidence params of marker traits such as NotGiven#22985
- Mention extension in unused param warning#23132
- Remove premature caching of lookups for unused lint#22982
- Enclosing package p.q not visible as q#23069
Inline
- Revert recent changes to opaque type proxy generation#23059
Initialization
- Check for tasty error in template trees.#22867
Metaprogramming: Compile-time
- Fix issue with certain synthetics missing in compiletime.typechecks#22978
Named Tuples
- Call dealias after stripping type variables for tupleElementTypesUpTo#23005
- Avoid loosing denotations of named types during
integrate
#22839
Pattern Matching
- Fix existing GADT constraints with introduced pattern-bound symbols#22928
Pickling
- Fix fromProduct synthesized code for parameter-dependent case classes#22961
Presentation Compiler
- Completions for requests just before string#22894
- Fix: go to def should lead to all: apply, object and class#22771
- Ignore ending
$
when looking at end marker names#22798 - Feature: Skip auto importing symbols we know are wrong in current context#22813
- Show the Autofill completion case as what would be auto-filled#22819
- Bugfix: Fix issues with annotations not detected#22878
- Improvement: Rework IndexedContext to reuse the previously calculated scopes#22898
- Pc: Properly adjust indentation when inlining blocks#22915
- Improvement: Support using directives in worksheets#22957
- Fix: show hover for synthetics if explicitly used#22973
- Pc: fix: inline value when def indentation equals 2#22990
Rewrites
- Fix insertion of
using
in applications with trailing lambda syntax#22937 - Test chars safely when highlighting#22918
Reporting
- Print infix operations in infix form#22854
Runner
- Bump Scala CLI to v1.8.0 (was v1.7.1)#23168
Scaladoc
- Chore: add support for 'abstract override' modifier#22802
- Scaladoc: fix generation of unique header ids#22779
Settings
- Filter allowed source versions by import and by settings#23215
Typer
- Disallow context bounds in type lambdas#22659
- Refuse trailing type parameters in extractors#22699
- Fix#22724: Revert the PolyType case in#21744#22820
- Fix isGenericArrayElement for higher-kinded types#22938
- Tighten condition to preserve denotation in IntegrateMap#23060
Transform
- Mix in the
productPrefix
hash statically in case classhashCode
#22865
Value Classes
Contributors
Thank you to all the contributors who made this release possible 🎉
According togit shortlog -sn --no-merges 3.7.0..3.7.1
these are:
135 Martin Odersky 31 Som Snytt 14 Wojciech Mazur 13 Hamza Remmal 13 Matt Bovel 6 Jan Chyb 5 Quentin Bernet 5 Tomasz Godzik 4 aherlihy 3 HarrisL2 3 Natsu Kagami 3 Ondrej Lhotak 3 Piotr Chabelski 3 Sébastien Doeraene 2 Yichen Xu 2 Yoonjae Jeon 2 kasiaMarek 1 Aleksey Troitskiy 1 Daisy Li 1 Dale Wijnand 1 Jan-Pieter van den Heuvel 1 Jędrzej Rochala 1 Kacper Korban 1 Katarzyna Marek 1 Lukas Rytz 1 Mikołaj Fornal 1 Nikita Glushchenko 1 Oliver Bračevac 1 Ondřej Lhoták 1 dependabot[bot] 1 noti0na1 1 philippus
Assets28
- sha256:51415a20ab7026e3423e8ea785276fb9f227a8221aeeb8ea75c34aeebce3860b
74.4 MB 2025-06-02T12:25:50Z - sha256:b22855eb16287e66724f888d3467acfcefd644efe17cec5607c02c13b271e3f1
107 Bytes 2025-06-02T12:26:06Z - sha256:51a4fb54e063ac7b54b0141f55acf80c699616b0f4b68314c1c905de609c6997
74.4 MB 2025-06-02T12:25:42Z - sha256:6417d9a86e158685e77ebe9ff93e58c57e6a5c140cbba884302bfa85d485f21a
104 Bytes 2025-06-02T12:26:06Z - sha256:4d8a3095337a7ae048c688fabc2a1db1f770627b85f1bf2b185b250d2460b674
75 MB 2025-06-02T12:25:50Z - sha256:a7c432b6a23f962d91fb3c5a1cfed288885a3e3fc3889936cb67d09d938a0db1
103 Bytes 2025-06-02T12:26:06Z - sha256:ddf3419ba2d813dcffec4ecba546cb45b32f8671efb80934219829095d3d36fe
75 MB 2025-06-02T12:25:42Z - sha256:ae9840a53c5f39ce41e528d0059115e13cadf122ec20fc80597ac6b4fe9e380e
100 Bytes 2025-06-02T12:26:06Z - sha256:f033d8b4970641f02dfefce1122a785c4f590ca5adbe73ae6a13cd59072daab5
73.1 MB 2025-06-02T12:25:50Z - sha256:79670c29f90a617b4caf6b8564fce7c2a5243235fdeccd0c43ad468b36eb2c76
106 Bytes 2025-06-02T12:26:07Z 2025-06-02T10:54:34Z 2025-06-02T10:54:34Z - Loading
Uh oh!
There was an error while loading.Please reload this page.
3.7.1-RC2
Compare
Backported chnages
- Backport "chore: filter allowed source versions by import and by settings" to 3.7.1 (#23231)
- Backport "Bump Scala CLI to v1.8.0 (was v1.7.1)" to 3.7.1 (#23230)
- Backport "Mention extension in unused param warning" to 3.7.1 (#23229)
- Backport "Revert recent changes to opaque type proxy generation" to 3.7.1 (#23228)
- Backport "Remove premature caching of lookups for unused lint" to 3.7.1 (#23227)
Reverted changes
Contributors
Thank you to all the contributors who made this release possible 🎉
According togit shortlog -sn --no-merges 3.7.1-RC1..3.7.1-RC2
these are:
4 Hamza Remmal 4 Som Snytt 3 Jan Chyb 3 Wojciech Mazur 1 Piotr Chabelski
Assets28
Uh oh!
There was an error while loading.Please reload this page.
3.3.6
Compare
Highlights of the release
- REPL: Add REPL init script setting#22206
- Update asm to patched 9.8.0 to support new JDK versions#23004
- classfile reader: handle JDK 9+ constant types in constant pool#19533
- REPL: Add back
:silent
command#22248 - Scala 2 forward port:
-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
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
Assets5
Uh oh!
There was an error while loading.Please reload this page.
3.7.1-RC1
Compare
Highlights of the release
- Support for JDK 25#23004
- Warn if interpolator uses toString#20578
- Warn if match in block is not used for PartialFunction#23002
Other changes and fixes
Annotations
Erasure
- Disallow context function types as value-class parameters#23015
Experimental: Capture Checking
- Two fixes to handling of abstract types with cap bounds#22838
- Drop idempotent type maps#22910
- Fix setup of class constructors#22980
Named Tuples
- Call dealias after stripping type variables for tupleElementTypesUpTo#23005
- Avoid loosing denotations of named types during
integrate
#22839
Experimental: Unroll
Experimental: Referencable Package Objects
- Add experimental.packageObjectValues language setting#23001
Exports
- Respect export alias for default arg forwarder#21109
Extension Methods
- Extension check checks for no parens not empty parens#22825
GADTs
- Fix: Prevent GADT reasoning in pattern alternatives#22853
Linting
- Dealias when looking into imports#22889
- Process Export for unused check#22984
- Drill into QuotePattern bindings symbol info#22987
- No warn implicit param of overriding method#22901
- No warn for evidence params of marker traits such as NotGiven#22985
Initialization
- Check for tasty error in template trees.#22867
Metaprogramming: Compile-time
- Fix issue with certain synthetics missing in compiletime.typechecks#22978
Pattern Matching
- Fix existing GADT constraints with introduced pattern-bound symbols#22928
Pickling
- Fix fromProduct synthesized code for parameter-dependent case classes#22961
Presentation Compiler
- Completions for requests just before string#22894
- Fix: go to def should lead to all: apply, object and class#22771
- Ignore ending
$
when looking at end marker names#22798 - Feature: Skip auto importing symbols we know are wrong in current context#22813
- Show the Autofill completion case as what would be auto-filled#22819
- Bugfix: Fix issues with annotations not detected#22878
- Improvement: Rework IndexedContext to reuse the previously calculated scopes#22898
- Pc: Properly adjust indentation when inlining blocks#22915
- Improvement: Support using directives in worksheets#22957
- Fix: show hover for synthetics if explicitly used#22973
- Pc: fix: inline value when def indentation equals 2#22990
Rewrites
- Fix insertion of
using
in applications with trailing lambda syntax#22937 - Test chars safely when highlighting#22918
Reporting
- Print infix operations in infix form#22854
Scaladoc
- Chore: add support for 'abstract override' modifier#22802
- Scaladoc: fix generation of unique header ids#22779
Typer
- Disallow context bounds in type lambdas#22659
- Refuse trailing type parameters in extractors#22699
- Fix#22724: Revert the PolyType case in#21744#22820
- Fix isGenericArrayElement for higher-kinded types#22938
- Tighten condition to preserve denotation in IntegrateMap#23060
Transform
- Mix in the
productPrefix
hash statically in case classhashCode
#22865
Value Classes
Contributors
Thank you to all the contributors who made this release possible 🎉
According togit shortlog -sn --no-merges 3.7.0..3.7.1-RC1
these are:
135 Martin Odersky 27 Som Snytt 13 Matt Bovel 10 Wojciech Mazur 9 Hamza Remmal 5 Quentin Bernet 5 Tomasz Godzik 4 aherlihy 3 HarrisL2 3 Jan Chyb 3 Natsu Kagami 3 Ondrej Lhotak 3 Sébastien Doeraene 2 Piotr Chabelski 2 Yichen Xu 2 Yoonjae Jeon 2 kasiaMarek 1 Aleksey Troitskiy 1 Daisy Li 1 Dale Wijnand 1 Jan-Pieter van den Heuvel 1 Jędrzej Rochala 1 Kacper Korban 1 Katarzyna Marek 1 Lukas Rytz 1 Mikołaj Fornal 1 Nikita Glushchenko 1 Oliver Bračevac 1 Ondřej Lhoták 1 dependabot[bot] 1 noti0na1 1 philippus
Assets28
Uh oh!
There was an error while loading.Please reload this page.
3.7.0
Compare
See release blogpost:https://www.scala-lang.org/news/3.7.0/
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 - Upgrade Scala 2 Standard Library to 2.13.16#22386
- Upgrade Scala.js to 1.19.0#23026
- Upgrade Scala CLI to 1.7.1#22843
- 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 - Support for dependent case classes#21698
- Deprecate
Yno-kind-polymorphism
#22814
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 - Fix#22794: Emit the definition of Arrays.newArray even though it's a primitive#22797
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
- Revert unconditional lint of Inlined expansion#22815
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
- Two fixes to NamedTuple pattern matching#22953
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
- Fail compilation if multiple conflicting top-level private defs/vals are in the same package#22759
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.1 highlights](https://github.com/VirtusLab/scala...
Assets28
Uh oh!
There was an error while loading.Please reload this page.
3.3.6-RC3
Compare
Backported fixes
Contributors
Thank you to all theq contributors who made this release possible 🎉
According togit shortlog -sn --no-merges 3.3.6-RC2..3.3.6-RC3
these are:
2 Seth Tisue 1 Tomasz Godzik 1 philippus
Assets5
Uh oh!
There was an error while loading.Please reload this page.
3.3.6-RC2
Compare
Assets5
Uh oh!
There was an error while loading.Please reload this page.
3.7.0-RC4
Compare
Backported changes
- Backport "Upgrade to Scala.js 1.19.0." to 3.7#23035
Contributors
Thank you to all the contributors who made this release possible 🎉
According togit shortlog -sn --no-merges 3.7.0-RC3..3.7.0-RC4
these are:
2 Sébastien Doeraene 1 Tomasz Godzik
Assets28
Uh oh!
There was an error while loading.Please reload this page.