Slick 2.1.0-M1
We have just released Slick 2.1.0-M1, the first milestone for Slick 2.1. 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/2.1.0-M1. Builds are available for Scala 2.10 (2.10.4 recommended) and 2.11.0-RC4.
These are the major new features added in this miletone:
- OSGi support: Slick and Slick Extensions are now proper OSGi bundles.
- Scala 2.11 support: Slick is cross-built for both Scala 2.10 and 2.11 from the same codebase.
- Collection type constructor encoding in queries: All collection-valued queries now
contain a type constructor (the default for tables being
Seq
, as before) that can be changed with a call to.to[...]
(like in Scala Collections) at any point in a query, thus allowing arbitrary collections (including arrays) to be built with.run
- Improved performance when reading JDBC ResultSets, including the option to define even more efficient custom mappings which can completely avoid boxing. See JdbcMapperTest and UnboxedBenchmark for examples.
- Improved and more comprehensive API documentation.
- Outer join emulation: All types of outer joins are now available on all databases. You can check for the corresponding capability flags to see if the support is native or emulated (with different joins and unions).
- Code generator improvements.
- All bug fixes from Slick 2.0.1 and some new ones on top of it, which are also scheduled to go into the upcoming Slick 2.0.2 maintenance release.
Source compatibility of the API has mostly been preserved between 2.0 and 2.1.0-M1 but there are some changes in the JDBC Invokers which may require source changes. There is no binary compatibility between the 2.0 and 2.1 series.
Note that this is not a production-ready or beta release. In particular, the manual has not yet been updated to reflect the changes and new features (but there are unit tests and scaladoc comments for them). The Slick Extensions package has been published along with this milestone release. 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 2.0.0:
1c89ee8
Set version to 2.1.0-M13ca772d
Add some hooks to JdbcMappingCompilerComponent.a10be62
Use Scala specialization for ResultConverter.513c956
Use positional access in JDBC ResultConverters.90cc8bf
Optimize conversion of result and parameter values.935558e
Deprecate more operators:9dccddc
Improve scaladoc comments and clean up API for Slick 2.1.a13e53a
Remove IntrinsicSymbol85d4e00
Clean up dependenciesc8420b2
Improve OSGi integration:57c87f5
Add def size as alias for length to Query for more Scala collections api conformity55c2a01
Fix assertion error for multiple nameless fks or indices047bb07
First cut at OSGi-fun for slick.b2a6dc1
Add docs for MappedColumnType import and hand-written case class companions.3a7f53c
Prevent “no-symbol does not have an owner” when using MappedTo.338e959
Fix identity groupBy with type mappings.18f3cf2
Emulate outer joins where necessary.439305f
Correctly propagate build failures to sbt’s exit code.82316d1
Fix codegen autoinc last as option for HLists (issue #704)76e638c
Add test for outer joins and fix capability declarations.b86cd4b
Fix name collision with columns named ‘tag’ in codegenf1c3737
Fix Scaladoc links2dca474
Scala 2.11 compatibility.e71ed6e
Add alias and documentation for ForeignKeyAction3fc16d8
Allow building of non-erased collections through ClassTags.6e981e5
Provide implicit CollectionTypeConstructorse3ab1d8
Allow Query result type constructors to be changed.0139d27
Simplify Query internals.5c5c657
Encode the type constructor for the unpacked collection type into Query.d0e1e99
Remove zero values from ScalaType.6d1cbd9
Simplify Option handling in JdbcProfile.1b5f1f4
Simplify Invokers754660c
Add test for broken mapping to Chare2ab531
Fixed issue #698 (MappedColumnType broken for Char)77a19aa
Fixed issue #554 (ZIP joins)ce04fe8
Modify DDL to run drop phases in LIFO order. Fixes issue #701.c78ed2f
Emulate empty join conditions where needed.7ae79d6
Add JDBC interop docs3555385
Add documentation forinto
method258a6bc
Support casts to boolean and double in Access.e065fcd
Fix initialization order problem in generated code89c3c2e
Reuse “simple” object for “Implicit” in driver implementations.c6bc382
Remove deprecated features7e2d6b4
Update version numbers for 2.1fc5cabe
Enable documentation tests on Travis CI73064e9
Documentation improvements for 2.0.1.8b8ed11
Add test case for issue #645 (to be fixed in slick-extensions)1e5146c
Implement casts for more basic data types in QueryInterpreter.2a54174
Add configuration for MySQL and PostgreSQL tests on Travis CI.386920a
Add basic Travis CI configuratione96132b
Fix self-referencing table in codegen (#619)d944e27
Expand Table refs into columns in “returning” projections.1f87cfb
Add ddl for all tables to codegen4533b0c
Substitute correct versions numbers from the build into the docsb01241d
Remove all special handling for products of size 1.2022107
Infer correct NominalType views even without the NominalType.c59ba50
Fix a smorgasbord of bugs for more robust groupBy.73c9175
Add optional db authentication to default code generator runner1f76f36
Improve codegen docs: address spotted confusions, hlist fix, typos, formatting23e9450
Add row value constructor to codegen output Supersedes #614b870f3d
Generate scaladoc src links and graphs for test kitbe508cc
Fix for #618, codegen single, non-option column tables.6d7610d
Fix for taking Option GetResult from caller scopee436802
Fix for #616, code gen generated wrong default value for Option columnsda01462
Fix some codegen docsae51292
Extend codegen HList test to 33 columns to test performanceb5f9144
Change codegen to avoid :: HCons type alias (as a possible workaround for #577)b88337d
Split compound types and compound values in codegen9f274cc
Enable disabled codegen tests after fixing spurious compilation errors0d2e885
Document caching insert invoker217af59
Ensure that CountAll rewriting creates unique column names.5aad43f
Add MiMa for Slick 2.0 stream98af9b6
Support Library.Max in QueryInterpreter.e2ece2f
Pass Slick version properly from sbt into Sphinx.0be0423
Fix for #597, negative int default valueabe9197
Add failing test for #175