Releases: dexie/Dexie.js
Dexie v1.3.3
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
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
This release only have some README.md typo fixes since v1.3.0. See release notes for 1.3.0.
Dexie v1.3.0
Dexie v1.3.0 was at last released, six months after the previous release, 1.2.0. There are a lot of news, check out!
New features
-
New WhereClause methods
-
Improved WhereClause methods:
noneOf() Supports large array as argument
notEqual() More efficient -
Support for using yield (as await)
-
New method for improved performance when adding thousands of items into a table:
-
Updated Typescript definition.
Module based instead of global.
Supports latest typescript compiler.
typings attribute in package.json eliminates the need of DefinitelyTyped and tsd.
"typescript.definitions"attribute in package.json makes tsd detect the typings in github. -
Support for the new standard module format "es6" (separate output).
File Structure Update
-
The files in the
dist
directory has been moved.dist/latest
is removed and files are put directly underdist
and are all in lowercase. -
Dist files are removed from the
master
branch. They are only checked in by therelease.sh
script in thereleases
branch so that each release will have them (so that our bower users get happy). -
Addons are no more part of the npm package (or bower package). They are also ES6 based and have their own build system. They are released separately as their own npm modules
npm install dexie-observable --save npm install dexie-syncable --save
-
Bower users can also install the npm modules through:
bower install https://npmcdn.com/dexie-observable@SEMVER/bower.zip bower install https://npmcdn.com/dexie-syncable@SEMVER/bower.zip
...where SEMVER is a version query in semver format, such as 0.1.x, ~0.1.2, ^0.1.3 etc.
Bugfixes
Wow, there's been a lot of small little fixes. 6 months are hard to conclude here. Read the commit log to see the details.
Build-, Test and Release system
Introduced scripts for building, testing and releasing Dexie.js. Source code is migrated to the ES6 module format as a base for further refactoring of Dexie.js into separate modules. Now, to contribute to Dexie.js you will need to:
npm install
npm run build
or npm run watch
And to test in command line (thanks to @YuriSolovyov)
npm test
There's a little guide in README#Contributing on how to use npm link
to symlink you github clone to your app's node_modules/dexie, which works perfectly well on windows systems as well.
Dexie v1.2.0
New Features
- New method: WhereClause.startsWithAnyOf()
- New method: WhereClause.noneOf()
- New method: WhereClause.notEqual()
- New method: Dexie.exists()
- Simplified and improved auto-complete a lot when using Dexie with Visual Studio Intellisense
API Changes
Solved Issues
- Issue #125 Can't properly require with requirejs. Solved in pull Request #126 Do not define name for require.js
- Issue #113 Can't define class when table with composite key
- Issue #78 Workaround for chrome bug: Transaction promise never completes on low disk space in chrome apps
- Issue #134 Safari Private Browsing
- Issue #114 mapToClass() prototype mess ...
- Issue #123 Mini bug on line 70 Full Text Search 2 Sample
Dexie v1.1.0
New Features
- New addon Dexie.Yield gives support for ES6 yield for awaiting Promises in the exact same way as with synchronous multithreaded programming. Works TODAY on Chrome, Opera and Firefox without transpiling(!)
// Include addon "Dexie.Yield", and simplify your application code dramatically:
db.transaction('rw', db.friends, db.pets, function* () {
var catId = yield db.pets.add({ name: "Tito", kind: "cat" });
var dogId = yield db.pets.add({ name: "Josephina", kind: "dog" });
var friendId = yield db.friends.add({ name: "Gurra G", pets: [catId, dogId] });
var gurra = yield db.friends.where('name').equals("Gurra G").first();
var gurrasPets = yield db.pets.where('id').anyOf(gurra.pets).toArray();
console.log(JSON.stringify(gurrasPets));
});
In short, any method that returns a promise can be yielded instead of .then():ed. See more samples in tests-yield.html
- Typescript definition file added (nuget: Install-Package dexie.TypeScript.DefinitelyTyped)
- Support for AMD Module Loading (see samples/requirejs)
API Changes
- Dexie.spawn() deprecated and replaced by Dexie.ignoreTransaction(). Still backward compliant though.
Solved Issues
- Fixed broken CommonJS support (browserify) with sample added.
- #81: TypeError undefined not an object. Kind of a regression bug. Systems that lacks indexedDB should get a promise rejection on db.open() not a TypeError thrown at them.
- #102 Empty array in anyOf()
- Broken intellisense / code completion when using Visual Studio 2013.
- Transaction/Promise issues #91, #95 and #97
- A little bit more defensive to IndexedDBShim issues
- #62 Performance improvement on mobile devices
- #100 Must abort upgrade transaction if schema error
Dexie v1.0.4
Fixes since v1.0.3:
Features:
- Global exception handler for promises #69 (Promise.on('error'))
- Issue #77: Make Dexie adapt to IndexedDBShim without hacks when it's included
- HTML5 web worker support #76
- Commit 635c7f1: May create a Dexie instance with inactive addons
Bugs:
- Exception can be thrown in WhereClause methods #67
- If returning a Promise from from a sub transaction, parent transaction will abort #71
- Neither this.onsuccess or this.onerror called for hook('updating') #72
- Exception in a promise may result in loosing the callback totally #73
- Issue #66 Using Dexie.js inside Chrome App
- Possible stall if error in modify()/delete() (commit c889d84)
- Support for using other db within a transaction (commit 8d9c062)
Bugs in addons:
Dexie v1.0.3
Safari native indeedDB support.
- This version contains workaround for Safari's native indexedDB. Note however, that a transaction must not include multiple stores since Safari has that limitation. But if you keep querying one object store at a time, it will work with native Safari.
Alternate Safari support using indexedDBShim:
- For those prefering indexedDBShim, the shim became unfunctional since Safari released its native support. Latest version of indexedDBShim uses a workaround for that that this version of Dexie should be compatible with (untested).
Dexie v1.0.2
Released v1.0.2 and removed the ambigous 'allversions' dir
Dexie v1.0.1
Releasing patch version 1.0.1