Skip to content

Major release with possible enhancements & breaking changes #773

@brody4hire

Description

@brody4hire

Major

Under consideration, as of February 2019:

Highly desired (not promised):

Breaking changes

  • SQLITE_DBCONFIG_DEFENSIVE database 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 code going away, will be set to 0 in 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' or iosDatabaseLocation setting 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 @synchronized blocks 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions