2003 – 2026
Scala Versions
Every public release of Scala — from Martin Odersky's first release at EPFL through the current Scala 3.8 Next line and the Scala 3.3 LTS — 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. The corporate stewardship gave Scala a stability and an enterprise on-ramp that few research-born languages get.
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, with Spark long pinned to Scala 2.12 and now moving to 2.13 / JDK 17 in Spark 4.
The Scala Center and open governance
In 2016 the Scala Center was established at EPFL as a non-profit to steward the language's open-source development, education, and community process — the home of the Scala Improvement Process (SIP) through which language changes are proposed and ratified. Governance of the language thus sits with an academic non-profit rather than a single company, with major ecosystem players (Lightbend, VirtusLab, and others) contributing engineering. The release machinery, the LTS/Next policy, and the migration tooling are 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. An LTS ships roughly every two years and is supported for at least three; Scala 3.3 is the current LTS, and Scala 3.9 — feature-frozen to match Scala 3.8 — is the next.
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 coming 3.9 LTS) requires JDK 17, while the 3.3 LTS line continues to produce JDK 8-compatible bytecode for teams that still need it. 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 now drives much of the Scala 3 release and tooling work (Wojciech Mazur and colleagues). Release engineering, the SIP process, and the LTS policy run through the Scala Center's open governance.