-
Notifications
You must be signed in to change notification settings - Fork 716
Open
Description
Major
Under consideration, as of February 2019:
- browser platform support using kripken / sql.js as discussed in WIP: initial browser platform #576
- combine this plugin version together with cordova-sqlite-ext, no more separate version to get pre-populated databases and other extra/extended features (Whether to keep separate cordova-sqlite-ext version or not? #529)
- will likely be moved to a new organization name due to personal rebranding (Rebranding #770)
Highly desired (not promised):
Include typings from DefinitelyTyped (Add plugin typings #768)- use UTF-8 internal encoding format on Windows in addition to Android, iOS, and macOS (Use UTF-8 encoding for Windows? #652, Major release items #687 (comment))
- link to recommended starting point for Ionic 3
- Arbitrary database location, especially for Android & Windows ref: Database storage in arbitrary path (Android/iOS/macOS/Windows) #681
Breaking changes
SQLITE_DBCONFIG_DEFENSIVEdatabase option (SQLITE_DBCONFIG_DEFENSIVE flag #838) - to be part of a special major release in January or February 2019- drop support for old Android versions as discussed in Ending support for old Android versions #771:
- definite: Android pre-4.0
- extremely likely: Android 4.0
- very likely: Android 4.1-4.3
planned (open for feedback and discussion): Android 4.4, old armeabi CPU (seems to be replaced by armeabi and arm64-v8a, does not seem to be supported by Android 5.0 and greater)
- error
codegoing away, will be set to0in the coming major release (Error code member going away #821) - drop support for iOS 8.x (was already dropped by [email protected])
drop Android NDK build for x86_64 (Drop Android x86_64 build #772, open for discussion; x86 NDK build will also work on x86_64 device, if no other plugins have NDK build for x86_64)- legacy location: 0-2 values will no longer be supported; please use
location: 'default'oriosDatabaseLocationsetting in openDatabase as documented
Possibly breaking changes
- Use of databases with multi-byte UTF-8 characters, control characters, and other special characters may be broken by changes for UTF-8 internal encoding (Use UTF-8 encoding for Windows? #652) on Windows (already NOT RECOMMENDED in the existing documentation)
- iOS/macOS remove workaround for missing objc_arc feature & remove extra
@synchronizedblocks no longer needed (iOS/macOS backgrounding fix #769; risk of actual breakage is expected to be very low) iOS/macOS signal error result in case of attempt to open database with no name in internal JSON interface (internal plugin error) - already done- Update default page size ref: Update default page size #781
Other
Time permitting:
- SQL result rows with array index access (
[...]) in addition to.item(...)member function (Result rows with array & map access brody4hire/cordova-sqlite-ext#71) - more sensical androidDatabaseImplementation value such as 'system' to select use of system builtin android.database.sqlite access implementation instead of default NDK sqlite-native-driver implementation
- resolve crash issue on Android in case of SELECT X'FFD1FFD2'
- remove internal qid from JavaScript (no longer needed)
- use coffeescript@2 to compile
SQLitePlugin.coffee.md - clarify use of SQLite3 NDK build on Android in documentation
- fix git repo URL in package.json ref: Master #701
- non-static db runner map on Android ref: sql operations hangs on Android #763 (comment)
- Fix CoffeeScript/JavaScript to handle backgroundExecuteSqlBatch error callback as an internal error ref: sql operations hangs on Android #763
- Fix Android implementation to block attempts to open database after onDestroy is called ref: Fix ProGuard issue with map.keySet() on Java 8 #697
- try to fix Travis CI / Circle CI
- check U+0000 behavior on iOS vs Android, Windows, Web SQL, ...
- consistent whole number bindings on all platforms
- other major release changes listed in Major release items #687