-
Notifications
You must be signed in to change notification settings - Fork 716
Description
General
IMPORANT NOTICE: FEATURES SCHEDULED FOR REMOVAL FROM NEXT MAJOR RELEASE:
Deprecated "standard" transaction API ref: Removing Web SQL transaction calls from next major release #720 (will continue to be supported by other plugin versions such as cordova-sqlite-ext and cordova-sqlite-evcore-extbuild-free)Windows platform support (also will continue to be supported by other plugin versions such as cordova-sqlite-ext and cordova-sqlite-evcore-extbuild-free)
NOTE: As discussed here and in #720 it would be problematic to remove the deprecated "standard" transaction API and Windows platform support. I hope to deliver a new express plugin version using internal sqlite3 libraries on Android/iOS/macOS, with Windows platform support, external sqlite3 dependencies, and likely "standard" transaction API removed (#740) within the next couple months or so.
Other general items:
- Test & document date/time handling along with pitfalls ref: Test & document date/time handling along with pitfalls #546
- Verify that all items in Upcoming minor release items #685 (upcoming minor release items) including "highly desired" items are done
Documentation
Should be documented in #685 (upcoming minor release items):
- Pitfalls of using WAL ref: WAL pitfalls cordova-sqlite-storage-help#10
- Use with https://github.com/dpa99c/cordova-sqlite-porter ref: Prepopulated database documentation fix [options] cordova-sqlite-storage-help#26
- Other prepopulated database documentation items ref: Prepopulated database documentation fix [options] cordova-sqlite-storage-help#26
Possible carryover from #685:
- Document why Windows AnyCPU target is not possible ref: Document why Windows AnyCPU target is not possible cordova-sqlite-storage-help#19
- Documentation of single-statement API ref: Documentation of single-statement API cordova-sqlite-storage-help#17
- Statement of compliance to Web SQL Database DRAFT API ref: Statement of compliance to Web SQL Database DRAFT API #553
Major release items:
- Custom fork/build instructions ref: Custom fork/build instructions #558
- More formal API description/documentation ref: More formal API description/documentation #560
Testing
Possible carryover from #685 (upcoming minor release items):
- Extremely large/small values ref: Extremely large/small values #627
Fixes & features
Should be fixed in #685 (upcoming minor release items):
- Function to get database directory path ref: Function to get [default] database directory path #680 (may be affected by Database storage in arbitrary path (Android/iOS/macOS/Windows) #681: Database storage in arbitrary path Android/iOS/macOS/Windows)
Possible carryover from #685:
- CREATE database if it does not exist should be optional ref: CREATE database if it does not exist should be optional #212
- Database storage in arbitrary path (Android/iOS/macOS/Windows) ref: Database storage in arbitrary path (Android/iOS/macOS/Windows) #681
- Deprecate other iOS database locations ref: Deprecate other iOS database locations #682
- Use UTF-8 encoding for Windows ref: Use UTF-8 encoding for Windows? #652
Major release items:
- Bind all numbers as REAL numbers ref: Bind all numbers as REAL values #684
- Browser platform support ref: Can be used with platform browser ? #297
- auto-vacuum option ref: AUTO-VACUUM or not? #646
- Safer Android defaults ref: Safer Android defaults #671
- Workaround for possible Android data loss (193) should be after every write ref: Workaround for possible Android data loss (193) should be after every write #672
- Secure delete by default ref: Secure delete by default #645
- Drop support for deprecated Android pre-4.0 calls to resolve Deprecated API build warning ref: Deprecated API build warning #611
- Silently stops after first SQL statement in statement list (minor data loss risk), should report error instead ref: Silently stops after first SQL statement in statement list #551
- Fix Windows 10 (UWP) platform version to run in background using web workers ref: Fix Windows 10 (UWP) version to run in background #686
ADDED ITEMS:
- Deprecate standard transaction mechanism ref: Deprecate standard transaction mechanism in next major release? #690 (This may go along with the possible redesign discussed in Possible redesign (new version) #548.)
- Plugin should reject attempts to execute BEGIN, COMMIT, or ROLLBACK.
- Drop support for Android pre-4.0
- Drop support for iOS pre-9.0 in testing & doc (iOS pre-9.0 is not supported by Cordova 7)
ChangeWILL NOT BE CHANGED: PRAGMA journal_mode is known to report delete in case of default android.database implementation (same as other platform implementations) on Android 8.1PRAGMA journal_modesetting topersiston all platform implementations ref: https://sqlite.org/pragma.html#pragma_journal_mode to minimize possible differences and possible ambiguities ref: WAL pitfalls cordova-sqlite-storage-help#10 (comment)- Revisit
@synchronizedlocks in iOS/macOS platform version - HIGHLY DESIRED to update SQLite version in new version of cordova-sqlite-storage/cordova-sqlite-ext/...; desired to match sqlite version used by SQLCipher
ADDED ITEMS FOR THIS PLUGIN VERSION ONLY:
Use built-in sqlite library on Android/iOS/macOS(planning to do this in a new express plugin version, at some point in the future)Drop support for(closeanddeletecalls in this plugin version (support forcloseanddeletecalls will be maintained in other versions such as cordova-sqlite-ext and cordova-sqlite-evcore-extbuild-free)close&deletecalls are needed to support selfTest)- Drop iOS database location option (again this would continue to be supported in versions such as cordova-sqlite-ext and cordova-sqlite-evcore-extbuild-free)
ADDED FOR OTHER PLUGIN VERSIONS:
- Review compile time options ref: https://sqlite.org/compile.html
OTHER ADDED ITEMS FOR CONSIDERATION:
- database.dispose() to dispose a single database handle, close database once all handle objects have been disposed
- Drop Apache 2.0 license option for Android and Windows platforms, MIT only for all platforms
- SQLITE_LOCKING_STYLE=1 seems to be automatically defined for Apple Darwin platforms (iOS/macOS), see if this would also work on Android/Windows
- result set with Array [] access but must keep item() function for compatibility ref: Query should return an array [...] #755
GENERAL ADDED DOCUMENTATION ITEM: MAJOR DOCUMENTATION CLEANUP NEEDED ref: storesafe/cordova-sqlite-storage-help#33 & #596 (comment)
TEST and DOCUMENT maximum record size ref: #474, #766
Timeline
At least 2-3 months, possibly longer due to existing backlog and other priority items. Hopefully in January or February 2018. GENERAL COMMENT: Priority goes to paid users. For more information please contact: [email protected]