Scala 3.7.0 Released
a year ago
- #Compiler
- #Scala
- #Programming
- Scala 3.7.0 introduces stabilized SIPs, including Named Tuples (SIP-58) and Binary APIs (SIP-52).
- Named Tuples allow meaningful field names in tuples and enhance pattern matching and metaprogramming.
- Binary APIs stabilize the @publicInBinary annotation for better binary compatibility in inline methods.
- Preview features, like SIP-62's improved for-comprehensions, are introduced for early adoption.
- Experimental features include @unroll for binary compatibility (SIP-61) and reference-able package objects (SIP-68).
- New given prioritization rules are now the default, improving context-bound resolution.
- The expression compiler is integrated into the main Scala 3 compiler, enhancing tooling support.
- Presentation compiler improvements include showing inferred types on hover for type holes.
- Quotes API updates allow dynamic import construction and selective implicit summoning.
- Linting improvements include better unused import detection and enhanced -Wconf filtering.
- Implicit parameter warnings now encourage using the 'using' keyword for clarity.
- Scala 3.7.0 improves Android compatibility by addressing ART runtime constraints.
- Dependent case classes are now supported, enabling more expressive type-safe configurations.
- REPL enhancements include the :jar command for adding dependencies dynamically.
- Dependency updates include Scala 2.13.16 standard library and Scala.js 1.19.0.
- Future plans include Scala 3.8 as the last minor version before the LTS release in 2026.