github dexie/Dexie.js v2.0.0-rc.1
Version 2.0.0-rc.1

latest releases: v4.0.0-alpha.4, v3.0.4, v4.0.0-alpha.3...
pre-release7 years ago

This is a stability release with:

  • Improved browser support (latest Safari, Firefox and Chrome)
  • IndexedDB 2.0 support
  • Typings fixes
  • Optimization of addon dexie-syncable.

We will try to get out a 2.0.0 version very soon, as this branch feels way more stable and reliable than the 1.x branch (that is currently still marked as 'latest' on npm).

Native Safari Support

Safari 10.1 is now at last fully IndexedDB compliant and part of the CI tests of Dexie. We run the Safari tests on an IPhone 7 device at browserstack.com. IndexedDBShim is no more needed when targeting latest version of Safari (10.1).

Full test matrix is now:

BrowserVersionOSAuto-tested for each PRAuto-tested in release.sh
Firefox 47 Debian
Internet Explorer 11 Windows 7
Firefox 55 Windows
Safari 10.1 iOS
Firefox 47 OS X
Microsoft Edge 15 Windows 10
Chrome 49 OS X
Chrome 60 Windows

We use travis ci and browserstack for continous integration and automatic pre-relase tests. If you'd like to extend the test matrix, please file a PR where you add your desired browser to karma.browers.matrix.js. You must also define the browser in karma.browserstack.js. Submitting the PR will tell whether it would work or not (if adding you new browser to the "ci" array of karma.browsers.matrix.js and defining the same browser in karma.browserstack.js).

NOTE: Integration tests of dexie-observable, dexie-syncable and dexie-relationships are not tested against the full matrix quite yet. Will see if we can improve that somehow before 2.0.0 final.

IndexedDB 2.0 support

Unit tests of Binary Keys (IndexedDB 2.0 feature) has been fixed along with some issues in Dexie related to binary key support. Binary Keys are a more optimal way of storing binary data in IndexedDB. IndexedDB 2.0 supports any typed array (such as Uint8Array, Float64Array, etc) as well as ArrayBuffer to be indexed or used as primary key. Browsers that support IndexedDB 2.0 are: Firefox(*), Chrome, Opera and Safari.

(*) Firefox < 57 have an issue with using binary keys as primary keys. This issue was fixed recently and will be solved in Firefox 57 (a future release).

List of PRs since 2.0.0-beta.11

  • #540 Fix typing for .on('ready')
  • #534 Make hook callbacks compatible with typescript noImplicitThis option
  • #570 Change apply-changes to use a transaction to manage changes instead of using chanined promises.
  • #579 Workaround for Safari issue with getAll()
  • #580 Fix typescript (type error) on adding addons
  • #581 Fix IndexedDB 2.0 flaws in Dexie and make unit tests of binary keys work.
  • #583 Include Safari and smartphones in test suite and fix Dexie bugs and -workarounds for making Safari work fully with Dexie.

Don't miss a new Dexie.js release

NewReleases is sending notifications on new releases.