Slick 3.1.0-RC2
September 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: https://github.com/slick/slick/tree/3.1.0-RC2. Builds for Scala 2.10 and 2.11 are available from Maven Central, as usual.
These are the major new features since 3.0:
- New query compiler back-end. The main goal is to avoid subqueries wherever possible.
- 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. - Support for HikariCP is now in a separate module which makes it easier to depend on the correct, binary compatible version of HikariCP.
- Database connections can be configured through a DATABASE_URL syntax as used on PaaS platforms like Heroku.
- New query operators “distinct” and “distinctOn”.
- Performance improvements in the query compiler. Query compilation is now more than 2.5 times as fast as it was in 3.0.
None of the standard Activator templates are available at the moment. They will be ported to 3.1 before the final release. You can find details about upgrading from Slick 3.0 in the Migration Guide. The commercial Slick Extensions package with additional database drivers is also available for this RC. See the manual for details on adding it to your build.
Please provide feedback on the stability of this RC if you encounter any problems.
Here is a complete list of changes since 3.1.0-RC1:
cb64121Release 3.1.0-RC25b5ff92Allow insert operations with no columns to insert.aff4896Fix typing bug inrewriteJoins:afd6f9bAllow illegal length CHAR defaults to be ignored in JdbcModelBuilderb739255Some bug fixes concerning Option types:84cc95aAdd Query#subquery as a precaution for implementing workarounds.8f8ae8bPrevent repetition of bind variables used in GROUP BY:7199b51AddcountDefinedoperator:35b698dFix source links for Slick core scaladocs0cfff09Remove transaction handling from JdbcBackend#Session:29271b1Add test cases for Options of primitive types.007e287Trampolining for chained DBIOActions
These are the changes from 3.0.0 to 3.1.0-RC1:
9c0d371Release 3.1.0-RC1d2e50d4Remove dependent types for.deleteand.findbyextension methods.5cbabf6Add documentation for default string type changesebfb344Ensure non-empty “select” clauses in mergeToComprehensions:f82a8feBetter integration of expandConditionals into expandSums07cd37aAllow selective translation for Take or Drop in removeTakeDrop:dc1c551Correctly propagate a Driver object to DriverDataSource6cb62b8Integrate expandConditionals into expandSumsd286c17Selectively skip compiler phases:9d8bbeeAddQuery.distinctandQuery.distinctOnoperators04ca00dcodegen: schema: Handle case of no tables53cb788codegen: Test case of no tables (schema has invalid syntax)bc90afeA simpler and faster implementation of assignUniqueSymbols969ec5fUse correct discriminator checks under three-valued logice6acabfSome type-related fixes and improvements from tmp/globaltypes2bcdeeaaPrevent retry of lazy Connection acquisition attempt in BaseSession:1634965More intelligent handling of String types on MySQLda7aaa9Create correct syntax for casts on MySQLc9bdcb1More micro-optimizations and streamlining of ConstArray use2adb7c3Use a custom collection implementation in the AST:b48115aProfiling settings plus small performance improvements8ac4298Only set Hikari dataSourceClassName or driverClassName but not both8dac76fAdd two more expr customization for pgcurrent_dateandcurrent_time1c9469fScalar optimization & better discriminator column picking:b01e539More query compiler performance improvements:b87c994Eliminate explicit outer join discriminator columns where possible34bf73fSet Slick Extensions version in the manual independent of Slick version3bd24ccSome small query compiler performance optimizations:a71aff4AdddetectRebuildoption to mark rebuilt leaf nodes after each phase:ed2af9bAdd a benchmark for the query compiler.7333bd9More consistent Query.length (“COUNT(*)”) semantics:16be008Fix docs and simplify (no binary compatibility constraints for 3.1)c197fdbMove HikariCPJdbcDataSource into a separate moduleb651a62Clean up the build file764b405Avoid subqueries around zipWithIndex operations7514666Database.forConfig uses provided config paramsnumThreadsandqueueSize5ca0e5cAdd tests for theremoveTakeDropphase:a30d5dfFixed a mistake in the docs markupe957544Fix the implicit conversions for Compiled queries.ea15636Workaround SI-7139 caused by eponymous type alias and objectc762b55Improve code generationaaf2a22Early hoisting of client-side operations:99c2737add one more parametertypeNametojdbcTypeToScalaffee22cImprove subquery fusion for Union operationsfbd2289Add the correct scala-sbt repo for resolving sbt-testng.plugin31672a2Remove deprecated APIs2ae5320Added documentation for DatabaseUrlDataSource7fcd722Add a test for DatabaseUrlDataSourcef637d52Revised DatabaseUrlDataSource to have a no-arg cstr. Moved extractUrl to instance method9cfd03eAdded a DatabaseUrlDataSource for use with DATABASE_URL79d2e67Support Typesafe Config-based configuration of DataSource beans4565f09Clean up the ClassLoader support from #1152:95dad0aSet hikariCP validationTimeout from config or 1000ms9b58a50Pin HikariCP at version 2.3.7 to match play-slick5ef94f8Remove AccessDrivercce3b95Remove the Direct Embedding (deprecated in 3.0)4b7262eAdd test for resolving reference.conf in OSGi contexta9dd9a8Fix OSGi tests (did not run due to duplicate slf4j on classpath)ff264c9Bump version numbersb9861f1Remove obsolete code36d5552Improve Take, Drop and zip join translationf170783Fix type bugs and enforce correct types in the query compiler:85df538Codegen: Suppress output of schema.create if ddlEnabled is false4fd654fAdd Gitter badgee26a7d0Remove TypedNode:1c2d5dbAST simplifications3470fa0Compiler improvements:8baa079New Query Compiler Back-End2b14139Early transformation of monadic joins into applicative joins.f53f06eMove createResultSetMapping down after forceOuterBinds1d55c69Fix view source for scaladoc and edit this file on github for docs325f200Improve tree loggingae7e4d8Improve logging:1abf753Allow classloader to be specified for classloading0cab15eAdd docs about DBIO composition.
Past News Items
Sep 18 2022
Slick 3.4.0 was released and published to Maven Central, with 281 merged pull requests, many from the community. A pull request that could cause issues was then rolled back, so...
Aug 16 2022
If you use Slick, please try 3.4.0-RC3 by changing the version in your build. After a week, if no regressions have been reported we will G-d willing release 3.4.0 (final)....
Apr 23 2021
Slick is community-maintained. Planning for future releases,
including for Scala 3, is in progress. Please help if you can!
For details, visit [this ticket](https://github.com/slick/slick/issues/2198).
Sep 09 2020
We have just released Slick 3.3.3 You can find the source code here: . Builds for Scala 2.11, 2.12 and 2.13 are available from Maven Central, as usual. ## Highlights...
Jan 30 2019
We have just released Slick 3.3.0 You can find the source code here: . Builds for Scala 2.11 and 2.12 are available from Maven Central, as usual. ## These are...
Mar 23 2018
We have just released Slick 3.2.3. You can find the source code here: . Builds for Scala 2.11 and 2.12 are available from Maven Central, as usual. From 3.2.0 on,...
Mar 06 2018
We have just released Slick 3.2.2. You can find the source code here: . Builds for Scala 2.11 and 2.12 are available from Maven Central, as usual. From 3.2.0 on,...
Jul 20 2017
We have just released Slick 3.2.1. You can find the source code here: . Builds for Scala 2.11 and 2.12 are available from Maven Central, as usual. From 3.2.0 on,...
