Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: scala/scala3

3.3.7

13 Oct 11:14
@github-actions github-actions

Choose a tag to compare

Highlights of the release

  • Warn a standard interpolator used toString on a reference type with -Wtostring-interpolated #20578
  • Unblock Scala 3 on Android #22632
  • Implement :jar (deprecate :require) in REPL #22343
  • Linting rework: In selector check, prefix of reference must match import qualifier #20894
  • Add REPL flag to quit after evaluating init script #22636
  • Warn if implicit default shadows given with -Wrecurse-with-default #23559

Other changes and fixes

Annotations

  • Approximate annotated types in wildApprox #22893
  • Fix copy of annotation on @main methods #22582

Coverage

  • Make coverage more similar to the one in Scala 2 #23722

CI

  • Disable Cats flaky tests #23007
  • Switch releasing to Sontype Central instead of legacy Sonatype OSS #23290
  • Revert dubious retry in vulpix #21801

Developer Experience

  • Add support for running the test sub-command with the bisect script #22796

Documentation

  • Improve the usage of inclusive language #22360
  • Update indentation.md to fix a typo #23505

Enums

  • Make hashcode of enum items stable #23218

Erasure

  • Add regression test for #23616 #23623
  • Disallow context function types as value-class parameters to avoid crashes #23015
  • Handle type aliases in contextFunctionResultTypeAfter #21517
  • Align erasure of Array[Nothing] and Array[Null] with Scala 2 #22517

Experimental: Erased definitions

  • Erased fields are not nullable #23311

Implicits

  • Refine implicit search fallbacks for better ClassTag handling #23532
  • Try extensions for arguments with type mismatch error #23212

Inline

  • Fix Symbol.info remapping in TreeTypeMap #23432

Lambda Lift

  • Fix: treat static vals as enclosures in lambdalift #22452
  • Fix: record calls to constructors in lambdaLift #22487

Linting

  • Check OrType in interpolated toString lint #23365
  • Consider setter of effectively private var #23211
  • Nowarn receiver of extension taking params #23351
  • Dealias when looking into imports #22889
  • Revert unconditional lint of Inlined expansion #22815
  • Warn unused member of anonymous class #22729
  • No warning for parameter of overriding method #22757
  • Lazy val def member is pattern var #22750
  • Ignore params to default arg getters #22749
  • Restore resolving prefixes of implicit Ident #22751
  • Exclude synthetic this.m, Any.m from import lookup #22695
  • Nowarn public implicit val class params #22664
  • Don't warn retainedBody #22510
  • Suppress spurious Suppression #22383
  • Handle Typeable #22663
  • CheckUnused checks span.exists before testing its parts #22504
  • Process Export for unused check #22984
  • Enclosing package p.q not visible as q #23069
  • Remove premature caching of lookups for unused lint #22982
  • Improve checking LHS of Assign #22977
  • Improve Unit ascription escape hatch #23147
  • Mention extension in unused param warning #23132
  • Dealias for unused param check #23256
  • Take inferred or explicit refinement result for unused check #23325
  • Add accessible check for import usage #23348
  • Use result of lambda type of implicit in CheckUnused #23497

Match Types

  • Handle NoType in TypeComparer.disjointnessBoundary #21520
  • Distinguish 0.0 and -0.0 in ConstantType match types #23265

Metaprogramming

  • Add a check for correct Array shape in quotes.reflect.ClassOfConstant #22033

Opaque Types

  • Fix stack overflow errors when generating opaque type proxies #22479

Optional Braces

  • Correctly detect colon lambda eol indent for optional brace of argument #22477

Overloading

  • Fail compilation if multiple conflicting top-level private defs/vals are in the same package #22759

Parser

  • Allow observing an indent after conditional #22611
  • No outdent at eof #22435
  • Fix annotations not expected in the middle of an array type by java parser #22391
  • Fix incorrect warning with -no-indent #23216

Pattern Matching

  • Fix issue in lazy symbol completion or bug in nested classfile parser #23634
  • Fix existing GADT constraints with introduced pattern-bound symbols #22928
  • Avoid crash in uninhab check in Space #22601

Pickling

  • Try to handle SkolemTypes in SingletonTypeTree during pickling #23236

Presentation Compiler

  • Compare span points in pathTo to determine best span #23581
  • Fix: Fix extracting refinements from intersection types in dynamic select hovers #23640
  • Completions for requests just before string #22894
  • Add enum type param support in sourceSymbol #18603
  • Use untpd.Tree instead of tpd.Tree for SelectionRangeProvider #22702
  • Fix: handle multiple params lists in for infer type #23197
  • Fix completion mode filtering + optimize scopeCompletions #23172
  • Add selection ranges for more names #23257
  • Add inlay hints for by-name parameters #23283
  • Add jpath to VirtualFile (for pc) #23203
  • Add X-Ray Inlay Hints #23891
  • Add using to completions when applicable #23647
  • Do not add [] after derives #23811

Quotes

  • Fix issue with static this references erroring in quoted code #22618
  • Skip splice level checking for symbols #22782
  • Fix stale top level synthetic package object being used in later runs #23464

REPL

  • REPL: JLine 3.29.0 (was 3.27.1) #22679
  • REPL: emit warning for the :sh command #22694

Reflection

  • Fix regression: do not approximate prefixes when using memberType in reflect API #22448
  • Forbid StringConstant(null) #23064
  • Quotes reflect: sort the typeMembers output list and filter out non-members #22876

Reporting

  • Register nowarn when inlining #22682
  • Filter help renders box border #22434
  • Fix incorrect warning on type ascription for backquoted identifiers #23088
    ...
Read more

Contributors

main
Loading
mkurz, mirzov, and apavlychev reacted with thumbs up emoji mkurz, imsdu, and kevin-lee reacted with hooray emoji jbytecode and kevin-lee reacted with heart emoji
6 people reacted

3.7.4-RC1

29 Sep 18:38
@github-actions github-actions
39ebf6b
This commit was signed with the committer’s verified signature.
WojciechMazur Wojciech Mazur
GPG key ID: 2F21E76C6597490E
Verified
Learn about vigilant mode.

Choose a tag to compare

3.7.4-RC1 Pre-release
Pre-release

Highlights of the release

  • Bump Scala CLI to v1.9.1 (was v1.9.0) #23962
  • Make coverage more similar to the one in Scala 2 #23722

Other changes and fixes

Context Functions

  • Explain no expansion of ContextFunction0 #23844

Experimental: Capture Checking

  • Fix #23737: Update superCallContext to include dummy capture parameters in scope #23740
  • Fix separation checking for function results #23927
  • Simple enhancement for pattern matching with capturing types #23524
  • Don't check bounds in match type cases at CC #23738

Experimental: Explicit Nulls

  • Add warnings for inferred flexible types in public methods and fields #23880

Exports

  • Refine isEffectivelyFinal to avoid no-owner crash #23675

Implicits

  • Fix LiftToAnchors for higher-kinded type applications #23672
  • Fix implicit scope liftToAnchors for parameter lower bounds #23679

Linting

  • Invent given pattern name in for comprehension #23121
  • Unused var message mentions unread or unset #23719
  • Lint function arrow intended context function #23847

Match Types

  • Fix derivesFrom false negative in provablyDisjointClasses #23834

Parser

  • Improve message for nested package missing braces #23816
  • Fix: allow postfix setters under language.postfixOps #23775

Pattern Matching

  • Fix: do not transform Ident to This in PostTyper anymore #23899
  • Call inhabited for AppliedType recursively #23964
  • Fix false unreachable case warning #23800
  • Add subtype-based fallback in inferPrefixMap and recalculate constraints after application #23771

Presentation Compiler

  • Additional completions for using clause #23647
  • Completions - do not add [] for ... derives TC@@ #23811
  • Improve symbol order in completions provided by the presentation compiler #23888
  • Porting XRayModeHints #23891
  • Go to definition and hover for named args in pattern match #23956

Reporting

  • Do not discard amended format when f-interpolator warns #23697
  • Mention named givens in double def explainer #23833
  • Compute the right span for abstract error messages #23853
  • Add quick fix to add .nn #23598
  • Add addendum to private val parameter variance error message #23876

Scaladoc

  • Indicate optional parameters with = ... #23676
  • Scaladoc Support for Capture & Separation Checking #23607
  • Capture Calcuclus: don't eagerly drop caps on parameters #23759

SemanticDB

  • Add context parameters to SemanticDB synthetics #23381
  • Include synthetic apply in semanticdb #23629

Tuples

  • Fix: make vals created in desugaring of n-ary lambdas non-synthetic #23896

Typer

  • Prevent crash in SAM conversion with mismatched arity #23877
  • Handle assertion error in TyperState #23665
  • Correctly require a ClassTag when building a multidimensional Array #23902
  • Make isExactlyNothing and isExactlyAny work for And/OrTypes #24016

Contributors

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

According to git shortlog -sn --no-merges 3.7.3..3.7.4-RC1 these are:

 12 Som Snytt
 11 noti0na1
 11 Wojciech Mazur
 6 Martin Odersky
 5 Eugene Flesselle
 4 Hamza Remmal
 4 Natsu Kagami
 4 Seyon Sivatharan
 3 Oliver Bračevac
 3 Yoonjae Jeon
 3 dependabot[bot]
 2 Jan Chyb
 2 Katarzyna Marek
 2 Matt Bovel
 1 HarrisL2
 1 Kacper Korban
 1 Martin Duhem
 1 Paweł Perłakowski
 1 Piotr Chabelski
 1 Tomasz Godzik
 1 Vadim Chelyshov
 1 Yichen Xu
 1 Zieliński Patryk
 1 aherlihy
 1 katrinafyi
 1 vder
 1 zielinsky
Loading
jbytecode, imsdu, He-Pin, CrystalNetworkST, and slavaschmidt reacted with heart emoji
5 people reacted

3.3.7-RC2

26 Sep 16:25
@github-actions github-actions
1e957ee
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

3.3.7-RC2 Pre-release
Pre-release

Backported fixes

Contributors

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

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

 2 Tomasz Godzik
 1 Jan Chyb
 1 Vadim Chelyshov
 1 Zieliński Patryk
 1 vder
Loading
jbytecode reacted with hooray emoji
1 person reacted

3.7.3

09 Sep 15:03
@github-actions github-actions
eb198cf
This commit was signed with the committer’s verified signature.
WojciechMazur Wojciech Mazur
GPG key ID: 2F21E76C6597490E
Verified
Learn about vigilant mode.

Choose a tag to compare

Release highlights

  • Warn if implicit default shadows given #23559
  • Standardize on -Vprint:... (still support -Xprint:... as alias) #22828

Other changes and fixes

Desugaring

  • Optimize simple tuple extraction #23373

Enums

  • Make hashcode of enum items stable #23218

Erasure

  • Replace erased class modifiers with Erased base traits #23447
  • Bring back part of PruneErasedDefs #23466

Experimental: Capture Checking

  • Fix parsing crash for update in later phases #23390
  • Implement boxing for singleton type arguments #23418
  • Expand Capability types also in arguments of Capability classes #23427
  • Adjustments to the capability trilogy #23428
  • Set context owner to the method for paramsToCap #23436
  • Flatten nested capture sets in retainedElementsRaw #23571
  • Fix well-formed test for capabilities #23393
  • Add restricted capabilities x.only[C] #23485
  • Rely on hidden sets for use checking #23580

Experimental: Separation Checking

  • Make separation checking controlled by language import #23560

Experimental: Erased Definitions

  • Refactorings and fixes to erased definition handling #23404

Experimental: Explicit Nulls

  • Add quick fix to remove unnecessary .nn #23461
  • Add stableNull annotation to force tracking mutable fields #23528

Experimental: Global Initialization

  • Rewrite resolveThis in global init checker #23282
  • Fix errors in the global initialization checker when compiling bootstrapped dotty #23429
  • Fix error in product-sequence match in global init checker #23480

Experimental: Into

  • Fix isConversionTargetType test #23401

Experimental: Modularity

  • Refinements to skolemizaton #23513

Experimental: Unroll

  • Enable UnrollDefinitions phase in REPL frontend phases #23433

Extension Methods

  • Avoid forcing extension on check of local select #23439

Implicits

  • Refine implicit search fallbacks for better ClassTag handling #23532

Inline

  • Fix Symbol.info remapping in TreeTypeMap #23432
  • Fail not inlined inline method calls early #22925
  • Fix inline export forwarder generation regression #23126

Linting

  • Consider setter of effectively private var #23211
  • Add accessible check for import usage #23348
  • Check OrType in interpolated toString lint #23365
  • Use result of lambda type of implicit in CheckUnused #23497
  • Add suppression if nowarn differs #23652

Match Types

  • Fix: #23261 Distinguish 0.0 and -0.0 in ConstantType match types #23265

Named Tuples

  • Skip bypassing unapply for scala 2 case classes to allow for single-element named tuple in unapply #23603

Parser

  • Enforce -new-syntax under -language:future #23443
  • Disallow Scala 2 implicits under -source:future #23472

Pattern Matching

  • Fix problems in checking that a constructor is uninhabited for exhaustive match checking #23403

Pickling

  • Don't force annotation unpickling when testing for SilentIntoAnnot #23506
  • Drop invalid assumption from TastyUnpickler #23353

Printer

  • Print update modifier when printing update method definitions #23392

Positions

  • Compare span points in pathTo to determine best span #23581
  • Add line number magic comment support #23549

Presentation Compiler

  • Port Inlay hints for name parameters #23375
  • Fix: Simplify infer type for apply #23434
  • Fix: Inconsistent annotation tooltips #23454
  • Fix adjust type when already exists #23455
  • Exclude named parameters inlay hints for java defined #23462
  • Fix: StringIndexOutOfBoundsException in presentation compiler's hasColon method #23498
  • Add InferredMethodProvider for automatic method signature generation #23563
  • Fix completions for Quotes #23619
  • Handle default arguments in named parameters for inlay hints #23641
  • Fix issue with pc breaking in requiredMethod on newly overloaded valueOf #23708
  • Handle default arguments in named parameters for inlay hints #23641
  • Fix extracting refinements from intersection types in dynamic select hovers #23640

Quotes

  • Skip splice level checking for <refinement> symbols #22782
  • Fix stale top level synthetic package object being used in later runs #23464
  • Emit an error for quoted pattern type variable after new #23618
  • Fix issue with certain polyfunctions not properly matching in macros #23614
  • Check PCP of constructor calls on the type #7531

Reflection

  • Quotes reflect: sort the typeMembers output list and filter out non-members #22876

Reporting

  • Add an explainer to the DoubleDefinition error #23470
  • Suppress warnings in comprehensions with 22+ binds #23590
  • Unhelpful error message when trying to use named extraction, when not matching case class or named tuple #23354
  • Improve error message for conflicting definitions #23453
  • -Yprofile-trace properly report macro splicing source #23488
  • -Yprofile-trace profiles all inline calls #23490

Rewrites

  • Patch empty implicit parens on error recovery #22835
  • Rewrite underscore with optional space #23525

Runner

  • Bump Scala CLI to v1.9.0 (was v1.8.4) #23702

Scaladoc

  • Scaladoc: fixes and improvements to context bounds and extension methods #22156
  • Encode path of class #23503

SemanticDB

  • Bugfix: Also save infos in semanticdb #23587

Transform

  • Handle multiple type parameter lists in value class methods #23516
  • Check path of module prefix for tailrec #23491

Tuples

  • Normalize tuple types in var args seq literals and classOf instances #23465

Typer

  • Fix #22922: Add TypeParamRef handling in isSingletonBounded #23501
  • Fix this references everywhere in dependent function types #23514
  • Don't approximate a type using Nothing as prefix #23531
  • Support cleanup actions in class completers #23515
  • Fix regressions in asSeenFrom introduced in 3.7 #23438
  • Use correct owner in eta expansion #7564
  • Fix irrefutability checking in for with untupling #23273
  • Fix missing members reporting for var setter...
Read more
Assets 28
bishabosha, nmcb, beyondpie, matsluni, leoliu, jbytecode, bjornregnell, Luder-dot, CrystalNetworkST, and peter-hst reacted with heart emoji
10 people reacted

3.7.3-RC3

04 Sep 08:46
@github-actions github-actions
350126f
This commit was signed with the committer’s verified signature.
WojciechMazur Wojciech Mazur
GPG key ID: 2F21E76C6597490E
Verified
Learn about vigilant mode.

Choose a tag to compare

3.7.3-RC3 Pre-release
Pre-release

Backported changes

  • Update scala-cli to 1.9.0 (was 1.8.5) #23861

Contributors

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

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

 3 Wojciech Mazur
Loading
mkurz, He-Pin, and zeatol000 reacted with hooray emoji
3 people reacted

3.3.7-RC1

29 Aug 12:20
@github-actions github-actions

Choose a tag to compare

3.3.7-RC1 Pre-release
Pre-release

Highlights of the release

  • Warn if interpolator uses toString #20578
  • Fixes #15736 blocking Scala 3 on Android #22632
  • Implement :jar (deprecate :require) #22343
  • In selector check, prefix of reference must match import qualifier #20894
  • Fix #21242: Add REPL flag to quit after evaluating init script #22636
  • Warn if implicit default shadows given #23559

Other changes and fixes

Annotations

  • Approximate annotated types in wildApprox #22893
  • Fix copy of annotation on @main methods #22582

CI

  • Disable Cats flaky tests #23007

Developer Experience

  • Add support for running the test sub-command with the bisect script #22796

Documentation

  • Improve the usage of inclusive language #22360
  • Update indentation.md to fix a typo #23505

Enums

  • Make hashcode of enum items stable #23218

Erasure

  • Add regression test for #23616 #23623
  • Disallow context function types as value-class parameters #23015
  • Handle type aliases in contextFunctionResultTypeAfter #21517
  • Align erasure of Array[Nothing] and Array[Null] with Scala 2 #22517

Experimental: Erased definitions

  • Erased fields are not nullable #23311

Implicits

  • Refine implicit search fallbacks for better ClassTag handling #23532
  • Fix #20335: Try extensions for arguments with type mismatch error #23212

Inline

  • Fix Symbol.info remapping in TreeTypeMap #23432

Lambda Lift

  • Fix: treat static vals as enclosures in lambdalift #22452
  • Fix: record calls to constructors in lambdaLift #22487

Linting

  • Check OrType in interpolated toString lint #23365
  • Consider setter of effectively private var #23211
  • Nowarn receiver of extension taking params #23351
  • Dealias when looking into imports #22889
  • Revert unconditional lint of Inlined expansion #22815
  • Warn unused member of anonymous class #22729
  • No warning for parameter of overriding method #22757
  • Lazy val def member is pattern var #22750
  • Ignore params to default arg getters #22749
  • Restore resolving prefixes of implicit Ident #22751
  • Exclude synthetic this.m, Any.m from import lookup #22695
  • Nowarn public implicit val class params #22664
  • Don't warn retainedBody #22510
  • Suppress spurious Suppression #22383
  • Handle Typeable #22663
  • CheckUnused checks span.exists before testing its parts #22504
  • Process Export for unused check #22984
  • Enclosing package p.q not visible as q #23069
  • Remove premature caching of lookups for unused lint #22982
  • Improve checking LHS of Assign #22977
  • Improve Unit ascription escape hatch #23147
  • Mention extension in unused param warning #23132
  • Dealias for unused param check #23256
  • Take inferred or explicit refinement result for unused check #23325
  • Add accessible check for import usage #23348
  • Use result of lambda type of implicit in CheckUnused #23497

Match Types

  • Handle NoType in TypeComparer.disjointnessBoundary #21520
  • Fix: #23261 Distinguish 0.0 and -0.0 in ConstantType match types #23265

Metaprogramming

  • Add a check for correct Array shape in quotes.reflect.ClassOfConstant #22033

Opaque Types

  • Fix stack overflow errors when generating opaque type proxies #22479

Optional Braces

  • Correctly detect colon lambda eol indent for optional brace of argument #22477

Overloading

  • Fail compilation if multiple conflicting top-level private defs/vals are in the same package #22759

Parser

  • Allow observing an indent after conditional #22611
  • No outdent at eof #22435
  • Fix annotations being not expected in the middle of an array type by java parser #22391
  • Fix incorrect warning with -no-indent #23216

Pattern Matching

  • Fix issue in lazy symbol completion or bug in nested classfile parser #23634
  • Fix existing GADT constraints with introduced pattern-bound symbols #22928
  • Avoid crash in uninhab check in Space #22601

Pickling

  • Try to handle SkolemTypes in SingletonTypeTree during pickling #23236

Positions

  • Compare span points in pathTo to determine best span #23581

Presentation Compiler

  • Fix: Fix extracting refinements from intersection types in dynamic select hovers #23640
  • Completions for requests just before string #22894
  • Add enum type param support in sourceSymbol #18603
  • Use untpd.Tree instead of tpd.Tree for SelectionRangeProvider #22702
  • Fix: handle multiple params lists in for infer type #23197
  • Fix completion mode filtering + optimize scopeCompletions #23172
  • Add selection ranges for more names #23257
  • Add inlay hints for by-name parameters #23283
  • Add jpath to VirtualFile (for pc) #23203

Quotes

  • Fix issue with static this references erroring in quoted code #22618
  • Skip splice level checking for symbols #22782
  • Fix stale top level synthetic package object being used in later runs #23464

REPL

  • REPL: JLine 3.29.0 (was 3.27.1) #22679
  • Repl: emit warning for the :sh command #22694

Reflection

  • Fix regression: do not approximate prefixes when using memberType in reflect API #22448
  • Forbid StringConstant(null) #23064
  • Quotes reflect: sort the typeMembers output list and filter out non-members #22876

Reporting

  • Register nowarn when inlining #22682
  • Filter help renders box border #22434
  • Fix incorrect warning on type ascription for backquoted identifiers #23088
  • Add an explainer to the DoubleDefinition error #23470

Scaladoc

Settings

  • Chore: filter allowed source versions by import and by settings #23215

Testing framework

  • Revert dubious retry in vulpix #21801

Transform

  • Check only stable qual for import prefix #22633
  • Warn trivial recursion with module prefix #23278

Tuples

  • Normalize tuple types ...
Read more

Contributors

main
Loading
jbytecode, ellbur, and Gedochao reacted with heart emoji
3 people reacted

3.7.3-RC2

14 Aug 20:50
@github-actions github-actions
bb8910a
This commit was signed with the committer’s verified signature.
WojciechMazur Wojciech Mazur
GPG key ID: 2F21E76C6597490E
Verified
Learn about vigilant mode.

Choose a tag to compare

3.7.3-RC2 Pre-release
Pre-release

Backported chnages

  • Warn if implicit default shadows given #23559
  • Bump Scala CLI to v1.8.5 (was v1.8.4) #23702
  • Fix issue with pc breaking in requiredMethod on newly overloaded valueOf #23708
  • Handle default arguments in named parameters for inlay hints #23641
  • Add suppression if nowarn differs #23652
  • Fix match type bounds checking problem #23695
  • Generalize "Don't approximate a type using Nothing as prefix" #23628
  • More careful ClassTag instantiation #23659
  • Use more context for implicit search only if no default argument #23664
  • Fix extracting refinements from intersection types in dynamic select hovers #23640

Contributors

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

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

 5 Martin Odersky
 4 Som Snytt
 2 Wojciech Mazur
 1 Guillaume Martres
 1 Jan Chyb
 1 Kacper Korban
 1 Piotr Chabelski
 1 aherlihy
Loading
gchudnov and beyondpie reacted with thumbs up emoji gchudnov and beyondpie reacted with hooray emoji jbytecode reacted with heart emoji gchudnov, beyondpie, and dannykhant reacted with rocket emoji
4 people reacted

3.7.3-RC1

06 Aug 08:00
@github-actions github-actions
afc19b9
This commit was signed with the committer’s verified signature.
WojciechMazur Wojciech Mazur
GPG key ID: 2F21E76C6597490E
Verified
Learn about vigilant mode.

Choose a tag to compare

3.7.3-RC1 Pre-release
Pre-release

Changes and fixes

Desugaring

Enums

  • Make hashcode of enum items stable #23218

Erasure

  • Replace erased class modifiers with Erased base traits #23447
  • Bring back part of PruneErasedDefs #23466

Experimental: Capture Checking

  • Fix parsing crash for update in later phases #23390
  • Implement boxing for singleton type arguments #23418
  • Expand Capability types also in arguments of Capability classes #23427
  • Adjustments to the capability trilogy #23428
  • Set context owner to the method for paramsToCap #23436
  • Flatten nested capture sets in retainedElementsRaw #23571
  • Fix well-formed test for capabilities #23393
  • Add restricted capabilities x.only[C] #23485
  • Rely on hidden sets for use checking #23580

Experimental: Seperation Checking

  • Make separation checking controlled by language import #23560

Experimental: Erased Definitions

  • Refactorings and fixes to erased definition handling #23404

Experimental: Explicit Nulls

  • Add quick fix to remove unnecessary .nn #23461
  • Add stableNull annotation to force tracking mutable fields #23528

Experimental: Global Initialization

  • Rewrite resolveThis in global init checker #23282
  • Fix errors in the global initialization checker when compiling bootstrapped dotty #23429
  • Fix error in product-sequence match in global init checker #23480

Experimental: Into

  • Fix isConversionTargetType test #23401

Experimental: Modularity

  • Refinements to skolemizaton #23513

Experimental: Unroll

  • Enable UnrollDefinitions phase in REPL frontend phases #23433

Extension Methods

  • Avoid forcing extension on check of local select #23439

Implicits

  • Refine implicit search fallbacks for better ClassTag handling #23532

Inline

  • Fix Symbol.info remapping in TreeTypeMap #23432
  • Fail not inlined inline method calls early #22925
  • Fix inline export forwarder generation regression #23126

Linting

  • Consider setter of effectively private var #23211
  • Add accessible check for import usage #23348
  • Check OrType in interpolated toString lint #23365
  • Use result of lambda type of implicit in CheckUnused #23497

Match Types

  • Fix: #23261 Distinguish 0.0 and -0.0 in ConstantType match types #23265

Named Tuples

  • Skip bypassing unapply for scala 2 case classes to allow for single-element named tuple in unapply #23603

Parser

  • Enforce -new-syntax under -language:future #23443
  • Disallow Scala 2 implicits under -source:future #23472

Pattern Matching

  • Fix problems in checking that a constructor is uninhabited for exhaustive match checking #23403

Pickling

  • Don't force annotation unpickling when testing for SilentIntoAnnot #23506
  • Drop invalid assumption from TastyUnpickler #23353

Printer

  • Print update modifier when printing update method definitions #23392

Positions

  • Compare span points in pathTo to determine best span #23581
  • Add line number magic comment support #23549

Presentation Compiler

  • Port Inlay hints for name parameters #23375
  • Fix: Simplify infer type for apply #23434
  • Fix: Inconsistent annotation tooltips #23454
  • Fix adjust type when already exists #23455
  • Exclude named parameters inlay hints for java defined #23462
  • Fix: StringIndexOutOfBoundsException in presentation compiler's hasColon method #23498
  • Add InferredMethodProvider for automatic method signature generation #23563
  • Fix completions for Quotes #23619
  • Handle default arguments in named parameters for inlay hints #23641

Quotes

  • Skip splice level checking for <refinement> symbols #22782
  • Fix stale top level synthetic package object being used in later runs #23464
  • Emit an error for quoted pattern type variable after new #23618
  • Fix issue with certain polyfunctions not properly matching in macros #23614
  • Check PCP of constructor calls on the type #7531

Reflection

  • Quotes reflect: sort the typeMembers output list and filter out non-members #22876

Reporting

  • Add an explainer to the DoubleDefinition error #23470
  • Suppress warnings in comprehensions with 22+ binds #23590
  • Unhelpful error message when trying to use named extraction, when not matching case class or named tuple #23354
  • Improve error message for conflicting definitions #23453
  • -Yprofile-trace properly report macro splicing source #23488
  • -Yprofile-trace profiles all inline calls #23490

Rewrites

  • Patch empty implicit parens on error recovery #22835
  • Rewrite underscore with optional space #23525

Scaladoc

  • Scaladoc: fixes and improvements to context bounds and extension methods #22156
  • Encode path of class #23503

SemanticDB

  • Bugfix: Also save infos in semanticdb #23587

Settings

  • Standardize on -Vprint:... (still support -Xprint:... as alias) #22828

Transform

  • Handle multiple type parameter lists in value class methods #23516
  • Check path of module prefix for tailrec #23491

Tuples

  • Normalize tuple types in var args seq literals and classOf instances #23465

Typer

  • Fix #22922: Add TypeParamRef handling in isSingletonBounded #23501
  • Fix this references everywhere in dependent function types #23514
  • Don't approximate a type using Nothing as prefix #23531
  • Support cleanup actions in class completers #23515
  • Fix regressions in asSeenFrom introduced in 3.7 #23438
  • Use correct owner in eta expansion #7564
  • Fix irrefutability checking in for with untupling #23273
  • Fix missing members reporting for var setters #23476
  • Guard against invalid prefixes in argForParam #23508
  • Add missing case to TypeComparer #23550

Contributors

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

According to git shortlog -sn --no-merges 3.7.2..3.7.3-RC1 these are:

 80 Martin Odersky
 56 Hamza Remmal
 22 Wojciech Mazur
 20 noti0na1
 18 Yichen Xu
 16 Som Snytt
 14 Jan Chyb
 9 Matt Bovel
 7 EnzeXing
 6 Guillaume Martres
 5 Sébastien Doeraene
 5 aherlihy
 ...
Read more
Loading

3.7.2

01 Aug 10:25
@github-actions github-actions
efb6ce7
This commit was signed with the committer’s verified signature.
WojciechMazur Wojciech Mazur
GPG key ID: 2F21E76C6597490E
Verified
Learn about vigilant mode.

Choose a tag to compare

Highlights of the release

  • Add an -Yimplicit-to-given flag for rewrites to easily test changes in the ecosystem #22580
    This experimental flag when used in conjunction with --rewrite allows to migrate most of implicit definitions as given. It aims to ease with migration to new syntax, or testing how it would affect your code base.

  • Bump Scala CLI to v1.8.4 (was v1.8.0) #23538

    • Support for URLs in using file directives
    • Better support for the REPL with JDK 24+
    • experimental publish support for the Sonatype Central Portal
    • See full Scala CLI changelog
  • Implement applied constructor types #22543
    It introduces new syntax allowing for easier definition of tracked parameters under -language:experimental.modularity
    You can read more about this experimental feature in the Modularity Improvements proposal documentation.

Other changes and fixes

Documentation

  • Mark AnyRef::eq and AnyRef::ne as infix instead of special casing when emitting the warning #23252
  • Mark eq and ne in Predef as infix #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 to update #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

Experimental: Modularity

  • Implement applied constructor types #22543

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
  • Use result of lambda type of implicit in CheckUnused #23497

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
  • Improve completions when a lot of exports are present #23414
  • 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 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
  • Check path of module prefix for tailrec #23491
  • Fix stale top level synthetic package object being used in later runs #23464

Typer

  • Compare TypeVar and TypeParamRef in mergeRefinedOrApplied #23045
  • Revert recent changes to opaque type proxy generation #23059
  • Only keep denotation for methods in IntegrateMa...
Read more
Loading
Gedochao, ornicar, simerplaha, lvitaly, jbytecode, beyondpie, vermas7988ing, and liosedhel reacted with hooray emoji yaroska reacted with heart emoji Gedochao, ornicar, simerplaha, davesmith00000, and nmcb reacted with rocket emoji
11 people reacted

3.7.2-RC2

21 Jul 15:19
@github-actions github-actions

Choose a tag to compare

3.7.2-RC2 Pre-release
Pre-release

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 to git shortlog -sn --no-merges 3.7.2-RC1..3.7.2-RC2 these are:

 11 Wojciech Mazur
 1 Guillaume Martres
 1 Tomasz Godzik
Loading
beytu, He-Pin, nojup, bjornregnell, and vermas7988ing reacted with thumbs up emoji jbytecode, gchudnov, Gedochao, junghoon-vans, and bjornregnell reacted with heart emoji
9 people reacted
Previous 1 3 4 5 18 19
Previous

AltStyle によって変換されたページ (->オリジナル) /