Skip to content

Update dependency sql.js to v1.14.2 - #28

Closed
renovate[bot] wants to merge 2 commits into
mainfrom
renovate/sql.js-1.x
Closed

Update dependency sql.js to v1.14.2#28
renovate[bot] wants to merge 2 commits into
mainfrom
renovate/sql.js-1.x

Conversation

@renovate

@renovate renovate Bot commented Sep 11, 2026

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Confidence
sql.js 1.8.01.14.2 age confidence

Release Notes

sql-js/sql.js (sql.js)

v1.14.2

Compare Source

v1.14.1

Compare Source

v1.14.0

Compare Source

v1.13.0

Compare Source

sql.js v1.13 Release Notes

This release of sql.js brings significant updates and improvements, primarily focused on modernizing the underlying toolchain and enhancing functionality.

The online playground was rewritten:

sql editor

Key highlights include:

🚀 Dependency Updates and Modernization
  • SQLite Core Upgrade: sql.js is now built with SQLite version 3.49. This incorporates all the enhancements and bug fixes from SQLite versions 3.45.0 through 3.49.1. See SQLite release notes. Notable SQLite improvements in this range include:

    • Query Planner Enhancements: Expect improved query performance due to optimizations in query planning, especially for complex queries, star joins, and queries involving IN operators. These improvements are detailed in the SQLite release notes for versions 3.47.0, 3.49.0, and 3.46.0.
    • New SQL Features: Take advantage of new SQL functions and features introduced in SQLite 3.47+, such as:
      • Enhanced iif() function with support for multiple arguments (SQLite 3.49.0).
      • Right-hand side negative indexing for JSON ->> operator (SQLite 3.47.0).
      • json_pretty() function for formatted JSON output (SQLite 3.46.0).
      • Support for underscore characters in numeric literals (SQLite 3.46.0).
      • Improved date and time function modifiers like ceiling and floor (SQLite 3.46.0).
    • Bug Fixes and Stability: Benefit from numerous bug fixes and stability improvements across various SQLite components, ensuring a more robust database experience. Refer to the SQLite Changelog for detailed fixes in versions 3.45.1, 3.45.2, 3.45.3, 3.46.1, 3.47.1, 3.47.2, 3.49.1, and 3.44.2.
  • Emscripten 4.x Upgrade: sql.js is now compiled with Emscripten 4. See changes in emscripten. This major update to the Emscripten toolchain brings several under-the-hood improvements:

    • Modern JavaScript Output: Emscripten 4 generates more modern JavaScript code. While compatibility with older browsers is still maintained through transpilation where necessary, this move to modern JS internally can lead to performance improvements in modern environments.
    • LLVM 19.1.6: The underlying compiler toolchain is updated to LLVM 19.1.6, which includes improvements to code generation, optimizations, and potentially better support for newer WebAssembly features.
    • Minimum Node.js Version Increase (for Emscripten Toolchain): While sql.js itself aims for broad compatibility, the Emscripten toolchain now requires Node.js v18.3 as a minimum (and is tested with Node.js 22 in this release). This is primarily relevant for developers building sql.js from source.
  • Node.js Worker Thread Compatibility: The worker scripts are now fully compatible with Node.js worker threads, allowing for seamless integration in Node.js environments leveraging worker threads. This is a significant step towards better performance and concurrency in Node.js.

  • Removal of Puppeteer Dev Dependency: The project no longer depends on Puppeteer for worker tests. Worker tests now utilize Node.js worker threads directly, simplifying the testing setup and removing an external dependency. This also speeds up the devcontainer installation.

✨ New Features
  • updateHook API (#​604): This release introduces a new low-level API, Database.updateHook, providing a mechanism to register a callback function that is invoked whenever a row is updated, inserted, or deleted in the database. view docs
    • This feature wraps the native sqlite3_update_hook functionality, allowing developers to monitor database modifications at a granular level.
    • Callbacks receive information about the operation type (update, insert, delete), the database name, table name, and rowid.
🛠️ Internal and Development Changes
  • Worker Debug Script: Added a new debug script specifically for worker environments to aid in development and troubleshooting of worker-related issues.

v1.12.0

Compare Source

v1.11.0

Compare Source

v1.10.3

Compare Source

v1.10.2

Compare Source

v1.10.1

Compare Source

v1.9.0

Compare Source


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

renovate Bot and others added 2 commits September 11, 2026 22:06
Bumps the `sql.js` dependency in `countries-sqljs-idb-worker` from 1.8.0 to 1.14.2. Both `kotlin-js-store/yarn.lock` and `kotlin-js-store/wasm/yarn.lock` are updated to resolve the new version.
@renovate

renovate Bot commented Sep 11, 2026

Copy link
Copy Markdown
Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

solcott added a commit that referenced this pull request Sep 11, 2026
sql.js's version lives in two spots that must agree: the npm("sql.js")
call in network/build.gradle.kts (which supplies the copied
sql-wasm.wasm) and the worker's package.json (its JS glue). Renovate
only sees the package.json half, so its bump (PR #28) left the glue at
1.14.2 against a 1.8.0 wasm -- initSqlJs() then hangs forever and the
web app shows a permanent spinner. Disable sql.js so it is bumped by
hand, in both places, with a web smoke test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@solcott

solcott commented Sep 11, 2026

Copy link
Copy Markdown
Owner

Closing — this bump breaks the web app (silent infinite spinner on the country list), on both js and wasmJs.

sql.js's version is declared in two places that must match:

  • npm("sql.js", "1.8.0") in network/build.gradle.kts — the webpack copy step ships this version's sql-wasm.wasm as /sql-wasm.wasm.
  • network/npm/countries-sqljs-idb-worker/package.json — the version the worker's import 'sql.js' (its Emscripten JS glue) resolves to.

This PR only touches the package.json half, so the worker ends up running 1.14.2 glue against the 1.8.0 wasm that's still shipped from the Gradle-declared side. Emscripten glue and its .wasm must be from the same build; the mismatch makes initSqlJs() never resolve — and because initSqlJs sits outside the worker's try/catch, there's no error, just a worker that never replies and a cache read that suspends forever.

Reproduced in a clean browser (no service worker): build/js/node_modules/sql.js = 1.8.0 (the shipped wasm) alongside a nested …/countries-sqljs-idb-worker/node_modules/sql.js = 1.14.2 (the glue), and the worker times out with no error.

sql.js is also deliberately pinned (see the comment at network/build.gradle.kts — "pinned to what the SQLDelight release expects"). To actually move it, bump both declarations, regenerate both yarn locks, and verify on web. #30 adds a Renovate rule so this half-bump isn't proposed again.

@solcott solcott closed this Sep 11, 2026
@renovate

renovate Bot commented Sep 11, 2026

Copy link
Copy Markdown
Author

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update (1.14.2). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate
renovate Bot deleted the renovate/sql.js-1.x branch September 11, 2026 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant