|
| 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. |
0 commit comments