1.5.16
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.hand its associated.deffile in favor of a more streamlined native interop approach. - Simplified FFI logic within
MultiplatformLibConventionsto reduce build-logic complexity. - Modularized FFI logic across different database dialects (MySQL, PostgreSQL, SQLite).
- Removed
- Unified Native Callbacks:
- Implemented a unified
fncallback 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.
- Implemented a unified
- Code Quality & Maintenance:
- Removed redundant imports and cleaned up unused native utility functions (
DriverNativeUtils.kt). - Added auto-generated stubs for key structs like
PtrandSqlx4kResultto ensure better type safety and interop stability.
- Removed redundant imports and cleaned up unused native utility functions (
🛠 Build & Infrastructure
- Updated
MultiplatformLibConventionsplugin to handle cinterop more dynamically based on the target platform and project name. - Refined
sqlx4k/build.gradle.ktsto 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