Skip to content

Releases: dexie/Dexie.js

Dexie v4.0.1-alpha.12

30 May 22:15
Compare
Choose a tag to compare
Dexie v4.0.1-alpha.12 Pre-release
Pre-release

This release is replaced by 4.0.1-alpha.17

Dexie v3.2.4

30 May 21:07
Compare
Choose a tag to compare

Fixes in this maintenance release:

  • #1728 Make the optimisation in [email protected] work with [email protected]. In the latest version of dexie-react-hooks (version 1.1.5), live queries are optimised to not fire of unnecessary on render. However, this optimisation is dependant on that the observable returned from liveQuery has a method revealing whether it may be resolved synchronously or not (hasValue()). The optimisation requires dexie@>=3.2.4 or [email protected] together with [email protected].
  • #1677 Add //# sourceMappingUrl= to minified files. Fixes #326.
  • #1712 Add .d.mts files to support import types properly in preparation for future typescript release where this might be needed.

Dexie v4.0.1-alpha.10

28 Mar 22:47
Compare
Choose a tag to compare
Dexie v4.0.1-alpha.10 Pre-release
Pre-release

Better SSR support for NextJS and SvelteKit

This release (and related dexie-react-hooks release) comes with better behavior of liveQuery(). useLiveQuery() and useObservable() in SSR environments, as it makes sure that calling these from a node runtime without any indexedDB envirnomnent will result in a no-op. The result: Use these tools the same in Next.js as in vanilla React and in SvelteKIT as in vanilla Svelte - no need to check for SSR in application code anymore and no need to dynamically imported components doing dexie queries.

We also fixed the typings of our Observables returned from liveQuery() to be type-compatible with Svelte Readables (this was an issue when consuming liveQuery() results in Svelte using typescript).

Svelte users should install this prerelase of dexie instead of the stable version, but NextJS users may stay on the stable version of dexie if they prefer, and just upgrade dexie-react-hooks.

Full Next.js Support

  • Fixed more node errors that prevented nextjs SSR 19cdf0b
  • Better nextjs support for useLiveQuery(): 39484a3
  • Allow normal import of dexie-cloud-addon in nextjs: e18ee07

Full SvelteKit Support

Other fixes

  • Fix transaction typings #1685

We've also released...

[email protected]

  • Better nextjs support for useLiveQuery(): 39484a3

[email protected]

  • move rxjs deps out from peerDependencies and into ordinary dependencies
  • #1675 Dexie Cloud and NextJS improvements
  • #1691 Sveltekit fixes

[email protected]

  • progressCallback Problem? #1678

Dexie v4.0.1-alpha.8

17 Feb 08:42
Compare
Choose a tag to compare
Dexie v4.0.1-alpha.8 Pre-release
Pre-release

Minor fix

Append sourceMappingUrl in minified files

This fix makes the all JS files in the dist folder have the source mapping file pointed out so that bundlers can generate a correct final map file for the application or library that bundles dexie into it.

If dexie was used without bundling it into the app, this change will have no benefit as chrome devtools is still able to locate the map files without the mapfile comment-line.

Dexie v4.0.1-alpha.7

25 Jan 20:26
Compare
Choose a tag to compare
Dexie v4.0.1-alpha.7 Pre-release
Pre-release

Typings fix for Table.update(), Table.bulkUpdate() and Collection.modify()

In Dexie 4.0.1-alpha.6, Table.bulkUpdate() was introduced as well as improving the typings of Table.update(), Collection.modify() to using typescript template literals that would correcltly type the changes argument and provide a nice code completion. However, there was a typings bug in this release that made the typings unusable for updating nested properties.

This version fixes the typings of Table.update(), Table.bulkUpdate() and Collection.modify() so that they work according to the expected format.

Requires Typescript 4.8 or later

The typings in this release requires Typescript 4.8 or later in order to accept numeric keypaths and allow updating individual array items.

The UpdateSpec type

A new type UpdateSpec<T> is expected as the second argument to Table.update(). This type can also be imported from dexie when the library user need to build the updateSpec using custom code before finally send along to Table.update() or in an array keysAndChanges to Table.bulkUpdate().

import type { UpdateSpec } from 'dexie';

interface Contact {
  name: string;
  address: Address;
}

interface Address {
  city: string;
  street: string;
  streetNo: number;
}

let updateSpec: UpdateSpec<Contact> = {};

updateSpec["address.streetNo"] = 44;

db.contacts.update(1, updateSpec);

Dexie v3.2.3

23 Jan 13:15
Compare
Choose a tag to compare

Bugfixes:

This was fixed for 4.x but with this release it is also fixed in the official latest stable version of dexie.

Dexie v4.0.1-alpha.6

Dexie v4.0.0-alpha.4

30 May 22:30
Compare
Choose a tag to compare
Dexie v4.0.0-alpha.4 Pre-release
Pre-release
  • Fix for #1576 Node.js process not exiting when Dexie.js is imported
  • PR #1559 Support for FileSystemDirectoryHandle when cloning

Dexie v4.0.0-alpha.3

27 Apr 13:40
Compare
Choose a tag to compare
Dexie v4.0.0-alpha.3 Pre-release
Pre-release

Security fix

Prohibit possible prototype pollution in Dexie.setByKeyPath() (1d655a6)

Bugfix

Fix #1473 Cannot use Dexie in react-native

A corresponding release 3.2.2 contains the same fixes for 3.x.

Dexie v3.2.2

27 Apr 13:39
Compare
Choose a tag to compare

Security fix

Prohibit possible prototype pollution in Dexie.setByKeyPath() (1d655a6)

Bugfix

Fix #1473 Cannot use Dexie in react-native

A corresponding release 4.0.0-alpha.3 contains the same fixes for 4.x.