Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Asynchronous, non-blocking [SQLite3](https://sqlite.org/) bindings for [Node.js]

# Features

- Bundles SQLite v3.54.0, or you can build using a local SQLite (or SqlCipher,...)
- Bundles SQLite v3.54.1, or you can build using a local SQLite (or SqlCipher,...)
- Straightforward query and parameter binding interface
- Full Buffer/Blob support
- Extensive debugging support via [verbose mode](docs/API.md#verbose-mode)
Expand Down
2 changes: 1 addition & 1 deletion deps/common-sqlite.gypi
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
'variables': {
'sqlite_version%':'3540000',
'sqlite_version%':'3540100',
"toolset%":'',
},
'target_defaults': {
Expand Down
Binary file removed deps/sqlite-amalgamation-3540000.zip
Binary file not shown.
Binary file added deps/sqlite-amalgamation-3540100.zip
Binary file not shown.
6 changes: 3 additions & 3 deletions docs/DEVELOP.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ tools/bin/maintenance.sh --skip-version-check

The script performs these steps:

1. **Upgrade** dependencies and SQLite via [`upgrade-deps.sh`](../tools/bin/upgrade-deps.sh)
1. **Upgrade** dependencies and SQLite via [`upgrade-deps.sh`](../tools/bin/upgrade-deps.sh) — a SQLite bump and dependency upgrades from one run land on the same feature branch and are covered by a single PR
2. **Create** a pull request with the upgrade changes
3. **Wait** for CI checks to pass, then **merge** the PR
4. **Release** — if the PR contains a SQLite bump or unpublished security fix, bump the patch version, push tags, and trigger npm publish
Expand Down Expand Up @@ -156,8 +156,8 @@ tools/bin/upgrade-deps.sh --no-push
The script performs these steps:

1. **Check** if the source tree is clean
2. **Check** for a new SQLite version — if available, delegates to [`upgrade-sqlite.sh`](../tools/bin/upgrade-sqlite.sh) which handles the full bump process (including build, lint, test, commit, and push). If the cooldown period has not elapsed, the bump is skipped with a notice and the dependency upgrade continues (use `--force-sqlite` to override)
3. **Check** for outdated npm dependencies via `yarn outdated`
2. **Check** for a new SQLite version — if available, delegates to [`upgrade-sqlite.sh`](../tools/bin/upgrade-sqlite.sh) which handles the full bump process (including build, lint, test, commit, and push) on its own feature branch. The dependency upgrade then continues on the same branch, so one run produces one PR combining both (if the cooldown period has not elapsed, the bump is skipped with a notice and only the dependency upgrade proceeds — use `--force-sqlite` to override)
3. **Check** for outdated npm dependencies via `npm-check-updates` (direct dependencies only — `yarn outdated` also reports transitive and sub-project deps, which are not actionable here)
4. **Ensure** a feature branch — if already on a `feature/*` branch (e.g., after a SQLite bump), reuses it; otherwise creates `feature/deps_upgrade_YYYYMMDD`
5. **Upgrade** dependencies via `npx npm-check-updates -u && yarn install` (main project and `tools/benchmark-drivers/` sub-project)
6. **Run semver check** (`node tools/semver-check.js`) to verify dependency Node.js version compatibility
Expand Down
10 changes: 3 additions & 7 deletions memory-bank/custom-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,9 @@ After implementing changes, follow this procedure:
Co-authored-by: <AgentName> (<Model>) <email>
```

Zoo's address is `zoo@glm.ai`, e.g.:

```text
Co-authored-by: Zoo (glm-5.3) <zoo@glm.ai>
```

Never invent or substitute an email address that merely comes to mind (e.g. a generic placeholder domain) — if the concrete address is not stated here, check the repository history (`git log`) for prior trailers, or ask the user.
In you don't have any email configured:
- In case you are Zoo please use `zoo@glm.ai`
- Never invent or substitute an email address that merely comes to your mind — if the concrete address is not stated here ask the user.

This checkpoint exists because implementing changes, committing them, and publishing them are separate concerns. The user may want to review, adjust, or split changes before they become part of the repository history, and may want to control when and how changes reach the remote.

Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,12 @@
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"eslint": "^10.12.0",
"eslint": "^10.13.0",
"globals": "^17.13.0",
"mocha": "12.0.3",
"nyc": "^18.0.0",
"prebuildify": "^6.0.1",
"tinybench": "^6.2.1"
"tinybench": "^6.2.2"
},
"peerDependencies": {
"node-gyp": "12.x"
Expand Down
4 changes: 2 additions & 2 deletions tools/benchmark-drivers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
"license": "ISC",
"description": "",
"dependencies": {
"@homeofthings/sqlite3": "^7.0.5",
"@homeofthings/sqlite3": "^7.0.6",
"better-sqlite3": "^13.0.3",
"cli-color": "^2.0.4",
"fs-extra": "^11.4.1",
"tinybench": "^6.2.1"
"tinybench": "^6.2.2"
}
}
16 changes: 8 additions & 8 deletions tools/benchmark-drivers/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
# yarn lockfile v1


"@homeofthings/sqlite3@^7.0.5":
version "7.0.5"
resolved "https://registry.yarnpkg.com/@homeofthings/sqlite3/-/sqlite3-7.0.5.tgz#85d523237067589a857b1294581f85e398e18bdb"
integrity sha512-GFNgQFSfQH527pdqrBYsrlAIUeAoBkaQMetNraVpCKCA8DwHy+H6fgOij4BDoMaxlL8a5bJ1GLbsg2r8lyDc9g==
"@homeofthings/sqlite3@^7.0.6":
version "7.0.6"
resolved "https://registry.yarnpkg.com/@homeofthings/sqlite3/-/sqlite3-7.0.6.tgz#6af6557796b94ae8a54bdc2228cd34cd0a2dfa3f"
integrity sha512-J8DIvGkb2x+eOHDiFTynYSWc3LwVy/7oK/zzJPr9MtQmNutjpUHj8Ngcl/rNL0dVnB9tl6pR0hbOviYaCFL+iQ==
dependencies:
node-addon-api "^8.9.2"
node-gyp-build "^4.8.4"
Expand Down Expand Up @@ -270,10 +270,10 @@ timers-ext@^0.1.7:
es5-ext "^0.10.64"
next-tick "^1.1.0"

tinybench@^6.2.1:
version "6.2.1"
resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-6.2.1.tgz#84184d41be7d18815cc63daaf1f5057dafe2b3dd"
integrity sha512-IAbQaPJIIdhVxi0mqy9lez1wEwje0UQf9F1vwtbelEG5Nbgn0nPOxCvU+mNeNS9gyJTAhrHp74CbUaSynQpZcQ==
tinybench@^6.2.2:
version "6.2.2"
resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-6.2.2.tgz#e03ffd4d46fabebae1d5bb292bd25e39505551ee"
integrity sha512-nIZ2N2dFpjBsg2hgitKu7mA+FvsIJuGJOwysRngmVRRmWgR/UyPjwJj8c/fT/dhm8EkHnF5EOogRf+0Z2qrimA==

tinyglobby@^0.2.12:
version "0.2.16"
Expand Down
22 changes: 19 additions & 3 deletions tools/bin/maintenance.sh
Original file line number Diff line number Diff line change
Expand Up @@ -248,12 +248,28 @@ step2_create_pr() {
# Push to remote (upgrade-deps.sh may have already pushed, but this is idempotent)
git push -u origin "$current_branch"

# Determine PR title based on changed files
local pr_title="chore: upgrade dependencies"
if git diff main...HEAD --name-only 2>/dev/null | grep -q "deps/common-sqlite.gypi"; then
# Determine PR title from the files actually changed on the branch
local changed_files
changed_files="$(git diff main...HEAD --name-only 2>/dev/null || true)"
local sqlite_bumped=false deps_changed=false
if grep -qx "deps/common-sqlite.gypi" <<<"$changed_files"; then
sqlite_bumped=true
fi
if grep -qx "package.json" <<<"$changed_files"; then
deps_changed=true
fi

local pr_title
if [[ "$sqlite_bumped" == true && "$deps_changed" == true ]]; then
local sqlite_ver
sqlite_ver="$(sqlite_version_human)"
pr_title="chore: upgrade SQLite${sqlite_ver:+ to ${sqlite_ver}} and dependencies"
elif [[ "$sqlite_bumped" == true ]]; then
local sqlite_ver
sqlite_ver="$(sqlite_version_human)"
pr_title="chore: upgrade SQLite${sqlite_ver:+ to ${sqlite_ver}}"
else
pr_title="chore: upgrade dependencies"
fi

local pr_body="Automated dependency upgrade via \`maintenance.sh\`."
Expand Down
20 changes: 10 additions & 10 deletions tools/bin/upgrade-deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,11 @@ The script will:
3. Create a feature branch and apply upgrades
4. Run semver check, rebuild, lint, and test

If the SQLite cooldown period has not elapsed, the SQLite bump is skipped
with a notice and the dependency upgrade continues. Use --force-sqlite to
override the cooldown.
If a SQLite bump is performed, it lands on its own feature branch and the
dependency upgrade continues on the same branch, so one run produces one
PR combining both. If the SQLite cooldown period has not elapsed, the
bump is skipped with a notice and the dependency upgrade continues.
Use --force-sqlite to override the cooldown.

Options:
--dry-run Show what would be done without making changes
Expand Down Expand Up @@ -293,8 +295,7 @@ step2_check_sqlite() {
exit "$EXIT_GENERAL_ERROR"
fi

log "SQLite bump completed. Exiting — dependency upgrade should be run separately."
exit "$EXIT_SUCCESS"
log "SQLite bump completed. Continuing with dependency upgrades on the same branch."
else
log "SQLite is up to date (${current_human})"
fi
Expand Down Expand Up @@ -548,12 +549,11 @@ main() {
step1_check_clean_tree

# Step 2: Check for new SQLite version
# If a new SQLite version is available, upgrade-sqlite.sh handles everything
# (including creating a branch, building, testing, and pushing),
# so we exit after it runs. If only the cooldown blocked the bump, the
# check returns and the dependency upgrade continues.
# If a new SQLite version is available, upgrade-sqlite.sh handles the full
# bump (branch, build, test, commit, push) and returns; the dependency
# upgrade then continues on the same feature branch (step4 reuses it).
# If only the cooldown blocked the bump, the same continuation happens.
if [[ "$SKIP_SQLITE" != true ]]; then
# step2_check_sqlite may exit the script if a bump was performed
step2_check_sqlite
fi

Expand Down
16 changes: 8 additions & 8 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -636,10 +636,10 @@ eslint-visitor-keys@^5.0.1:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz#9e3c9489697824d2d4ce3a8ad12628f91e9f59be"
integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==

eslint@^10.12.0:
version "10.12.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.12.0.tgz#4f2f7e679bdce9d71438c2900f2c8d4d297332b0"
integrity sha512-npHjrHb2o4ehH3mE+YuxABR+0gyb0aVWCIolgJDArwCiHEIsonBm3ZKjel5b0U5+a+MbEvIyRCGCzD3eKKK2NA==
eslint@^10.13.0:
version "10.13.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.13.0.tgz#a8a4742648c0fa9131f429b509de5407682d4864"
integrity sha512-UohDjD4zSzEwhf58M3O7vc/ycc8O1I7dNlhtD0WxE8Px8EHNJKtUwzBqrzeGhisRuv2ag4sAYswszCJRgKXYUg==
dependencies:
"@eslint-community/eslint-utils" "^4.8.0"
"@eslint-community/regexpp" "^4.12.2"
Expand Down Expand Up @@ -1638,10 +1638,10 @@ test-exclude@^8.0.0:
glob "^13.0.6"
minimatch "^10.2.2"

tinybench@^6.2.1:
version "6.2.1"
resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-6.2.1.tgz#84184d41be7d18815cc63daaf1f5057dafe2b3dd"
integrity sha512-IAbQaPJIIdhVxi0mqy9lez1wEwje0UQf9F1vwtbelEG5Nbgn0nPOxCvU+mNeNS9gyJTAhrHp74CbUaSynQpZcQ==
tinybench@^6.2.2:
version "6.2.2"
resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-6.2.2.tgz#e03ffd4d46fabebae1d5bb292bd25e39505551ee"
integrity sha512-nIZ2N2dFpjBsg2hgitKu7mA+FvsIJuGJOwysRngmVRRmWgR/UyPjwJj8c/fT/dhm8EkHnF5EOogRf+0Z2qrimA==

tinyglobby@^0.2.12:
version "0.2.17"
Expand Down
Loading