Repository navigation
v0.5.1
Patch release: reject tables with no usable internal rowid at registerSync (ADR-0015), and align SyncMixin's WebSocket handler types with their implementation.
Fixed
registerSyncnow rejects tables with no usable internalrowid(ADR-0015). The cold-snapshot/fetch reader defaults toORDER BY rowidwhen the client sends noorderBy. AWITHOUT ROWIDtable has no rowid, so that read threwno such column: rowidand hung the subscriber; a table with a declaredrowidcolumn shadows the internal one, so the read would silently sort by that arbitrary column.assertSyncCompatiblenow rejects both loudly atregisterSync, alongside the existingINTEGER PRIMARY KEYguard. Ordinary rowid tables (the documentedid TEXT PRIMARY KEYpattern) are unaffected.SyncMixin's declaredwebSocketClose/webSocketErrornow match their implementation. Both were typed as returningPromise<void>while the mixin's overrides returnvoidsynchronously (there is nothing to await — both just drop bookkeeping for the closed socket). Retyped tovoid | Promise<void>, mirroring@cloudflare/workers-types's ownDurableObjectinterface.webSocketMessageis genuinelyasyncand is unaffected. Cosmetic: no runtime behavior changed, only the emitted.d.ts.
Full Changelog: v0.5.0...v0.5.1