Releases: simolus3/drift
Releases · simolus3/drift
Drift 2.29.0
Query builder
- Allow specifying ordering for columns in
@TableIndexannotation. - Add
DelegatedDatabase.externalExecutor, allowing transactions started externally to be used with drift. - Add
Batch.insertFromSelectto insert rows from a select statement in a batch.
Generator
- Fix invalid schema code for views.
- Add the
known_tablesoption. It allows defining external tables assumed to be available without including them in the drift-managed schema. - Fix unresolved references in CTEs resolving against the scope of the main query.
- Static analysis support for the PowerSync SQLite extension.
Tools
- Devtools extension: Support exporting databases.
- Make-migrations: Add
--no-testoption to disable generating tests. - Internal: The drift website is now built with
jaspr_content.
Drift 2.28.2
drift version 2.28.2:
- Legacy wasm database: Fix cast issue when compiling with
dart2wasm. NativeDatabase.createBackground: Allow enablingisolateDebugLog.
drift_flutter version 0.2.7:
- Add
isolateDebugLogparameter toDriftNativeOptionsto debug internal messages between isolates.
drift_dev version 2.28.3:
- Remove dependencies on discontinued build packages.
- Fix false-positive warnings about imported files not being referenced.
Drift 2.28.1
- Add
escapeCharargument tolike()to generate anESCAPEclause. - Native database: Cache prepared statements by default.
- Support
package:buildversion 3.
Drift 2.28.0
drift
- Query delegates: Support nested transactions in
SupportedTransactionDelegate. - Add
WasmProbeResult.exportDatabaseto export an existing web database as aUint8List. - Fix drift server isolates leaking when their only client isolate exits without closing the database.
drift_dev
- Include preamble from drift build options in generated schema code.
- Fix generated code not copying function expressions correctly.
sqlparser
- Support new features introduced in SQLite version 3.50.0.
Drift 2.27.0
- Allow passing
sqlite3callback toNativeDatabaseto customize how SQLite bindings are obtained. - Fix generating versioned schema code for columns referencing other columns in
generatedAsexpressions. - Use proper impport statements when generating schema code.
- Schema validation: Allow ignoring column constraints.
- Devtools extension: Update displayed data automatically when it changes.
Drift 2.26.1
This patch release mainly fixes issues in drift_dev:
- Avoid the use of the shared database cache in the
SchemaVerifierimplementation. - Fix crash when
drift_dev schema dumpis used on SQLite databases with triggers, views or indexes. - CLI: Don't exit with code
0when no command was selected. - Fix
generatedAsnot being generated for versioned schema imports.
And adds two minor API additions to drift:
- Add
isNotNull()column filter for the manager APIs. - Add optional
orderByparameter to more aggregate function extension.
Drift 2.26.0
This release adds support for window functions in the Dart query builder (through WindowFunctionExpression) and contains improvements to the generator:
- Fix warning on Dart-defined views referencing the same table multiple times.
- Don't generate unnecessary verification code.
- Suggest a test with data integrity when adding a new column without a default
value inmake-migrations.
Drift 2.25.0
Core drift package:
- Report
SqliteExceptions occurring on workers asSqliteExceptioninstances. Previously, they were sent as strings only. - Fix
LazyDatabasebeing closed without ever being used potentially leaking resources.
In the generator:
- Fix incorrect code when applying non-nullable type converters with a nullable JSON type to nullable column.
- Fix missing outputs for drift files only consisting of imports in modular generation mode.
- Allow generating manager references across different files in modular generation mode.
- Fix class names with dollar signs not being escaped in drift-generated
toString(). - Make-migrations command: Use
flutter_testif the coretestpackage is unavailable and warn when database class needs changes for test.
Drift 2.24.0
This version improves jsonb support and adds other minor improvements:
- Add
TypeConverter.jsonbto directly store values in the JSONB format used by SQLite. - Deprecate
TypeConverter.jsonutility in favor ofTypeConverter.json2. The new method avoids encoding values twice when mapping drift row classes to JSON. The documentation - Add
runWithInterceptormethod to databases to only apply interceptors in a restricted block.
In the generator, we:
- Support versions
7.xof theanalyzerpackage. - Add analysis support for SQLite 3.48.
- Fix nullability analysis around fts5 tables (enabled when raising the version to 3.48 to preserve backwards-compatibility).
Drift 2.23.1
This patch release fixes the following issues:
- Fix
TableStatements.insertAllto only apply a database-specific pragma for SQLite databases. - Don't attempt to roll-back transactions that failed to begin.
- Fix unhandled exception when cancelling transactions.
- Fix deadlock when drift databases are used in a
fake_asyncZone and then closed outside that zone.
Also, drift_dev version 2.23.1 contains one improvement:
- Generate typed reference-resolving queries through the manager API when modular code-generation is enabled. Previously, this feature was only enabled for monolithic generation modes.