Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

December 2020 update #33

Merged
merged 134 commits into from
Aug 5, 2021
Merged

December 2020 update #33

merged 134 commits into from
Aug 5, 2021

Conversation

brodycj
Copy link
Collaborator

@brodycj brodycj commented Jan 7, 2020

with 0.5.0-rc3 tag (updated):

  • remove some extra console.log statements not needed from the plugin JavaScript, mostly related to the openDatabase call
  • SQLite 3.34.0 update - includes some security updates, mostly needed for applications that use untrusted SQL operations
  • cordova-sqlite-storage updates:
    • PSPDFThreadSafeMutableDictionary now in a custom module, with a custom class name, to avoid potential conflicts for some users
    • rename src/windows/SQLite3-Win-RT to src/windows/SQLite3-WinRT-sync
    • drop support for Android pre-Honeycomb (3.2.x)
    • rename iOS syntax error constant to avoid conflict with Cordova File API plugin
    • use SQLITE_DBCONFIG_DEFENSIVE option on iOS, macOS ("osx"), and Windows (this option was already used on Android) - for extra security against untrusted SQL operations
    • remove obsolete iOS autorelease code that is now superseded by ARC (automatic reference counting) for a number of years
    • avoid incorrect default directory on iOS/macOS - to be extra safe (see SQLite DBs may be getting backed up to iCloud storesafe/cordova-sqlite-storage#907)
      • ensure that default "nosync" directory always has resource value set for NSURLIsExcludedFromBackupKey
      • add more checks for missing database directory
  • cordova-sqlite-evcore-extbuild-free updates from 2019:
    • internal database runner hash maps now private and non-static

Testing: remove existing Cordova SQLite plugin version then add this update using the following command:

cordova plugin add github:mobilexag/cordova-sqlite-evplus-ext-free#0.5.0-rc3

Christopher J. Brody added 30 commits November 6, 2018 22:11
for androidDatabaseProvider: 'system' setting,
to avoid possible crash during app shutdown

(cordova-sqlite-storage 2.5.2)

Resolves storesafe/cordova-sqlite-storage#833
with security update and support for window functions

using cordova-sqlite-storage-dependencies@1.2.1

and add another upcoming breaking change

Resolves storesafe/cordova-sqlite-storage#837
plugin version branch

Note that this plugin version branch is made for easy merge of
changes into the cordova-sqlcipher-adapter plugin version
with SQLITE_DEFAULT_SYNCHRONOUS=3 (EXTRA DURABLE) compile-time setting

from cordova-sqlite-storage-dependencies@1.2.1
(should be considered a POSSIBLY BREAKING change)

ref: storesafe/cordova-sqlite-storage#769
should be considered a POSSIBLY BREAKING change

ref: storesafe/cordova-sqlite-storage#769
(android.annotation.SuppressLint) - POSSIBLY BREAKING CHANGE
SQLITE_THREADSAFE=1 build setting was used in
cordova-sqlite-ext-common 0.0.1
Note that a 0.x.x version identifier is used in this
plugin version branch since it is not ready for production,
due to missing SQLITE_DBCONFIG_DEFENSIVE option setting
on Android.
- use standard Promise
- get the plugin package name from package.json
- use const instead of var
- remove hasbang line that is not needed

NOTE that this update should be considered a
POSSIBLY BREAKING CHANGE since const may not work
on some really old Node.js versions.
Note that this means that minimum of Node.js version 6
is required for prepareSpec.js to work.

(This should not impose such a minimum Node.js version
on Cordova projects *using* this pluign.)
@brodycj brodycj mentioned this pull request Jan 7, 2020
(cordova-sqlite-evplus-ext-free 0.5.0-rc2)
@brodycj
Copy link
Collaborator Author

brodycj commented Feb 11, 2020

updated December 2020

Here are the functional changes to the plugin implementation in JavaScript and native side on Android, iOS, macOS ("osx"), and Windows:

  • remove some extra logging from this plugin version, mostly related to the openDatabase call
  • SQLite 3.34.0 update, with Android implementation built from: https://github.com/brodybits/android-sqlite-evcore-native-driver-free/tree/evcore-sqlite3-eu-support
  • Use SQLITE_DBCONFIG_DEFENSIVE flag on Windows (this was already done on iOS, macOS ("osx"), and Android)
    • rename src/windows/SQLite3-Win-RT to src/windows/SQLite3-WinRT-sync
    • Completely remove old Windows 8.1 & Windows Phone 8.1 vcxproj files
    • Move SQLite3.UWP.vcxproj out of extra SQLite3.UWP subdirectory
  • Use PSPDFThreadSafeMutableDictionary (with a customized class name) for iOS & macOS ("osx") to avoid threading issue
  • Completely remove old Android SuppressLint (android.annotation.SuppressLint)
  • drop workaround for pre-Honeycomb Android API
  • internal Android plugin state is now 100% private and non-static
  • avoid incorrect default directory on iOS/macOS - to be extra safe (see SQLite DBs may be getting backed up to iCloud storesafe/cordova-sqlite-storage#907)
    • ensure that default "nosync" directory always has resource value set for NSURLIsExcludedFromBackupKey
    • add more checks for missing database directory

- to be extra safe

(see <storesafe/cordova-sqlite-storage#907>)

- ensure that default "nosync" directory *always* has resource value
  set for `NSURLIsExcludedFromBackupKey`
- add more checks for missing database directory
- add comparison of supported plugin versions near the beginning
- updated list of breaking changes coming soon
- hide browser usage notes for now (at least)
- other minor updates
Merge branch 'cordova-sqlite-ext-common' of https://github.com/brodybits/cordova-sqlite-ext into cordova-sqlite-evcore-commoncore-free
Merge branch 'cordova-sqlite-evcore-commoncore-free'
@brodycj brodycj marked this pull request as draft December 16, 2020 06:17
@brodycj brodycj changed the title January 2020 update December 2020 update Dec 16, 2020
@brodycj brodycj marked this pull request as ready for review December 16, 2020 06:43
@kryops
Copy link

kryops commented Jul 29, 2021

Hi @brodybits ,

sorry, we must have totally overlooked this PR 😞

We are now running into storesafe#9 on Android as we updated to targetSdkVersion 30 recently.
Could you update this PR to a newer version that incorporates the upstream fix?

Thanks a lot!

Kind regards
Michael

@brodycj brodycj merged commit 99f9b1f into master Aug 5, 2021
@brodycj brodycj deleted the brodybits-update-2020-01 branch August 5, 2021 01:49
@brodycj
Copy link
Collaborator Author

brodycj commented Aug 5, 2021

The issue with Android 11 & target SDK 30 will be resolved in a new PR ... thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants