Handling out-of-sync state.
tables property + firstKey() & lastKey()

this context in db.transaction()
===================

Specifies the this-pointer to the Transaction object in db.transaction()
scope

db.tables property
============

Added a new property db.tables that is the Array of table instances.
Handy when needing to iterate all table instances and do stuff on them.
Also possible to use if starting a transaction against all tables in db:
db.transaction('rw', db.tables, function () {
var transaction = this;
});

Collection.firstKey() and Collection.lastKey()
============================
Added Collection.firstKey() that is a shortcut for
Collection.limit(1).keys(function(a){ return a[0]}

Also lastKey() that is shortcut for Collection.revese().firstKey()

Notice that all keys() operations such as eachKey(), lastKey(),
firstKey() etc only works when the WhereClause or orderBy is working on
an indexed property - not when working on the primary key. This is due
to that IDBObjectStore lacks the openKeyCursor() method that IDBIndex
has.
Dexie.Syncable version 0.1 (not tested yet)

The Dexie.Syncable addon enables two-way syncronization with a remote
server. The addon is dependant on Dexie.Observable and a custom
implementation of the ISyncProtocol API defined in
Dexie.Syncable.SyncProtocolAPI.js.

There are examples in
sampes/remote-sync/websocket/WebSocketSyncProtocol.js and
WebSocketSyncServer.js. Currently these examples are not yet tested. The
aim is to create a unit test using these samples and verifying the
entire sync framework.