Skip to content

Releases: scala/scala

Scala 2.12.7

27 Sep 12:07
v2.12.7
d96b8eb
Compare
Choose a tag to compare

Main highlights of this release:

  • Add Scaladoc markdown tables (#6043)
  • Fix equality of WrappedArray.ofRef (for Spark, #7156)
  • Numerous compiler performance improvements (#7067, #6696, #7147)
  • Improve performance of HashMaps, Any.## (#7265)

Further highlights:

  • Improved Java 9+ support (#7089 ASM 6.2, #7240 Un-deprecate linesIterator, #6531 improve callability of some methods from Java)
  • Support @Repeatable Java annotations (#6846)
  • Support cancellation of batch compilation (#6479)

For more details, check out all closed bugs and merged PRs.

Compiler performance has improved significantly again, and is mostly on par with 2.13. Concretely, you should see a 10% drop in compile times since 2.12.6, according to our compiler benchmarks.

As usual for minor releases, Scala 2.12.7 is binary compatible with the whole Scala 2.12 series.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

This release was brought to you by 34 contributors, according to git shortlog -sn --no-merges v2.12.6..v2.12.7. Thank you, Jason Zaugg, TATSUNO Yasuhiro, A. P. Marki, Harrison Houghton, Seth Tisue, Dan Skells, Adriaan Moors, Darcy Shen, Jasper Moeys, David Gregory, Diego E. Alonso-Blas, Lukas Rytz, Mike Skells, Miles Sabin, NthPortal, Philippus Baalman, Andrei Baidarov, Yang Bo, Janek Bogucki, Georgi Chochov, Iulian Dragos, Kamil Duda, Martijn Hoekstra, Ismael Juma, Viktor Klang, Danila Matveev, Mark Petruska, Aaron S. Hawley, Shohei Shimomura, Arnaldo Silva, Robert Stoll, Eugene Yokota, Kenji Yoshida, Cong Zhao!

Scala 2.12 Notes

The release notes for Scala 2.12.0 have important information applicable to the whole 2.12 series.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):

Scala 2.13.0-M5

28 Aug 14:56
v2.13.0-M5
8a52aa1
Compare
Choose a tag to compare
Scala 2.13.0-M5 Pre-release
Pre-release

Scala 2.13 is getting closer and closer!

We've been polishing the improved and simplified Scala collections library that first shipped in 2.13.0-M4. We expect the API to remain stable now, though there may still be minor changes in RC1.

M5 is our feature-freeze release for 2.13. From here forward, we’ll close existing open loops but not embark on or accept new work.

Collections changes

The major collections changes already landed in M4. See the M4 release notes for a summary.

To learn more about those changes and how to adapt your code, take a look at the FAQ wiki page. This document is intended for library maintainers and assumes familiarity with the 2.12 Scala collections. Additional documentation will become available soon.

Here's the biggest additional collections changes since M4:

  • The new CHAMP-based HashMap and HashSet implementations are now the default (#7074)
  • A LazyList's empty-or-not status is now lazy too (#7000)
  • Variables bound in pattern matches by the x @ _* syntax are now typed scala.Seq (immutable); name-based pattern matching has changed to enable this (#7068)
  • Arrays passed as varargs are now defensively copied (#6970)
  • Offer stronger guarantees under the Java Memory Model for List and Vector (using releaseFence) (#6425)
  • Iterator and collection companion objects now have an .unfold method (#6851)
  • Collections now have .lengthIs, .sizeCompare and .sizeIs methods (#6950, #6758)
  • Improved support for extension methods on collections via IsIterable et al (#6674)
  • Now deprecated: .zipped (#7025), .filterKeys and .mapValues (#7014), symbolic methods with multiple arguments (#6719)
  • Added immutable maps that maintain insertion order (VectorMap/SeqMap) (#6854), but note that VectorMaps remove method was found to be incorrect; the next release will have a fix.

Language and compiler changes

  • Compiler output is now deterministic, for reproducible builds (scala-dev#405)
  • Support by-name implicits with recursive dictionaries (#6050)
  • Better typing for overloaded higher-order methods (#6871)
  • Improved compiled times by more aggressively pruning polymorphic implicits during search (#6580)
  • Explicit imports now shadow locally defined identifiers (#6589)
  • Mixin fields with trait setters are no longer JVM final (#7028)

Library additions and changes

  • Updated & revised Future and Promise implementation (#6610)
  • Added scala.util.Using, for automatic resource management (#6907)
  • Added Option-returning methods (e.g. toIntOption) for parsing literals (#6538)
  • Case classes and other Products now have productElementNames and productElementName methods (#6972
  • Left and Right now have .withRight and .withLeft methods for upcasting the other type parameter (#7011)
  • Added tap and pipe methods, for chaining operations, available via import scala.util.chaining._ (#7007)
  • Added total orderings for Float and Double (#6410)
  • String-building using + on non-String types is now deprecated (#6315, #6755)
  • Projections on Either are now deprecated (#6682)
  • PartialFunction.fromFunction replaces PartialFunction.apply (#6703)
  • Support implicitNotFound on parameters (#6340)

Environment and compiler option changes

  • Added -Yimports for implicit preamble imports (#6764)
  • Support JEP 293 style long command-line options (#6499)
  • The script runner no longer uses the fsc compilation daemon by default (#6747)
  • Removed -Yrepl-sync (#6626)

Other changes

For more details, see merged PRs and closed bugs.

See also the notes for the previous milestones: M4, M3, M2, M1.

Compiler performance in 2.13 is 5-10% better compared to 2.12. The integration of the new collections library shows up in the performance graph as a nice improvement.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

Shout-outs this time to:

This release was brought to you by 71 contributors, according to git shortlog -sn --no-merges ^v2.13.0-M4 v2.13.0-M5. Thank you Jason Zaugg, A. P. Marki, Kenji Yoshida, Stefan Zeiger, NthPortal, Lukas Rytz, Martijn Hoekstra, Allan Renucci, Harrison Houghton, Josh Lemer, Dale Wijnand, exoego, Adriaan Moors, Matthew de Detrich, Miles Sabin, Isaac Levy, Greg Methvin, Julien Richard-Foy, wholock, Eugene Yokota, Seth Tisue, Dan Skells, Guillaume Martres, Georgi Krastev, Aaron S. Hawley, Jasper Moeys, Jonathan Frawley, Diego E. Alonso-Blas, Matthias Sperl, Viktor Klang, Sébastien Doeraene, Marco Zühlke, Mike Skells, Philippus, Chris Phelps, Yuval Dagan, Guillaume Massé, taku0, David Gregory, Yang Bo, Adianto Wibisono, Alejandro Sellero, Alessandro Buggin, Alexey-NM, Bakhytzhan Karabalin, Cong Zhao, Danila Matveev, Diego E. Alonso Blas, Eugene Platonov, Gabriel Claramunt, Georgi Chochov, Ismael Juma, Kamil Duda, Kamil Kloch, Kazuhiro Sera, Mark Petruska, Philippus Baalman, Piotr Kukielka, Robert Stoll, Robin Stephenson, Simão Martins, Sujeet Kausallya Gholap, Vince, jvican, k.bigwheel, naldo, pathikrit, sh0hei, valydia, veera venky, Ólafur Páll Geirsson.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):

Libraries for Scala 2.13.0-M5

As libraries are published for M5, they're added to https://github.com/scala/make-release-notes/blob/2.13.x/projects-2.13.md

Scala 2.13.0-M4

15 May 09:23
v2.13.0-M4
Compare
Choose a tag to compare
Scala 2.13.0-M4 Pre-release
Pre-release

The 2.13 Scala collections have landed!

This is the first 2.13 milestone that includes the improved and simplified Scala collections library. We expect the API to mostly remain stable after this release, although there may still be minor changes in M5.

The goal for this release is to bootstrap the Scala ecosystem on the new collections.

Collections changes

The most important changes in the collections:

  • Transformation methods no longer have an implicit CanBuildFrom parameter. This makes the library easier to understand (in source code, Scaladoc, and IDE code completion). It also makes compiling user code more efficient.
  • The type hierarchy is simplified.Traversable no longer exists, only Iterable. (And as in previous milestones, parallel collections are now in a separate hierarchy in a separate module.)
  • scala.Seq is now an alias for scala.collection.immutable.Seq (no longer scala.collection.Seq) (note that this also changes the type of Scala varargs methods)
  • Views have been vastly simplified and should now work reliably. They no longer extend their corresponding collection type, for example, an IndexedSeqView no longer extends IndexedSeq.
  • The to[Collection] method was replaced by the to(Collection) method
  • collection.breakOut no longer exists, use .view and .to(Collection) instead
  • Immutable hash sets and hash maps have a new implementation (ChampHashSet and ChampHashMap, based on the "CHAMP" encoding). We are eager for reports of resulting performance changes.
  • New collection types:
    • immutable.ArraySeq is an effectively immutable sequence that wraps an array
    • immutable.LazyList is a lazy linked list that is lazy in both the head and the tail. immutable.Stream (only lazy in the tail) is deprecated.
  • Deprecated collections were removed (MutableList, immutable.Stack, others)

To learn more about those changes and how to adapt your code, take a look at the FAQ wiki page. This document is intended for library maintainers and assumes familiarity with the 2.12 Scala collections. User documentation will be made available for the next milestone.

Other changes

Other notable changes in Scala 2.13.0-M4:

  • The scala-xml library is no longer bundled with the release, and scala-compiler no longer has a scala-xml dependency #6436
  • Procedure syntax (def m() { ... }) is deprecated #6325
  • View bound syntax (A <% B) is deprecated #6500
  • -Y and -X flags that affect language semantics were removed #6505
  • Methods with no parameter lists, or only an empty parameter list, are no longer eta-expanded (val f: () => Any = someMethod). Explicit eta-expansion is required (someMethod _). #6475
  • Partial unification (#5102) is enabled by default (and thus -Ypartial-unification is no longer accepted)
  • The "macro paradise" compiler plugin is incorporated into the compiler. Instead of using the plugin, macro annotations can be enabled with the -Ymacro-annotations flag. #6606
  • Assorted deprecated methods and classes have been removed

For more details, see closed bugs and merged PRs.

See also the notes for the previous milestones: M3, M2, M1.

The compiler performance in 2.13 is 5-10% better compared to 2.12. The integration of the new collections library shows up in the performance graph as a nice improvement.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

A special congratulations to @julienrf from the Scala Center, the top contributor this cycle due to his tireless work on the new collections. Especially significant external contributors to the collections work were @odd, @marcelocenerine, and @msteindorfer; others are included below. A special welcome to newcomer @NthPortal, and a shoutout to the growing team of regulars who keep the scala/scala PR queue filled with excellence and conviviality.

This release was brought to you by 76 contributors, according to git shortlog -sn --no-merges ^e2a211c ^v2.13.0-M3 v2.13.0-M4. Thank you Julien Richard-Foy, Lukas Rytz, Stefan Zeiger, Jason Zaugg, Marcelo Cenerino, Martin Odersky, Odd Möller, A. P. Marki, Adriaan Moors, Seth Tisue, Ólafur Páll Geirsson, Harrison Houghton, Eugene Yokota, NthPortal, Miles Sabin, Guillaume Martres, Aggelos Biboudis, Mike Skells, Martijn Hoekstra, jvican, Xavier Fernández Salas, awibisono, Allan Renucci, BuildTools, Ethan Pronovost, Jimin Hsieh, Cong Zhao, howtonotwin, Kenji Yoshida, Georgi Krastev, Heikki Vesalainen, Piotr Kukielka, Danila Matveev, Nicolas Stucki, Dale Wijnand, Stephen Nancekivell, Aaron S. Hawley, Jasper Moeys, Tim Ruhland, Viktor Klang, Isaac Levy, Philippus Baalman, Alex Levenson, Rob Norris, Ryan Williams, Chujie Zeng, Shohei Shimomura, Antoine Gourlay, Sébastien Doeraene, Vince, esarbe, Iaroslav Zeigerman, ke-to, kelebra, mmocentre, roman, sh0hei, Alex Glukhovtsev, Iulian Dragos, Jeff Brower, Jeff Shaw, Jonathan Frawley, Håkon Hjelde Wold, Kentaro Tokutomi, LPTK, Dhanesh Arole, Dhanesh, David Hoepelman, Matthias Sperl, Michael Steindorfer, Daniel Moss, Oleksii Tkachuk, Paolo Giarrusso, Pathikrit Bhowmick, Peter Fraenkel, Rex Kerr.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):

Scala 2.12.6

27 Apr 15:21
v2.12.6
d7ae7a8
Compare
Choose a tag to compare

Scala 2.12.6

The main highlight is:

  • Macros work again when compiling on Java 9 or 10, fixing 2.12.5 regression (PR #6446)

Further highlights:

  • Deprecate floating-point Ranges (PR #6550)
  • Update to JLine 2.14.6 for better Emacs integration (PR #6478)
  • Add a completions command to REPL for better Emacs integration (PR #6379)

For more details, see closed bugs and merged PRs.

Compiler performance since 2.12.5 is stable.

2.12.6 is binary compatible with other 2.12.x versions.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

This release was brought to you by 11 contributors, according to git shortlog -sn --no-merges v2.12.5..v2.12.6. Thank you Jason Zaugg, Lukas Rytz, A. P. Marki, Adriaan Moors, Heikki Vesalainen, Martijn Hoekstra, Harrison Houghton, Eugene Yokota, Stefan Zeiger, jvican, sh0hei.

Scala 2.12 Notes

The release notes for Scala 2.12.0 have important information applicable to the whole 2.12 series.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):

Scala 2.12.5

20 Mar 06:06
v2.12.5
30a1428
Compare
Choose a tag to compare

Main highlights of this release:

  • When compiling on Java 9 or higher, the new -release N flag changes the compilation classpath to match the JDK version N. This works for the JDK itself and for multi-release JARs on the classpath. Details in the PR: #6362.
  • With the new -Ybackend-parallelism N compiler flag, the backend can now run bytecode serialization, classfile writing and method-local optimizations (-opt:l:method) in parallel on N threads. (thanks @mkeskells!) PR: #6124.
  • The raw"" and s"" string interpolators are now intercepted by the compiler to produce more efficient bytecode. PR: #6093.
  • The -Ycache-plugin-class-loader and -Ycache-macro-class-loader flags enable caching of classloaders for compiler plugins and macro definitions. This can lead to significant performance improvements. PRs: #6412, #6314. (thanks @xeno-by and @jvican!)

Further highlights:

  • The apply method on the PartialFunction companion object is now deprecated. PR: #6005.
  • Scala JARs (library, reflect, compiler) now have an Automatic-Module-Name attribute in their manifests. PR: #6395.
  • Enabling unused warnings now leads to fewer false positives. (thanks @som-snytt!) PR: #6190.
  • Explicit eta-expansion (foo _) of a nullary method no longer gives a deprecation warning. PR: #6177.

For more details, check out all closed bugs and merged PRs.

Compiler performance since 2.12.4 is stable.

As usual for minor releases, Scala 2.12.5 is binary compatible with the whole Scala 2.12 series.

Known issues

There is a regression since 2.12.4 when compiling code on Java 9 or 10 that uses macros. Running on Java 9 or 10 isn’t affected, only compiling. Details: scala/scala-dev#480

There is no workaround. You must either compile on Java 8 or wait for 2.12.6.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

This release was brought to you by 36 contributors, according to git shortlog -sn --no-merges v2.12.4..v2.12.5. Thank you, Jason Zaugg, A. P. Marki, Mike Skells, Harrison Houghton, Adriaan Moors, Lukas Rytz, Seth Tisue, jvican, Eyal Farago, Philippus Baalman, Martijn Hoekstra, Stefan Zeiger, howtonotwin, Jasper Moeys, Cong Zhao, Piotr Kukielka, Rex Kerr, Ben Elliott, id.ilych, Markus Hauck, mkeskells, Steve Robinson, Viktor Klang, ghik, Ólafur Páll Geirsson, Aaron S. Hawley, Janek Bogucki, Håkon Hjelde Wold, Jonathan Frawley, Dale Wijnand, Marconi Lanna, Pavel Petlinsky, Antoine Gourlay, Alex Levenson, Shohei Shimomura, Teemu Lehtinen!

Scala 2.12 Notes

The release notes for Scala 2.12.0 have important information applicable to the whole 2.12 series.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):

Scala 2.13.0-M3

31 Jan 21:22
v2.13.0-M3
cf9d508
Compare
Choose a tag to compare
Scala 2.13.0-M3 Pre-release
Pre-release

Thanks to Miles Sabin's hard work (sponsored by Lightbend), this milestone adds support for literal types, as well as improving the compiler with better support for typelevel programming, to benefit libraries such as Shapeless. More of this is coming in M4.

The standard library now adheres to the compact1 profile, enabling a signification reduction of the deployment footprint of Scala applications.

Most importantly, this is the last 2.13 milestone with the old collection library! The next (and last) milestone of this series will integrate the new collections incubating at https://github.com/scala/collection-strawman/. For the next few months, our focus will be on integrating, refining, optimizing the new implementation. Our foremost concern is to ensure a smooth upgrade experience, and we are eager to hear your feedback on this as you begin porting your projects. We will document how to try out the new collections as soon as binaries are available, so you don't have to wait until M4 (see M4 milestone for target date and open issues).

A special welcome to @joroKr21 and @japgolly, and a shoutout to the growing team of regulars who keep the PR queue filled with excellence and kindness: @som-snytt, @mkeskells and @hrhino! They authored several of the additional PRs we'd like to highlight for this milestone: https://github.com/scala/scala/pulls?q=is%3Amerged+is%3Apr+milestone%3A2.13.0-M3+label%3Arelease-notes.

PS: -Xsource:2.13 is now enabled by default (we overlooked that in the previous milestones). To facilitate upgrading, -Xsource:2.12 allows opting out of a few breaking changes. Starting in 2.13, the source version will be the only option that influences language semantics, obsoleting -Xexperimental and the various -Y flags.

Scala.js compatibility

To use Scala 2.13.0-M3, Scala.js users must upgrade to Scala.js 0.6.22, 1.0.0-M3, or newer versions. Prior releases are not compatible.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

This release was brought to you by 46 contributors, according to git shortlog -sn --no-merges v2.13.0-M2..v2.13.0-M3. Thank you, Jason Zaugg, Lukas Rytz, Miles Sabin, Adriaan Moors, A. P. Marki, Harrison Houghton, Mike Skells, jvican, Philippus Baalman, Seth Tisue, Eyal Farago, Stefan Zeiger, Tomas Mikula, Martijn Hoekstra, Janek Bogucki, Jasper Moeys, Rex Kerr, Juliusz Sompolski, Ben Elliott, Markus Hauck, id.ilych, Steve Robinson, mkeskells, Georgi Krastev, Kenji Yoshida, Edin Dudojević, Dhirendra Kumar Kashyap, Nafer Sanabria, Pavel Petlinsky, David Barri, 杨博 (Yang Bo), Arnout Engelen, Teemu Lehtinen, Allison H, cong, ghik, Aaron S. Hawley, svatsan, Julien Richard-Foy, Kamil Kloch, Marconi Lanna, Edmund Noble, Martin Grotzke, Martynas Mickevičius, Matt Sicker, Mike!

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):

Scala 2.11.12

09 Nov 20:06
v2.11.12
b8155a5
Compare
Choose a tag to compare

Scala 2.11.12 is a maintenance release to allow running Scala 2.11 tooling on Java 9. Five pending backports were merged.

This release addresses (#6108) a privilege escalation vulnerability that was identified in the Scala compilation daemon CVE-2017-15288.

We strongly encourage you to upgrade to the latest stable version of Scala 2.12.x, as the 2.11.x series is no longer actively maintained.

There is a known bug on Java 9 involving the repl: the workaround is to launch it as scala -nobootcp.

More general information about the Scala 2.11 series is available in the release notes for Scala 2.11.1.

Thanks to Lightbend for their continued sponsorship of the Scala core team’s efforts. Lightbend offers commercial support for Scala.

Scala 2.10.7

09 Nov 20:03
v2.10.7
89e57bc
Compare
Choose a tag to compare

Scala 2.10.7 is a maintenance release to bring (partial) Java 9 support to the sbt 0.13 series. A total of three pending backports were merged.

This release addresses (#6128) a privilege escalation vulnerability that was identified in the Scala compilation daemon CVE-2017-15288.

We strongly encourage you to upgrade to the latest stable version of Scala 2.12.x, as the 2.10.x series is no longer actively maintained.

There is a known bug on Java 9 involving the repl: the workaround is to launch it as scala -nobootcp.

More information about the Scala 2.10 series is available in the release notes for Scala 2.10.4. A few more bugs were fixed since then in 2.10.5.

Scala 2.12.4

19 Oct 22:54
v2.12.4
Compare
Choose a tag to compare

Our benchmarks show a further 5–10% reduction in compile times since 2.12.3.

Improved Java 9 friendliness, with more to come!

  • #6097 Fix runtime reflection of empty package members under Java 9
  • #6098 Adapt to change in Java 9 classloader hierarchy

This release addresses (#6120) a privilege escalation vulnerability that was identified in the Scala compilation daemon CVE-2017-15288.

We'd like to highlight a few of the excellent contributions by @hrhino and @TomasMikula, previewing 2.13 improvements (available now under -Xsource:2.13):

  • #5867 Include the parts of a compound/refinement type in implicit scope
  • #6074 Resolve implicit instances for abstract types, according to the spec
  • #6069 Higher-kinded type variable unification

For Spark, with love:

  • #6101 Make Lazy* classes serializable

Preparing for simplification of named arguments in 2.13:

  • #6089 Deprecate assignments in argument position

Rather than pollute /tmp,

  • #6120 Move compilation daemon portfile under ~/.scalac/

For more details, check out all closed bugs and merged PRs.

As usual for minor releases, Scala 2.12.4 is binary compatible with the whole Scala 2.12 series.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

This release was brought to you by 24 contributors, according to git shortlog -sn --no-merges v2.12.3..v2.12.4. Thank you, Jason Zaugg, Lukas Rytz, jvican, Adriaan Moors, A. P. Marki, Harrison Houghton, Tomas Mikula, Philippus Baalman, Miles Sabin, Seth Tisue, Dhirendra Kumar Kashyap, Martijn Hoekstra, Martin Grotzke, Martynas Mickevičius, Matt Sicker, Mike, Mike Skells, Rex Kerr, cong, Allison H, Janek Bogucki, Edmund Noble, Jasper Moeys, Kenji Yoshida!

Scala 2.12 Notes

The release notes for Scala 2.12.0 have important information applicable to the whole 2.12 series.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):

Scala 2.12.3

27 Jul 22:45
Compare
Choose a tag to compare

Changes

Further significant changes since 2.12.2 include:

  • #5978 Avoid calling static initializers when reflecting on Java classes
  • #5964 New setting -opt-inline-from to control where to inline from
  • #5931 Upgrade to jline 2.14.4
  • #5880 bundle newer scala-parser-combinators (1.0.5->1.0.6)
  • #5879 -Xlint:unused -Ywarn-unused is intuitive
  • #5848 add per-phase profiling to scalac

For more information, check out all closed bugs and merged PRs.

As usual for minor releases, Scala 2.12.3 is binary compatible with the whole Scala 2.12 series.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

This release was brought to you by 49 contributors, according to git shortlog -sn --no-merges v2.12.2..v2.12.3. Thank you, Jason Zaugg, Lukas Rytz, Som Snytt, Dale Wijnand, Janek Bogucki, Adriaan Moors, Seth Tisue, Earl St Sauver, Eugene Yokota, Mike Skells, Miles Sabin, Iulian Dragos, 杨博 (Yang Bo), Cody Allen, Harrison Houghton, Jasper Moeys, xuwei-k, Ganesh Prasad Kumble, Rory Graves, Rui Gonçalves, Sayyed, Atiq (Agoda), BrianLondon, Arnout Engelen, chengpohi, joymufeng, kenji yoshida, Adrien Suree, Edmund Noble!

Scala 2.12 Notes

The release notes for Scala 2.12.0 have important information applicable to the whole 2.12 series.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):