Releases: powersync-ja/powersync-js
Releases · powersync-ja/powersync-js
@powersync/kysely-driver@1.3.0
@powersync/drizzle-driver@0.5.0
@powersync/diagnostics-app@0.9.6
@powersync/common@1.36.0
@powersync/attachments@2.4.0
@powersync/adapter-sql-js@0.0.3
@powersync/adapter-sql-js@0.0.2
yjs-react-supabase-text-collab@0.2.0
- Added a local development option with local Supabase and PowerSync services.
- Updated Sync rules to use client parameters. Each client now only syncs
documentanddocument_updatesfor the document being edited. - Updated
PowerSyncYjsProviderto use an incremental watched query fordocument_updates.
@powersync/web@1.25.0
Minor Changes
- 79acd89: Export AsyncDatabaseConnection (and related) types for internal use
- c7d2b53: Improved query behaviour when client is closed. Pending requests will be aborted, future requests will be rejected with an Error. Fixed read and write lock requests not respecting timeout parameter.
Patch Changes
- 319012e: Fixed bug where a WebSocket connection timeout could cause an uncaught exception.
- 6b38551: Fix a warning about raw tables being used when they're not.
- Updated dependencies [319012e]
- Updated dependencies [c7d2b53]
- Updated dependencies [6b38551]
- Updated dependencies [a1abb15]
- @powersync/common@1.35.0
@powersync/vue@0.3.0
Minor Changes
-
c7d2b53: [Potentially breaking change] The
useQueryhook results are now explicitly defined as readonly. These values should not be mutated.- Added the ability to limit re-renders by specifying a
rowComparatorfor query results. TheuseQueryhook will only emitdatachanges when the data has changed.
// The data here will maintain previous object references for unchanged items. const { data } = useQuery('SELECT * FROM lists WHERE name = ?', ['aname'], { rowComparator: { keyBy: (item) => item.id, compareBy: (item) => JSON.stringify(item) } });
- Added the ability to subscribe to an existing instance of a
WatchedQuery
<script setup> import { useWatchedQuerySubscription } from '@powersync/vue'; const listsQuery = powerSync .query({ sql: `SELECT * FROM lists` }) .differentialWatch(); const { data, isLoading, isFetching, error } = useWatchedQuerySubscription(listsQuery); </script> <template> <div v-if="isLoading">Loading...</div> <div v-else-if="isFetching">Updating results...</div> <div v-if="error">{{ error }}</div> <ul v-else> <li v-for="l in data" :key="l.id">{{ l.name }}</li> </ul> </template>
- Added the ability to limit re-renders by specifying a
-
c7d2b53: - [Internal] Updated implementation to use shared
WatchedQueryimplementation.