Skip to content

Releases: smyrgeorge/sqlx4k

1.7.4

22 Apr 15:46

Choose a tag to compare

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

06 Apr 12:26

Choose a tag to compare

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

06 Mar 16:43

Choose a tag to compare

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 execute and fetchAll from SQLite.Connection and SQLite.Transaction classes. These methods now correctly rely on the base implementation provided by the QueryExecutor interface.
  • SQLite Result Set Handling: Enhanced the conversion logic from Android's Cursor to ResultSet. Improved handling of NULL values 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-sqlite module for better performance and clarity.

Full Changelog: 1.7.1...1.7.2

1.7.1

03 Mar 18:35

Choose a tag to compare

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_TYPES to PRIMITIVE_TYPES in the sqlx4k-codegen module for better semantic clarity. Updated related comments and simplified the underlying logic.

Full Changelog: 1.7.0...1.7.1

1.7.0

03 Mar 03:49

Choose a tag to compare

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 iosX64 target 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.5 to 2.3.6.
  • Kotlinx-io-core: Bumped from 0.8.2 to 0.9.0.
  • Spring Boot: Bumped from 4.0.2 to 4.0.3.
  • JetBrains Annotations: Bumped from 26.0.2-1 to 26.1.0.

Full Changelog: 1.6.0...1.7.0

1.6.0

22 Feb 04:09

Choose a tag to compare

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 byte parameters and longArray expansion.
  • Typed Null Parameters:
    • Introduced TypedNull wrapper to allow specifying explicit type information for null parameters.
    • Added bindNull methods to the Statement API for both positional and named parameters.
  • SQL Guards:
    • Added an EmptyCollection guard to prevent and gracefully handle empty list bindings in SQL statements.
  • Refactored SQL Parsing:
    • Improved SQL parsing logic by extracting it into a reusable scanSql utility, ensuring more robust parameter detection and extraction.
  • PostgreSQL Driver Optimizations:
    • Streamlined initialization logic and improved type cast handling for named parameters.
  • PGMQ Updates:
    • Added lastReadAt property to Message to track read timestamps.
    • Switched MessageRowMapper to use column names for better reliability.

🛠 Bug Fixes

  • Removed unnecessary exception handling in execute methods 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-jdbc from 3.51.1.0 to 3.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

04 Feb 11:41

Choose a tag to compare

What's Changed

Full Changelog: 1.5.19...1.5.20

1.5.19

02 Feb 21:02

Choose a tag to compare

Full Changelog: 1.5.18...1.5.19

1.5.18

01 Feb 10:36

Choose a tag to compare

Full Changelog: 1.5.17...1.5.18

1.5.17

01 Feb 10:36

Choose a tag to compare

Full Changelog: 1.5.16...1.5.17