Releases: smyrgeorge/sqlx4k
1.7.4
What's Changed
- Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.10.0 to 1.11.0 by @dependabot[bot] in #121
- Bump io.github.smyrgeorge:log4k-slf4j from 2.0.0 to 2.0.1 by @dependabot[bot] in #122
- Bump org.xerial:sqlite-jdbc from 3.51.3.0 to 3.53.0.0 by @dependabot[bot] in #123
- Bump com.android.kotlin.multiplatform.library from 9.1.0 to 9.1.1 by @dependabot[bot] in #124
Full Changelog: 1.7.3...1.7.4
1.7.3
What's Changed
- Bump io.arrow-kt:arrow-core from 2.2.1.1 to 2.2.2 by @dependabot[bot] in #109
- Bump com.android.kotlin.multiplatform.library from 9.0.1 to 9.1.0 by @dependabot[bot] in #108
- Bump io.github.smyrgeorge:log4k-slf4j from 1.3.2 to 1.4.0 by @dependabot[bot] in #107
- Bump io.github.smyrgeorge:log4k-slf4j from 1.4.0 to 1.4.2 by @dependabot[bot] in #111
- Bump gradle-wrapper from 9.3.1 to 9.4.0 by @dependabot[bot] in #110
- Bump kotlin from 2.3.10 to 2.3.20 by @dependabot[bot] in #112
- Bump org.xerial:sqlite-jdbc from 3.51.2.0 to 3.51.3.0 by @dependabot[bot] in #113
- Bump gradle-wrapper from 9.4.0 to 9.4.1 by @dependabot[bot] in #114
- Bump org.springframework.boot from 4.0.3 to 4.0.4 by @dependabot[bot] in #115
- Bump io.arrow-kt:arrow-core from 2.2.2 to 2.2.2.1 by @dependabot[bot] in #116
- Bump gradle/actions from 5 to 6 by @dependabot[bot] in #117
- Bump org.springframework.boot from 4.0.4 to 4.0.5 by @dependabot[bot] in #118
- Bump dokka from 2.1.0 to 2.2.0 by @dependabot[bot] in #119
- Bump io.github.smyrgeorge:log4k-slf4j from 1.4.2 to 1.4.3 by @dependabot[bot] in #120
Full Changelog: 1.7.2...1.7.3
1.7.2
Release Notes: Version 1.7.2
This release focuses on refactoring the SQLite module, particularly for Android, to improve code maintainability and streamline internal logic by leveraging the shared implementation of the QueryExecutor interface.
🛠 Refactorings & Improvements
- SQLite (Android) Optimization: Removed redundant overrides of
executeandfetchAllfromSQLite.ConnectionandSQLite.Transactionclasses. These methods now correctly rely on the base implementation provided by theQueryExecutorinterface. - SQLite Result Set Handling: Enhanced the conversion logic from Android's
CursortoResultSet. Improved handling ofNULLvalues and provided more robust type mapping for common SQLite field types (Integer, Float, String, Blob). - Code Cleanup: Removed unused imports and redundant internal functions in the
sqlx4k-sqlitemodule for better performance and clarity.
Full Changelog: 1.7.1...1.7.2
1.7.1
Release Notes: Version 1.7.1
Release Date: 2026-03-03
This release focuses on improving build maintainability and internal code clarity.
🛠 Build & Infrastructure
- Migrate Plugin Structure: Simplified build logic by transitioning from custom Kotlin classes to precompiled script plugins in
build-logic. This change improves maintainability and streamlines the Gradle configuration across the project modules.
♻️ Refactoring
- Codegen Improvement: Renamed
BUILT_IN_TYPEStoPRIMITIVE_TYPESin thesqlx4k-codegenmodule for better semantic clarity. Updated related comments and simplified the underlying logic.
Full Changelog: 1.7.0...1.7.1
1.7.0
Release Notes - Version 1.7.0
🚀 New Features
- Android Support: Introduced official Android platform support for
sqlx4k-sqlite, including integration with the native Android SQLite API. - Expanded iOS Support: Added
iosX64target support across the project, expanding the library's reach in the Apple ecosystem.
🛠 Improvements & Refactorings
- Multiplatform Conventions: Updated build-logic plugins to support new targets and streamline binary distribution for iOS and Android.
- Documentation: Comprehensive documentation updates for version 1.7.0.
📦 Dependency Updates
- KSP: Bumped from
2.3.5to2.3.6. - Kotlinx-io-core: Bumped from
0.8.2to0.9.0. - Spring Boot: Bumped from
4.0.2to4.0.3. - JetBrains Annotations: Bumped from
26.0.2-1to26.1.0.
Full Changelog: 1.6.0...1.7.0
1.6.0
Release Notes - Version 1.6.0
This release introduces significant improvements to connection pooling, enhanced native prepared statement support across all drivers, and more robust SQL parameter handling.
🚀 Features & Enhancements
- Enhanced Connection Pooling & Transactions:
- Improved semaphore handling to prevent race conditions during connection acquisition.
- Enhanced error safety and robustness when closing transactions.
- Native Prepared Statement Support:
- Added full native prepared statement support for SQLite, MySQL, and PostgreSQL.
- Expanded type handling within prepared statements, including support for
byteparameters andlongArrayexpansion.
- Typed Null Parameters:
- Introduced
TypedNullwrapper to allow specifying explicit type information for null parameters. - Added
bindNullmethods to theStatementAPI for both positional and named parameters.
- Introduced
- SQL Guards:
- Added an
EmptyCollectionguard to prevent and gracefully handle empty list bindings in SQL statements.
- Added an
- Refactored SQL Parsing:
- Improved SQL parsing logic by extracting it into a reusable
scanSqlutility, ensuring more robust parameter detection and extraction.
- Improved SQL parsing logic by extracting it into a reusable
- PostgreSQL Driver Optimizations:
- Streamlined initialization logic and improved type cast handling for named parameters.
- PGMQ Updates:
- Added
lastReadAtproperty toMessageto track read timestamps. - Switched
MessageRowMapperto use column names for better reliability.
- Added
🛠 Bug Fixes
- Removed unnecessary exception handling in
executemethods for MySQL and PostgreSQL drivers to allow for cleaner error propagation. - Fixed an issue where empty named parameters in PostgreSQL were incorrectly handled during type casting.
📦 Dependency Updates
- Kotlin: Updated to
2.3.10. - SQLite JDBC: Updated
org.xerial:sqlite-jdbcfrom3.51.1.0to3.51.2.0.
🧪 Testing
- Significant increase in cross-platform test coverage for prepared statements, custom type utilities, and collection expansions across all supported databases.
Full Changelog: 1.5.20...1.6.0
1.5.20
What's Changed
- Bump ksp from 2.3.4 to 2.3.5 by @dependabot[bot] in #97
- Bump gradle-wrapper from 9.3.0 to 9.3.1 by @dependabot[bot] in #96
Full Changelog: 1.5.19...1.5.20
1.5.19
Full Changelog: 1.5.18...1.5.19
1.5.18
Full Changelog: 1.5.17...1.5.18
1.5.17
Full Changelog: 1.5.16...1.5.17