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
zipWithIndexoperations 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.forNamedid 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
79d2e67Support Typesafe Config-based configuration of DataSource beans
4565f09Clean up the ClassLoader support from #1152:
95dad0aSet hikariCP validationTimeout from config or 1000ms
9b58a50Pin HikariCP at version 2.3.7 to match play-slick
cce3b95Remove the Direct Embedding (deprecated in 3.0)
4b7262eAdd test for resolving reference.conf in OSGi context
a9dd9a8Fix OSGi tests (did not run due to duplicate slf4j on classpath)
ff264c9Bump version numbers
b9861f1Remove obsolete code
36d5552Improve Take, Drop and zip join translation
f170783Fix type bugs and enforce correct types in the query compiler:
85df538Codegen: Suppress output of schema.create if ddlEnabled is false
4fd654fAdd Gitter badge
8baa079New Query Compiler Back-End
2b14139Early transformation of monadic joins into applicative joins.
f53f06eMove createResultSetMapping down after forceOuterBinds
1d55c69Fix view source for scaladoc and edit this file on github for docs
325f200Improve tree logging
1abf753Allow classloader to be specified for classloading
0cab15eAdd docs about DBIO composition.