anaki_postgres 0.1.7
anaki_postgres: ^0.1.7 copied to clipboard
PostgreSQL driver for AnakiORM. Native connector via Rust FFI.
Changelog #
0.1.7 #
- Build hook no longer throws on unsupported targets (Android, iOS, other archs): it registers no native asset and returns, so a desktop app that depends on this package can also build for mobile. The FFI must simply not be called there (mobile clients run queries through a host)
0.1.6 #
- Fix native panic ("byte index N is not a char boundary") on any SQL containing non-ASCII text such as
select 'coração': the@paramrewriter walked the query byte by byte and sliced inside multibyte UTF-8 characters. It now copies whole runs between@markers. Covered by unit tests with accented, CJK and emoji text, and validated against a live server
0.1.5 #
- Fix connection failures with passwords containing URL-reserved characters (
/ ? # %and friends): credentials were spliced raw into a connection URL, so/ ? #surfaced as "invalid port number" and%sequences were percent-decoded into a different password. Connect options are now built programmatically (never through a URL); covered by regression tests including unicode passwords
0.1.4 #
- Add TLS support (rustls):
sslMode: 'require'(and other libpq sslmode values) now performs a real TLS handshake instead of failing with "SQLx was built without TLS support enabled". Validated against PostgreSQL 16 over TLSv1.3 - Fix native symbol collision when multiple anaki drivers are loaded in the same process: the driver now binds its FFI symbols from its own library handle first, falling back to the native-assets runtime for bundled builds
0.1.3 #
- Fix universal (arm64+x64) macOS builds: the build hook now copies the binary into the per-config output directory, so each architecture slice gets its own file (previously both slices pointed at the same dylib and lipo failed with duplicate architectures)
0.1.2 #
- Fix pub.dev packaging: native binaries are now really inside the published archive (0.1.1 tarballs were missing native_libs/ because a repo-root gitignore rule excluded them from
dart pub publish)
0.1.1 #
- TIMESTAMPTZ/TIMESTAMP/DATE/TIME/TIMETZ, NUMERIC and UUID columns now decode correctly (previously returned null); timestamps as RFC3339/ISO-8601, decimals as precision-preserving strings
- FFI exports are panic-safe: internal panics become error responses instead of aborting the host process (#2)
- Query rows keep the SELECT column order instead of returning alphabetically sorted keys (#5)
- Native library loads via the native-assets asset id (works with
flutter buildframework bundling), with filesystem search as fallback (#6) - Prebuilt native binaries included for all supported platforms (#4)
- New build target: Linux ARM64 (aarch64)
0.1.0 #
- Initial release
- Core
AnakiDbclass with SQL-first API AnakiQueryBuilderfor fluent queriesMigratorandSeederfor database migrations- Support for SQLite, PostgreSQL, MySQL, and SQL Server
- Cross-platform native libraries (macOS, Linux, Windows)