Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 35 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,33 @@
# SQLlin Change Log

- Date format: YYYY-MM-dd
-

## 2.2.0 / 2025-12-15

### sqllin-dsl

* New experimental DSL API: `DatabaseScope#CREATE_INDEX` for creating indexes
* New experimental DSL API: `DatabaseScope#CREATE_UNIQUE_INDEX` for creating unique indexes
* New experimental DSL API: `DatabaseScope#PRAGMA_FOREIGN_KEYS` for enabling foreign keys
* New experimental annotation APIs: `ForeignKeyGroup`, `References`, `ForeignKey` for supporting foreign keys for table and column levels
* New experimental annotation API: `@Default` for specifying default values for columns in CREATE TABLE statements
* New SQL aggregate function: `group_concat` for concatenating values with a separator
* New SQL scalar functions: `round`, `random`
* New SQL string functions: `substr`, `trim`, `ltrim`, `rtrim`, `replace`, `instr`, `printf`
* New overload for `length` function to support `ClauseBlob` type
* **Breaking change**: The parameter type of `abs` function changed from `ClauseElement` to `ClauseNumber`
* **Breaking change**: The parameter type of `upper` function changed from `ClauseElement` to `ClauseString`
* **Breaking change**: The parameter type of `lower` function changed from `ClauseElement` to `ClauseString`
* **Breaking change**: The parameter type of `length` function changed from `ClauseElement` to `ClauseString`

### sqllin-driver

* Update the `sqlite-jdbc`'s version to `3.51.1.0`

### sqllin-processor

* Update `KSP`'s version to `2.3.3`

## 2.1.0 / 2025-11-04

### sqllin-dsl
Expand All @@ -11,10 +37,10 @@
* Support `<`, `<=`, `>`, `>=`, `IN`, `BETWEEN...AND` operators for String
* Support `=`, `!=`, `<`, `<=`, `>`, `>=`, `IN`, `BETWEEN...AND` operators for ByteArray
* Add a new condiction function `ISNOT` for Boolean, and `IS` starts to support to receive a nullable parameter
* Refactored CREATE statements building process, move it from runtime to compile-time.
* New experimental API for _COLLATE NOCASE_ keyword: `CollateNoCase`
* New experimental API for single column with _UNIQUE_ keyword: `Unique`
* New Experimental API for composite column groups with _UNIQUE_ keyword: `CompositeUnique`
* Refactored _CREATE_ statements building process, move it from runtime to compile-time.
* New experimental annotation API for _COLLATE NOCASE_ keyword: `@CollateNoCase`
* New experimental annotation API for single column with _UNIQUE_ keyword: `@Unique`
* New experimental annotation API for composite column groups with _UNIQUE_ keyword: `@CompositeUnique`

## 2.0.0 / 2025-10-23

Expand All @@ -27,13 +53,13 @@
### sqllin-dsl

* Optimized performance for SQL assembly
* New annotation for marking primary key: `PrimaryKey`
* New annotation for marking composite primary key: `CompositePrimaryKey`
* New experimental annotation for marking primary key: `@PrimaryKey`
* New experimental annotation for marking composite primary key: `@CompositePrimaryKey`
* New experimental API for creating Database: `DSLDBConfiguration`
* New experimental DSL API: `DatabaseScope#CREATE`
* New experimental DSL API: `DatabaseScope#DROP`
* New experimental DSL API: `DatabaseSceop#ALERT`
* Support using ByteArray in DSL, that represents BLOB in SQLite
* Support using `ByteArray` in DSL, that represents _BLOB_ in SQLite

### sqllin-driver

Expand Down Expand Up @@ -101,7 +127,7 @@

* Update `kotlinx.coroutines`'s version to `1.10.1`
* Update `kotlinx.serialization`'s version to `1.8.0`
* Add some DslMaker annotations, make the DSL apis be more readable
* Add some `DslMaker` annotations, make the DSL apis be more readable

### sqllin-driver

Expand Down
8 changes: 5 additions & 3 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

## High Priority

* Support FOREIGN KEY DSL
* Support CREATE INDEX DSL
* Support FOREIGN KEY DSL (2.2.0 ✅)
* Support CREATE INDEX DSL (2.2.0 ✅)

## Medium Priority

Expand All @@ -12,7 +12,9 @@
* Support CREATE VIEW DSL
* Support CREATE TRIGGER DSL
* Support JOIN sub-query DSL
* Support more functions

## Low Priority

* Support store instances of kotlinx.datetime
* Support store instances of kotlinx.datetime
* Support CHECK keyword
3 changes: 2 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
VERSION=2.1.0
VERSION=2.2.0
GROUP_ID=com.ctrip.kotlin

#Maven Publishing Information
Expand Down Expand Up @@ -31,4 +31,5 @@ kotlin.native.ignoreDisabledTargets=true
kotlin.jvm.target.validation.mode=warning
kotlin.native.binary.pagedAllocator=false
kotlin.native.binary.latin1Strings=true
kotlin.native.cacheKind.linuxX64=none
#kotlin.compiler.execution.strategy=out-of-process
6 changes: 3 additions & 3 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@

kotlin = "2.2.21"
agp = "8.12.3"
ksp = "2.3.0"
ksp = "2.3.3"
serialization = "1.9.0"
coroutines = "1.10.2"
androidx-annotation = "1.9.1"
androidx-test = "1.7.0"
androidx-test-runner = "1.7.0"
sqlite-jdbc = "3.50.3.0"
sqlite-jdbc = "3.51.1.0"
jvm-toolchain = "21"
android-sdk-compile = "36"
android-sdk-min = "24"
vanniktech-maven-publish = "0.34.0"
vanniktech-maven-publish = "0.35.0"

[libraries]

Expand Down
Binary file modified libs/linux/libsqlite3.a
Binary file not shown.
Binary file modified libs/windows/libsqlite3.a
Binary file not shown.
Loading