Skip to content

Commit

Permalink
Add changelog for 3.3.5
Browse files Browse the repository at this point in the history
  • Loading branch information
WojciechMazur committed Jan 27, 2025
1 parent 2031857 commit 0059e3f
Showing 1 changed file with 168 additions and 0 deletions.
168 changes: 168 additions & 0 deletions changelogs/3.3.5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
# Highlights of the release

- Use Scala 2.13.15 standard library [#21648](https://github.com/scala/scala3/pull/21648)
- Support JDK 23 [#20144](https://github.com/scala/scala3/pull/20144)
- Add the `-Wall` option that enables all warnings [#20577](https://github.com/scala/scala3/pull/20577)
- Reversed `-Wconf` parsing order to mirror Scala 2 semantics [#18503](https://github.com/scala/scala3/pull/18503)

# Other changes and fixes

## Annotations

- Tighten java annot value parsing [#21650](https://github.com/scala/scala3/pull/21650)

## Exports

- Re-use attachment in exportForwarders to handle ambiguous overloads [#21518](https://github.com/scala/scala3/pull/21518)
- Allow export statements in AnyVal [#21653](https://github.com/scala/scala3/pull/21653)

## Extension Methods

- Make right assoc ext method fwd refs error [#21641](https://github.com/scala/scala3/pull/21641)

## Inference

- Fix #20521: Optimise caching for computing atoms and widened in OrTypes [#21223](https://github.com/scala/scala3/pull/21223)

## Linting

- Add origin filter to WConf, DeprecationWarning [#21404](https://github.com/scala/scala3/pull/21404)
- CheckUnused checks type param annotations [#20549](https://github.com/scala/scala3/pull/20549)

## Match Types

- Fix #20897: Make `Nothing ⋔ Nothing`, as per spec. [#21241](https://github.com/scala/scala3/pull/21241)
- Always interpret underscores inside patterns as type bounds [#21718](https://github.com/scala/scala3/pull/21718)

## Overloading

- Report only non-overridden unimplemented members [#21337](https://github.com/scala/scala3/pull/21337)

## Parser

- Harden skip in Scanner [#21607](https://github.com/scala/scala3/pull/21607)
- SimplePattern errors should now be recovered as wildcard instead of unimplemented expr [#21438](https://github.com/scala/scala3/pull/21438)

## Positions

- Fix trailing comma Ident's span [#20445](https://github.com/scala/scala3/pull/20445)

## Presentation Compiler

- Fix autoimports with using directives [#21590](https://github.com/scala/scala3/pull/21590)
- Remove artificial `CURSOR` added to code in the completions [#20899](https://github.com/scala/scala3/pull/20899)
- Help implement Metals' infer expected type feature [#21390](https://github.com/scala/scala3/pull/21390)
- Weekly metals backport [#21343](https://github.com/scala/scala3/pull/21343)
- Change mock symbol search [#21296](https://github.com/scala/scala3/pull/21296)
- Fix: completions when parenthesis already provided [#21299](https://github.com/scala/scala3/pull/21299)
- Backport from metals [#21196](https://github.com/scala/scala3/pull/21196)
- Fix: don't add suffix if brackets already present [#21259](https://github.com/scala/scala3/pull/21259)

## Quotes

- Handle suspension due to macro call in arbitrary phases [#21651](https://github.com/scala/scala3/pull/21651)
- Have a better error message when healing types [#21711](https://github.com/scala/scala3/pull/21711)
- Expr#show: Don't crash when the expression contains an unsupported type (like a SkolemType) [#20494](https://github.com/scala/scala3/pull/20494)
- Quotes type printing: take `infix` type modifier into account [#21726](https://github.com/scala/scala3/pull/21726)

## Reporting

- Nicer error message in case a `derived` method has an explicit term param [#21332](https://github.com/scala/scala3/pull/21332)
- Add better error reporting for inlined non-immutable paths [#21639](https://github.com/scala/scala3/pull/21639)

## Releases

- Add support for Chocolatey [#20534](https://github.com/scala/scala3/pull/20534)
- Add the merge commit hash to the icon's url [#21221](https://github.com/scala/scala3/pull/21221)
- Add sources of synthetic classes to sources jar [#20904](https://github.com/scala/scala3/pull/20904)

## REPL

- Uppdate JLine to 3.27.0 (was 3.25.1) [#21752](https://github.com/scala/scala3/pull/21752)
- Allow JLine to fall back to a dumb terminal [#21330](https://github.com/scala/scala3/pull/21330)
- JLine: follow recommendation to use JNI, not JNA; also JLine 3.27.1 (was 3.27.0) [#22205](https://github.com/scala/scala3/pull/22205)

## Runner

- Fix old scala runner to use correct JLine classpath [#22464](https://github.com/scala/scala3/pull/22464)
- Fix remaining JNA classpath entries in `dist/bin/scaladoc*` scripts [#22471](https://github.com/scala/scala3/pull/22471)

## Scaladoc

- Only trim one newline when preprocessing the content of a markdown code snippet [#21519](https://github.com/scala/scala3/pull/21519)
- Bump Inkuire version to fix it for the new Scala versions [#21611](https://github.com/scala/scala3/pull/21611)
- Filter opaque modifier from object documentation [#21640](https://github.com/scala/scala3/pull/21640)

## TASTy format

- Add child to parent in completion context [#21214](https://github.com/scala/scala3/pull/21214)

## Transform

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

## Typer

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

## Experimental: Explicit Nulls

- Add tracking of NotNullInfo for Match, Case, Try trees (fix #21380) [#21389](https://github.com/scala/scala3/pull/21389)
- Fix #21392: Adjust `canComparePredefined(Nothing, T)` in explicit nulls [#21504](https://github.com/scala/scala3/pull/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:

```
56 Wojciech Mazur
14 Dale Wijnand
10 Katarzyna Marek
8 rochala
5 Hamza Remmal
5 noti0na1
4 Matt Bovel
4 Seth Tisue
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 Sébastien Doeraene
1 Tomasz Godzik
```

0 comments on commit 0059e3f

Please sign in to comment.