Skip to content

Releases: dexie/Dexie.js

Dexie v1.3.6-rc.1

07 Apr 11:12
Compare
Choose a tag to compare
Dexie v1.3.6-rc.1 Pre-release
Pre-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.

Dexie v1.3.6-beta.3

06 Apr 13:53
Compare
Choose a tag to compare
Dexie v1.3.6-beta.3 Pre-release
Pre-release

Quality assurance:

  • Run eslint on all code and enforce eslint passing in release script
  • Launch unit tests on browserstack d9228dc in release script. Currently just Chrome, Firefox and Edge. Will add more devices and browsers later.
  • Code review and some actions taken b29ec59:
    • Separating extend() into extendProto() and extend() (different use cases).
    • db-classes (Collection, Table etc) now have non-enumerable methods now on their prototype.
    • New method dump() on errors derived from DexieError. Returns string. To be used instead of (e.stack || e). It will dump name, message and stack. Like 'stack' on chrome but also for Firefox.
    • Static method Dexie.dump(error). Works as DexieError.dump().
    • Promise default uncaught handler: console.warn() instead of console.error().
    • Typescript definitions updates.

Dexie v1.3.6-beta.2

05 Apr 15:12
Compare
Choose a tag to compare
Dexie v1.3.6-beta.2 Pre-release
Pre-release
  • Bug in bulkPut() when using CRUD hook and mixing updates and creation ed19e64
  • eslint corrections + moved 'stack' method between modules. 2d42749
  • Throw if not using Dexie.Promise from transaction scopes. … 1214974

Dexie v1.3.6-beta.1

04 Apr 13:29
Compare
Choose a tag to compare
Dexie v1.3.6-beta.1 Pre-release
Pre-release

Several improvements and bugfixes:

  • Big optimization of WriteableCollection.delete() (this time it DOESN'T crash IE or Edge!)
  • Support for bulkPut() and bulkDelete().
  • New methods on Collection: Collection.raw() and Collection.clone()
  • Default console.warn() when db upgrade or deletion was blocked (overridable)
  • Rigorous unit testing of CRUD hook api. Found and corrected several bugs.
  • Updated typings with added methods.

Production release will come within couple of days...

Dexie v1.3.5-beta.2

23 Mar 23:51
Compare
Choose a tag to compare
Dexie v1.3.5-beta.2 Pre-release
Pre-release
  • #208 Optimization of WriteableCollection.delete()
  • Feature: Possible to provide the indexedDB and IDBKeyRange implementation in Dexie constructor (using options.indexedDB and options.IDBKeyRange).
  • Bugfix in DexieError subclasses - didnt set inner property. b417aa3
  • Bugfix: Promises never return on node (when MissingAPIError was thrown)
  • By default, log to console.error if any Promise was uncaught #206
  • False alarms in Promise.on('error') (also explained in #206)
  • Bugfix:
    IEDeleteObjectStoreBug still present on Windows Edge Browser #205

Dexie v1.3.5-beta

23 Mar 23:07
Compare
Choose a tag to compare
Dexie v1.3.5-beta Pre-release
Pre-release
  • Feature: Possible to provide the indexedDB and IDBKeyRange implementation in Dexie constructor (using options.indexedDB and options.IDBKeyRange).
  • Bugfix in DexieError subclasses - didnt set inner property. b417aa3
  • Bugfix: Promises never return on node (when MissingAPIError was thrown)
  • By default, log to console.error if any Promise was uncaught #206
  • False alarms in Promise.on('error') (also explained in #206)
  • Bugfix:
    IEDeleteObjectStoreBug still present on Windows Edge Browser #205

Dexie v1.3.4

17 Mar 22:05
Compare
Choose a tag to compare

Bugfixes

  • dexie seems to be published as an ES6 module on JSPM #195
  • Including built addons for dexie's bower package (Bower install for addons #185)
  • Missing stacks on exceptions
  • bulkAdd() support on non-inbound tables if primKey is auto incremented (#90)
  • SecurityError when storage is disabled #158
  • Removed the "typescript/definitions" element of package.json (commit 0eaec3b)
  • Typescript definitions should now cover the entire public API and is a little smarter.
  • Bugfix in typescript sample (commit 4038135)
  • addons have peerDependencies instead of dependencies.

Development environment

  • "build" renamed to "tools".
  • Include src, build and test in npm- and bower packages (can be nice to be able to see or lab with the code without having to fork and clone. Also, I believe it is more conventional to point jsnext:main to src, not dist)
  • Include addons in bower packages (not npm, because they have their own npm packages)
  • Removed es6 output from dist and instead point jsnext:main to src/Dexie.js
  • Refactored Dexie.js some more - extracted more classes and functions.
  • Unit tests can utilize "spawnedTest" instead of "asyncTest" for prettier code using yield.

Minor changes:

  • Renamed class Dexie.events to Dexie.Events (backward compatible though!)
  • Dexie.errnames changed (commit d24b098)
  • Support for arrow functions in modify (9e9ae05)

Dexie v1.3.3

11 Mar 16:10
Compare
Choose a tag to compare

News:

  • DexieError and sub exception classes - improved exception handling #189. All errors coming out from Dexie will now be of different types
  • New option in Dexie constructor: autoOpen: false new Dexie("name", {autoOpen: false})
  • Fixed fault in jspm support (jspm didnt detect dexie.es6.js as es6 module)
  • Fix for falsy keys in put() and add() #175 when there are CRUD hooks going on.
  • Updated dexie.d.ts with bulkAdd() method.
  • README updates

Dexie v1.3.2

09 Mar 11:52
Compare
Choose a tag to compare

Features:

  • Support for option {autoOpen: false} in Dexie constructor.

Fixes:

  • bower install for addons
  • Issue with Typescript and Dexie #186,#188
  • Explicit support for jspm in package.json

For all the details, see https://github.com/dfahlander/Dexie.js/commits/master

Dexie v1.3.1

07 Mar 12:24
Compare
Choose a tag to compare

This release only have some README.md typo fixes since v1.3.0. See release notes for 1.3.0.