Skip to content

Dexie v1.3.6-rc.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@dfahlander dfahlander released this 07 Apr 11:12
· 1785 commits to master since this release

News since v1.3.4

Features

  • WriteableTable.bulkPut();
  • WriteableTable.bulkDelete();
  • New options in Dexie constructor: indexedDB and IDBKeyRange. Makes it possible to specify a backing indexedDB implementation.
  • Support for WriteableTable.bulkAdd() for non-inbound primary keys (added second keys array argument)
  • Collection.raw() - inactivates 'reading' hooks for the collection. (Needed internally).
  • Collection.clone() - clone the collection to add additional filters without modifying existing collections.
  • Collection.filter() - alias to Collection.and().
  • Polyfilling 'versionchange' event on IE,Edge and Safari if happens in same window.

Optimization

  • Enormous optimization of WriteableCollection.delete() #208. Before it could take 30 seconds to delete 100,000 items. Now it takes just 300 ms on chrome and 3s on IE/Edge. 9ad2018, d539d18,

Help Debugging

  • Unless overriden, Dexie will now console.warn() by default for the following events:
    • Promise.on('error') (unhandled promise rejection)
    • db.on('blocked') (other db connection blocks us from upgrading or deleting db)
    • db.on('versionchange') (other db connection wants to upgrade or delete db)
  • db.transaction() will now fail if returning a non-Dexie promise. 1214974

Quality Assurance

  • Rigorously unit testing CRUD hooks f9176fe
  • eslint all Dexie modules.
  • Continous integration using travis and browserstack
  • In release script, unit tests run on various browsers. In this release, the following browsers were run:
    • Edge 13 on Windows 10
    • Firefox 45.0 on OS X El Capitan
    • Chrome 49 on OS X Mountain Lion

Fixes

  • Fixes in Error handling (DexieError and its sub classes) 21cdf2e, b417aa3, c48e2e6.
  • In some situations, Promise.on('error') was signaled even when a promise was handled.
  • IEDeleteObjectStoreBug still present on Windows Edge Browser #205
  • Adding version to bower.json
  • Bugs in CRUD hooks API:
    • Bug in hooks handling of bulkAdd() found via tests and corrected (when using non-inbound keys)
    • Bug in hooks handling of put() found via tests and corrected (when using non-inbound keys)
    • Found bug in Table.add() when direct error is thrown, neither onerror or onsuccess called on the hook subscribers.
    • 64c83f2
    • 214f215
  • If using and() on a collection that is executed with .keys(), .eachKey() or .eachUniqueKey(), the argument passed to and() was undefined.