8000 Releases Β· scala/scala3 Β· GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
8000

Releases: scala/scala3

3.7.2-RC1

24 Jun 09:34
3f98956
Compare
Choose a tag to compare
3.7.2-RC1 Pre-release
Pre-release

Highlights of the release

  • Implement applied constructor types #22543
  • Bump Scala CLI to v1.8.1 (was v1.8.0) #23334

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

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 in ValueOf #23094
  • Hide constructor proxies at PostTyper #23269

3.7.1

04 Jun 15:54
92a8f3c
Compare
Choose a tag to 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

  • Approximate annotated types in wildApprox #22893
  • Keep unused annot on params #23037

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

  • Fix #22833: allow unroll annotation in methods of final class #22926

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 class hashCode #22865

Value Classes

  • Fix #21918: Disallow value classes extending type aliases of AnyVal #23021

Contributors

Thank you to all the contributors who made this release possible πŸŽ‰

According to git 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

3.7.1-RC2

28 May 09:17
Compare
Choose a tag to compare
3.7.1-RC2 Pre-release
Pre-release

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

  • Revert "Make overload pruning based on result types less aggressive (#21744)" in 3.7.1-RC2 (#23239)

Contributors

Thank you to all the contributors who made this release possible πŸŽ‰

According to git 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

3.3.6

08 May 11:22
Compare
Choose a tag to 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 to ConservativeTreeCopier, use it in TypeMaps #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

  • Sbt 1.10.5 (was 1.9.9) #20157
  • Scala 2.13.16 (was .15) #22386

Desugaring

  • Fix #22051: only trust the type application part for case class unapplies #22099

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 a NonEmptyTuple is valid. #22366
  • Type avoidance in MT bound inference #22142

Nullability

  • Fix #21619: Refactor NotNullInfo to record every reference which is retracted once. #21624

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

  • Avoid orphan param from default arg #21824
  • Make sure definition tree has the defined symbol #21851

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

  • 10000 [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

  • Align the spec to allow the marker #22323
  • Fix #20271: Bring fo...
Read more

3.7.1-RC1

07 May 10:41
Compare
Choose a tag to compare
3.7.1-RC1 Pre-release
Pre-release

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

  • Approximate annotated types in wildApprox #22893
  • Keep unused annot on params #23037

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

  • Fix #22833: allow unroll annotation in methods of final class #22926

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 class hashCode #22865

Value Classes

  • Fix #21918: Disallow value classes extending type aliases of AnyVal #23021

Contributors

Thank you to all the contributors who made this release possible πŸŽ‰

According to git 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

3.7.0

07 May 10:41
Compare
Choose a tag to 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] and Array[Null] with Scala 2 #22517

Desugering

  • Under betterFors don't drop the trailing map 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 sourc 8000 eSymbol #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 if pointDelta 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

Read more

3.3.6-RC3

02 May 12:08
Compare
Choose a tag to compare
3.3.6-RC3 Pre-release
Pre-release

Backported fixes

  • classfile reader: handle JDK 9+ constant types in constant pool #19533
  • Update asm to 9.8.0 #23004

Contributors

Thank you to all theq contributors who made this release possible πŸŽ‰

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

     2  Seth Tisue
     1  Tomasz Godzik
     1  philippus

3.3.6-RC2

30 Apr 12:17
Compare
Choose a tag to compare
3.3.6-RC2 Pre-release
Pre-release

Reverted changes

Contributors

Thank you to all theq contributors who made this release possible πŸŽ‰

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

     3  Tomasz Godzik

3.7.0-RC4

25 Apr 11:06
Compare
Choose a tag to compare
3.7.0-RC4 Pre-release
Pre-release

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 to git shortlog -sn --no-merges 3.7.0-RC3..3.7.0-RC4 these are:

     2  SΓ©bastien Doeraene
     1  Tomasz Godzik

3.7.0-RC3

16 Apr 14:59
Compare
Choose a tag to compare
3.7.0-RC3 Pre-release
Pre-release

Backported changes

  • Backport "Two fixes to NamedTuple pattern matching" to 3.7.0 #22995
  • Backport "changes to scala.caps in preparation to make Capability stable" to 3.7.0 #22967

Contributors

Thank you to all the contributors who made this release possible πŸŽ‰

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

     4  Martin Odersky
     2  Wojciech Mazur
     1  Natsu Kagami
0