Highlights of the release
- Improvements to code coverage (detailed list below)
- Add Stable Presentation Compiler #17528
Other changes and fixes
Backend
- Make sure synthetic apply methods are generated in deterministic order #18210
Coverage
- Only lift inner expressions when lifting repeated
Typed
arguments #18424 - Fix: scoverage statement's line number should be 1-base #18932
- Do not lift applications of context functions #18498
- Don't lift the argument of a
synchronized
block in scoverage #16941 - Fix the issue with coverage inside of a TypeApply #18420
- Coverage: mark case bodies as branches; don't ignore branches with synthetic spans #18437
Documentation
- Compiler plugin Scaladoc: document phase requirement #18394
Exports
- Refine override exclude criterion for export forwarders #17590
Incremental Compilation
- Fix overcompilation due to unstable context bound desugaring #18280
Inline
- Don't generate a super accessor for an inline method call #17598
Linting
- Wunused: Only use type treverser for checking refinements in refined type trees #17929
Parser
Pattern Matching
- Properly refine type of inlined unapply pattern #18292
Presentation Compiler
- Bugfix: suggest correct arg name completions for lambda expressions #18379
- Improvement: print better bracket suffix in completion item label #18380
- Fix presentation compiler autoimports, update presentation compiler dependencies #18264
- Update scala3-presentation-compiler to 39e349e #18296
- Update presentation compiler with changes from PR 5287 #18301
- Update presentation compiler to a829a6a #18347
- Bugfix: highlight enum cases correctly #18362
Quotes
- Do not beta-reduce/eta-expand pattern splices with contextual function types #18198
- XcheckMacro types of Block expression and Apply/TypeApply function #18242
- Fix owner of splices in class statements #18359
- Handle macro dependencies through class of
this
#18396 - Add missing span in
QuoteMatcher
#18178 - Fix stale symbol crashes in some path depended types in macro contexts #18077
- Simplify avoidance of local types of Hole #17571
Reporting
- Detail "not a constant type" message #17626
- Suggest imports for the expected type of the underlying implicit not found error #17976
- Fix: report correct location on a repeat modifier #17982
- Warn when calling synchronized on AnyVal #18021
- Fix compile error message in wildcard exports #18189
- Improve parameter type inference error messaging #18190
- Don't report warnings in migration when performing rewrites #15589
- Fix crash reporter, units and phases #17754
- Omit more prefixes in non-package module printing #17758
- Fix pretty printer to handle using and erased modifier #17952
- Add -Yprint-tasty compiler flag #17986
- Add actionable item to PatternMatchExhaustivity diagnostic #18314
Scaladoc
- Fix: -no-link-warnings does not work #17028
- Fix: Validation for API link #17099
- Scaladoc: type rendering fixes and improvements #17213
- Feat: Add a custom icon #17241
- Fix: Correction of the siteRoot path #17297
- Fix: Correct the navigation to anchor #17910
- Fix: Style for wiki syntax #18079
- Fix NoSuchElementException in scaladoc #18184
SemanticDB
- Check for primary constructor in namePresentInSource #18325
- Add -semanticdb-text compiler option #18307
Typer
- Fix pattern generation in "ordinal" mirror method #17570
- Fix superType of SuperType #17574
- Avoid crash in erasure when reference cannot be emitted #18056
- Disallow overloading from breaking stable patterns #18327
- Fix widen types before checking an implicit view exists #18719
- Properly handle SAM types with wildcards #18201
- Handle recursion in collectParts #18214
- Allow eta-expansion of inline defs #18249
- Stable names for lambda lifted methods #18281
Contributors
Thank you to all the contributors who made this release possible 🎉
According to git shortlog -sn --no-merges 3.3.1..3.3.2-RC1
these are:
37 Nicolas Stucki
36 Paweł Marks
28 Chris Kipp
15 Sébastien Doeraene
13 Lucas Leblanc
13 Martin Odersky
12 Guillaume Martres
10 Dale Wijnand
10 Jamie Thompson
8 ghostbuster91
6 Florian3k
5 Kacper Korban
4 Jędrzej Rochala
4 Katarzyna Marek
4 Quentin Bernet
3 Jan Chyb
3 Lucas
3 Matt Bovel
3 Seth Tisue
2 Julien Richard-Foy
2 Wojciech Mazur
1 Aleksey Troitskiy
1 Arnout Engelen
1 Bjorn Regnell
1 Eugene Yokota
1 Justin Reardon
1 Kisaragi
1 Martin Kučera
1 Matthew Rooney
1 Matthias Kurz
1 Ondrej Lhotak
1 Rikito Taniguchi
1 Stefan Wachter
1 Yuito Murase
1 rochala