Skip to content

Commit 427ac9e

Browse files
authored
Merge pull request #384 from sjrd/report-2024-q4
Add the activity report for 2024 Q4 and the roadmap for 2025 Q1.
2 parents ac52f1a + 65253fc commit 427ac9e

File tree

4 files changed

+255
-1
lines changed

4 files changed

+255
-1
lines changed

projects.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
---
2-
redirect_to: /records/2024-Q4-roadmap.html
2+
redirect_to: /records/2025-Q1-roadmap.html
33
---

records.md

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Every quarter, the Scala Center publishes an activity report detailing the
1414
work that has been achieved. You can find the roadmap for the current quarter
1515
in the [Projects page]({% link projects.md %}).
1616

17+
- [2024, Q4]({% link records/2024-Q4-activity-report.md %})
1718
- [2024, Q2-Q3]({% link records/2024-Q2-Q3-activity-report.md %})
1819
- [2024, Q1]({% link records/2024-Q1-activity-report.md %})
1920
- [2023, Q4]({% link records/2023-Q4-activity-report.md %})

records/2024-Q4-activity-report.md

+147
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
---
2+
layout: contact
3+
title: Scala Center Activity Report for 2024 Q4
4+
---
5+
6+
Scala Center team:
7+
Darja Jovanovic, 100%;
8+
Adrien Piquerez, 80%;
9+
Sébastien Doeraene, 50%;
10+
Guillaume Martres, 20%;
11+
Valérie Meillaud: 30%.
12+
VirtusLab team: Gabriel Kepka, 100%.
13+
14+
## At a Glance
15+
{: .no_toc}
16+
17+
* Table of Contents
18+
{:toc}
19+
20+
21+
## Language, Compiler, Standard Library
22+
23+
### Maintainance of the Scala 3 Compiler
24+
25+
For Scala 3.
26+
27+
Every month, about 100 new issues are opened on [the Scala 3 repository](https://github.com/scala/scala3).
28+
The project welcomes any help it can get in triaging, bug-fixing, PR reviewing, etc.
29+
30+
Our goal is to solve long-standing issues while keeping up with new ones.
31+
We also aim to get more people involved in working on the compiler to ensure the sustainability of the project.
32+
33+
We contributed PRs for bug fixes in various areas, notably match types.
34+
We also invested more in reviewing PRs from external and internal contributors alike.
35+
36+
### Scala.js maintenance
37+
38+
For Scala 2 and 3.
39+
40+
At the beginning of the quarter, we released [Scala.js 1.17.0](https://www.scala-js.org/news/2024/09/28/announcing-scalajs-1.17.0/).
41+
It features the initial implementation of the [experimental WebAssembly backend](https://www.scala-js.org/doc/project/webassembly.html) that we worked on during the previous quarter.
42+
43+
This quarter, we only performed behind-the-scenes maintenance of Scala.js: internal cleanups that will ease future developments.
44+
We added support for recent Scala 2.x releases, which included a last-minute patch for Scala 2.13.16, shipped as part of [Scala.js 1.18.2](https://www.scala-js.org/news/2025/01/23/announcing-scalajs-1.18.2/).
45+
46+
### Scala Improvement Process
47+
48+
For Scala 3.
49+
50+
The [Scala Improvement Process](https://docs.scala-lang.org/sips/) coordinates the evolution of the language.
51+
It ensures that the decisions are made by taking into account the needs of all the stakeholders of the language.
52+
53+
## Developer Experience
54+
55+
### Scala Toolkit
56+
57+
For Scala 2 and Scala 3.
58+
59+
We released a new version of the Toolkit:
60+
61+
- [0.6.0](https://github.com/scala/toolkit/releases/tag/0.6.0): updated library versions
62+
63+
### Documentation
64+
65+
For Scala 2 and Scala 3.
66+
67+
After the release of Scala 3.5.0, we updated the documentation website to use `scala-cli` as the entry point to the language.
68+
69+
We continued our work to simplify the documentation structure.
70+
In particular, the Scala 3 book now contains at least as much information as the Scala 2 book.
71+
Since the Scala 3 book actually documents Scala 2 as much as Scala 3 (with systematic version tabs), we plan to retire the Scala 2 book.
72+
73+
We also worked on documenting features not yet included in the documentation, such as `boundary`/`break`.
74+
75+
### sbt
76+
77+
For Scala 2 and Scala 3.
78+
79+
We continued our efforts to stabilize sbt 2.x.
80+
In addition, we contributed several optimizations ([#7879](https://github.com/sbt/sbt/pull/7879), [#7880](https://github.com/sbt/sbt/pull/7880), [#7882](https://github.com/sbt/sbt/pull/7882)), which will make it significantly faster to load than sbt 1.x and consume less memory.
81+
82+
### Scala 3 specification
83+
84+
For Scala 3.
85+
86+
We finished the following areas of the Scala 3 specification:
87+
88+
* for comprehensions
89+
* match types
90+
91+
## Community and Contributor Experience
92+
93+
For Scala 2 and Scala 3 throughout.
94+
95+
### Scala Highlights
96+
97+
We are about to release the first edition of Scala Highlights, a new quarterly newsletter showcasing technical achievements, online resources, and community news.
98+
99+
The newsletter is a joint effort by the Scala Center, LAMP, Akka, and VirtusLab, the four core organizations involved in the Scala language development.
100+
It also covers our collaborations with other parties, such as the Scala Center's advisory board.
101+
102+
This inaugural issue is special as it offers a recap of 2024, celebrating the year's most significant advancements and their impact on the Scala ecosystem.
103+
Future issues will cover quarterly highlights.
104+
105+
It might be released by the time you read these lines.
106+
If not, you can [read it in the pull request](https://github.com/scala/scala-lang/pull/1744).
107+
108+
### Google Summer of Code
109+
110+
Google Summer of Code (GSoC) has been a long-standing vehicle for the Scala Center to attract newcomers to the Scala OSS world.
111+
112+
The Scala Center acts as an organization shepherding the projects related to Scala.
113+
As such, we perform administrative tasks and mentor several projects.
114+
115+
We concluded the 2024 edition with 10 successfull projects, which is a record high for our organization.
116+
You can learn more about those projects [on the dedicated GSoC page for the Scala Center](https://summerofcode.withgoogle.com/programs/2024/organizations/scala-center).
117+
118+
For the upcoming year, [we are again applying to be an organization in 2025](https://www.scala-lang.org/blog/2025/01/28/gsoc-projects.html).
119+
120+
#### Scala Advent of Code
121+
122+
As in the past two years, we stewarded the participation to [Advent of Code](https://adventofcode.com/) for Scala developers, together with LAMP and Akka.
123+
124+
One of our core priorities is to communicate excitement about Scala.
125+
We participate in the Advent of Code so that we can share to the wider programming community how great Scala is for solving these programming puzzles.
126+
127+
We had 281 solutions submitted to the website this year, increased from 237 last year and 164 the year before, with many first time contributors.
128+
Many external volunteers wrote solution articles, leading to 24 out of the 25 days to be covered.
129+
130+
See the [announcement blog](https://scala-lang.org/blog/2024/12/02/advent-of-code-announce.html) and [recap blog post](https://scala-lang.org/blog/2025/01/16/advent-of-code-recap.html) for more details.
131+
132+
### Compiler Sprees
133+
134+
We maintained our involvement in the [Scala 3 Compiler Academy Issue Spree](https://www.scala-lang.org/blog/2022/11/02/compiler-academy.html).
135+
136+
Since its inception, the compiler spree has helped close [more then a hundred issues](https://github.com/lampepfl/dotty/issues?q=is%3Aissue+sort%3Aupdated-desc+label%3ASpree+is%3Aclosed) with the help of over 80 contributors.
137+
138+
## Scala Center Administration
139+
140+
### Sovereign Tech Fund
141+
142+
We applied for a large grant from the [Sovereign Tech Fund](https://www.sovereigntechfund.de/) (STF), a governmental German fund that "supports the development, improvement, and maintenance of open digital infrastructure."
143+
The STF has significantly contributed to the maintenance of several other open-source programming languages in the past, such as Ruby, Python and Node.js.
144+
We are hopeful that they will choose to support Scala as well.
145+
146+
So far, we passed the first stage of the evaluation process.
147+
Next steps involve scoping more precisely the work that would be covered by the grant.

records/2025-Q1-roadmap.md

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
---
2+
layout: contact
3+
title: Scala Center Roadmap for 2025 Q1
4+
---
5+
6+
This page lists the projects that the Scala Center plans to work on during 2025 Q1.
7+
We also post regular updates about our projects on the [Scala Contributors forum](https://contributors.scala-lang.org/c/scala-center/25).
8+
9+
To have more information about our _completed_ projects, please see the [quarterly activity reports]({% link records.md %}).
10+
11+
## Roadmap for 2025 Q1
12+
{: .no_toc}
13+
14+
The following sections present our plan for the current quarter.
15+
Every project description is followed by the concrete results we will deliver and their expected outcome on the Scala community.
16+
17+
Our engineering team will soon be reduced to a single half-time employee.
18+
The scope of this roadmap reflects that situation.
19+
20+
* Table of Contents
21+
{:toc}
22+
23+
### Language, Compiler, Standard Library
24+
25+
Our mission is to reduce the number of bugs in the compiler implementation, to help the community to contribute to these tools, and to make sure they evolve in a way that takes into account the needs of the community.
26+
27+
#### Scala Improvement Process
28+
29+
The [Scala Improvement Process](https://docs.scala-lang.org/sips/index.html) is a process for submitting changes to the Scala language.
30+
It aims to evolve Scala openly and collaboratively.
31+
32+
We hold regular committee meetings, which we both coordinate and participate in.
33+
34+
### Documentation and Education
35+
36+
Our mission is to improve the structure and content of the website, to create and maintain high-quality online educational content (including online courses), and to help the community to contribute to the website.
37+
38+
#### Merge the Scala 2 and 3 books
39+
40+
During the previous year, we brought the Scala 3 book up to date with the content available in the Scala 2 book.
41+
It is now time to merge them to simplify the documentation structure.
42+
Moreover, we will replace the Tour of Scala by a single section at the beginning of the common book.
43+
44+
Note that the Scala 3 book covers Scala 2 as well.
45+
Systematic version tabs allow the readers to consult the same documentation in either version.
46+
47+
#### Scala 3 language specification
48+
49+
In 2024, we updated the Scala 3 specification with all the core changes brought by Scala 3.
50+
We will finish the effort of integrating the remaining aspects from the Scala 3 reference.
51+
52+
### Developer Experience
53+
54+
Our mission is to make sure the tools Scala developers use to edit, analyze, navigate through, transform, compile, run, and debug Scala programs are as easy to use as possible, that they work reliably for everyone, and deliver a great developer experience.
55+
56+
#### The Scala 3 expression compiler
57+
58+
For Scala 3 only.
59+
60+
The expression compiler is the underlying technology powering "evaluate expression" features in Metals.
61+
Now that the expression compiler has been stabilized, we will move its Scala 3 support to the Scala 3 compiler repository.
62+
63+
First, this will reduce maintenance efforts.
64+
The expression compiler will be released automatically as part of the Scala 3 release process.
65+
Users of Scala 3 will directly benefit from the full debugging features upon release.
66+
67+
Second, this will add a significant amount of tests for debugging features to the CI process of Scala 3.
68+
It will ensure that changes to the compiler do not break the debugging experience of users.
69+
Besides the expression compiler per se, tests cover debugging info such as line numbers, which IntelliJ relies on as much as Metals.
70+
71+
Similar work for Scala 2 would not have as much impact, as the Scala 2 compilation pipeline changes less often.
72+
73+
### Community and Contributor Experience
74+
75+
Our mission is to create the best environment for the emergence of a strong Scala ecosystem made of high-quality, reliable, libraries that bring simple solutions to complex problems.
76+
77+
#### Communication
78+
79+
We will conduct actions aiming at communicating a positive image of Scala, and making people excited about it.
80+
81+
- We will regularly share our achievements and engage the community on our projects _via_ our [LinkedIn](https://www.linkedin.com/company/scala-center/) page.
82+
- We will speak at tech conferences and local meetups to encourage people to contribute to the Scala ecosystem, and to let non-Scala programmers know about Scala.
83+
84+
### Maintenance Work
85+
86+
We will also spend a small part of our time reviewing pull requests, triaging issues, and fix issues for the following projects, to make sure important points are addressed:
87+
88+
- Scala 3 compiler
89+
- Scala 2 TASTy reader
90+
- Scala.js
91+
- Scaladex
92+
- Scalafix
93+
- Scastie
94+
- Coursier
95+
- Bloop
96+
- Metals
97+
- sbt
98+
- sbt-dependency-submission
99+
- scala-debug-adapter
100+
- tasty-query
101+
- tasty-mima
102+
103+
## Advisory Board Proposals
104+
{: .no_toc}
105+
106+
For reference, you can see [here](https://github.com/scalacenter/advisoryboard/tree/master/proposals) the list of Advisory Board proposals and their respective status.

0 commit comments

Comments
 (0)