Skip to content

Releases: simolus3/drift

drift-2.34.3

Choose a tag to compare

@github-actions github-actions released this 27 Jul 20:26
drift-2.34.3
d4aff5d
  • Web: Use navigator locks around OPFS access to avoid file locking issues.

drift-2.34.2

Choose a tag to compare

@github-actions github-actions released this 14 Jul 11:18
  • Web: Flush IndexedDB writes after statements, making writes more reliable.

sqlite3.wasm files are now attached to drift releases directly, making it easier to download compatible workers and WebAssembly files.

Drift 2.34.1

Choose a tag to compare

@simolus3 simolus3 released this 06 Jul 19:36
drift-2.34.1
b82e11f

drift 2.34.1

  • Fix reads queued in a MultiExecutor connection pool being resumed in the wrong zone once an executor became available. Because Drift's cancellation tokens are zone-scoped, this could cause queries to be cancelled or observed in the wrong zone (#3824).

drift_dev 2.34.2

  • Drift files: Support for dart placeholder in update statements to reference companions.
  • Allow circular references between tables (#3780).

sqlparser 0.44.6

  • Fix join analysis to properly treat the left side of a RIGHT or FULL join as nullable (#3812).
  • Fix CaseInsensitiveMap.containsKey to be case-insensitive.

Drift 2.34.0

Choose a tag to compare

@simolus3 simolus3 released this 10 Jun 21:50
drift-2.34.0
30fc19d

drift

  • Use BEGIN IMMEDIATE to start transactions.
  • Make TableInfo's == and hashCode take into account the database its attached to.

drift_dev

  • Add setup callback to validateDatabaseSchema in VerifySelf extension.
  • Fix generating code for table classes with a $ in their name.
  • Add the use_sql_table_name_for_accessors build option, naming the table getters on the database class after the table's SQL name instead of the Dart class name.

Drift 2.33.0

Choose a tag to compare

@simolus3 simolus3 released this 03 May 21:15
drift-2.33.0
f85dda1
  • Add length extension for blob expressions.
  • Add SqlDialect.duckdb for use with the drift_duckdb package.
  • Drift files: Support SQLite version 3.53.0.

Drift 2.32.1

Choose a tag to compare

@simolus3 simolus3 released this 22 Mar 20:46
  • DevTools extension: Make error messages selectable.
  • For view columns referencing table columns as an alias, we now copy nullability and type converters from the source column (#3765).
  • Fix parsing references() with analyzer 10.2.0 and later.
  • Support analyzer versions >=10.0.0 <13.0.0.

Drift 2.32.0

Choose a tag to compare

@simolus3 simolus3 released this 28 Feb 20:43
  • Potentially breaking change Migrate to version 3.x of the sqlite3 package.
    To upgrade:
    • For the web, update sqlite3.wasm from a 3.x release.
    • If you've previously used sqlcipher_flutter_libs, see this for encryption support and note that SQLite3MultipleCiphers requires additional pragmas to be compatible with SQLCipher databases.
  • serializableConnection(), json1 and TableMigration are no longer marked as experimental.
  • Improve performance of mapping large result sets through joined select statements.
  • In drift files, imports and statements can now be parsed from SQL line comments. This makes drift files easier to use from some SQL editors:
-- import 'tables.drift';

-- deleteById:
DELETE FROM todos WHERE id = :id;

-- allTodos:
SELECT * FROM todos;

Drift 2.31.0

Choose a tag to compare

@simolus3 simolus3 released this 03 Feb 20:27
drift-2.31.0
853d037
  • In step-by-step migrations, automatically throw an error if a database downgrade is attempted. This has always been unsupported, but could lead to the database silently having a wrong user_version.
  • Fix JSON serialization for views referencing a nullable wrapper of a non-nullable column with a type converter attached to it.

sqlparser version 0.43.1

  • Support parsing DROP, VACUUM, REINDEX, ATTACH, DETACH, SAVEPOINT, RELEASE, ROLLBACK, ANALYZE, PRAGMA and ALTER TABLE statements.
  • Add SchemaBuffer class to apply ALTER TABLE and DROP statements to CREATE statements.

Drift 2.30.1

Choose a tag to compare

@simolus3 simolus3 released this 12 Jan 22:34
drift-2.30.1
884c77f

drift 2.30.1

  • Web: Fix databases being moved from IndexedDB to OPFS even if moveExistingIndexedDbToOpfs is disabled.

drift_dev 2.30.1

  • make_migrations: Don't generate schema test helpers when --no-test is set.
  • Generate managers entrypoint for @DriftAccessors as well.
  • Add ValidationOptions parameter to testWithDataIntegrity.

sqlparser 0.43.0

  • Allow parsing SQL from FileSpans, which is convenient for SQL embedded as text in outer structures.

Drift 2.30.0

Choose a tag to compare

@simolus3 simolus3 released this 05 Dec 21:57
drift-2.30.0
12c648b

Drift

  • Add rightOuterJoin and fullOuterJoin.
  • Wasm: Add the WasmProbeResult.moveFromIndexedDBToOpfs() method and the moveExistingIndexedDbToOpfs parameter on WasmDatabase.open. They can be used to move an existing database stored in IndexedDB to OPFS.

drift_flutter

  • Add isolateSetup parameter to DriftNativeOptions to setup isolates spawned to host database connections.

Generator

  • Schema export: Always export generated SQL statements as a reference.
  • Schema export: Always use temporary file instead of data URI.
  • Support analyzer versions 9.x.
  • Support dothand syntax when analyzing Dart sources.
  • Analysis: Support features added in SQLite version 3.51.0