github scala/scala3 3.3.5-RC1

pre-releaseone day ago

Highlights of the release

  • Use Scala 2.13.15 standard library #21648
  • Support JDK 23 #20144
  • Add the -Wall option that enables all warnings #20577
  • Reversed -Wconf parsing order to mirror Scala 2 semantics #18503

Other changes and fixes

Annotations

  • Tighten java annot value parsing #21650

Exports

  • Re-use attachment in exportForwarders to handle ambiguous overloads #21518
  • Allow export statements in AnyVal #21653

Extension Methods

  • Make right assoc ext method fwd refs error #21641

Inference

  • Fix #20521: Optimise caching for computing atoms and widened in OrTypes #21223

Linting

  • Add origin filter to WConf, DeprecationWarning #21404
  • CheckUnused checks type param annotations #20549

Match Types

  • Fix #20897: Make Nothing ⋔ Nothing, as per spec. #21241
  • Always interpret underscores inside patterns as type bounds #21718

Overloading

  • Report only non-overridden unimplemented members #21337

Parser

  • Harden skip in Scanner #21607
  • SimplePattern errors should now be recovered as wildcard instead of unimplemented expr #21438

Positions

  • Fix trailing comma Ident's span #20445

Presentation Compiler

  • Fix autoimports with using directives #21590
  • Remove artificial CURSOR added to code in the completions #20899
  • Help implement Metals' infer expected type feature #21390
  • Weekly metals backport #21343
  • Change mock symbol search #21296
  • Fix: completions when parenthesis already provided #21299
  • Backport from metals #21196
  • Fix: don't add suffix if brackets already present #21259

Quotes

  • Handle suspension due to macro call in arbitrary phases #21651
  • Have a better error message when healing types #21711
  • Expr#show: Don't crash when the expression contains an unsupported type (like a SkolemType) #20494
  • Quotes type printing: take infix type modifier into account #21726

Reporting

  • Nicer error message in case a derived method has an explicit term param #21332
  • Add better error reporting for inlined non-immutable paths #21639

Releases

  • Add support for Chocolatey #20534
  • Add the merge commit hash to the icon's url #21221
  • Add sources of synthetic classes to sources jar #20904

REPL

  • Uppdate JLine to 3.27.0 (was 3.25.1) #21752
  • Allow JLine to fall back to a dumb terminal #21330

Scaladoc

  • Only trim one newline when preprocessing the content of a markdown code snippet #21519
  • Bump Inkuire version to fix it for the new Scala versions #21611
  • Filter opaque modifier from object documentation #21640

TASTy format

  • Add child to parent in completion context #21214

Transform

  • Three fixes to SAM type handling #21596
  • Fix treatment of separately compiled @native methods in FirstTransform #21593
  • Fix #20856: Serialize Waiting and Evaluating as if null. #21243
  • Fixes IllegalAccessError with Java package protected class #21362
  • Consistently use TypeMismatch in TreeChecker #21529
  • Fix: don't use color codes for pattern match code action #21120
  • Let show behave more robustly for Recheck #21678
  • Always rewrite empty List() to Nil #21689

Typer

  • Fix extending protected nested java classes #21857
  • Avoid cyclic errors forcing default arg types #21597
  • Survive inaccessible types when computing implicit scope #21589
  • Revert "Drop redundant butNot = Param clause in isAnchor" #21566
  • Fail early & more clearly on shaded-broken classfiles #21262
  • Fix isomorphism tests of AndOrTypes under non-empty BinderPairs #21017
  • Some fixes for AnnotatedTypes mapping #19957
  • Simple performance improvement for Denotations #21584
  • Avoid import suggestion thread hang if -Ximport-suggestion-timeout <= 1 #21434
  • Fix incorrect caching with dependent method parameters #21699

Experimental: Explicit Nulls

  • Add tracking of NotNullInfo for Match, Case, Try trees (fix #21380) #21389
  • Fix #21392: Adjust canComparePredefined(Nothing, T) in explicit nulls #21504

Contributors

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

According to git shortlog -sn --no-merges 3.3.4..3.3.5-RC1 these are:

    44 Wojciech Mazur
    14 Dale Wijnand
    10 Katarzyna Marek
     8 rochala
     5 noti0na1
     4 Hamza Remmal
     4 Matt Bovel
     4 Som Snytt
     3 Jamie Thompson
     3 Martin Odersky
     3 Michał Pałka
     3 dependabot[bot]
     3 kasiaMarek
     2 Aleksander Rainko
     2 Eugene Flesselle
     2 Florian3k
     2 HarrisL2
     2 Jędrzej Rochala
     2 Kacper Korban
     2 Yichen Xu
     1 Eugene Yokota
     1 Guillaume Martres
     1 Hamza REMMAL
     1 Jan Chyb
     1 Joel Wilsson
     1 Kenji Yoshida
     1 Martin Duhem
     1 Nicolas Stucki
     1 Ondrej Lhotak
     1 Seth Tisue
     1 Sébastien Doeraene
     1 Tomasz Godzik

Don't miss a new scala3 release

NewReleases is sending notifications on new releases.