Download Latest Version 3.8.3 source code.tar.gz (16.0 MB)
Email in envelope

Get an email when there's a new version of Dotty

Home / 3.8.2
Name Modified Size InfoDownloads / Week
Parent folder
scala3-3.8.2.msi 2026-02-23 95.6 MB
scala3-3.8.2.zip.sha256 2026-02-23 83 Bytes
scala3-3.8.2-x86_64-pc-win32.tar.gz.sha256 2026-02-23 102 Bytes
scala3-3.8.2-x86_64-pc-win32.zip.sha256 2026-02-23 99 Bytes
scala3-3.8.2.msi.sha256 2026-02-23 83 Bytes
scala3-3.8.2.tar.gz.sha256 2026-02-23 86 Bytes
scala3-3.8.2-x86_64-apple-darwin.zip.sha256 2026-02-23 103 Bytes
scala3-3.8.2-x86_64-pc-linux.tar.gz.sha256 2026-02-23 102 Bytes
scala3-3.8.2-x86_64-pc-linux.zip.sha256 2026-02-23 99 Bytes
scala3-3.8.2-aarch64-apple-darwin.zip.sha256 2026-02-23 104 Bytes
scala3-3.8.2-aarch64-pc-linux.tar.gz.sha256 2026-02-23 103 Bytes
scala3-3.8.2-aarch64-pc-linux.zip.sha256 2026-02-23 100 Bytes
scala3-3.8.2-x86_64-apple-darwin.tar.gz.sha256 2026-02-23 106 Bytes
scala3-3.8.2-aarch64-apple-darwin.tar.gz.sha256 2026-02-23 107 Bytes
scala3-3.8.2-x86_64-pc-win32.tar.gz 2026-02-23 95.0 MB
scala3-3.8.2.tar.gz 2026-02-23 168.4 MB
scala3-3.8.2-aarch64-apple-darwin.tar.gz 2026-02-23 94.6 MB
scala3-3.8.2-aarch64-pc-linux.tar.gz 2026-02-23 95.2 MB
scala3-3.8.2-x86_64-apple-darwin.tar.gz 2026-02-23 94.5 MB
scala3-3.8.2-x86_64-pc-linux.tar.gz 2026-02-23 96.2 MB
scala3-3.8.2.zip 2026-02-23 168.7 MB
scala3-3.8.2-aarch64-apple-darwin.zip 2026-02-23 94.6 MB
scala3-3.8.2-aarch64-pc-linux.zip 2026-02-23 95.3 MB
scala3-3.8.2-x86_64-apple-darwin.zip 2026-02-23 94.5 MB
scala3-3.8.2-x86_64-pc-linux.zip 2026-02-23 96.2 MB
scala3-3.8.2-x86_64-pc-win32.zip 2026-02-23 95.0 MB
3.8.2 source code.tar.gz 2026-02-23 15.8 MB
3.8.2 source code.zip 2026-02-23 23.9 MB
README.md 2026-02-23 11.8 kB
Totals: 29 Items   1.4 GB 4

Highlights of the release

  • Warn if for with many vals and overloaded map #25090
  • Support :dep ... to add library dependencies in the Scala REPL #24131
  • Upgrade to Scala.js 1.20.2. #24898
  • Bump Scala CLI to v1.12.2 (was 1.11.0) #25217:
  • New aliases for RC and nightly Scala versions
  • Detailed changelog available in scala-cli release notes for versions: v1.12.0, v1.12.1 and v1.12.2

Other changes and fixes

Context Functions

  • Inferred Contextual params are less nameable #24381

Desugaring

  • A comprehension with valdef aliases is never a candidate for map elimination. #23448

Experimental: Capture Checking

  • Capture Checking of Lazy Vals #24261
  • Represent read-only with a classifier #24295
  • Fix typing closure blocks where result type refers to a closure parameter. #24299
  • Systematically recompute denotations when needed in rechecker phases #24302
  • Ensure that read-only methods don't use exclusive capabilities #24311
  • Handle capture parameters in dcs #24328
  • Don't prematurely force info of fields with inferred types #24336
  • Disallow fresh caps from parameter bounds in results #24541
  • Avoid box failures and better diagnosis if they come back #24546
  • Freshen all explicit arguments of type applications #24354
  • Optimize and harden isCaptureChecking tests #24439
  • Add Unscoped classifier #24470
  • Optimization: Introduce CompactAnnotation #24679

Experimental: Seperation Checking

  • Changes to Mutable #24352
  • Don't crash when update is used as a modifier outside cc #24378
  • Imply update only for consume methods in Mutable classes #24383
  • Decompose Mutable #24495
  • Add freeze wrapper (2) #24518
  • Make Arrays mutable types under separation checking #24649

Experimental: Explcit Nulls

  • Relax flow typing checks on Flexible Types #24278
  • Do not expose flexible types #24292
  • Do not search contextual function type in union types in general #24393
  • Add jspecify NonNull annotation to NotNullAnnots list #24487
  • Recognize Nullable annotations in explicit nulls #25237

Experimental: Global Initialization

  • Global object init checker gives warning when accessing an object before its super constructor finishes #24349

Annotations

  • Accommodate adapted Scala 2 annotation value #17516
  • Harden Annotation.refersToParamOf #24647
  • Do not allow @targetName on primary constructor too #24682

Coverage

  • Fix issues with Scala.js and coverage #24769
  • Make coverage support incremental compilation #24773
  • Improvement: Try to optimize coverage phase #24925

Enums

  • Lint enum case in outer context #24652

Exports

  • Preserve select of exported member in newExpr #24570

Erasure

  • Fix isJvmAccessible to handle nested protected Java classes #24625

Inline

  • Allow references to erased values in types #24421
  • Cast inline call results to result type, not method type #25111
  • Fix "Compiler crash when calling another file's inline def that uses a private constructor" #24941

Implicits

  • Avoid more constraints in result if trying views #24369

Initialization

  • Skip caret when source is missing in initialization checker #23926

JVM Backend

  • Preserve singleton types for final val aliases to Java enum constants #24980

Linting

  • Suppression matches inlined positions #24092
  • Wshadow option recognizes Wall #24469

Nullability

  • Record NotNullInfo for exceptional try-catch #24320

Overloading

  • Ignore selection prototypes when typing type applications #24489
  • Fix varargs overload resolution with wildcard types #24669
  • Fix override checking for Java methods with covariant array #24408

Parser

  • Permit new with trivial end #24331
  • Single line case lambda gets a region #24497
  • Error tree on outdent is zero extent #23796

Pattern Matching

  • Fix false exhaustivity for GADT under separate compilation #23966

Presentation Compiler

  • Create extension method in infer method action #24721
  • Exclude XRayModeHint for synthetics #24722
  • Fix incorrect XRay hint #24738
  • Improve multi-line code message rendering #24723
  • Improvement: Allow passing -explain to the presentation compiler #24740
  • Handle inlined tree in implicit parameter inlay hints #24762

REPL

  • Improve REPL code, echo and exception highlighting with pprint and fansi #24298
  • Replace REPL signal handling with raw mode jline terminal to make Ctrl-C handling work when REPL is a child process #24842
  • Fix "Colon as operator part at beginning of line in REPL" #24942
  • Fix "REPL dependency on scala-parallel-collections doesn't work" #25064
  • Fix "Still can't use scala-parallel-collections in REPL via :dep" #25092

Reporting

  • Addendum when apply error involves default arg #21133
  • Forward reference error includes line numbers #22534
  • Improve error messages for scope extrusion errors #24318
  • Use a better span for an anonymous class #24640
  • Add ErrorMessageID to -Winfer-union warnings (#25073) #25249

Scaladoc

  • Allow to additional scalacOptions in Markdown code snippets #24755

Standard Library

  • Enable capture checking on Tuple #24345
  • Update StringOps.padTo implementation #24575
  • Use String.repeat in scala.io.Source #24594
  • Ensure stability of IArray.tapEach #24727

TASTy

  • Pickle CompactAnnotations as regular annotations #25213
  • Drop spurious applies in unpickler and inliner #25201

Transform

  • Adjust purity of trait with lazy member #23788

Tuples

  • Fix inconsistent typeSize calculation for TupleN vs recursive pair encodings #24743

Typer

  • Dealias type of type constructor in typedAppliedTypeTree #24522
  • Improve TypeVar instantiation logic #24697
  • Try to instantiate TypeVars inside pt when possible #24231
  • Error instead of crash when generating trees referring to skolems #24380
  • Try to fix callee type inference in typedFunctionValue #24732
  • Fix wildcardArgOK for mixed wildcard/concrete type args #25001

Union types

  • Dealias in isSimpleThrowable check #24744

Value class

  • Avoid NPE when calling hashCode on a value class wrapping null #25110

Quotes

  • Make quotes.reflect.Position.ofMacroExpansion consider -Ymagic-offset-header #24301

Contributors

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

According to git shortlog -sn --no-merges 3.8.1..3.8.2 these are:

   103  Martin Odersky
    93  Hamza Remmal
    79  Wojciech Mazur
    36  Som Snytt
    27  noti0na1
    16  Rikito Taniguchi
     9  Li Haoyi
     8  Matt Bovel
     8  Oliver Bračevac
     7  Kenji Yoshida
     7  Natsu Kagami
     7  Tomasz Godzik
     7  Yichen Xu
     6  Jan Chyb
     6  Piotr Chabelski
     5  Zieliński Patryk
     5  dependabot[bot]
     4  HarrisL2
     4  Lukas Rytz
     3  Jamie Thompson
     2  Chua Chee Seng
     2  Fengyun Liu
     2  Guillaume Martres
     2  Lluc Santamaria Riba
     2  Sébastien Doeraene
     1  Alex1005a
     1  Bill Venners
     1  Emil Ejbyfeldt
     1  EnzeXing
     1  Evgeny Vereshchagin
     1  Jeon Yoonjae
     1  Lorenzo Gabriele
     1  Seth Tisue
     1  matsu-chara
     1  rjolly
     1  zielinsky
Source: README.md, updated 2026-02-23