WCDB v1.0.4 Release Notes

Release Date: 2017-09-14 // almost 5 years ago
  • Repair Kit

    • โž• Add sqliterk_cancel function to cancel ongoing output operations.
    • โž• Add corresponding Java interface to cancel operations on Android.

    ๐ŸŽ iOS/macOS

    • ๐Ÿ‘ Builtin WCTColumnCoding supports all id<NSCoding> objects now.
    • Compatible with iOS 11.
    • 0๏ธโƒฃ Fullfsync is used by default for data integrity.
    • โž• Add -initWithExistingTag: for WCTDatabase to get existing database without path.
    WCTDatabase* database = [WCTDatabase [alloc] initWithPath:path];
    database.tag = 123;
    WCTDatabase* withoutPath = [[WCTDatabase alloc] initWithExistingTag:123];
    • ๐ŸŽ Some minor bug fixes, performance improvement and code refactor.


    • โž• Add asynchronous checkpointing support and custom checkpointing callback. This can improve performance in WAL mode.
    SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabaseInWalMode(...);
    // Use asynchronous checkpointing.
    // OR use custom checkpointer.
    SQLiteCheckpointListener callback = new SQLiteCheckpointListener() {
    • โž• Add SQLiteTrace.onConnectionObtained(...) interface to trace concurrency performance.
    • โž• Add cancelable version of SQLiteDatabase.execSQL(). See CancellationSignal for details.
    CancellationSignal signal = new CancellationSignal();
    db.execSQL(longRunningSQL, args, signal);
    // on another thread
    • Enable SQLITE_ENABLE_FTS3_PARENTHESIS compilation option on SQLCipher, which enables AND, OR operators in FTS3/4.
    • ๐Ÿšฆ Use CancellationSignal for canceling BackupKit, RecoverKit and RepairKit operations. See repair sample for details.
    • โž• Add callback interface for RepairKit to show progress to the users. See RepairKit.Callback and RepairKit.setCallback().
    • Do not load libwcdb.so if it's already loaded on the first use. This makes WCDB compatible to Tinker framework.
    • ๐Ÿ›  Various bug fixes.