Skip to content

Commit 848938e

Browse files
authored
add Scala 2 to Development Guarantees page (#1724)
1 parent 0c676bf commit 848938e

File tree

2 files changed

+77
-12
lines changed

2 files changed

+77
-12
lines changed

_posts/2024-10-16-announcing-governance.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ As before, Scala 2 has stable 2.13 and 2.12 distributions.
4848

4949
### Predictable and frequent releases
5050

51-
The new governance model and structure improved the coordination between different teams working on Scala development and releases. We have been testing the model since February 2024 and we are confident that technical decisions around Scala releases and distributions are now synchronised and running smoothly. As a result, Scala 3 users experience [predictable, well-managed releases](/development/#schedule-iterations-and-roadmap), typically at six to twelve week intervals.
51+
The new governance model and structure improved the coordination between different teams working on Scala development and releases. We have been testing the model since February 2024 and we are confident that technical decisions around Scala releases and distributions are now synchronised and running smoothly. As a result, Scala 3 users experience [predictable, well-managed releases](/development/#scala-3-schedule-iterations-and-roadmap), typically at six to twelve week intervals.
5252

5353
### Standardised backlog management on the Scala repo
5454

development/index.md

+76-11
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ permalink: /development/
55
includeTOC: true
66
---
77

8-
## The TL;DR
8+
## Scala 3 TL;DR
99

1010
1. There are 2 distribution lines of Scala 3: **Scala Next** and **Scala LTS**.
1111
2. The **Scala Next** line is the **default** to be used by most users,
@@ -21,6 +21,26 @@ includeTOC: true
2121
version, except for rare situations when a bugfix requires breaking source
2222
compatibility.
2323

24+
## Scala 2 TL;DR
25+
26+
Maintenance of Scala 2.13 will continue indefinitely.
27+
28+
Minimal maintenance of Scala 2.12 will continue as long as
29+
sbt 1 remains in wide use.
30+
31+
## The role of the Scala Center
32+
33+
The [Scala Center](https://scala.epfl.ch) is a not-for-profit foundation that stewards the Scala programming language. The Scala Center is funded mainly by corporate sponsorships and donations. It is vital for the future of Scala to ensure the continued existence and health of the Scala Center.
34+
35+
Companies interested in the continued maintenance of Scala 3 and Scala 2 should help to fund the Scala Center by joining the Center’s advisory board, or through direct donations.
36+
37+
When you support the Center, make sure to keep the Center appraised of what Scala versions are of concern to your company.
38+
39+
To learn more about supporting the Center, read this September 2023 blog post, [The Scala Center Fundraising Campaign](https://www.scala-lang.org/blog/2023/09/11/scala-center-fundraising.html).
40+
41+
If you’d like for your organization to work with us more closely, please contact
42+
scala.center (at) epfl.ch to discuss possible collaboration.
43+
2444
## Contribute to Scala
2545

2646
Scala is and always has been an open source effort. It is a collaboration
@@ -31,11 +51,7 @@ If you are interested in contributing to Scala, be sure to start by visiting
3151
[the GitHub repository of the compiler](https://github.com/scala/scala3) (or the
3252
[standard library](https://github.com/scala/scala/tree/2.13.x/src/library)).
3353

34-
If you’d like for your organization to work with us more closely, please contact
35-
scala.center (at) epfl.ch which will be able to arrange the possible
36-
collaboration.
37-
38-
## Semantic versioning of the language
54+
## Scala 3 semantic versioning
3955

4056
Scala 3 follows [Semantic Versioning](https://semver.org/). Each version number
4157
has a well-defined meaning, following the `major.minor.patch` scheme, with each
@@ -152,7 +168,7 @@ by the Open Community Build to ascertain their impact on the ecosystem. If
152168
necessary, we may prolong the RC period and delay a release to give ourselves
153169
time to fix a particularly troublesome regression.
154170

155-
## Scala distributions
171+
## Scala 3 distributions
156172

157173
Scala 3 is currently developed in 2 parallel **distributions** (or **lines**),
158174
code-named **Scala LTS** (for **Long Term Support**) and **Scala Next**.
@@ -162,9 +178,9 @@ found in an
162178
[earlier blogpost](/blog/2022/08/17/long-term-compatibility-plans.html), but the
163179
relevant information can be found below.
164180

165-
### Scala LTS
181+
### Scala 3 LTS
166182

167-
**Scala LTS** is a designated **minor** version that is the **preferred target
183+
**Scala 3 LTS** is a designated **minor** version that is the **preferred target
168184
version for libraries**. Currently, it is the Scala 3.3.x series.
169185

170186
It is possible to use a library if it was published with the same minor version
@@ -183,7 +199,7 @@ initial release.
183199

184200
### Scala Next
185201

186-
**Scala Next** is the default line that the compiler team actively develops. It
202+
**Scala Next** is the default line that the Scala 3 compiler team actively develops. It
187203
is the **preferred target version for all non-library projects**. If the API of
188204
your project is not meant to be consumed by other Scala projects, we advise to
189205
use Scala Next rather than LTS.
@@ -194,7 +210,7 @@ changes (after approval by the SIP Committee), larger new features and
194210
occasional bugfixes that may affect source compatibility. All of our testing and
195211
maintenance practices apply in the same way to Scala Next and LTS.
196212

197-
## Schedule, iterations and roadmap
213+
## Scala 3 schedule, iterations and roadmap
198214

199215
Scala 3 is developed in iterations, according to a roadmap as designed by its
200216
Product Manager and governed by the [Scala Core Team](/scala-core). Each
@@ -252,3 +268,52 @@ release Scala LTS 3.3.6-RC1 together with Scala Next 3.6.2, and then we should
252268
have a stable Scala LTS 3.3.6 by the time Scala Next 3.7.0 is out.
253269

254270
As a result, we expect to release **a new Scala LTS patch every 3 to 6 months**.
271+
272+
## Scala 2 maintenance
273+
274+
This section answers the questions:
275+
276+
* What versions of Scala 2 are maintained?
277+
* How long will maintenance last?
278+
279+
### Scala 2.13 maintenance
280+
281+
Scala 2.13 maintenance is expected to continue indefinitely.
282+
283+
"Indefinitely" means as long into the future as anyone can possibly anticipate, certainly for years to come. The Scala Center has no plan and no desire to retire the Scala 2.13 series.
284+
285+
This means that:
286+
287+
* Security vulnerabilities will be addressed.
288+
* Compatibility with new JVM versions will be ensured.
289+
* Interoperability with Scala 3 will continue and migration to Scala 3 will be supported.
290+
* Pull requests will be reviewed and, when feasible, merged.
291+
* Releases will continue indefinitely, typically every 3 to 6 months. (This cadence may slow down over time.)
292+
293+
Most Scala 2 maintenance is done by the Scala team at [Akka](https://akka.io) (the company formerly known as Lightbend), in coordination with the Scala Center and the Scala 3 team.
294+
295+
These remarks apply to Scala 2 itself, that is, the compiler and standard library. Making effective use of Scala 2 also depends on a healthy tooling and library ecosystem. Much of that ecosystem is outside of our direct control, but we help maintainers as much as we can.
296+
297+
### Scala 2.12 maintenance
298+
299+
Scala 2.12 will remain fundamental to the Scala ecosystem for as long as sbt 1.x (which requires 2.12) remains in wide use.
300+
301+
Therefore, there is no plan to end-of-life Scala 2.12 entirely. Maintenance will continue, so that:
302+
303+
* Security vulnerabilities will be addressed.
304+
* Compatibility with new JVM versions will be ensured.
305+
* Occasional releases will continue as-needed.
306+
307+
But compared to 2.13, maintenance of 2.12 is already minimal and will remain so.
308+
309+
### Scala 2.11 status
310+
311+
Scala 2.11 reached end-of-life in 2016.
312+
313+
It remains available and it is usable in some contexts, but it is no longer maintained.
314+
315+
## Commercial support for Scala
316+
317+
Akka offers [commercial support](https://akka.io) for Scala. The Scala team at Akka are the primary maintainers of Scala 2. They are very active in Scala 3 development as well. The Akka libraries are fully supported on both Scala 2 and Scala 3.
318+
319+
VirtusLab offers [commercial support](https://virtuslab.com/expertise/scala/) for Scala as well. Their team manages Scala 3 releases and development. VirtusLab provides services to modernise Scala projects, including Scala 3 migration.

0 commit comments

Comments
 (0)