Skip to content

1.5.16

Choose a tag to compare

@smyrgeorge smyrgeorge released this 26 Jan 15:46
· 47 commits to main since this release

Release Notes for Version 1.5.16

This release focuses on significant internal refactoring of the Foreign Function Interface (FFI) layer, simplifying the project structure by removing redundant header files and modularizing dialect-specific logic.

🚀 Key Improvements & Refactoring

  • FFI Layer Simplification:
    • Removed sqlx4k.h and its associated .def file in favor of a more streamlined native interop approach.
    • Simplified FFI logic within MultiplatformLibConventions to reduce build-logic complexity.
    • Modularized FFI logic across different database dialects (MySQL, PostgreSQL, SQLite).
  • Unified Native Callbacks:
    • Implemented a unified fn callback system across all supported dialects, improving consistency in how native results are handled.
    • Refactored dialect-specific implementations (MySQL.kt, PostgreSQL.kt, SQLite.kt) to utilize the new modularized FFI structure.
  • Code Quality & Maintenance:
    • Removed redundant imports and cleaned up unused native utility functions (DriverNativeUtils.kt).
    • Added auto-generated stubs for key structs like Ptr and Sqlx4kResult to ensure better type safety and interop stability.

🛠 Build & Infrastructure

  • Updated MultiplatformLibConventions plugin to handle cinterop more dynamically based on the target platform and project name.
  • Refined sqlx4k/build.gradle.kts to align with the new plugin structure.

For a full list of changes from the previous version, please refer to the commit history.

Full Changelog: 1.5.15...1.5.16