Skip to content

Latest commit

 

History

History
902 lines (857 loc) · 83.6 KB

DEPS.md

File metadata and controls

902 lines (857 loc) · 83.6 KB

Scala 3 Dependencies

Dotty project This document presents changes in library dependencies for the Scala 3 software distributions.
 
<style scoped>table { font-size: 80%; }</style>

Introduction

The Scala 3 and Scala 2 software distributions differ in several ways regarding their dependencies on external libraries. We enumerate here the main differences :

🔎 We observe a jump in the increases in size of the software distributions :

Scala 3 Release date Zip archive Installation
3.4.2 May 2024 37.3 MB 29.4 MB
3.4.1 Mar 2024 36.6 MB
3.4.0 Feb 2024 36.5 MB
3.3.3 Feb 2024 35.5 MB 37.5 MB
3.3.1 Sep 2023 36.6 MB 38.7 MB
3.3.0 May 2023 36.0 MB 38.1 MB
3.2.2 Jan 2023 35.5 MB 37.6 MB
3.2.1 Sep 2022 35.5 MB 37.6 MB
3.2.0 Sep 2022 34.2 MB 36.1 MB
3.1.3 Jun 2022 33.8 MB 35.7 MB
3.1.2 Apr 2022 33.4 MB 35.3 MB
3.1.1 Jan 2022 33.3 MB 35.2 MB
3.1.0 Oct 2021 33.1 MB 35.0 MB
3.0.2 Sep 2021 31.2 MB 33.0 MB
3.0.1 Jul 2021 29.8 MB 33.0 MB
Scala 2.13 Release date Zip archive Installation
2.13.14 May 2024 23.3 MB 24.8 MB
2.13.13 23.0 MB
2.13.12 Sep 2023 22.9 MB 24.4 MB
2.13.11 Jun 2023 22.9 MB 24.4 MB
2.13.10 Oct 2022 22.6 MB 24.0 MB
2.13.9 Sep 2022 22.5 MB 24.0 MB
2.13.8 Jan 2022 22.6 MB 24.1 MB
2.13.7 Nov 2021 22.6 MB 24.1 MB
2.13.6 May 2021 22.3 MB 23.8 MB
Scala 2.12 Release date Zip archive Installation
2.12.19 Feb 2024 20.1 MB 21.4 MB
2.12.18 Jun 2023 20.0 MB 21.4 MB
2.12.17 Sep 2022 20.0 MB 21.4 MB
2.12.16 Jun 2022 20.1 MB
2.12.15 Sep 2021 20.1 MB 21.5 MB

In the next sections we give more details on those dependencies for the different Scala distributions currently available, namely 3.3, 3.2, 3.1, 3.0, 2.13 and 2.12.

Dependencies in Scala 3.3 Releases

As mentioned in the introduction the Scala 3.3 distributions depend on many external libraries.

Java Archive Current
Version
3.3.0
final
3.3.1
final
3.3.2
final
3.3.3
final
antlr4-*
(relnotes)
4.13.1
(Sep 2023)
4.7.2 4.7.2 4.7.2 4.7.2
autolink-*
(relnotes)
0.11.0
(Feb 2023)
0.6.0 0.6.0 0.6.0 0.6.0
compiler-interface
(relnotes)
1.10.0
(May 2024)
1.3.5 1.3.5 1.9.3
flexmark-*
(relnotes)
0.64.8
(May 2023)
0.42.12 0.62.2 0.62.2 0.62.2
...
util-interface 1.10.0
(May 2024)
1.3.0 1.3.0 1.9.2

Dependencies in Scala 3.2 Releases

As mentioned in the introduction the Scala 3.2 distributions depend on many external libraries.

Java Archive Current
Version
3.2.0
 
3.2.1
 
3.2.2
 
antlr4-*
(relnotes)
4.13.1
(Sep 2023)
4.7.2 4.7.2 4.7.2
autolink-*
(relnotes)
0.11.0
(Feb 2023)
0.6.0 0.6.0 0.6.0
compiler-interface
(relnotes)
1.9.3
(Jul 2022)
1.3.5 1.3.5 1.3.5
flexmark-*
(relnotes)
0.64.8
(May 2023)
0.42.12 0.42.12 0.42.12
jackson-annotations 2.15.2
(May 2023)
2.12.1 2.13.3 2.13.3
jackson-core
(relnotes)
2.15.2
(May 2023)
2.12.1 2.13.3 2.13.3
jackson-databind 2.15.2
(May 2023)
2.12.1 2.12.3 2.12.3
jackson-dataformat-yaml 2.15.2
(May 2023)
2.12.1 2.13.3 2.13.3
jline-reader
(changelog)
3.23.0
(Mar 2023)
3.19.0 3.19.0 3.19.0
jna
(changelog)
5.13.0
(Jan 2023)
5.3.1 5.3.1 5.3.1
jsoup
(relnotes)
1.16.1
(Apr 2023)
1.14.3 1.14.3 1.14.3
liqp
(relnotes)
0.8.5.3
(May 2023)
0.8.2 0.8.2 0.8.2
protobuf-java
(relnotes)
3.23.3
(Jun 2023)
3.7.0 3.7.0 3.7.0
scala-asm 2 9.5.0
(Apr 2023)
9.3.0 9.3.0 9.3.0
scala-library 2.13.11
(Jun 2023)
2.13.8 2.13.8 2.13.8
snakeyaml
(changelog)
2.0
(Feb 2023)
1.27 1.30 1.30
util-interface 1.9.3
(Jul 2023)
1.3.0 1.3.0 1.3.0

Dependencies in Scala 3.1 Releases

As mentioned in the introduction the Scala 3.1 distributions depend on many external libraries.

Java Archive Current
Version
3.1.0
final
3.1.1
final
3.1.2
final
3.1.3
final
antlr-*
(relnotes)
4.13.1
(Sep 2023)
3.5.1 3.5.1 4.7.2 4.7.2
autolink-*
(relnotes)
0.11.0
(Feb 2023)
0.6.0 0.6.0 0.6.0 0.6.0
compiler-interface
(relnotes)
1.9.3
(Jul 2023)
1.3.5 1.3.5 1.3.5 1.3.5
flexmark-*
(relnotes)
0.64.8
(May 2023)
0.42.12 0.42.12 0.42.12 0.42.12
jackson-annotations 2.15.2
(May 2023)
2.2.3 2.2.3 2.12.1 2.12.1
jackson-core
(relnotes)
2.15.2
(May 2023)
2.9.8 2.9.8 2.12.1 2.12.1
jackson-databind 2.15.2
(May 2023)
2.2.3 2.2.3 2.12.1 2.12.1
jackson-dataformat-yaml 2.15.2
(May 2023)
2.9.8 2.9.8 2.12.1 2.12.1
jline-reader
(changelog)
3.23.0
(Mar s2023)
3.19.0 3.19.0 3.19.0 3.19.0
jna
(changelog)
5.12.1
(Jun 2022)
5.3.1 5.3.1 5.3.1 5.3.1
jsoup
(relnotes)
1.16.1
(Apr 2023)
1.13.1 1.13.1 1.14.3 1.14.3
liqp
(relnotes)
0.8.5.3
(May 2023)
0.6.7 0.6.7 0.8.2 0.8.2
protobuf-java
(relnotes)
3.24.0
(Aug 2023)
3.7.0 3.7.0 3.7.0 3.7.0
scala-asm 2 9.5.0
(Apr 2023)
9.1.0 9.1.0 9.1.0 9.2.0 3
scala-library 2.13.11
(Jun 2023)
2.13.6 2.13.6 2.13.8 2.13.8
snakeyaml
(changelog)
2.1
(Aug 2023)
1.23 1.23 1.27 1.27
ST4 4.3.4
(April 2022)
4.0.7 4.0.7 removed removed
util-interface 1.9.3
(Jul 2023)
1.3.0 1.3.0 1.3.0 1.3.0

Dependencies in Scala 3.0 Releases

As mentioned in the introduction the Scala 3.0 distributions depend on many external libraries.

Java Archive Current
Version
3.0.0
final
3.0.1
final
3.0.2
final
antlr-*
(relnotes)
4.13.1
(Sep 2023)
3.5.1
(Sep 2013)
3.5.1 3.5.1
autolink-*
(relnotes)
0.11.0
(Feb 2023)
0.6.0
(2016)
0.6.0 0.6.0
compiler-interface
(relnotes)
1.9.3
(Jul 2023)
1.3.5
(2020)
1.3.5 1.3.5
flexmark-*
(relnotes)
0.64.8
(May 2023)
0.42.12
(2019)
0.42.12 0.42.12
jackson-annotations 2.15.2
(May 2023)
2.2.3
(2013)
2.2.3 2.2.3
jackson-core 2.15.2
(May 2023)
2.9.8
(2018)
2.9.8 2.9.8
jackson-databind 2.15.2
(May 2023)
2.2.3
(Aug 2013)
2.2.3 2.2.3
jackson-dataformat-yaml 2.15.2
(May 2023)
2.9.8
(2018)
2.9.8 2.9.8
jline-reader
(changelog)
3.23.0
(Mar 2023)
3.19.0 3.19.0 3.19.0
jna
(changelog)
5.13.0
(Jul 2023)
5.3.1
(Mar 2019)
5.3.1 5.3.1
jsoup
(relnotes)
1.16.1
(Apr 2023)
1.13.1
(Mar 2020)
1.13.1 1.13.1
liqp
(relnotes)
0.8.5.3
(May 2023)
0.6.7
(2016)
0.6.7 0.6.7
protobuf-java
(relnotes)
3.24.0
(Aug 2023)
3.7.0
(2019)
3.7.0 3.7.0
scala-asm 2 9.5.0
(Apr 2023)
9.1.0 9.1.0 9.1.0
scala-library 2.13.11
(Jun 2022)
2.13.5
(Feb 2021)
2.13.6
(May 2021)
2.13.6
snakeyaml
(changelog)
2.1
(Aug 2023)
1.23
(Aug 2018)
1.23 1.23
ST4 4.3.4
(April 2022)
4.0.7
(Jan 2013)
4.0.7 4.0.7
util-interface 1.9.3
(Jul 2023)
1.3.0
(Sep 2019)
1.3.0 1.3.0

Dependencies in Scala 2.13 Releases

The following table presents the library dependencies of the Scala 2.13 distributions.

Java Archive Current
Version
2.13.3
final
2.13.4
final
2.13.5
final
2.13.6
final
2.13.7
final
2.13.8
final
2.13.9
final
2.13.10
final
2.13.11
final
2.13.12
final
jline 3.23.0
(Mar 2023)
3.15.0 3.16.0 3.19.0 3.19.0 3.20.0 3.21.0 1 3.21.0 3.21.0 3.22.0 3.22.0
jna 5.13.0
(Jan 2023)
5.3.1
(Apr 2019)
5.3.1 5.3.1 5.3.1 5.8.0 5.9.0 1 5.9.0 5.9.0 5.13.0 5.13.0
scala-asm 2 9.5.0
(Apr 2023)
7.3.1 7.3.1 9.1.0 9.1.0 9.2.0 3 9.2.0 9.3.0 9.3.0 9.5.0 9.5.0

🔎 Versions of the above Java archives are defined in property file versions.properties.

Dependencies in Scala 2.12 Releases

The following table presents the library dependencies of the Scala 2.12 distributions.

Java Archive Current
Version
2.12.12
final
2.12.13
final
2.12.14
final
2.12.15
final
2.12.16
final
2.12.17
final
2.12.18
final
2.12.19
DEV
jline
(version 2)
2.14.6
(Nov 2007)
2.14.6 2.14.6 2.14.6 2.14.6 2.14.6 2.14.6 2.14.6 -
scala-asm 2 9.5.0
(Apr 2023)
7.3.1 7.3.1 9.1.0 9.2.0 9.2.0 9.3.0 9.5.0 -

Footnotes

[1] jline 3.21.0 and JNA 5.9.0 Library Updates

Update 3.21.0 of the JLine library and update 5.9.0 of the JNA library make REPL work again on Mac M1 (see pull 9807).

[2] scala-asm Library

Scala 3 and Scala 2 software distributions are packaged differently regarding their dependency on the ASM library (actually a fork of it):
We wrote the batch file getasm.bat (~200 lines) to extract the ASM version from the Scala 2 and Scala 3 distributions (using file scala-asm.properties). Here is a sample output :
> getasm run
Found ASM version "7.0.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.12.10"
Found ASM version "7.3.1-scala-1" in Scala 2 installation is "C:\opt\scala-2.12.11"
Found ASM version "9.1.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.12.14"
Found ASM version "9.2.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.12.15"
Found ASM version "9.2.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.12.16"
Found ASM version "9.3.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.12.17"
Found ASM version "9.5.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.12.18"
Found ASM version "7.3.1-scala-1" in Scala 2 installation is "C:\opt\scala-2.13.4"
Found ASM version "9.1.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.13.5"
Found ASM version "9.1.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.13.6"
Found ASM version "9.2.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.13.7"
Found ASM version "9.2.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.13.8"
Found ASM version "9.3.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.13.9"
Found ASM version "9.3.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.13.10"
Found ASM version "9.5.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.13.11"
Found ASM version "9.5.0-scala-1" in Scala 2 installation is "C:\opt\scala-2.13.12"
Found ASM version "9.1.0-scala-1" in Scala 3 installation is "C:\opt\scala3-3.0.0"
Found ASM version "9.1.0-scala-1" in Scala 3 installation is "C:\opt\scala3-3.0.2"
Found ASM version "9.1.0-scala-1" in Scala 3 installation is "C:\opt\scala3-3.1.0"
Found ASM version "9.1.0-scala-1" in Scala 3 installation is "C:\opt\scala3-3.1.1"
Found ASM version "9.1.0-scala-1" in Scala 3 installation is "C:\opt\scala3-3.1.2"
Found ASM version "9.2.0-scala-1" in Scala 3 installation is "C:\opt\scala3-3.1.3"
Found ASM version "9.3.0-scala-1" in Scala 3 installation is "C:\opt\scala3-3.2.0"
Found ASM version "9.3.0-scala-1" in Scala 3 installation is "C:\opt\scala3-3.2.2"
Found ASM version "9.4.0-scala-1" in Scala 3 installation is "C:\opt\scala3-3.3.0"
Found ASM version "9.5.0-scala-1" in Scala 3 installation is "C:\opt\scala3-3.3.1"

[3] scala-asm Library Updates

Besides improvements and fixes scala-asm library updates also add support for the latest Java version:
scala-asm update Java version Class file version
9.7.0 23 67
9.6.0 22 66
9.5.0 21 65
9.4.0 20 64
9.3.0 19 63
9.2.0 18 62
9.1.0 17 61
7.3.1 15 59
7.0.0 11 55

mics/September 2024