Hasty Briefsbeta

Bilingual

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.