This release introduces Blob Offloading and String Offloading for Dexie Cloud, enabling efficient handling of large binary and text data. It also includes IDB 3.0 optimizations and several bug fixes.
Related Package Releases
| Package | Version |
|---|---|
| dexie | 4.4.0 |
| dexie-cloud-addon | 4.4.3 |
| dexie-cloud-common | 1.0.59 |
| dexie-react-hooks | 4.4.0 |
| dexie-export-import | 4.4.0 |
New Features
⚡ IDB 3.0 Optimizations
Leverages IndexedDB 3.0 getAll(options) for more efficient key range queries, reducing overhead for collection operations.
📦 Blob Offloading for Dexie Cloud
Large binary data (Blob, File, ArrayBuffer, TypedArray) is now automatically offloaded to cloud blob storage during sync. Data is stored normally in IndexedDB — offloading happens transparently during the sync process.
- Automatic offloading: Binaries ≥ 4 KB are offloaded to blob storage during sync
- Lazy resolution: BlobRefs are resolved back to their original types on first read
- Optional Lazy blob mode: Configure
blobMode: 'lazy'to download blobs on-demand instead of eagerly after sync (default is 'eager') - Progress tracking: Observable
db.cloud.blobProgressfor download progress
import Dexie from 'dexie';
import dexieCloud from 'dexie-cloud-addon';
const db = new Dexie('mydb', { addons: [dexieCloud] });
db.version(1).stores({ photos: '@id, title' });
db.cloud.configure({ databaseUrl: '...', blobMode: 'eager' });
// Store binary data — syncs normally, offloads transparently
await db.photos.add({
title: 'Vacation',
image: new Blob([imageData], { type: 'image/jpeg' })
});📝 String Offloading for Dexie Cloud
Long strings are now offloaded to blob storage during sync, keeping IndexedDB data compact while preserving full string content in the cloud.
- Configurable threshold:
maxStringLengthoption (default: 32768 characters) - Transparent: Offloaded strings resolve back to regular strings on read
- IndexedDB unchanged: Full strings remain in local IndexedDB
db.cloud.configure({
databaseUrl: '...',
maxStringLength: 32768 // Strings longer than this are offloaded (default)
});Bug Fixes
- fix(dexie-export-import): Fix UTF-8 corruption for non-ASCII strings during import (#2259)
- fix(dexie-cloud): Always offload Blob/File objects regardless of size (#2182)
- fix(react-hooks): Avoid direct React.use access for React < 19