From 955f1fd4819383a42b544945839cb2f62246aa07 Mon Sep 17 00:00:00 2001
From: Chantal Loncle <82039410+bog-walk@users.noreply.github.com>
Date: Wed, 20 Dec 2023 10:48:55 -0500
Subject: [PATCH] chore: Bump Exposed version from 0.45.0 to 0.46.0
Update BREAKING_CHANGES and CHANGELOG files.
---
README.md | 42 +++++++++----------
docs/BREAKING_CHANGES.md | 30 +++++++++++++
docs/ChangeLog.md | 40 ++++++++++++++++++
.../Writerside/topics/Getting-Started.md | 8 ++--
.../topics/Modules-Documentation.md | 24 +++++------
exposed-bom/README.md | 4 +-
exposed-spring-boot-starter/README.md | 6 +--
gradle.properties | 2 +-
samples/exposed-ktor/gradle.properties | 2 +-
samples/exposed-spring/gradle.properties | 2 +-
10 files changed, 115 insertions(+), 45 deletions(-)
diff --git a/README.md b/README.md
index 57e0113ef8..1b13a28d58 100644
--- a/README.md
+++ b/README.md
@@ -81,52 +81,52 @@ repositories {
org.jetbrains.exposed
exposed-core
- 0.45.0
+ 0.46.0
org.jetbrains.exposed
exposed-crypt
- 0.45.0
+ 0.46.0
org.jetbrains.exposed
exposed-dao
- 0.45.0
+ 0.46.0
org.jetbrains.exposed
exposed-java-time
- 0.45.0
+ 0.46.0
org.jetbrains.exposed
exposed-jdbc
- 0.45.0
+ 0.46.0
org.jetbrains.exposed
exposed-jodatime
- 0.45.0
+ 0.46.0
org.jetbrains.exposed
exposed-json
- 0.45.0
+ 0.46.0
org.jetbrains.exposed
exposed-kotlin-datetime
- 0.45.0
+ 0.46.0
org.jetbrains.exposed
exposed-money
- 0.45.0
+ 0.46.0
org.jetbrains.exposed
exposed-spring-boot-starter
- 0.45.0
+ 0.46.0
@@ -136,20 +136,20 @@ repositories {
```groovy
dependencies {
- implementation 'org.jetbrains.exposed:exposed-core:0.45.0'
- implementation 'org.jetbrains.exposed:exposed-crypt:0.45.0'
- implementation 'org.jetbrains.exposed:exposed-dao:0.45.0'
- implementation 'org.jetbrains.exposed:exposed-jdbc:0.45.0'
+ implementation 'org.jetbrains.exposed:exposed-core:0.46.0'
+ implementation 'org.jetbrains.exposed:exposed-crypt:0.46.0'
+ implementation 'org.jetbrains.exposed:exposed-dao:0.46.0'
+ implementation 'org.jetbrains.exposed:exposed-jdbc:0.46.0'
- implementation 'org.jetbrains.exposed:exposed-jodatime:0.45.0'
+ implementation 'org.jetbrains.exposed:exposed-jodatime:0.46.0'
// or
- implementation 'org.jetbrains.exposed:exposed-java-time:0.45.0'
+ implementation 'org.jetbrains.exposed:exposed-java-time:0.46.0'
// or
- implementation 'org.jetbrains.exposed:exposed-kotlin-datetime:0.45.0'
+ implementation 'org.jetbrains.exposed:exposed-kotlin-datetime:0.46.0'
- implementation 'org.jetbrains.exposed:exposed-json:0.45.0'
- implementation 'org.jetbrains.exposed:exposed-money:0.45.0'
- implementation 'org.jetbrains.exposed:exposed-spring-boot-starter:0.45.0'
+ implementation 'org.jetbrains.exposed:exposed-json:0.46.0'
+ implementation 'org.jetbrains.exposed:exposed-money:0.46.0'
+ implementation 'org.jetbrains.exposed:exposed-spring-boot-starter:0.46.0'
}
```
@@ -180,7 +180,7 @@ dependencies {
and in `gradle.properties`
```
-exposedVersion=0.45.0
+exposedVersion=0.46.0
```
## Samples
diff --git a/docs/BREAKING_CHANGES.md b/docs/BREAKING_CHANGES.md
index f8e7c3fcf8..60f470ff9b 100644
--- a/docs/BREAKING_CHANGES.md
+++ b/docs/BREAKING_CHANGES.md
@@ -1,5 +1,35 @@
# Breaking Changes
+## 0.46.0
+
+* When an Exposed table object is created with a keyword identifier (a table or column name) it now retains the exact case used before being automatically quoted in generated SQL.
+ This primarily affects H2 and Oracle, both of which support folding identifiers to uppercase, and PostgreSQL, which folds identifiers to lower case.
+
+ If `preserveKeywordCasing = true` had been previously set in `DatabaseConfig` to remove logged warnings about any keyword identifiers, this can now be removed as the property is `true` by default.
+
+ To temporarily opt-out of this behavior and to not keep the defined casing of keyword identifiers, please set `preserveKeywordCasing = false` in `DatabaseConfig`:
+```kotlin
+object TestTable : Table("table") {
+ val col = integer("select")
+}
+
+// default behavior (preserveKeywordCasing is by default set to true)
+// H2 generates SQL -> CREATE TABLE IF NOT EXISTS "table" ("select" INT NOT NULL)
+
+// with opt-out
+Database.connect(
+ url = "jdbc:h2:mem:test",
+ driver = "org.h2.Driver",
+ databaseConfig = DatabaseConfig {
+ @OptIn(ExperimentalKeywordApi::class)
+ preserveKeywordCasing = false
+ }
+)
+// H2 generates SQL -> CREATE TABLE IF NOT EXISTS "TABLE" ("SELECT" INT NOT NULL)
+```
+
+**Note:** `preserveKeywordCasing` is an experimental flag and requires `@OptIn`. It may become deprecated in future releases.
+
## 0.44.0
* `SpringTransactionManager` no longer extends `DataSourceTransactionManager`; instead, it directly extends `AbstractPlatformTransactionManager` while retaining the previous basic functionality.
diff --git a/docs/ChangeLog.md b/docs/ChangeLog.md
index a755bb84bf..2dfae60530 100644
--- a/docs/ChangeLog.md
+++ b/docs/ChangeLog.md
@@ -1,3 +1,43 @@
+# 0.46.0
+Infrastructure:
+* Kotlinx Datetime JVM 0.5.0
+* Joda Time 2.12.5
+* Kotlinx Serialization Json 1.6.2
+* log4j2 2.22.0
+* slf4j 2.0.9
+* MariaDB (V3) driver 3.3.1
+* PostgreSQL driver 42.7.1
+* h2-database (V2) driver 2.2.224
+* SQLite driver 3.44.1.0
+* Spring Framework 6.1.2
+* Spring Boot 3.2.0
+* Spring Security Crypto 5.8.8
+
+Breaking changes:
+* chore!: EXPOSED-239 Set `preserveKeywordCasing` flag to true by default by @bog-walk in https://github.com/JetBrains/Exposed/pull/1948
+* More details at [Breaking changes](BREAKING_CHANGES.md#0460)
+
+Features:
+* feat: EXPOSED-65 Design query DSL consistent with SQL language by @bog-walk in https://github.com/JetBrains/Exposed/pull/1916
+* More details in the [Migration guide](MIGRATION_GUIDE.md#migrating-from-0450-to-0460)
+
+Bug fixes:
+* perf: EXPOSED-204 Performance problem with getConnection() by @bog-walk in https://github.com/JetBrains/Exposed/pull/1943
+* fix: EXPOSED-242 [PostgreSQL] Cannot change connection setting in middle of a transaction by @bog-walk in https://github.com/JetBrains/Exposed/pull/1949
+
+Build:
+* build: Add dependencies to Version Catalog by @pank-su in https://github.com/JetBrains/Exposed/pull/1887
+
+Docs:
+* docs: Add KDoc for `databaseGenerated` feature by @joc-a in https://github.com/JetBrains/Exposed/pull/1904
+* WRS-3621 Update project configuration by @e5l in https://github.com/JetBrains/Exposed/pull/1911
+* docs: Add missing Wiki documentation by @bog-walk in https://github.com/JetBrains/Exposed/pull/1910
+* docs: Apply query DSL changes to writerside docs by @bog-walk in https://github.com/JetBrains/Exposed/pull/1926
+* docs: Add missing KDocs for exposed-core queries API by @bog-walk in https://github.com/JetBrains/Exposed/pull/1941
+* docs: Add missing KDocs for exposed-core database API by @bog-walk in https://github.com/JetBrains/Exposed/pull/1945
+* docs: Add missing KDocs for exposed-core table API by @bog-walk in https://github.com/JetBrains/Exposed/pull/1946
+* docs: Add MIGRATION_GUIDE by @bog-walk in https://github.com/JetBrains/Exposed/pull/1933
+
# 0.45.0
Infrastructure:
* Kotlin 1.9.21
diff --git a/documentation-website/Writerside/topics/Getting-Started.md b/documentation-website/Writerside/topics/Getting-Started.md
index 86c2a4a560..f305b7e8ac 100644
--- a/documentation-website/Writerside/topics/Getting-Started.md
+++ b/documentation-website/Writerside/topics/Getting-Started.md
@@ -18,17 +18,17 @@
org.jetbrains.exposed
exposed-core
- 0.45.0
+ 0.46.0
org.jetbrains.exposed
exposed-dao
- 0.45.0
+ 0.46.0
org.jetbrains.exposed
exposed-jdbc
- 0.45.0
+ 0.46.0
]]>
@@ -37,7 +37,7 @@
- val exposedVersion: String = "0.45.0"
+ val exposedVersion: String = "0.46.0"
dependencies {
implementation("org.jetbrains.exposed:exposed-core:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-crypt:$exposedVersion")
@@ -88,59 +88,59 @@ Dependencies mapping listed below is similar (by functionality) to the previous
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-core</artifactId>
- <version>0.45.0</version>
+ <version>0.46.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-crypt</artifactId>
- <version>0.45.0</version>
+ <version>0.46.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-dao</artifactId>
- <version>0.45.0</version>
+ <version>0.46.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-java-time</artifactId>
- <version>0.45.0</version>
+ <version>0.46.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-jdbc</artifactId>
- <version>0.45.0</version>
+ <version>0.46.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-jodatime</artifactId>
- <version>0.45.0</version>
+ <version>0.46.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-json</artifactId>
- <version>0.45.0</version>
+ <version>0.46.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-kotlin-datetime</artifactId>
- <version>0.45.0</version>
+ <version>0.46.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-money</artifactId>
- <version>0.45.0</version>
+ <version>0.46.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-spring-boot-starter</artifactId>
- <version>0.45.0</version>
+ <version>0.46.0</version>
</dependency>
</dependencies>
- def exposedVersion = "0.45.0"
+ def exposedVersion = "0.46.0"
dependencies {
implementation "org.jetbrains.exposed:exposed-core:$exposedVersion"
implementation "org.jetbrains.exposed:exposed-crypt:$exposedVersion"
diff --git a/exposed-bom/README.md b/exposed-bom/README.md
index 150b43ade3..88fa18bff5 100644
--- a/exposed-bom/README.md
+++ b/exposed-bom/README.md
@@ -17,7 +17,7 @@ Bill of Materials for all Exposed modules
org.jetbrains.exposed
exposed-bom
- 0.45.0
+ 0.46.0
pom
import
@@ -51,7 +51,7 @@ repositories {
}
dependencies {
- implementation(platform("org.jetbrains.exposed:exposed-bom:0.45.0"))
+ implementation(platform("org.jetbrains.exposed:exposed-bom:0.46.0"))
implementation("org.jetbrains.exposed", "exposed-core")
implementation("org.jetbrains.exposed", "exposed-dao")
implementation("org.jetbrains.exposed", "exposed-jdbc")
diff --git a/exposed-spring-boot-starter/README.md b/exposed-spring-boot-starter/README.md
index dd1d137038..eaae7eb796 100644
--- a/exposed-spring-boot-starter/README.md
+++ b/exposed-spring-boot-starter/README.md
@@ -18,7 +18,7 @@ This starter will give you the latest version of [Exposed](https://github.com/Je
org.jetbrains.exposed
exposed-spring-boot-starter
- 0.45.0
+ 0.46.0
```
@@ -28,7 +28,7 @@ repositories {
mavenCentral()
}
dependencies {
- implementation 'org.jetbrains.exposed:exposed-spring-boot-starter:0.45.0'
+ implementation 'org.jetbrains.exposed:exposed-spring-boot-starter:0.46.0'
}
```
### Gradle Kotlin DSL
@@ -44,7 +44,7 @@ dependencies {
```
In `gradle.properties`
```properties
-exposedVersion=0.45.0
+exposedVersion=0.46.0
```
## Setting up a database connection
diff --git a/gradle.properties b/gradle.properties
index 6c8c9fd504..3062d031c7 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -4,4 +4,4 @@ org.gradle.configuration.cache=true
org.gradle.caching=true
group=org.jetbrains.exposed
-version=0.45.0
+version=0.46.0
diff --git a/samples/exposed-ktor/gradle.properties b/samples/exposed-ktor/gradle.properties
index c4452a5bc1..7ef191cf2e 100644
--- a/samples/exposed-ktor/gradle.properties
+++ b/samples/exposed-ktor/gradle.properties
@@ -2,5 +2,5 @@ ktorVersion=2.3.4
kotlinVersion=1.8.10
logbackVersion=1.2.11
kotlin.code.style=official
-exposedVersion=0.45.0
+exposedVersion=0.46.0
h2Version=2.1.214
diff --git a/samples/exposed-spring/gradle.properties b/samples/exposed-spring/gradle.properties
index 66c485aafd..10ef4e9c54 100644
--- a/samples/exposed-spring/gradle.properties
+++ b/samples/exposed-spring/gradle.properties
@@ -1,2 +1,2 @@
-exposedVersion=0.45.0
+exposedVersion=0.46.0
kotlinVersion=1.8.21