NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #419 most downloaded on pub.dev
Fast distributed AI vector database and persistent local storage engine. High-performance key-value store supporting SQL, NoSQL, offline cache and encrypted data.
Last release 1 months ago
01 Sep 2026
Ships unpredictably
gaps range from 8 days to 7 months
Most releases are documented
notes for 23 of 28 stable releases
15 versions withdrawn
withdrawn after publishing
2 years old
51 releases · first in 2024
One column per month.
Optimized pub points only for the latest Dart 3.13 static analysis.
Deprecated LogConfig.setConfig in favor of ToStore.setLogConfig() .
next() and prev() methods to QueryResult for seamless and stateful cursor-based pagination.ResultStatus (along with SuccessStatus and GeneralStatus) to represent granular item-level diagnostic outcomes, optimized for AI agents and automated scripts to precisely inspect operation results.LogRecord structure and LogLevel.critical level for human-intervention-required events.EncryptionScope (standard and full) to EncryptionConfig to allow users to customize the database encryption boundary, db.rotateEncryptionKey() for online encryptionKey rotation without rewriting encrypted data..db.updateSchema(...) return value from a plain String (taskId) to SchemaUpdateResult to carry validation statuses, task identifier, estimated duration, and migration write mode.LogConfig.setConfig in favor of ToStore.setLogConfig().DbResult, QueryResult, TransactionResult) and exception model DbException under a unified diagnostic architecture.ResultType to support granular error classifications with unique numeric codes and semantic string keys (codeKey).nextCursor and prevCursor to nextCursorToken and prevCursorToken to clarify their role as stateless pagination tokens.DbResult.isSuccess, DbResult.type, successKeys, failedKeys, and TransactionResult.isSuccess in favor of hasErrors, firstType, and firstPrimaryKey to eliminate semantic ambiguities in batch operations..watch() notifications for table clearing, drop table, restoration, and batch insert operations.Nothing published for this version
Nothing published for this version
Urgently fixed cache update issues for new key-value update operations (e.g., setMany ) introduced in 3.1.1.
setMany) introduced in 3.1.1.batchUpdate) introduced in 3.1.1.statvfs FFI struct field padding on 64-bit Linux to prevent memory heap corruption and crashes when retrieving disk free space.Fixed upsert validation for numeric unique keys
upsert validation for numeric unique keysbatchUpdate bulk update interface.db.kv namespace for advanced Key-Value operations (e.g., db.kv.get(), db.kv.clear(), db.kv.count(), db.kv.setMany()).count() performanceAdded support for key-value TTL expiration automatic cleanup via setValue(..., {Duration? ttl, DateTime? expiresAt})
setValue(..., {Duration? ttl, DateTime? expiresAt})db.watchValue and db.watchValues to facilitate UI refreshingwhereTrue、whereFalse、whereEmpty、whereNotEmpty、whereStartsWith、whereEndsWith3.0.9 Changed Optimized upsert handling for concurrently executed records when the primary key and unique key contain the same value Optimized WebAsse
3.0.9
Changed
Optimized upsert handling for concurrently executed records when the primary key and unique key contain the same value
Optimized WebAssembly build support on the Web platform
Optimized table structure migration validation
Improved table structure migration and integrity check error reporting, providing detailed failure reasons
Optimized documentation and multi-language
Fixed
Fixed an issue where composite index queries could fall back to table scans
Added aggregation functions: sum() , avg() , min() , max()
sum(), avg(), min(), max()groupBy(), having(), distinct() query supportAgg helper for inline aggregation in select()tableExists API to check whether a table is defined in the database schema (space‑agnostic)query('table').exists() chain API for efficient existence checks based on conditions without loading full recordsToStore.memory()), providing ultra-high performance for scenarios like data caching, temporary computation, or diskless environmentscount() consistency with write buffer and index scan pathswatch() with adaptive debounce to coalesce high-frequency data change notifications, avoiding redundant re-queries under burst writesbatchInsert insertion performance for large-scale batch write scenariosAdded aggregation functions: sum() , avg() , min() , max()
sum(), avg(), min(), max()groupBy(), having(), distinct() query supportAgg helper for inline aggregation in select()tableExists API to check whether a table is defined in the database schema (space‑agnostic)query('table').exists() chain API for efficient existence checks based on conditions without loading full recordsToStore.memory()), providing ultra-high performance for scenarios like data caching, temporary computation, or diskless environmentscount() consistency with write buffer and index scan pathswatch() with adaptive debounce to coalesce high-frequency data change notifications, avoiding redundant re-queries under burst writesbatchInsert insertion performance for large-scale batch write scenariosNothing published for this version
…by atomic replacement and stream reading Fixed vulnerability where the system could treat numeric values as bigint by default Fixed numerical precisio…
3.0.5
Added
Added ToCrypto for encrypting specific field values
Added batchUpsert for batch upsert operations
Added atomic condition judgment expressions for conditional updates and logic in expressions
Changed
Intelligent workload scheduling for more stable behavior under very large data volumes
Adjusted upsert API: removed chained query conditions; use atomic condition expressions for conditional upsert logic
switchSpace and close: added keepActive / keepActiveSpace options to manage active space for “keep login state” and “logout” scenarios, avoiding extra open-then-switch flow; opening with default space can use stored active space so the first open lands in the last used space
Optimized constraint and migration prompt wording and consistency
Standardized README and translation docs (multi-space, login state, and close examples)
Optimized documentation
Optimized initialization loading
Fixed
Fixed Windows file handle issues caused by atomic replacement and stream reading
Fixed vulnerability where the system could treat numeric values as bigint by default
Fixed numerical precision issues on Web
Fixed vulnerability where the system could treat numeric values as bigint by default
ToCrypto for encrypting specific field valuesbatchUpsert for batch upsert operationsupsert API: removed chained query conditions; use atomic condition expressions for conditional upsert logicswitchSpace and close: added keepActive / keepActiveSpace options to manage active space for “keep login state” and “logout” scenarios, avoiding extra open-then-switch flow; opening with default space can use stored active space so the first open lands in the last used spaceAdded foreign key support with comprehensive relationship management and referential integrity enforcement
Nothing published for this version
Nothing published for this version
Nothing published for this version
Removed automatic query cache management. A more efficient caching mechanism is now in place, making it unnecessary for non-large-scale data scenarios
limit, sorting, and pagination.dbName.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Refactored the value matching engine for more precise and efficient algorithm implementation.
setValue to DbResult for a more consistent and informative result model.compute performance by refining task distribution and resource management.Added DataType.json to support JSON and Map data types.
DataType.json to support JSON and Map data types.Implemented a unified parallel computing scheduler to manage and execute concurrent tasks efficiently.
noQueryCache method to allow explicit disabling of the query cache for individual queries.Nothing published for this version
Optimized cache cleanup logic for large-scale data scenarios.
Nothing published for this version
Added DefaultValueType to support default values that automatically fill current timestamp
DefaultValueType to support default values that automatically fill current timestampNothing published for this version
Implemented comprehensive intelligent parallel processing mechanism for database operations, boosting performance by several times
Nothing published for this version
Added useQueryCache and clearQueryCache APIs for fine-grained developer control over query caching
useQueryCache and clearQueryCache APIs for fine-grained developer control over query cachingcondition, whereCustom methods and QueryCondition builderNothing published for this version
Adjusted whether to delete backup files and whether to compress backup files when restoring them
### Changed - Adjust document example
Fixed string comparison issue where values with and without quotes weren't being matched comparison
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Cross-platform support for Web, Linux, Windows, Mobile, and Mac platforms
streamQuery) for efficient large data processingImproved auto increment setting validation and handling
Renamed renameTo to renameTable
renameTo to renameTabledropField -> removeFielddropIndex -> removeIndexFix data type conversion in DataStoreImpl
Added automatic schema upgrade support through schemas parameter
schemas parameterAdded upsert() for auto upsert data
upsert() for auto upsert dataAdded multi-language documentation support (日本語, 한국어, Español, Português, Русский, Deutsch, Français, Italiano, Türkçe)
Optimized multi-space switching
Your coding agent can read these notes before it upgrades. Set up the MCP server →