July 20, 2026
SQLite Cloud Server v0.9.250
Changed
- Hardened the authentication commands.
Fixed
- Fixed a rare server crash when recording latency statistics.
July 15, 2026
SQLite Cloud Server v0.9.249
Fixed
- Fixed
SWITCH AUTHENTICATED <user_id>returning "TOKEN expired" when the user has multiple access tokens.
July 14, 2026
SQLite Cloud Server v0.9.248
Changed
- Updated SQLite-Sync submodule to version 1.1.2.
July 13, 2026
SQLite Cloud Server v0.9.247
Changed
- Updated SQLite-Sync submodule to version 1.1.1.
SQLite-Sync v1.1.2
Fixed
- Querying the SQLite
cloudsync_changesvirtual table (directly or viacloudsync_payload_blob_checked()) on a database whosecloudsync_table_settingsrows survived while all*_cloudsyncmeta tables were lost (e.g. a dump/restore that skipped them) now raises an actionable error ("cloudsync settings reference tables whose sync metadata is missing ...") instead of a misclassifiedSQLITE_NOMEM, which servers reported as "Not enough memory to execute query".
July 10, 2026
SQLite-Sync v1.1.1
Fixed
- Querying the SQLite
cloudsync_payload_chunks()virtual table on a database where cloudsync is not initialized now raises the same actionable error ascloudsync_payload_apply()("cloudsync is not initialized: call SELECT cloudsync_init('') ...") instead of a bare "SQL logic error". Errors raised by the internal cloudsync_changesscan (including the watermark computation, which previously ignored them) are now propagated with their message instead of being masked.
July 9, 2026
SQLite Cloud Server v0.9.246
Added
- Added a one-time migration at first server start (settings migration v17) that loads the SQLite-Sync extension on every local database with full internal privileges, so schema introduced by new SQLite-Sync versions (e.g. the
cloudsync_payload_fragmentstable in 1.1.0) is created deterministically instead of failing on sync client connections that lack the CREATE_TABLE privilege.
Changed
- Updated SQLite-Sync submodule to version 1.1.0.
SQLite-Sync v1.1.0
Added
- Chunked payload generation via
cloudsync_payload_chunks(), available as a SQLite virtual table and as a PostgreSQL set-returning function. The API emits transport-sized payload chunks and transparently fragments oversized BLOB/TEXT values into v3 fragment payloads.
payload_max_chunk_sizeglobal setting for controlling generated chunk size. The default is 5 MB and values are clamped to the 256 KB technical minimum and the 32 MB technical maximum.
exclude_filter_site_idargument forcloudsync_payload_chunks(). When set, the function streams changes from every site exceptfilter_site_id, which is what the/checkdownload path needs (a peer must not receive its own changes back). The default (omitted/false) preserves the existing single-site behavior. Passing the flag without afilter_site_idis an error.
cloudsync_payload_blob_checked()scalar function on both SQLite and PostgreSQL. It performs an internal conservative size check before generating one monolithic legacy payload BLOB, allowing/checkendpoints to support old clients with one SQL round trip while rejecting unsafe responses before payload materialization.
cloudsync_uuid_text()/cloudsync_uuid_blob()scalar functions on both SQLite and PostgreSQL, converting between the 16-byte binarysite_idand its canonical UUID string.cloudsync_uuid_text()takes an optionaldash_formatargument (defaulttrue);cloudsync_uuid_blob()accepts dashed or undashed, case-insensitive input. These let string-based callers (e.g. the/checkendpoint) pass asite_idtocloudsync_payload_chunks().
- Payload chunking documentation in
API.mdandPERFORMANCE.md, including the explicit memory note that chunking bounds transport payloads but the database must still materialize a completed single BLOB/TEXT value when it is applied.
- PostgreSQL
1.0 -> 1.1upgrade script (migrations/cloudsync--1.0--1.1.sql) for the new chunked-payload SQL surface, so existing deployments canALTER EXTENSION cloudsync UPDATE.
cloudsync_network_receive_changes([max_chunks])as the canonical name for receiving changes (the oldcloudsync_network_check_changes()is retained as a deprecated alias). It drains all currently-available chunks by default; the optionalmax_chunksargument caps how many chunks are applied per call for caller-driven progress/traffic control (the in-memory page cursor persists between calls, so a capped drain resumes where it left off).
chunksandbytesfields in thesendandreceiveJSON of the network functions, pluscompleteinreceive.chunksis the number of payload chunks sent/applied;bytesis the serialized (uncompressed) payload bytes;completeisfalsewhen a chunked download stopped before the final chunk, signalling the caller to call again.
Changed
cloudsync_network_receive_changes()(and itscloudsync_network_check_changes()alias) now drains all available chunks in one call (it does not wait for not-yet-ready server preparation). Previously each call fetched a single page.
cloudsync_network_sync(wait_ms, max_retries)now drains an entire chunked download in a single call, fetching already-available chunks back-to-back with no delay.wait_ms/max_retriesare now spent only while the server payload is not yet ready (HTTP 202), not while paging through chunks that are already available. Previously a multi-chunk stream required severalcloudsync_network_sync()calls and wasted await_msdelay on each staged fragment.
receive.rowsis now the cumulative number of rows applied across all chunks drained in the call (previously only the last page was reported);receive.tableslikewise reports the union of tables touched across the whole drain.
cloudsync_payload_apply()now accepts legacy payloads, monolithic payloads, and v3 fragment payloads without enforcing the localpayload_max_chunk_size, preserving compatibility between peers with different settings.
cloudsync_network_send_changes()now streams outgoing changes throughcloudsync_payload_chunks()instead of first building one monolithic payload. This bounds transport payload size for the built-in network path and lets large rowsets or oversized BLOB/TEXT values flow through the same/applyendpoint as regular payloads.
- The built-in
/checkreceive path now advertisesX-CloudSync-Capabilities: check-status-response, check-chunksand can apply cursor-mode pages returned inline asdata.payloadbase64 bytes, in addition to larger pages returned asdata.urldownload artifacts. Requests sendcursor; responses providenextCursorwhen another page is available.
- The chunked-download receive path advances the local receive checkpoint (
check_dbversion/check_seq) only after a chunk stream has been fully applied, jumping straight to the stream watermark — never into the middle of a sourcedb_version. This mirrors the send path and ensures a stop between chunks cannot skip the un-applied rows of adb_versionsplit across chunks on the next/check(the server resumes ondb_version > since, with no intra-version cursor).cloudsync_payload_apply()no longer advances the receive checkpoint per applied chunk; the built-in network/checkpath drives it from the server's watermark and final-chunk signal, and falls back to the previous monolithic behavior when the server sends no watermark. Re-delivered rows remain idempotent.
Deprecated
cloudsync_network_check_changes([max_chunks])— usecloudsync_network_receive_changes()instead. The old name remains a thin, fully-functional alias and will be removed in a future major version.
Fixed
- PostgreSQL backend crash (segfault) on an error raised after
cloudsync_changes_select(). The set-returning function returned viaSRF_RETURN_NEXT/SRF_RETURN_DONEfrom inside itsPG_TRYblock, which skipsPG_END_TRY()and leavesPG_exception_stackpointing at the function's already-returned stack frame. A laterereport(ERROR)in the same query — such as thecloudsync_payload_blob_checked()size-limit check — thensiglongjmp()d into freed stack and crashed the backend. TheSRF_RETURN_*calls now run afterPG_END_TRY()so the exception stack is always restored. This is a pre-existing bug, not specific to the chunked-payload work.
July 7, 2026
Dashboard v1.12.2
Fixed
- Reliability and error-monitoring improvements behind the scenes.
July 3, 2026
Dashboard v1.12.1
Changed
- Webhook setup flow is now cleaner and more reliable: Creating a webhook now happens in a dedicated side sheet, giving the create and edit flows a consistent experience and avoiding confusing intermediate states while you configure a new webhook.
Fixed
- UDF duplicate name shows actionable toast: When creating a function fails due to a name conflict, a "Function Name Already Exists" toast is shown instead of the generic error, and the event is suppressed from Sentry.
June 29, 2026
Dashboard v1.12.0
Added
- Protect system databases from deletion: Databases ending in
.sqlitecloudcan no longer be deleted from the dashboard, the delete action is disabled.
- Encryption hidden by default in Create Database dialog: The encryption key fields are now collapsed behind an "Encrypt database" checkbox, keeping the dialog clean for the common case.
- Memory section: The dashboard now includes a Memory section powered by sqlite-memory, letting you manage a vector memory database directly from the dashboard — create and edit files, organize folders, upload documents, and track indexing progress in real time.
- Memory chatbot snippet: The Memory section now offers a ready-to-paste code snippet that embeds a docs-chatbot widget powered by your memory database.
Fixed
- Edge Function details and test flow now expose cURL helpers: The details tab now shows a placeholder
Template cURLsnippet, and the test side sheet lets you copy a ready-to-runcurlcommand for the currently configured request directly from the request actions.
June 16, 2026
SQLite Cloud Server v0.9.245
Added
- Added the SQLite-Memory extension (version 1.3.5
75b5ea5) as an opt-in built-in extension. The extension is not enabled by default on databases and must be enabled per database before it is loaded on new connections.
Changed
- Updated SQLite-Sync submodule to version 1.0.20 (
7be7d3b).
- Updated SQLite-Vector submodule to version 1.0.0 (
284df4a).
Fixed
- Improved authentication token handling and RLS policy refresh stability;
auth_json()now returns theattributesfield as a nested JSON object.
- Fixed
DELETEstatements with aRETURNINGclause and noWHEREclause so they return the correct rowset.
June 10, 2026
SQLite-Memory v1.3.5
Added
- Deferred embedding generation via the new
defer_embeddingsoption. When enabled, content is stored immediately without computing embeddings or FTS entries, so ingestion needs no embedding model and returns instantly. Deferred content is invisible tomemory_searchuntil it is processed. Requiressave_content=1.
memory_embed_pending([limit])generates the embeddings and FTS entries for deferred content, either all at once or in batches oflimitrows. Each row is processed in its own SAVEPOINT, so an interrupted call can simply be retried and other connections observe per-file progress while a batch runs.
memory_pending_count()returns how many rows are still waiting for embedding generation, for progress reporting during amemory_embed_pending()loop.
Changed
- File nodes returned by
memory_list_files()now include anindexedboolean, which isfalsewhile content is waiting for embedding generation.
June 9, 2026
Dashboard v1.11.1
Fixed
- Gateway migration warning copy: The Weblite and Edge Function URL update banner now explains that existing URLs still work temporarily for backward compatibility, but should be updated from the dashboard before the old values are deprecated.
June 8, 2026
Dashboard v1.11.0
Added
- CloudSync API key management: The CloudSync page now lets users manage CloudSync API keys from the dashboard, including listing, creating, deleting, and regenerating keys. This enables customers to call CloudSync endpoints programmatically for automation and integrations instead of relying only on the dashboard UI.
June 4, 2026
Dashboard v1.10.0
Added
- CloudSync quota threshold email notifications: Users now receive email notifications when CloudSync usage reaches predefined quota thresholds.
Changed
- CloudSync quota usage windows are now clearer: Quota usage is measured over the current billing period for monthly subscription workspaces, and over the current calendar month for yearly subscription workspaces and workspaces without an active subscription.
May 26, 2026
Dashboard v1.9.0
Changed
- Infrastructure upgrade: Upgraded underlying infrastructure for improved reliability and scalability. Weblite server addresses and Edge Function URLs have changed — open each project in the dashboard and copy the updated values. Also update the JavaScript driver to the latest version (
@sqlitecloud/drivers) to connect to the new endpoints automatically; older versions remain compatible during a short transition period.
May 25, 2026
SQLite-Vector v1.0.0
Added
- Google TurboQuant support: a new family of quantization types (
qtype=TURBO,TURBO2,TURBO3,TURBO4, plus theqbitsoption for2/3/4bit widths) forvector_quantize(). TurboQuant uses lookup-table based scanning with SIMD acceleration on SSE2, NEON and RVV, giving substantially faster approximate search at a small recall cost compared to the previous quantization modes.
vector_turboquant_backend(): returns the SIMD backend actually selected for TurboQuant lookup-table scans, so you can verify the expected code path is used on a target runtime.
Fixed
- Linux MUSL test failures.
succesfully→successfullytypo inAPI.md.
May 15, 2026
SQLite Cloud Server v0.9.240
Added
- Added the SQLite-Columnar extension as a built-in extension.
May 14, 2026
Dashboard v1.8.1
Changed
- Internal Improvements: Applied backend optimizations and refinements to improve overall system reliability and maintainability.
- [PRIVATE] Expired invoice email links: Unpaid-invoice emails now route through the dashboard to fetch Stripe payment links live, preventing expired saved invoice URLs from reaching users.
May 12, 2026
Dashboard v1.8.0
Added
- CloudSync billing plans: The dashboard billing flow now reflects the new CloudSync pricing model, so you can buy CloudSync as a standalone sync plan for PostgreSQL or Supabase, or pair it with a SQLite Cloud plan.
May 11, 2026
SQLite-Columnar v1.0.0
Added
- Columnar virtual table for SQLite:
CREATE VIRTUAL TABLE ... USING columnar(...)stores each column separately, so analytical queries read only the columns they need instead of full rows. It is a self-contained loadable extension — no patched SQLite build required.
columnar_analyze(table)to build the metadata (global stats and per-chunk min/max zone maps) used by the specialized analytical functions. After the first run it is incremental: only chunks touched by inserts, updates, or deletes are rebuilt, and it returns immediately when nothing changed.
- Metadata-backed aggregates:
columnar_sum(),columnar_avg(), andcolumnar_count()answer whole-table aggregates from precomputed stats instead of scanning rows.
- Range-filtered aggregates:
columnar_sum_where_range(),columnar_avg_where_range(), andcolumnar_count_where_range()use chunk min/max summaries to skip row ranges that cannot match the filter — a large win on clustered columns such as timestamps.
- Grouped table-valued functions performing hash aggregation in C over just the required columns:
columnar_group_sum(),columnar_group_avg(),columnar_group_count(),columnar_group_min(),columnar_group_max(), and the combinedcolumnar_group_sum_avg_count(),columnar_group_min_max_count(),columnar_group_range(), plus the filtered variantscolumnar_group_sum_where_range()andcolumnar_group_sum_avg_count_where_range().
columnar_version()scalar function reporting the extension version.
- Prebuilt release binaries for Linux, Linux musl, macOS, Windows, Android, iOS, and iOS Simulator. macOS assets are Developer ID signed and notarized; every archive ships the platform binary, documentation,
GIT_COMMIT, and aSHA256SUMSfile for verification.
- Documentation: API.md with the complete SQL reference and examples for every function, and BENCHMARK.md with the dataset, commands, timings, and guidance on which query patterns benefit from columnar storage.
May 8, 2026
SQLite Cloud Server v0.9.236
Fixed
- Improved connection stability during client disconnects, timeouts, and clustered write processing.
April 29, 2026
Dashboard v1.7.0
Added
- Copy password to clipboard: Password fields across the dashboard now include a "Copy" button that copies the password to the clipboard after it is generated or entered.
Changed
- Passwords restricted to alphanumeric characters: User and admin passwords now only accept letters and numbers. Special characters are no longer allowed, eliminating the need for percent-encoding when using passwords in connection strings. The password generator has been updated accordingly.
- OffSync adds more flexible JWT configuration for external databases: PostgreSQL and Supabase integrations now support expected JWT audiences and an explicit JWKS URI.
- BigInt support in Studio: The JavaScript SQLiteCloud driver used by the Studio is now configured with
safe_integer_mode: "mixed"via connection parameters, using the updated@sqlitecloud/driversv1.0.837. In mixed mode, integers withinNumber.MAX_SAFE_INTEGERare returned asnumber; larger values are returned as nativeBigInt. This resolves the precision-loss issue for large integer columns on the dashboard side.
Fixed
- Analyzer: attached database queries no longer show broken tabs: Queries that reference tables from an attached database (e.g.
chinook.tracks) now display a warning in the Current Execution Plan and Index Suggestions tabs instead of attempting to fetch results that would fail.
April 17, 2026
API Server v1.0.837
Changed
- Upgrade Bun to 1.3.12
April 16, 2026
SQLite Cloud Server v0.9.234
Changed
- Updated SQLite Sync extension to version 1.0.15.
Fixed
- Improved CloudSync reliability on multi-node clusters so setup, configuration, and write operations are applied consistently across all nodes.
April 11, 2026
SQLite Cloud Server v0.9.231
Changed
- Updated SQLite Sync extension to version 1.0.12.
- Updated SQLite JS extension to version 1.3.3.
- Updated SQLite Vector extension to version 0.9.95.
Fixed
- Improved stability and reliability across startup, shutdown, synchronization, and platform-specific command handling.
April 7, 2026
SQLite Cloud Server v0.9.212
Changed
- Updated SQLite Sync extension to version 1.0.7.
- Updated SQLite JS extension to version 1.3.2.
- Updated SQLite Vector extension to version 0.9.94.
Fixed
- Fixed RLS to skip trigger creation for views, virtual tables, and shadow tables.
- Fixed RETURNING statements to always return a rowset even when there are no rows.
SQLite-JS v1.3.3
Fixed
- Flutter package publishing: the pub.dev release now ships the complete set of native libraries.
April 1, 2026
Dashboard v1.6.0
Added
- Multi-technology workspace support: Work locally with SQLite and seamlessly sync your data using SQLite Sync to SQLite Cloud or external providers like PostgreSQL and Supabase Self-Hosted.
March 24, 2026
Dashboard v1.5.0
Added
- Updated OffSync UI with new SQLite Sync extension support: The OffSync UI has been updated to give you one place to manage Sync Tables, Devices, Configuration, and Metrics, making it easier to enable and manage sync with the new SQLite Sync extension version 1.0.0.
March 9, 2026
Dashboard v1.4.0
Changed
- Studio Improvements: Upgraded Studio with the following enhancements:
- Reworked pagination.
- Added column reordering.
- Added a separate component for sorting (not only via column header clicks).
- Added right-click support on selected cells for copy/paste.
- Added dynamic naming for subviews if they are not explicitly renamed.
- Added filter value validation.
- Improved performance.
- Unlocked Not Null option.
March 3, 2026
Dashboard v1.3.5
Fixed
- RLS editor now always opens on the first visible table: The RLS page no longer silently pre-selects a hidden internal table when no previous selection exists.
- Fixed SQL autocompletion becoming unresponsive in the RLS editor: Typing and tab-to-complete now work reliably regardless of how many times you navigate to the page.
March 2, 2026
Dashboard v1.3.3
Changed
- Internal Improvements: Applied backend optimizations and refinements to improve overall system reliability and maintainability.
Dashboard v1.3.4
Changed
- Internal Improvements: Applied backend optimizations and refinements to improve overall system reliability and maintainability.
February 27, 2026
Dashboard v1.3.2
Changed
- Internal Improvements: Applied backend optimizations and refinements to improve overall system reliability and maintainability.
February 23, 2026
Dashboard v1.3.1
Changed
- Internal Improvements: Applied backend optimizations and refinements to improve overall system reliability and maintainability.
February 13, 2026
Dashboard v1.3.0
Changed
- Internal Improvements: Applied backend optimizations and refinements to improve overall system reliability and maintainability.
January 21, 2026
Dashboard v1.2.0
Changed
- Infrastructure Improvements: Upgraded core dependencies and modernized internal architecture for improved performance, stability, and maintainability.
- Studio Improvements: Upgraded Studio with the following enhancements:
- Enhanced range selection for copying/pasting data between cells.
- Added the ability to expand a row in the right-side panel.
- Added support for CSV files import.
- Added support for SQL files import in the SQL Console.
- Improved data browser performance.
- Added layout direction support for the SQL console.
- Added SQL editor for default values.
December 11, 2025
API Server v1.0.710
Changed
- Upgrade Bun to 1.3.4
Fixed
- Compare expiresAt as datetime in the access tokens queries
December 2, 2025
Dashboard v1.1.5
Added
- Changelog Access: Added changelog link to the navbar dropdown menu for easy access to version history and release notes.
- Inactive Free Projects Management: Free projects that remain inactive for 3 months will be automatically deleted. A notification email will be sent to affected users, including a 2-week grace period during which the project can be restored before permanent deletion.
- Documentation Quick Links: Quick-access links to relevant documentation have been added across key dashboard pages (Databases, RLS, Nodes, Query Analyzer, API Keys, Roles, Users, and Studio) to help users find guides and reference materials more easily.
Changed
- Backups Refresh Button: Added a refresh button to the Backups page, allowing users to manually reload backup snapshots for the selected database.
- Page Refactors: Refactored the UI of API Keys, Users, Roles, Nodes, Weblite, and Databases pages to align with the new layout and design of other dashboard pages.
- Error Handling in Studio: Improved error handling in Studio for better user experience and reliability.
Fixed
- Invitation Email Verification: Fixed issue where organization invitations failed to verify when the invited email address used different letter casing than the user's sign-in email (e.g., invitation sent to
User@Example.combut user signed in withuser@example.com). Email comparison is now case-insensitive, matching the behavior of the authentication system.
- Webhook Table Filtering: Fixed webhook filtering logic to correctly display webhooks created for all tables ("*") when viewing a specific table, while preventing table-specific webhooks from appearing at the all-tables level.
November 10, 2025
Dashboard v1.1.4
Added
- Account Management: You can now permanently delete your account directly from the dashboard settings. This action will remove all associated data including organizations, projects, and subscriptions.
- Connection Limit Monitoring: Improved visibility and management of connection limits to help you better understand and optimize your database connections.
Changed
- Profile Settings UI: Redesigned the profile management interface with a cleaner, more intuitive side panel layout for easier account configuration.
- Resource Deletion Workflow: Updated the delete confirmation interface across the dashboard with clearer warnings and more prominent action buttons to prevent accidental deletions.
Fixed
- Session Management: Improved handling of expired authentication sessions. When your session expires, you'll now see a refresh button instead of being abruptly redirected to the sign-in page.
- Page Navigation Stability: Fixed an issue that could cause the Nodes page to crash when navigating directly to it via URL or browser refresh.
- Browser Compatibility: Resolved a crash that occurred when using the dashboard with Google Translate enabled in your browser.
- API Key Selection: Fixed an issue in the Weblite authentication dialog where API keys wouldn't be properly selected after choosing a user.
November 6, 2025
SQLite Cloud Server v0.9.106
Fixed
- Fixed concurrency issues affecting client snapshot handling.
- Corrected mutex locking and pending-change tracking for VACUUM and write-related PRAGMAs.
- Fixed incorrect return values for write statements using CTEs with RETURNING.
- sqlite-sync Improved sqlite-sync buffer handling by reserving header space when expanding the encode buffer, preventing crashes with large (>500 KB) change sets.
October 14, 2025
API Server v1.0.651
Changed
- New internal metrics to track requests and SQLite Sync traffic