Slick 3.1.0-M1

July 16 2015
by Stefan Zeiger

We have just released Slick 3.1.0-M1, the first milestone Slick. It should show up on Maven Central within the next few hours. You can find the source code here: https://github.com/slick/slick/tree/3.1.0-M1. Builds are available for Scala 2.10 and 2.11.

These are the major new features in this miletone:
  • New query compiler back-end. The main goal is to avoid subqueries wherever possible. The current version still has some limitations: It produces unnecessary subqueries for union and zip / zipWithIndex operations and there is no reordering of operations to get rid of subqueries arising from inefficient user code. It should be robust and stable enough to use though, and produce much better code than the old query compiler in many cases.
  • Improved support for monadic joins in the query compiler. In particular, whenever a monadic join cannot be translated into an applicative join (as required for SQL), the query compiler will fail with a useful error message instead of producing invalid code.
  • Improved configuration of database connections via Typesafe Config: You can now configure arbitrary DataSource classes with Java Bean semantics when running without a connection pool (similar to what was already supported by HikariCP).
  • Configurable class loading when resolving Slick drivers: In containers which separate parts of an application into different ClassLoaders (e.g. Play, OSGi), the previous approach of using Class.forName did not work in all cases. You can now provide a custom ClassLoader, and Slick will fall back to the context ClassLoader in other cases.

Note that this is not a production-ready or beta release. Parts of the user manual may be out of date. Slick Extensions is not available for this release and none of the standard Activator templates have been updated yet.

Please provide feedback on the stability and API of this milestone release if you encounter any problems.

Here is a complete list of changes since 3.0
  • 79d2e67 Support Typesafe Config-based configuration of DataSource beans
  • 4565f09 Clean up the ClassLoader support from #1152:
  • 95dad0a Set hikariCP validationTimeout from config or 1000ms
  • 9b58a50 Pin HikariCP at version 2.3.7 to match play-slick
  • 5ef94f8 Remove AccessDriver
  • cce3b95 Remove the Direct Embedding (deprecated in 3.0)
  • 4b7262e Add test for resolving reference.conf in OSGi context
  • a9dd9a8 Fix OSGi tests (did not run due to duplicate slf4j on classpath)
  • ff264c9 Bump version numbers
  • b9861f1 Remove obsolete code
  • 36d5552 Improve Take, Drop and zip join translation
  • f170783 Fix type bugs and enforce correct types in the query compiler:
  • 85df538 Codegen: Suppress output of schema.create if ddlEnabled is false
  • 4fd654f Add Gitter badge
  • e26a7d0 Remove TypedNode:
  • 1c2d5db AST simplifications
  • 3470fa0 Compiler improvements:
  • 8baa079 New Query Compiler Back-End
  • 2b14139 Early transformation of monadic joins into applicative joins.
  • f53f06e Move createResultSetMapping down after forceOuterBinds
  • 1d55c69 Fix view source for scaladoc and edit this file on github for docs
  • 325f200 Improve tree logging
  • ae7e4d8 Improve logging:
  • 1abf753 Allow classloader to be specified for classloading
  • 0cab15e Add docs about DBIO composition.

Past News Items

Dec 05 2016
We have just released Slick 3.2.0-M2, the second milestone for Slick 3.2. It should show up on Maven Central within the next few hours. You can find the source code...
Jul 04 2016
We have just released Slick 3.2.0-M1, the first milestone for Slick 3.2. It should show up on Maven Central within the next few hours. You can find the source code...
Mar 18 2016
I'd like to draw your attention to the new [community process](/community/process.html) and [code of conduct](/community/conduct.html) for Slick, both of which are based on [Play Framework's](https://playframework.com/community-process). Back in 2008 [I](https://github.com/szeiger) started...
Feb 01 2016
Because nearly every application is driven by some sort of data source, we invested in building Slick, a Functional Relational Mapping (FRM) library for Scala that makes it easy to...
Dec 15 2015
We are happy to announce the release of [Slick](http://slick.typesafe.com/) 3.1.1. The artifacts are available on Maven Central, as usual. You can find the source code here: . Please see for...
Oct 09 2015
We are happy to announce the release of [Slick](http://slick.typesafe.com/) 3.1.0. These are the major new features compared to Slick 3.0.0: * New query compiler back-end. The main goal is to...
Oct 02 2015
We have just released Slick 3.1.0-RC3, the third release candidate for Slick 3.1.0. You can find the source code here: . Builds for Scala 2.10 and 2.11 are available from...
Sep 25 2015
We have just released Slick 3.1.0-RC2, the second release candidate for Slick 3.1.0. You can find the source code here: . Builds for Scala 2.10 and 2.11 are available from...