Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon

Scala 2.12.5 is here!

Save for later
  • 2 min read
  • 27 Mar 2018

article-image
Scala 2.12.5 version has been released. Scala is a popular programming language for a data scientist. It is mostly favored by aspiring or seasoned data scientists who are planning to work with Apache Spark for Big Data analysis.

With the new version 2.12.5, Scala has brought in four major highlights. Most importantly, Scala 2.12.5 is binary compatible with the whole Scala 2.12 series.

Major highlights:

  • 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.
  • 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.
  • The raw"" and s"" string interpolators are now intercepted by the compiler to produce more efficient bytecode.
  • 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.

Other features include:

  • The apply method on the PartialFunction companion object is now deprecated.
  • Scala JARs (library, reflect, compiler) now have an Automatic-Module-Name attribute in their manifests.
  • Unlock access to the largest independent learning library in Tech for FREE!
    Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
    Renews at AU $24.99/month. Cancel anytime
  • Enabling unused warnings now lead to fewer false positives.
  • Explicit eta-expansion (foo _) of a nullary method no longer gives a deprecation warning.


Scala releases are available through a variety of channels, including:


However, there is regression since 2.12.4 when compiling code on Java 9 or 10 that uses macros. Users must either compile on Java 8 or wait for 2.12.6.

You can check out all closed bugs and merged PRs for further details.