2003 – 2026
Scala Versions
Every public release of Scala — from Martin Odersky's first release at EPFL through Scala 3.9, the new LTS and currently the head of the Next line too, and the Scala 3.3 LTS it succeeds — with ship dates, headline changes, the support state of each line, and the minimum JVM each one needs. I keep the Scala 2-vs-Scala 3 split clear so you can tell which one you're on, and why the migration is far smoother than Python's 2→3.
The EPFL origin — Odersky, Pizza, and generic Java
Scala was created by Martin Odersky at the École Polytechnique Fédérale de Lausanne (EPFL) in Switzerland. Odersky's path to Scala ran straight through Java itself: in the late 1990s he co-designed Pizza and then GJ (Generic Java), and his javac-successor compiler became the reference Java compiler that shipped Java's generics in 2004. Scala was his answer to the question of what a language could look like if object-oriented and functional programming were unified from the ground up rather than bolted together.
Design work began in 2001; the first public release followed in 2003–2004. Scala kept full interoperability with Java and the JVM — it compiles to JVM bytecode and calls Java libraries directly — which is the practical reason it found a foothold in JVM shops that wanted functional programming without leaving their existing stacks.
The 2.8 collections redesign and the 2.x maturation
The defining release of early Scala was Scala 2.8 (2010), which rebuilt the collections library into the uniform, high-level hierarchy Scala developers still use — a single design with consistent operations across mutable, immutable, parallel, and lazy collections. The 2.x line that followed steadily added the features that made Scala productive at scale: string interpolation, value and implicit classes, futures and promises, and the (initially experimental) macro system in 2.10; then the modularized standard library of 2.11, the Java-8-lambda backend of 2.12, and the second collections redesign of 2.13. By the end of the 2.x line, Scala was a mature, widely deployed JVM language — and 2.13 remains maintained today.
Typesafe / Lightbend and the reactive ecosystem
In 2011, Odersky co-founded Typesafe (with Jonas Bonér and others) to provide commercial backing, training, and tooling for Scala and its ecosystem. The company anchored the “reactive” stack that defined enterprise Scala for a decade — the Akka actor toolkit (Bonér), the Play web framework, and the Slick database library. Typesafe renamed itself Lightbend in 2016 as its focus broadened to reactive microservices and streaming, and renamed again to Akka in November 2024, unifying the company behind its best-known product (Lightbend, Inc. now does business as Akka). The corporate stewardship gave Scala a stability and an enterprise on-ramp that few research-born languages get. That chapter has now closed. In August 2026 Akka came off Scala's maintainer and governance rosters, and responsibility for Scala 2 compiler and standard-library maintenance passed to the Scala team at VirtusLab — ending roughly fifteen years in which the Typesafe/Lightbend/Akka lineage was Scala's commercial anchor. The Akka libraries themselves carry on; it is the stewardship of the language that moved.
Scala in big data — Spark and the data-engineering footprint
Scala's single largest production footprint is in data engineering. Apache Spark — the dominant large-scale data-processing engine, created by Matei Zaharia at Berkeley's AMPLab — is written in Scala, and its native API is Scala-first. Apache Kafka was originally written in Scala, and Apache Flink and much of the surrounding streaming ecosystem are JVM/Scala projects. This is why “Scala” appears so often on data-engineering and JVM-backend job postings: a large share of the world's batch and streaming data pipelines runs on Scala-built infrastructure. Spark was long pinned to Scala 2.12; Spark 4 is pre-built with Scala 2.13 and dropped Scala 2.12 support outright, which has pulled a large slice of the data-engineering world onto 2.13 and JDK 17.
The Scala Center and open governance
In March 2016 the Scala Center was launched at EPFL as a not-for-profit foundation for Scala, stewarding the language's open-source development, education, and community process — including the Scala Improvement Process (SIP), the committee-reviewed route by which language changes are proposed and ratified. No single company owns Scala: the code belongs to EPFL, and development is a cooperative of three groups — the Scala Center, Odersky's LAMP lab at EPFL, and the Scala team at VirtusLab — with a weekly, cross-organization Scala Core Team as the main decision body. That list was four until August 2026, when Akka was dropped from it; VirtusLab now handles Scala 2 maintenance as well as Scala 3 infrastructure and tooling, and is the single vendor scala-lang.org names under commercial support for Scala. The release machinery, the LTS/Next policy, and the migration tooling all run through this open process.
Dotty becomes Scala 3 (2021)
Scala 3 began as Dotty, a research compiler Odersky and his EPFL group started around 2012 to rebuild Scala on a sounder type-theoretic foundation — the DOT calculus (Dependent Object Types). Over nearly a decade Dotty turned into a complete redesign: significant-indentation syntax, given/using in place of implicits, first-class enums, union and intersection types, opaque type aliases, a principled macro system, and the TASTy typed-AST format.
Dotty shipped as Scala 3.0 in May 2021. Crucially, TASTy and the shared 2.13 standard library gave Scala 3 real interoperability with Scala 2.13 — a Scala 3 project can depend on Scala 2.13 libraries — so the 2-to-3 transition has been incremental rather than the ecosystem-splitting cutover that Python's 2→3 became. Both lines remain in production years later, which is exactly the situation a version reference exists to disambiguate.
The LTS / Next model and the JDK-17 floor
Starting with Scala 3.3 (announced in 2022), Scala 3 development splits into two lines: Scala Next, the rolling series where new language features land, and Scala LTS, a long-term-support branch that gets only bug fixes and quality-of-life changes. The label misleads: Next is the line Scala recommends by default, and LTS exists chiefly so that library authors publishing to the wider ecosystem get extended support and source-compatibility guarantees. An LTS ships roughly every two years and is supported for at least three. Scala 3.3 held the role from May 2023 until Scala 3.9 — feature-frozen to match Scala 3.8, and requiring JDK 17 — was released on Sep 3, 2026 as the second LTS. The handover took a while to become official: release candidates ran from June 2026 through 3.9.0-RC6 on Aug 19, the stable 3.9.0 artifacts reached Maven Central on Aug 26, and the announcement followed eight days later — because Scala treats publishing the JARs as a step before the release rather than the release itself, leaving room to withdraw a build if a showstopper turns up. The 3.3 LTS stays actively maintained for a year past 3.9.0 to give the ecosystem time to migrate, and the rolling Next line now advances to Scala 3.10, whose first release candidate was published to Maven Central on Aug 27 and announced for public testing on Sep 3, 2026.
The other recent inflection is the minimum JVM. Scala had long supported JDK 8, but sun.misc.Unsafe — used in Scala's lazy val implementation — is being removed from future JDKs (JEP 471), and supporting JDK 26+ required replacing it. So from Scala 3.8 the Next line — and the 3.9 LTS behind it — requires JDK 17, while the 3.3 LTS line continues to produce JDK 8-compatible bytecode for teams that still need it. Scala 3.9 also ships an experimental tool, Sloth, that rewrites the old Unsafe-based lazy-val bytecode inside dependencies compiled by Scala 3.0–3.7, since a single stale dependency is enough to reintroduce the problem. The same JVM-version-floor pressure runs through the Java and Kotlin ecosystems — the three JVM languages move in step.
People who shaped Scala
Creator and language design: Martin Odersky (creator, EPFL; Pizza, GJ, and the original javac generics work that led to Scala), and the EPFL / Scala Center compiler team behind the Dotty / Scala 3 redesign (Guillaume Martres and the LAMP lab among them).
Ecosystem and tooling: Jonas Bonér (Akka, co-founder of Typesafe/Lightbend); Matei Zaharia (Apache Spark, which carried Scala into big data); Li Haoyi (a large independent tooling ecosystem — Mill, Ammonite, uPickle, and more); and VirtusLab's Scala team, which since August 2026 carries both the Scala 3 release and tooling work (Wojciech Mazur, the release officer) and Scala 2 maintenance (Lukas Rytz, the Scala 2 representative). Release engineering, the SIP process, and the LTS policy run through the weekly Scala Core Team and the Scala Center's open governance.