Releases: slick/slick
v3.4.0
What's Changed
Highlights 🎉
- Fix mapTo for case classes with companion objects by @jabrouwer82 in #2120
- Minor enhancements to GetResult & SetParameter by @japgolly in #1496
- #2303 Make
Query#filterIf
support NULLable (Option) predicates by @ciuncan in #2304
Enhancements ✨
- Allow lifted values to be passed to "in" clauses by @ashleymercer in #1998
- Use sensible default parameters for the AsyncExecutor by @WellingR in #2025
- #1340 distinct on by @shmishleniy in #2097
- use read-only file by @vn971 in #1970
- Minimize circular dependencies between auto-generated files to improve compilation speed by @stephenjudkins in #2094
- 2054 Fix to remove warning from early initializers in code generation by @sofoklis in #2081
- Added table name to the Duplicate Column Names error message by @wsuchy in #2133
- Add more informative message to Invoker.first() errors by @asazernik in #2137
- use
LazyList
instead of deprecatedStream
by @xuwei-k in #2329 - A few testkit improvements by @nafg in #2481
- Represent support for InsertTest.testInsertOrUpdateWithPrimaryKeyOnly as a Capability by @nafg in #2503
Bugs fixed 🐛️
- Fixed timezone sensitive parsing of Instants in postgres profile. by @WellingR in #2006
- Feature/fix invalid insertorupdate query by @rstpv in #1983
- Issue #1641 by @mpetruska in #2015
- Issue #1684: Invalid query generated using OracleDriver for filter with Option column. by @alexFrankfurt in #2059
- deterministic create and createIfNotExists by @sebastian-alfers in #2127
- Fix Oracle escaping for createIfNotExists. Fixes #2151 by @greenrd in #2152
- Codegen: handle non-empty parentType in OutputHelpers correctly by @mberndt123 in #2149
- fix: MySql upsert (picked #2101) by @jkugiya in #2201
- #2085 phase2 is missing from createIfNotExists statements by @JPonte in #2130
- Isolate union subqueries from 'in' clauses in MySQL: Fixes #2104 by @timgautier in #2107
- SQLServer and Derby: dropIfExists does not try to drop FKs first. (#2118) by @akozumpl in #2119
- Fix overrideStatements for insert actions. Fixes #1850 by @MichalPawlicki in #2112
- Issue #2121: modify AbstractSourceCodeGenerator.TableClassDef to output infix operators with dot syntax by @dreamsmasher in #2260
- #2246 MappedColumn fails: Expected an option type, found Mapped[Optio… by @shmishleniy in https://github.com//pull/2248
- fix postgres autoIncrement seq with createIfNoExists issue #2099 by @mdibaiee in #2100
- fix: MySQLProfile's
dropIfExists
fails when the table doesn't exist by @jkugiya in #2228 - Provided a fix for CockroachDB issue with open portals (issue #2144) by @lbialy in #2145
- Update scala-compiler, scala-library to 2.13.7 by @scala-steward in #2317
- correct the parsing logic between positive infinite and Instant.MAX (issue #2237) by @janory in #2238
- MS SQLServer specific UUID datatype implementation by @arixmkii in #2411
- AsyncExecutor: fix AsyncExecutor.apply(name, numThreads != Int.MaxValue, queueSize == -1) by @nafg in #2501
Documentation improvements 📃️
- Updates upgrade.md with info about Slick 3.3.0 by @octonato in #1982
- Add guide for upgrading wrt java.time by @d6y in #1985
- Demonstrate a recent version of PostgreSQL by @kojustin in #2010
- Use Enumeration type in custom-scalar-types-example by @arve0 in #2029
- Fix link to code generator api documentation by @michih57 in #2086
- Fixing typo by @paulosman in #2075
- typo fix: "There cases" → "There are cases" by @tymofij in #2068
- typo fixed by @ikr0m in #2062
- Link to Lightbend Community Code of Conduct by @TimMoore in #2067
- start a cookbook section with 1 entry for >22 fields by @d6y in #2061
- github link fix #1789 by @Luka-Abey in #2143
- fix typo by @i10416 in #2150
- clarify maintenance status in readme by @SethTisue in #2183
- Fix broken link in getting started documentation. by @takashima0411 in #2124
- Fix typos in comment and deprecation message in Slick BasicProfile by @ltronky in #2257
- fix url.
slick.typesafe.com
=>scala-slick.org
by @xuwei-k in #2328 - Add cookbook entry for tracking number of query compilations by @alexklibisz in #2327
- paradox by @nafg in #2367
- fix deploy_docs job by @xuwei-k in #2369
- ci.yml: Try to fix deploy_docs condition by @nafg in #2370
- fix branch name.
master
=>main
by @xuwei-k in #2368 - Fix scaladoc source links for FreeMarker-generated code by @nafg in #2372
- Fix links in docs by @nafg in #2373
- Update url.
slick.lightbend.com
=>scala-slick.org
by @xuwei-k in #2378 - #2303 Mention NULL behavior in WHERE clause in docs by @ciuncan in #2379
- project/Docs.scala: Attempt to fix snippet links to source by @nafg in #2380
- Workflow to check scaladoc links by @nafg in #2381
- Paradox site fixes by @nafg in #2385
- Add version dropdown to Paradox docs by @nafg in #2388
- Fix path to versions.json by @nafg in #2391
- Fix docs version selector on mobile by @nafg in #2393
- CONTRIBUTING.md: Update some URLs to way-back-machine ones by @Daniel-Khodabakhsh in #2425
- Documentation updates by @ashleymercer in #2427
- userdefined.md: markdown fixes by @nafg in #2435
- Docs: Update symlink dir in doc repo by @nafg in #2495
- docs: update upgrade.md by @nafg in #2498
- Fix URL of sample repos by @nafg in #2525
- Delete obsolete file gettingstarted.rst by @nafg in #2526
- Docs improvements by @nafg in #2527
Chores 🛠
- Prepare for 3.4.0-SNAPSHOT dev cycle by @octonato in #1980
- Removed usage of jaxb to enable compiling using jdk 11 by @WellingR in #2008
- upgrade scalatest (useful for scala 2.13 support) by @pjfanning in #2004
- Build the different scala versions separately in travis by @WellingR in #2012
- change to dist:xenial by @hvesalai in #2013
- Remove custom string interpolator in tests for 2.13 compatibility by @WellingR in #2018
- Dependency updates by @WellingR in #2021
- Support JDK 11 by @WellingR in #2020
- Scala 2.13.0 rc1 by @pjfanning in #2023
- Use JDK11 and the latest scala 2.12 version on Appveyor by @WellingR in #2026
- Fix travis build issues by @WellingR in #2032
- Include openjdk 12 in the travis build by @WellingR in #2027
- Use the latest version of the open source mssql-jdbc driver by @WellingR in #2030
- Scala 2.13.0-RC2 by @marcospereira in #2040
- scala 2.13.0 build by @pjfanning in #2042
- Use AdoptOpenJDK JDK 8 and 11 by @eed3si9n in #2050
- Update Scala 2.12 to 2.12.9 by @TimMoore in #2060
- Scala 2.13.1 by @sullis in #2072
- Swap JDK 12 for JDK 13 now that java 12 is EOL by @WellingR in #2073
- remove unnecessary asInstanceOf by @xuwei-k in #2077
- red...
v3.4.0-RC3
What's Changed
Enhancements ✨
- Represent support for InsertTest.testInsertOrUpdateWithPrimaryKeyOnly as a Capability by @nafg in #2503
Chores 🛠
- Fix an SBT 1.7 deprecation warning by @nafg in #2504
- Update dependency ibmcom/db2 to v11.5.7.0 by @renovate in #2505
- Update dependency mcr.microsoft.com/mssql/server to v2022 by @renovate in #2506
Full Changelog: v3.4.0-RC2...v3.4.0-RC3
v3.4.0-RC2
What's Changed
Bugs fixed 🐛️
- AsyncExecutor: fix AsyncExecutor.apply(name, numThreads != Int.MaxValue, queueSize == -1) by @nafg in #2501
Chores 🛠
- Update sbt to 1.7.1 by @scala-steward in #2500
Full Changelog: v3.4.0-RC1...v3.4.0-RC2
v3.4.0-RC1
What's Changed (since M1)
Enhancements 🎉
Bugs fixed 🐛️
Documentation improvements 📃️
- paradox by @nafg in #2367
- fix deploy_docs job by @xuwei-k in #2369
- ci.yml: Try to fix deploy_docs condition by @nafg in #2370
- fix branch name.
master
=>main
by @xuwei-k in #2368 - Fix scaladoc source links for FreeMarker-generated code by @nafg in #2372
- Fix links in docs by @nafg in #2373
- Update url.
slick.lightbend.com
=>scala-slick.org
by @xuwei-k in #2378 - #2303 Mention NULL behavior in WHERE clause in docs by @ciuncan in #2379
- project/Docs.scala: Attempt to fix snippet links to source by @nafg in #2380
- Workflow to check scaladoc links by @nafg in #2381
- Paradox site fixes by @nafg in #2385
- Add version dropdown to Paradox docs by @nafg in #2388
- Fix path to versions.json by @nafg in #2391
- Fix docs version selector on mobile by @nafg in #2393
- CONTRIBUTING.md: Update some URLs to way-back-machine ones by @Daniel-Khodabakhsh in #2425
- Documentation updates by @ashleymercer in #2427
- userdefined.md: markdown fixes by @nafg in #2435
Chores 🛠
- ci(Mergify): configuration update by @nafg in #2346
- ci.yml: Run Publish job using Scala 2.12 by @nafg in #2345
- Update sbt to 1.5.8 by @scala-steward in #2347
- ci.yml: Build step also seems to want graphviz by @nafg in #2348
- Update logback-classic to 1.2.10 by @scala-steward in #2350
- Update sbt to 1.6.0 by @scala-steward in #2351
- Update sbt to 1.6.1 by @scala-steward in #2352
- Update junit-interface to 0.13.3 by @scala-steward in #2353
- .github/release.yml: improve order & rename category by @nafg in #2358
- Update sbt-scoverage to 1.9.3 by @scala-steward in #2360
- Update slf4j-api to 1.7.33 by @scala-steward in #2365
- set-root-name by @nafg in #2361
- Update scala-compiler, scala-library to 2.13.8 by @scala-steward in #2364
- avoid do-while by @xuwei-k in #2375
- Update mysql-connector-java to 8.0.28 by @scala-steward in #2377
- Update slf4j-api to 1.7.35 by @scala-steward in #2382
- reuse testAllSamples instead of repeating in ci.yml by @robstoll in #2384
- CompatReport/reportCompat by @nafg in #2356
- Update sbt to 1.6.2 by @scala-steward in #2386
- Fix overridden paradox sbt task slowness by @nafg in #2387
- Update postgresql to 42.3.2 by @scala-steward in #2389
- Update typesafe:config to 1.4.2 by @scala-steward in #2390
- Update ojdbc8_g to 21.5.0.0 by @scala-steward in #2394
- .mergify.yml: Automatically label Scala Steward PRs 'build' by @nafg in #2392
- Update slf4j-api to 1.7.36 by @scala-steward in #2395
- Update postgresql to 42.3.3 by @scala-steward in #2396
- Run tests with parallelism by @nafg in #2400
- Remove last reminders of travis by @robstoll in #2399
- More informative version string when not on a tag by @nafg in #2403
- Generate PR compat report by @nafg in #2402
- Update logback-classic to 1.2.11 by @scala-steward in #2408
- Update scala-collection-compat to 2.7.0 by @scala-steward in #2409
- Exclude slf4j from HikariCP by @arixmkii in #2412
- Update sbt-mima-plugin to 1.1.0 by @scala-steward in #2416
- Update postgresql to 42.3.4 by @scala-steward in #2419
- Update mysql-connector-java to 8.0.29 by @scala-steward in #2423
- Update postgresql to 42.3.5 by @scala-steward in #2424
- Update postgresql to 42.3.6 by @scala-steward in #2429
- Update paradox to 0.10.2 by @nafg in #2433
- ci.yml: updated paradox = deploy_docs needs jdk11+ by @nafg in #2436
- Moved samples to their own repo by @nafg in #2431
- Create scala-steward.yml by @nafg in #2439
- Short docs version dir by @nafg in #2440
- scala-steward.yml: allow manual trigger by @nafg in #2441
- Fix scala-steward workflow by @nafg in #2443
- Configure Renovate by @renovate in #2442
- Update postgresql to 42.4.0 by @github-actions in #2448
- Update ojdbc8_g to 21.6.0.0.1 by @nafg in #2462
- ci(Mergify): configuration update by @nafg in #2465
- ci(Mergify): configuration update by @nafg in #2466
- ci(Mergify): configuration update by @nafg in #2468
- Update paxExamVersion to v4.13.5 by @renovate in #2452
- Update dependency org.apache.felix:org.apache.felix.framework to v6.0.5 by @renovate in #2451
- Update actions/checkout action to v3 by @renovate in #2457
- Update actions/setup-java action to v3 by @renovate in #2459
- Update actions/upload-artifact action to v3 by @renovate in #2460
- Update dependency org.apache.felix:org.apache.felix.framework to v7 by @renovate in #2469
- .github/workflows: enable set-java caching by @nafg in #2471
- .github/workflows: generate fewer runs by @nafg in #2472
- ci.yml: don't test on java 11, 8+17 are enough by @nafg in #2473
- .github/workflows: use concurrency groups to cancel obsolete runs by @nafg in #2474
- .mergify.yml: keep draft PRs in the queue by @nafg in #2477
- Docs: After downloading the sample repos, delete the .git directory by @nafg in #2478
- update scalatestplus testng by @xuwei-k in #2480
- Re-enable appveyor mergify requirement by @nafg in #2482
- appveyor.yml: only run SQL Server testkit profile tests by @nafg in #2483
- GitHubActionsRunListener by @nafg in #2484
- Fix external DB tests not running by @nafg in #2485
- Add mikepenz/action-junit-report by @nafg in #2486
- Replace mikepenz/action-junit-report with dorny/test-reporter by @nafg in #2487
- Add DB2 jar in sbt dependencies by @nafg in #2489
- Update reactiveStreamsVersion to v1.0.4 by @renovate in #2454
- Enable mssql tests in github actions by @nafg in #2476
Other Changes
- Update scala-collection-compat to 2.8.0 by @nafg in #2490
- Docs: Update symlink dir in doc repo by @nafg in #2495
- ci.yml: run deploy_docs on tags as well by @nafg in #2497
- docs: update upgrade.md by @nafg in #2498
New Contributors
- @robstoll made their first contribution in #2384
- @arixmkii made their first contribution in #2412
- @Daniel-Khodabakhsh made their first contribution in #2425
- @renovate made their first contribution in #2442
- @github-actions made their first contribution in #2448
Full Changelog: v3.4.0-M1...v3.4.0-RC1
v3.4.0-M1
Note: Some changes were backported and already released in 3.3.x
What's Changed
Bugs fixed 🐛️
- Fixed timezone sensitive parsing of Instants in postgres profile. by @WellingR in #2006
- Feature/fix invalid insertorupdate query by @rstpv in #1983
- Issue #1641 by @mpetruska in #2015
- Issue #1684: Invalid query generated using OracleDriver for filter with Option column. by @alexFrankfurt in #2059
- deterministic create and createIfNotExists by @sebastian-alfers in #2127
- Fix Oracle escaping for createIfNotExists. Fixes #2151 by @greenrd in #2152
- Codegen: handle non-empty parentType in OutputHelpers correctly by @mberndt123 in #2149
- fix: MySql upsert (picked #2101) by @jkugiya in #2201
- #2085 phase2 is missing from createIfNotExists statements by @JPonte in #2130
- Isolate union subqueries from 'in' clauses in MySQL: Fixes #2104 by @timgautier in #2107
- SQLServer and Derby: dropIfExists does not try to drop FKs first. (#2118) by @akozumpl in #2119
- Fix overrideStatements for insert actions. Fixes #1850 by @MichalPawlicki in #2112
- Issue #2121: modify AbstractSourceCodeGenerator.TableClassDef to output infix operators with dot syntax by @dreamsmasher in #2260
- #2246 MappedColumn fails: Expected an option type, found Mapped[Optio… by @shmishleniy in https://github.com//pull/2248
- fix postgres autoIncrement seq with createIfNoExists issue #2099 by @mdibaiee in #2100
- fix: MySQLProfile's
dropIfExists
fails when the table doesn't exist by @jkugiya in #2228 - Provided a fix for CockroachDB issue with open portals (issue #2144) by @lbialy in #2145
- Update scala-compiler, scala-library to 2.13.7 by @scala-steward in #2317
- correct the parsing logic between positive infinite and Instant.MAX (issue #2237) by @janory in #2238
Enhancements 🎉
- Allow lifted values to be passed to "in" clauses by @ashleymercer in #1998
- Use sensible default parameters for the AsyncExecutor by @WellingR in #2025
- Fix mapTo for case classes with companion objects by @jabrouwer82 in #2120
- #1340 distinct on by @shmishleniy in #2097
- use read-only file by @vn971 in #1970
- Minimize circular dependencies between auto-generated files to improve compilation speed by @stephenjudkins in #2094
- 2054 Fix to remove warning from early initializers in code generation by @sofoklis in #2081
- Added table name to the Duplicate Column Names error message by @wsuchy in #2133
- Minor enhancements to GetResult & SetParameter by @japgolly in #1496
- Add more informative message to Invoker.first() errors by @asazernik in #2137
- #2303 Make
filterIf
filter function argument generic over CanBeQueryCondition by @ciuncan in #2304 - use
LazyList
instead of deprecatedStream
by @xuwei-k in #2329
Build improvements and code cleanup 🛠
- Prepare for 3.4.0-SNAPSHOT dev cycle by @octonato in #1980
- Removed usage of jaxb to enable compiling using jdk 11 by @WellingR in #2008
- upgrade scalatest (useful for scala 2.13 support) by @pjfanning in #2004
- Build the different scala versions separately in travis by @WellingR in #2012
- Demonstrate a recent version of PostgreSQL by @kojustin in #2010
- change to dist:xenial by @hvesalai in #2013
- Remove custom string interpolator in tests for 2.13 compatibility by @WellingR in #2018
- Dependency updates by @WellingR in #2021
- Support JDK 11 by @WellingR in #2020
- Scala 2.13.0 rc1 by @pjfanning in #2023
- Use JDK11 and the latest scala 2.12 version on Appveyor by @WellingR in #2026
- Fix travis build issues by @WellingR in #2032
- Include openjdk 12 in the travis build by @WellingR in #2027
- Use the latest version of the open source mssql-jdbc driver by @WellingR in #2030
- Scala 2.13.0-RC2 by @marcospereira in #2040
- scala 2.13.0 build by @pjfanning in #2042
- Use AdoptOpenJDK JDK 8 and 11 by @eed3si9n in #2050
- Update Scala 2.12 to 2.12.9 by @TimMoore in #2060
- Scala 2.13.1 by @sullis in #2072
- Swap JDK 12 for JDK 13 now that java 12 is EOL by @WellingR in #2073
- remove unnecessary asInstanceOf by @xuwei-k in #2077
- reduce sdkman cache, fixes #2087 by @d6y in #2095
- Fix CI: sdkman grep by @jabrouwer82 in #2125
- assorted upgrades by @SethTisue in #2141
- fix some warnings by @xuwei-k in #2036
- Update sbt to latest version. by @alexFrankfurt in #2106
- upgrade to latest scala-collection-compat by @pjfanning in #2065
- Update typesafe:config to 1.4.1 by @scala-steward in #2156
- Update sbt-pgp to 2.1.2 by @scala-steward in #2167
- Update slf4j-api to 1.7.30 by @scala-steward in #2165
- Update reactive-streams, ... to 1.0.3 by @scala-steward in #2164
- Update scala-collection-compat to 2.4.2 by @scala-steward in #2170
- Update scala-compiler, scala-library to 2.12.13 by @scala-steward in #2174
- Update scala-compiler, scala-library to 2.13.5 by @scala-steward in #2173
- drop OSGi support by @SethTisue in #2181
- Update sbt to 1.4.9 by @scala-steward in #2180
- Update postgresql to 42.2.19 by @scala-steward in #2171
- Update freemarker to 2.3.31 by @scala-steward in #2168
- Update sqlite-jdbc to 3.34.0 by @scala-steward in #2166
- Update HikariCP to 3.4.5 by @scala-steward in #2157
- Update mysql-connector-java to 5.1.49 by @scala-steward in #2158
- Update fmpp to 0.9.16 by @scala-steward in #2159
- Update h2 to 1.4.200 by @scala-steward in #2155
- Update HikariCP to 4.0.3 by @scala-steward in #2185
- Update hsqldb to 2.5.1 by @scala-steward in #2162
- Updated MySQL jdbc driver to 8.0.x by @WellingR in #2024
- ScalaTest 3.2 (was 3.0), plus minor build cleanups by @SethTisue in #2188
- drop support for Scala 2.11 by @SethTisue in #2184
- Update scala-collection-compat to 2.4.3 by @scala-steward in #2197
- Update sbt to 1.5.0 by @scala-steward in #2202
- Travis-CI: simplify config, drop broken JDK 15 by @SethTisue in #2200
- Update hsqldb to 2.5.2 by @scala-steward in #2210
- Update mysql-connector-java to 8.0.24 by @scala-steward in #2217
- Update postgresql to 42.2.20 by @scala-steward in #2218
- Build and warning fixes by @nafg in #2213
- Update sbt to 1.5.1 by @scala-steward in #2220
- Cleaned unused public method in UpsertBuilder by @jkugiya in #2221
- GitHub Actions by @nafg in #2214
- Update sbt-mima-plugin to 0.9.0 by @scala-steward in #2225
- Delete localScalaSettings build config by @nafg in #2223
- Update sbt to 1.5.2 by @scala-steward in #2226
- Update mysql-connector-java to 8.0.25 by @scala-steward in #2227
- Update sbt-mima-plugin to 0.9.1 by @scala-steward in #2230
- remove Circle CI config by @SethTisue in #2234
- Update scala-compiler, s...
Slick 3.3.3 release
We have just released Slick 3.3.3
You can find the source code here: https://github.com/slick/slick/tree/v3.3.3.
This release includes a few bug and improvements fixes:
- Deterministic create and createIfNotExists (#2127 by @sebastian-alfers)
- Invalid query generated using OracleDriver for filter with Option column (#2059 by @alexFrankfurt)
- New Cookbook section in documentation (#2061 by @d6y)
- Optimized
DISTINCT
andDISTINCT ON
generation (#2097 by @shmishleniy)
Builds for Scala 2.11, 2.12 and 2.13 are available from Maven Central.
Release 3.3.2
We have just released Slick 3.3.2
You can find the source code here: https://github.com/slick/slick/tree/v3.3.2.
Builds for Scala 2.11, 2.12 and 2.13 are available from Maven Central.
Release 3.3.1
We have just released Slick 3.3.1
You can find the source code here: https://github.com/slick/slick/tree/v3.3.1.
Builds for Scala 2.11, 2.12 and 2.13-RC2 are available from Maven Central.
Release 3.3.0
We have just released Slick 3.3.0
You can find the source code here: https://github.com/slick/slick/tree/v3.3.0.
Builds for Scala 2.11 and 2.12 are available from Maven Central, as usual.
These are the major changes in Slick 3.3.0:
- MySQL driver 6.x support #1924
- Upgrade to Reactive Streams v1.0.2 #1927
- Fix critial bug in AsyncExcutor #1856
- Add support for Postgres citext #1848
- Added
filterOpt
andfilterIf
toQuery
. #1909 - Added
createIfNotExists
anddropIfExists
schema methods #1704
See GitHub for the full list of commits and the issues and pull requests assigned to the 3.3 milestone.
Migration
Create / Drop If Not Exists
There is no major changes in the API except for the addition of createIfNotExists
and dropIfExistsPhase
. This has only impact on database profile developers. Regular users are not impacted by it.
In other to support createIfNotExists
and dropIfExistsPhase
, the following changes were made:
- slick.jdbc.JdbcStatementBuilderComponent#TableDDLBuilder.createTable receives not a
checkNotExists: Boolean
as argument - slick.jdbc.JdbcStatementBuilderComponent#TableDDLBuilder.dropTable receives not a
ifExists: Boolean
as argument - slick.sql.SqlProfile#DDL.apply has two more arguments
createIfNotExists: Iterable[String]
anddropIfExists: Iterable[String]
Credits
This release contains contributions by the following committers since 3.2.3:
Asamsig, ElfoLiNk, GlulkAlex, adeperio, chipz, hirofumi, hvesalai, marcospereira, matthiassig12, smootoo, stefanholzmueller, sullis, trevorsibanda and xuwei-k
Release 3.2.3
Release 3.2.3 contains just one change #1877 (fixes #1875) by Renato Cavalcanti (@renatocaval). Thank you Renato!