PackageTrack
Sign in Get early access

sqlite3

Provides lightweight yet convenient bindings to SQLite by using dart:ffi

3.5.2 2.3M downloads/mo #244 most downloaded on pub.dev simolus3/sqlite3.dart

What this package is like to depend on

Last release 4 days ago

19 Aug 2026

Ships fairly regularly

a new release about every 3 weeks

Nearly every release is documented

notes for 84 of 88 stable releases

2 versions withdrawn

withdrawn after publishing

7 years old

101 releases · first in 2019

27 releases in the last 12 months

see the full history below

Release timeline

101 releases · Nov 2019 to Aug 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 101
  1. 3.5.2 19 Aug 2026
    Release notes
    • Fix WasmSqlite3.loadFromUrl silently dropping request headers and a custom WASM loader.
    • Fix OPFS atomics VFS causing IO errors for files larger than 2GB.
    • Upgrade SQLCipher to 4.18.0.
    Open source →
    Release notes
    • Fix WasmSqlite3.loadFromUrl silently dropping request headers and a custom WASM loader.
    • Fix OPFS atomics VFS causing IO errors for files larger than 2GB.
    • Upgrade SQLCipher to 4.18.0.
    Open source →
  2. 3.5.1 04 Aug 2026
    Release notes

    This release upgrades SQLite to 3.53.4 and SQLite3 Multiple Ciphers to 2.5.0.

    Full Changelog: sqlite3-3.5.0...sqlite3-3.5.1

    Open source →
    Release notes
    • Upgrade SQLite to 3.53.4 and SQLite3 Multiple Ciphers to 2.5.0.
    Open source →
  3. 3.5.0 18 Jul 2026
    Release notes
    • Add CommonPreparedStatement.raw and RawPreparedStatement, providing raw access to prepared statements. On the web, this also allows binding JS big integers directly.
    Open source →
    Release notes
    • Add CommonPreparedStatement.raw and RawPreparedStatement, providing raw access to prepared statements. On the web, this also allows binding JS big integers directly.
    Open source →
  4. 3.4.0 12 Jul 2026
    Release notes
    • Add VirtualFileSystemFileV1, allowing VFS implementations in Dart to implement xFileControl and xSectorSize.
    • Enable SQLITE_ENABLE_BATCH_ATOMIC_WRITE to support atomic writes on compatible VFS implementations.
    • IndexedDB fileystem: Add writeAutomatically option. When disabled, writes are not automatically persisted and one needs to call flush manually. This explicit control can make database access more efficient in some cases.
    • IndexedDB filesystem: Restructure IndexedDB code to use much fewer transactions, improving performance.
    • Update SQLite to 3.53.3, SQLite3 Multiple Ciphers to 2.3.6 and SQLCipher to 4.17.0.
    • Mark a few functions as isLeaf, reducing the native overhead of calling them.
    • Reset statements after execute and select.
    • Allow custom download URLs for pre-compiled binaries through the url_pattern user-define.
    Open source →
    Release notes
    • Add VirtualFileSystemFileV1, allowing VFS implementations in Dart to implement xFileControl and xSectorSize.
    • Enable SQLITE_ENABLE_BATCH_ATOMIC_WRITE to support atomic writes on compatible VFS implementations.
    • IndexedDB fileystem: Add writeAutomatically option. When disabled, writes are not automatically persisted and one needs to call flush manually. This explicit control can make database access more efficient in some cases.
    • IndexedDB filesystem: Restructure IndexedDB code to use much fewer transactions, improving performance.
    • Update SQLite to 3.53.3, SQLite3 Multiple Ciphers to 2.3.6 and SQLCipher to 4.17.0.
    • Mark a few functions as isLeaf, reducing the native overhead of calling them.
    • Reset statements after execute and select.
    • Allow custom download URLs for pre-compiled binaries through the url_pattern user-define.
    Open source →
  5. 3.3.4 01 Jul 2026
    Release notes
    • Build hook: Fix assets being re-downloaded too often.
    Open source →
  6. 3.3.3 12 Jun 2026
    Release notes
    • Restore support for SQLCipher (thanks to @davidmartos96!).
    • Fix crash when loading IndexedDB databases with blocks past the file length (#380).
    • Don't uninstall update hooks when closing databases if no update hooks were installed by this package.
    Open source →
  7. 3.3.2 26 May 2026
    Release notes
    • Support package:native_toolchain_c versions 0.18.x and 0.19.x.
    • Support hooks versions 2.x.
    • Upgrade to SQLite version 3.53.1.
    • Allow disabling BigInt support via -Dsqlite3.dartbigints=false, which can be used to reduce code size on the web if nothing else uses BigInt values.
    Open source →
  8. 3.3.1 11 Apr 2026
    Release notes
    • Avoid memory leaks when tempDirectory is set multiple times.
    • Update to SQLite 3.53.0 and SQLite3 Multiple Ciphers version 2.3.3.
    Open source →
  9. 3.3.0 04 Apr 2026
    Release notes
    • Web: Add WasmModuleLoader API to customize how WebAssembly modules are loaded.
    • Hook: Improve error message for failing downloads.
    Open source →
  10. 3.2.0 10 Mar 2026
    Release notes
    • Add package:sqlite3/unstable/ffi_bindings.dart providing low-level access to generated libsqlite3 bindings.
    • Add PreparedStatement.leak to transfer ownership of a prepared statement into native code.
    • Add Database.statementFromPointer, which can be used to access a statement prepared in native code from Dart.
    Open source →
  11. 3.1.7 08 Mar 2026
    Release notes
    • Update to sqlite version 3.52.0.
    Open source →
  12. 3.1.6 15 Feb 2026
    Release notes
    • Expose the address of sqlite3_close_v2 as static field on Sqlite3 class.
    • Allow wrapping databases without closing them with the borrowed parameter on Sqlite3.fromPointer.
    • Add Database.leak(), which extracts a sqlite3* pointer and disables finalizers.
    Open source →
  13. 3.1.5 11 Feb 2026
    Release notes
    • Build hook: Ensure we use consistent filenames to fix issues on Apple platforms.
    Open source →
  14. 3.1.4 22 Jan 2026
    Release notes
    • Build hook: Fix paths not resolving on Windows when building from source.
    Open source →
  15. 3.1.3 11 Jan 2026
    Release notes
    • Update to SQLite version 3.51.2.
    Open source →
  16. 3.1.2 31 Dec 2025
    Release notes
    • Database.select() will now throw an exception if the SQL string contains invalid text after the first statement.
    • Build hook: Support OS-specific names when using source: system.
    Open source →
  17. 3.1.1 30 Nov 2025
    Release notes
    • Hooks: Respect HTTPS_PROXY and related environment variables when downloading SQLite (requires Dart 3.11 or later).
    • Update SQLite to version 3.51.1.
    Open source →
  18. 3.1.0 23 Nov 2025
    Release notes
    • Build hook: Allow using name key with source: system to load SQLite libraries under a different name (e.g. name: sqlcipher to load SQLCipher).
    • Wasm: Fix an internal memory corruption issue when more than 16 Dart handles are referenced from C.
    Open source →
  19. 3.0.1 14 Nov 2025
    Release notes
    • Build hook: Use clang from XCode when pre-compiling SQLite for iOS and macOS.
    Open source →
  20. 3.0.0 13 Nov 2025
    Release notes
    • Breaking change: Use build hooks to load SQLite instead of DynamicLibrary.
      • The SQLite library can only be customized with user defines.
      • You should drop your dependencies on sqlite3_flutter_libs and sqlcipher_flutter_libs when upgrading.
      • You can also remove dependencies on sqlite3_native_assets, since that package is now part of package:sqlite3.
    • Breaking change: Parameters to SqliteExceptions are now named.
    • Deprecated dispose() on CommonDatabase and CommonPreparedStatement. Use close() instead.
    • On native platforms, use native finalizers to reliably clear statements and databases.
    • On the web, use regular finalizers more consistently.
    • Refactor binding text and blob values to reduce the chance of memory leaks.
    • On the web, use externrefs to call Dart functions from compiled WebAssembly sources.
    • Add busyHandler setter to install a custom sqlite3_busy_handler on databases.
    Open source →
  21. 3.0.0-beta.2 01 Nov 2025 pre-release

    Nothing published for this version

  22. 3.0.0-beta.1 31 Oct 2025 pre-release

    Nothing published for this version

  23. 3.0.0-beta.0 21 Oct 2025 pre-release

    Nothing published for this version

  24. 2.9.4 30 Oct 2025
    Release notes
    • SimpleOpfsFileSystem: Allow opening with readwrite-unsafe, which can be used to implement multi-tab OPFS databases on Chrome with an outer locking scheme.
    Open source →
  25. 2.9.3 11 Oct 2025
    Release notes
    • Allow iterating over statements after SQLITE_BUSY errors.
    Open source →
  26. 2.9.2 08 Oct 2025
    Release notes
    • Fix a bug introduced in version 2.9.1 where the SQLite framework provided by sqlite3_flutter_libs would not load correctly on iOS.
    Open source →
  27. 2.9.1 02 Oct 2025
    Release notes
    • Check for error codes when binding values to prepared statements.
    • Flutter: Fix loading SwiftPM libraries from sqlite3_flutter_libs.
    Open source →
  28. 2.9.0 07 Aug 2025
    Release notes
    • Add CommonDatabase.updatesSync, a synchronous variant of the updates stream.
    Open source →
  29. 2.8.0 27 Jul 2025
    Release notes
    • Support creating changesets and patchsets via the session extension.
    • Add the SubtypedValue extension type to allow returning values with a subtype.
    • Add the subtypeOf method to the SqliteArguments interface passed to user-defined functions. It returns the subtype assigned to an argument.
    • Web: Refactor SQLite bindings to make them easier for compilers to optimize.
    Open source →
  30. 2.7.7 15 Jul 2025
    Release notes
    • jsonb codec: Refuse to encode NaN values since recent SQLite versions reject them.
    Open source →
  31. 2.7.6 22 May 2025
    Release notes
    • Export package:sqlite3/native_assets.dart, making it easier for libraries to support both the regular sqlite3 getter and the upcoming sqlite3NativeAssets variant.
    • Fix dereferencing null pointer when reading file names for temporary files in native VFS implementation.
    Open source →
  32. 2.7.5 07 Mar 2025
    Release notes
    • On Windows, try loading winsqlite3.dll as a fallback if loading sqlite3.dll fails.
    Open source →
  33. 2.7.4 16 Feb 2025
    Release notes
    • Prepare support for accessing SQLite through native assets. This is available as a preview through package:sqlite3_native_assets.
    Open source →
  34. 2.7.3 08 Feb 2025
    Release notes
    • Web: Support localtime datetime modifier in SQLite.
    • Introduce topics to dartdoc documentation.
    • Report locations of syntax errors in SqliteException.
    Open source →
  35. 2.7.2 21 Jan 2025
    Release notes
    • Web: Fix update events not being delivered in some shared worker setups.
    Open source →
  36. 2.7.1 20 Jan 2025
    Release notes
    • Web: Fix a crash when using version 2.7.0 of this package with an older WebAssembly bundle. Note: Version 2.7.0 has been retracted from pub.dev for this reason.
    Open source →
  37. 2.7.0 20 Jan 2025 withdrawn
    Release notes
    • Add support for commit and rollback hooks as well as a predicate that can revert transactions. Thanks to @jackd!
    Open source →
  38. 2.6.1 17 Jan 2025
    Release notes
    • Fix out-of-bound reads in the xWrite implementation of the OPFS-locks based file-system implementation when writing more than 64 KiB in one operation.
    • Support SQLite libraries compiled with SQLITE_OMIT_AUTOINIT.
    Open source →
  39. 2.6.0 11 Jan 2025
    Release notes
    • Add SimpleOpfsFileSystem.deleteFromStorage to delete OPFS-based file systems.
    • Add jsonb, a Dart Codec converting Dart object from and to SQLite JSONB values.
    • Experimentally support encryption on the web through SQLite Multiple Ciphers. The readme provides more information on how to use encryption on the web.
    Open source →
  40. 2.5.0 24 Nov 2024
    Release notes
    • Allow registering custom virtual file systems on all platforms. Previously, this was only supported on the web.
    • IndexedDB file system: Store ArrayBuffers instead of Blobs when it looks like storing blobs would cause issues.
    Open source →
  41. 2.4.7 21 Oct 2024
    Release notes
    • Web: Improve performance of in-memory and IndexedDB file system implementations.
    Open source →
  42. 2.4.6 12 Aug 2024
    Release notes
    • WebAssembly: Call _initialize function of sqlite3 module if one is present.
    • Support version 1.0.0 of package:web.
    Open source →
  43. 2.4.5 26 Jul 2024
    Release notes
    • Fix a bug in the OPFS-locks implementation causing a deadlock when the xSleep VFS call is issued.
    • Fix selecting large integers (being represented as a BigInt in Dart) not working when compiled with dartdevc.
    Open source →
  44. 2.4.4 23 Jun 2024
    Release notes
    • Add a temporary workaround for a Dart bug causing spurious exceptions when databases are closed and a debugger is attached.
    Open source →
  45. 2.4.3 10 May 2024
    Release notes
    • Migrate away from legacy web APIs: dart:html, dart:js, dart:indexeddb and package:js are no longer imported from this package.
    • Experimentally support being compiled to WebAssembly. Strong caveats apply, please check #230 before relying on this!
    Open source →
  46. 2.4.2 03 Apr 2024
    Release notes
    • Fix string and blob arguments to prepared statements never being deallocated (#225).
    Open source →
  47. 2.4.1 02 Apr 2024 withdrawn

    Nothing published for this version

  48. 2.4.1+1 02 Apr 2024
    Release notes
    • Allow version 0.7.x of the js package.
    • Reduce size of sqlite3.wasm bundle by removing symbols not referenced in Dart.
    Open source →
  49. 2.4.0 13 Feb 2024
    Release notes
    • Add isReadOnly and isExplain getters to prepared statements.
    • Set NativeCallable.keepIsolateAlive to false for callables managed by this package.
    Open source →
  50. 2.3.0 21 Dec 2023
    Release notes
    • Add the autocommit getter on databases wrapping sqlite3_get_autocommit.
    • Improve the error message in the exception when opening a database fails.
    Open source →
  51. 2.2.0 04 Dec 2023
    Release notes
    • Add updatedRows getter to eventually replace getUpdatedRows() method.
    • Clarify documentation on lastInsertRowId and updatedRows.
    • Allow customizing the amount of pages to lock at a time in backup. A larger amount will result in better backup performance.
    • Use NativeCallables for user-defined functions, collations and update streams.
    Open source →
  52. 2.1.0 27 Jul 2023
    Release notes
    • Add config getter to CommonDatabase to access sqlite3_db_config.
    Open source →
  53. 2.0.0 17 Jun 2023
    Release notes
    • Breaking: The WASM implementation no longer registers a default virtual file system. Instead, registerVirtualFileSystem needs to be used to add desired file system implementations.
    • Breaking: Fix a typo, CommmonSqlite3 is now called CommonSqlite3.
    • Breaking: Introduce class modifiers on classes of this package that aren't meant to be extended or implemented by users.
    • Add PreparedStatement.reset().
    • Add the CustomStatementParameter class which can be passed as a statement parameter with a custom sqlite3_bind_* call.
    • Add the StatementParameters class and executeWith/selectWith methods on CommonPreparedStatement. They can be used to control whether values are bound by index or by name. The selectMap and executeMap methods have been deprecated.
    Open source →
  54. 2.0.0-dev.3 13 Jun 2023 pre-release

    Nothing published for this version

  55. 2.0.0-dev.2 04 Jun 2023 pre-release

    Nothing published for this version

  56. 2.0.0-dev.1 31 May 2023 pre-release

    Nothing published for this version

  57. 2.0.0-dev.0 17 May 2023 pre-release

    Nothing published for this version

  58. 1.11.2 02 Jun 2023
    Release notes
    • Report correct column names for statements that have been re-compiled due to schema changes.
    Open source →
  59. 1.11.1 10 May 2023
    Release notes
    • Fix user-defined functions returning text not supporting multi-byte utf8 characters.
    Open source →
  60. 1.11.0 09 Apr 2023
    Release notes
    • Add WasmSqlite3.loadFromUrl which uses a streaming fetch() request to load the sqlite3 WASM binary.
    • Add OpfsFileSystem, a file system implementation for the WASM library that is based on the synchronous File System Access API.
    • The WASM version of sqlite3 used by this library is now compiled with -Oz instead of -Ofast.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive