Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sqlite: expose backup api #56253

Merged
merged 19 commits into from
Feb 5, 2025
Merged

Conversation

geeksilva97
Copy link
Contributor

@geeksilva97 geeksilva97 commented Dec 14, 2024

Closes #55413

This PR exposes the SQLite Online Backup API, which allows database backup.

The API is inspired by better-sqlite3 https://github.com/WiseLibs/better-sqlite3/blob/master/docs/api.md#backupdestination-options---promise.

Multithreading caveats

As long as writes come from the same process and handle (sqlite*), the backup will continue progressing as expected. Other than that, it can cause the backup process to restart. From docs:

...If the source database is not an in-memory database, and the write is performed from within the same process as the backup operation and uses the same database handle (pDb), then the destination database (the one opened using connection pFile) is automatically updated along with the source.

Writes to an in-memory source database, or writes to a file-based source database by an external process or thread using a database connection other than pDb are significantly more expensive than writes made to a file-based source database using pDb (as the entire backup operation must be restarted...)

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. sqlite Issues and PRs related to the SQLite subsystem. labels Dec 14, 2024
@geeksilva97 geeksilva97 force-pushed the sqlite-backup branch 3 times, most recently from 6c61b4c to 9b80c2d Compare January 10, 2025 21:43
@geeksilva97 geeksilva97 force-pushed the sqlite-backup branch 4 times, most recently from 632edd3 to 174ace5 Compare January 12, 2025 01:07
@geeksilva97 geeksilva97 changed the title [wip] sqlite: expose backup api sqlite: expose backup api Jan 12, 2025
@geeksilva97 geeksilva97 marked this pull request as ready for review January 12, 2025 01:29
@geeksilva97
Copy link
Contributor Author

geeksilva97 commented Jan 12, 2025

This comment mentions that DatabaseSync needs to have only sync operations (makes sense).

The backup can be performed synchronously but I don't think it should be like that.

I wonder if indeed this PR would be more suitable for async API.

Any thoughts?

Thanks in advance

@geeksilva97 geeksilva97 force-pushed the sqlite-backup branch 3 times, most recently from 69a3bf3 to bd43083 Compare January 12, 2025 02:19
Copy link

codecov bot commented Jan 12, 2025

Codecov Report

Attention: Patch coverage is 80.66038% with 41 lines in your changes missing coverage. Please review.

Project coverage is 89.18%. Comparing base (c4fb331) to head (4c4d73b).
Report is 15 commits behind head on main.

Files with missing lines Patch % Lines
src/node_sqlite.cc 80.66% 17 Missing and 24 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #56253      +/-   ##
==========================================
- Coverage   89.21%   89.18%   -0.03%     
==========================================
  Files         665      665              
  Lines      192514   192755     +241     
  Branches    37040    37084      +44     
==========================================
+ Hits       171744   171909     +165     
- Misses      13613    13648      +35     
- Partials     7157     7198      +41     
Files with missing lines Coverage Δ
src/node_sqlite.h 70.00% <ø> (ø)
src/node_sqlite.cc 79.97% <80.66%> (+0.12%) ⬆️

... and 38 files with indirect coverage changes

@geeksilva97 geeksilva97 marked this pull request as draft January 12, 2025 13:43
@cjihrig
Copy link
Contributor

cjihrig commented Feb 4, 2025

Maybe worth pinging @nodejs/platform-windows for help.

@cjihrig cjihrig added the request-ci Add this label to start a Jenkins CI on a PR. label Feb 5, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Feb 5, 2025
@nodejs-github-bot
Copy link
Collaborator

@geeksilva97
Copy link
Contributor Author

geeksilva97 commented Feb 5, 2025

Looks like Windows passed 🎉

https://ci.nodejs.org/job/node-test-binary-windows-js-suites/32505/

(other failed but seems unrelated)

Thanks a lot, @cjihrig @H4ad

@geeksilva97 geeksilva97 requested review from H4ad and cjihrig February 5, 2025 19:13
Copy link
Member

@H4ad H4ad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work, thanks for the contribution o/

@nodejs-github-bot
Copy link
Collaborator

@cjihrig cjihrig added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. commit-queue Add this label to land a pull request using GitHub Actions. and removed needs-ci PRs that need a full CI run. labels Feb 5, 2025
@nodejs-github-bot nodejs-github-bot added commit-queue-failed An error occurred while landing this pull request using GitHub Actions. and removed commit-queue Add this label to land a pull request using GitHub Actions. labels Feb 5, 2025
@nodejs-github-bot
Copy link
Collaborator

Commit Queue failed
- Loading data for nodejs/node/pull/56253
✔  Done loading data for nodejs/node/pull/56253
----------------------------------- PR info ------------------------------------
Title      sqlite: expose backup api (#56253)
Author     Edy Silva <[email protected]> (@geeksilva97)
Branch     geeksilva97:sqlite-backup -> nodejs:main
Labels     c++, author ready, sqlite
Commits    19
 - sqlite, test: expose sqlite online backup api
 - sqlite: resolve backup promise with total transferred pages
 - sqlite,test: test DatabaseSync.prototype.backup interface
 - sqlite: pass object to progress function instead of two args
 - fixup: improve tests
 - sqlite: update interface
 - doc: add backup docs
 - test: use temp dir to test invalid paths
 - doc: fixup: fix typos
 - fixup: improve formatting
 - fixup: centralize backup error handling
 - fixup: fix new env properties order
 - fixup: await rejects assertion
 - sqlite,test,doc: move backup implementation to a separate function
 - sqlite,doc: add more details about concurrent edits
 - sqlite,doc: use async/await in backup code example
 - sqlite: use proper functions to open/close database
 - test: close databases after test
 - sqlite: fix backup finalization when promise resolves
Committers 1
 - Edy Silva <[email protected]>
PR-URL: https://github.com/nodejs/node/pull/56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>
------------------------------ Generated metadata ------------------------------
PR-URL: https://github.com/nodejs/node/pull/56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>
--------------------------------------------------------------------------------
   ℹ  This PR was created on Sat, 14 Dec 2024 01:36:33 GMT
   ✔  Approvals: 2
   ✔  - Colin Ihrig (@cjihrig): https://github.com/nodejs/node/pull/56253#pullrequestreview-2596944274
   ✔  - Vinícius Lourenço Claro Cardoso (@H4ad): https://github.com/nodejs/node/pull/56253#pullrequestreview-2596917775
   ✔  Last GitHub CI successful
   ℹ  Last Full PR CI on 2025-02-05T20:48:52Z: https://ci.nodejs.org/job/node-test-pull-request/65013/
- Querying data for job/node-test-pull-request/65013/
   ✔  Last Jenkins CI successful
--------------------------------------------------------------------------------
   ✔  No git cherry-pick in progress
   ✔  No git am in progress
   ✔  No git rebase in progress
--------------------------------------------------------------------------------
- Bringing origin/main up to date...
From https://github.com/nodejs/node
 * branch                  main       -> FETCH_HEAD
✔  origin/main is now up-to-date
- Downloading patch for 56253
From https://github.com/nodejs/node
 * branch                  refs/pull/56253/merge -> FETCH_HEAD
✔  Fetched commits as 436723282d64..4c4d73b810fe
--------------------------------------------------------------------------------
Auto-merging src/node_sqlite.cc
Auto-merging src/node_sqlite.h
[main e6561e9bdd] sqlite, test: expose sqlite online backup api
 Author: Edy Silva <[email protected]>
 Date: Sun Jan 12 21:56:43 2025 -0300
 4 files changed, 461 insertions(+)
 create mode 100644 test/parallel/test-sqlite-backup.mjs
Auto-merging src/node_sqlite.cc
[main de3853950a] sqlite: resolve backup promise with total transferred pages
 Author: Edy Silva <[email protected]>
 Date: Sun Jan 12 23:49:34 2025 -0300
 1 file changed, 9 insertions(+), 7 deletions(-)
[main 27c17ed52d] sqlite,test: test DatabaseSync.prototype.backup interface
 Author: Edy Silva <[email protected]>
 Date: Mon Jan 13 00:01:06 2025 -0300
 1 file changed, 88 insertions(+), 10 deletions(-)
Auto-merging src/node_sqlite.cc
[main 5a6196bb7e] sqlite: pass object to progress function instead of two args
 Author: Edy Silva <[email protected]>
 Date: Tue Jan 14 12:32:56 2025 -0300
 3 files changed, 43 insertions(+), 8 deletions(-)
[main 83fa046d6b] fixup: improve tests
 Author: Edy Silva <[email protected]>
 Date: Tue Jan 14 14:05:16 2025 -0300
 1 file changed, 46 insertions(+), 58 deletions(-)
Auto-merging src/node_sqlite.cc
[main 0a61c96ed9] sqlite: update interface
 Author: Edy Silva <[email protected]>
 Date: Tue Jan 14 14:20:12 2025 -0300
 3 files changed, 15 insertions(+), 17 deletions(-)
[main 3636bebe9b] doc: add backup docs
 Author: Edy Silva <[email protected]>
 Date: Tue Jan 14 15:19:57 2025 -0300
 1 file changed, 23 insertions(+)
[main d8f89eae40] test: use temp dir to test invalid paths
 Author: Edy Silva <[email protected]>
 Date: Tue Jan 14 15:24:39 2025 -0300
 1 file changed, 1 insertion(+), 1 deletion(-)
[main 7b218e7c10] doc: fixup: fix typos
 Author: Edy Silva <[email protected]>
 Date: Wed Jan 15 20:54:56 2025 -0300
 1 file changed, 3 insertions(+), 3 deletions(-)
Auto-merging src/node_sqlite.cc
[main a7534a16f1] fixup: improve formatting
 Author: Edy Silva <[email protected]>
 Date: Wed Jan 15 21:25:59 2025 -0300
 1 file changed, 44 insertions(+), 71 deletions(-)
Auto-merging src/node_sqlite.cc
[main b9f65e3a8f] fixup: centralize backup error handling
 Author: Edy Silva <[email protected]>
 Date: Wed Jan 15 21:59:47 2025 -0300
 3 files changed, 34 insertions(+), 45 deletions(-)
[main c4967daff8] fixup: fix new env properties order
 Author: Edy Silva <[email protected]>
 Date: Mon Jan 20 14:12:42 2025 -0300
 1 file changed, 3 insertions(+), 3 deletions(-)
[main 5560c83169] fixup: await rejects assertion
 Author: Edy Silva <[email protected]>
 Date: Mon Jan 20 15:02:09 2025 -0300
 1 file changed, 5 insertions(+), 5 deletions(-)
Auto-merging src/node_sqlite.cc
Auto-merging src/node_sqlite.h
[main 33727815e2] sqlite,test,doc: move backup implementation to a separate function
 Author: Edy Silva <[email protected]>
 Date: Fri Jan 24 12:20:35 2025 -0300
 6 files changed, 177 insertions(+), 149 deletions(-)
[main d1c3534575] sqlite,doc: add more details about concurrent edits
 Author: Edy Silva <[email protected]>
 Date: Fri Jan 31 13:58:30 2025 -0300
 1 file changed, 40 insertions(+), 2 deletions(-)
[main 5cecd76b35] sqlite,doc: use async/await in backup code example
 Author: Edy Silva <[email protected]>
 Date: Mon Feb 3 13:14:34 2025 -0300
 1 file changed, 14 insertions(+), 16 deletions(-)
Auto-merging src/node_sqlite.cc
[main dd2b54d22d] sqlite: use proper functions to open/close database
 Author: Edy Silva <[email protected]>
 Date: Mon Feb 3 18:07:10 2025 -0300
 1 file changed, 5 insertions(+), 2 deletions(-)
[main c680940ca9] test: close databases after test
 Author: Edy Silva <[email protected]>
 Date: Tue Feb 4 14:39:55 2025 -0300
 1 file changed, 11 insertions(+), 1 deletion(-)
Auto-merging src/node_sqlite.cc
[main dd8154e385] sqlite: fix backup finalization when promise resolves
 Author: Edy Silva <[email protected]>
 Date: Tue Feb 4 23:57:54 2025 -0300
 1 file changed, 3 insertions(+), 1 deletion(-)
   ✔  Patches applied
There are 19 commits in the PR. Attempting autorebase.
Rebasing (2/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
sqlite, test: expose sqlite online backup api

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD e55f86814f] sqlite, test: expose sqlite online backup api
Author: Edy Silva <[email protected]>
Date: Sun Jan 12 21:56:43 2025 -0300
4 files changed, 461 insertions(+)
create mode 100644 test/parallel/test-sqlite-backup.mjs
Rebasing (3/38)
Rebasing (4/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
sqlite: resolve backup promise with total transferred pages

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 7f7acf7ef5] sqlite: resolve backup promise with total transferred pages
Author: Edy Silva <[email protected]>
Date: Sun Jan 12 23:49:34 2025 -0300
1 file changed, 9 insertions(+), 7 deletions(-)
Rebasing (5/38)
Rebasing (6/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
sqlite,test: test DatabaseSync.prototype.backup interface

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 1250de3591] sqlite,test: test DatabaseSync.prototype.backup interface
Author: Edy Silva <[email protected]>
Date: Mon Jan 13 00:01:06 2025 -0300
1 file changed, 88 insertions(+), 10 deletions(-)
Rebasing (7/38)
Rebasing (8/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
sqlite: pass object to progress function instead of two args

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 2ba060df61] sqlite: pass object to progress function instead of two args
Author: Edy Silva <[email protected]>
Date: Tue Jan 14 12:32:56 2025 -0300
3 files changed, 43 insertions(+), 8 deletions(-)
Rebasing (9/38)
Rebasing (10/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
fixup: improve tests

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 17aba32f03] fixup: improve tests
Author: Edy Silva <[email protected]>
Date: Tue Jan 14 14:05:16 2025 -0300
1 file changed, 46 insertions(+), 58 deletions(-)
Rebasing (11/38)
Rebasing (12/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
sqlite: update interface

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 3b6a42a46b] sqlite: update interface
Author: Edy Silva <[email protected]>
Date: Tue Jan 14 14:20:12 2025 -0300
3 files changed, 15 insertions(+), 17 deletions(-)
Rebasing (13/38)
Rebasing (14/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
doc: add backup docs

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD ce69f6f1b2] doc: add backup docs
Author: Edy Silva <[email protected]>
Date: Tue Jan 14 15:19:57 2025 -0300
1 file changed, 23 insertions(+)
Rebasing (15/38)
Rebasing (16/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
test: use temp dir to test invalid paths

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD f45a2977eb] test: use temp dir to test invalid paths
Author: Edy Silva <[email protected]>
Date: Tue Jan 14 15:24:39 2025 -0300
1 file changed, 1 insertion(+), 1 deletion(-)
Rebasing (17/38)
Rebasing (18/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
doc: fixup: fix typos

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 45b5af7b9c] doc: fixup: fix typos
Author: Edy Silva <[email protected]>
Date: Wed Jan 15 20:54:56 2025 -0300
1 file changed, 3 insertions(+), 3 deletions(-)
Rebasing (19/38)
Rebasing (20/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
fixup: improve formatting

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 087cfa7a2b] fixup: improve formatting
Author: Edy Silva <[email protected]>
Date: Wed Jan 15 21:25:59 2025 -0300
1 file changed, 44 insertions(+), 71 deletions(-)
Rebasing (21/38)
Rebasing (22/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
fixup: centralize backup error handling

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 9399f5787e] fixup: centralize backup error handling
Author: Edy Silva <[email protected]>
Date: Wed Jan 15 21:59:47 2025 -0300
3 files changed, 34 insertions(+), 45 deletions(-)
Rebasing (23/38)
Rebasing (24/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
fixup: fix new env properties order

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 8072c5d392] fixup: fix new env properties order
Author: Edy Silva <[email protected]>
Date: Mon Jan 20 14:12:42 2025 -0300
1 file changed, 3 insertions(+), 3 deletions(-)
Rebasing (25/38)
Rebasing (26/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
fixup: await rejects assertion

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD f50c037adf] fixup: await rejects assertion
Author: Edy Silva <[email protected]>
Date: Mon Jan 20 15:02:09 2025 -0300
1 file changed, 5 insertions(+), 5 deletions(-)
Rebasing (27/38)
Rebasing (28/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
sqlite,test,doc: move backup implementation to a separate function

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD ba356a16b0] sqlite,test,doc: move backup implementation to a separate function
Author: Edy Silva <[email protected]>
Date: Fri Jan 24 12:20:35 2025 -0300
6 files changed, 177 insertions(+), 149 deletions(-)
Rebasing (29/38)
Rebasing (30/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
sqlite,doc: add more details about concurrent edits

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 3d527f3bd9] sqlite,doc: add more details about concurrent edits
Author: Edy Silva <[email protected]>
Date: Fri Jan 31 13:58:30 2025 -0300
1 file changed, 40 insertions(+), 2 deletions(-)
Rebasing (31/38)
Rebasing (32/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
sqlite,doc: use async/await in backup code example

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD e8ef7aa6d5] sqlite,doc: use async/await in backup code example
Author: Edy Silva <[email protected]>
Date: Mon Feb 3 13:14:34 2025 -0300
1 file changed, 14 insertions(+), 16 deletions(-)
Rebasing (33/38)
Rebasing (34/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
sqlite: use proper functions to open/close database

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 632cfa60e3] sqlite: use proper functions to open/close database
Author: Edy Silva <[email protected]>
Date: Mon Feb 3 18:07:10 2025 -0300
1 file changed, 5 insertions(+), 2 deletions(-)
Rebasing (35/38)
Rebasing (36/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
test: close databases after test

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD 108574fa0b] test: close databases after test
Author: Edy Silva <[email protected]>
Date: Tue Feb 4 14:39:55 2025 -0300
1 file changed, 11 insertions(+), 1 deletion(-)
Rebasing (37/38)
Rebasing (38/38)
Executing: git node land --amend --yes
--------------------------------- New Message ----------------------------------
sqlite: fix backup finalization when promise resolves

PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>

[detached HEAD c7edd0809a] sqlite: fix backup finalization when promise resolves
Author: Edy Silva <[email protected]>
Date: Tue Feb 4 23:57:54 2025 -0300
1 file changed, 3 insertions(+), 1 deletion(-)
Successfully rebased and updated refs/heads/main.

ℹ Add commit-queue-squash label to land the PR as one commit, or commit-queue-rebase to land as separate commits.

https://github.com/nodejs/node/actions/runs/13167245589

@H4ad H4ad added commit-queue Add this label to land a pull request using GitHub Actions. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. and removed commit-queue-failed An error occurred while landing this pull request using GitHub Actions. labels Feb 5, 2025
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Feb 5, 2025
@nodejs-github-bot nodejs-github-bot merged commit 16dc29d into nodejs:main Feb 5, 2025
73 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in 16dc29d

targos pushed a commit that referenced this pull request Feb 7, 2025
PR-URL: #56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>
acidiney pushed a commit to acidiney/node that referenced this pull request Feb 23, 2025
PR-URL: nodejs#56253
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Vinícius Lourenço Claro Cardoso <[email protected]>
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Feb 25, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | minor | `23.7.0` -> `23.8.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

### [`v23.8.0`](https://github.com/nodejs/node/releases/tag/v23.8.0): 2025-02-13, Version 23.8.0 (Current), @&#8203;targos

[Compare Source](nodejs/node@v23.7.0...v23.8.0)

##### Notable Changes

##### Support for using system CA certificates store on macOS and Windows

This version adds the `--use-system-ca` command-line flag, which instructs Node.js
to use the trusted CA certificates present in the system store along with
the `--use-bundled-ca`, `--use-openssl-ca` options.

This option is available on macOS and Windows for now.

Contributed by Tim Jacomb in [#&#8203;56599](nodejs/node#56599)
and Joyee Cheung in [#&#8203;56833](nodejs/node#56833).

##### Introduction of the URL Pattern API

An implementation of the [URL Pattern API](https://developer.mozilla.org/en-US/docs/Web/API/URL_Pattern_API)
is now available.

The `URLPattern` constructor is exported from the `node:url` module and will be
available as a global in Node.js 24.

Contributed by Yagiz Nizipli and Daniel Lemire in [#&#8203;56452](nodejs/node#56452).

##### Support for the zstd compression algorithm

Node.js now includes support for the Zstandard (zstd) compression algorithm.
Various APIs have been added to the `node:zlib` module for both compression and decompression
of zstd streams.

Contributed by Jan Krems in [#&#8203;52100](nodejs/node#52100).

##### Node.js thread names

Threads created by the Node.js process are now named to improve the debugging experience.
Worker threads will use the `name` option that can be passed to the `Worker` constructor.

Contributed by Rafael Gonzaga in [#&#8203;56416](nodejs/node#56416).

##### Timezone data has been updated to 2025a

Included changes:

-   Paraguay adopts permanent -03 starting spring 2024.
-   Improve pre-1991 data for the Philippines.

##### Other Notable Changes

-   \[[`39997867cf`](nodejs/node@39997867cf)] - **(SEMVER-MINOR)** **sqlite**: allow returning `ArrayBufferView`s from user-defined functions (René) [#&#8203;56790](nodejs/node#56790)

##### Commits

-   \[[`0ee9c34d63`](nodejs/node@0ee9c34d63)] - **benchmark**: add simple parse and test benchmarks for URLPattern (James M Snell) [#&#8203;56882](nodejs/node#56882)
-   \[[`b3f2045d14`](nodejs/node@b3f2045d14)] - **build**: gyp exclude libm linking on macOS (deepak1556) [#&#8203;56901](nodejs/node#56901)
-   \[[`e0dd9aefd6`](nodejs/node@e0dd9aefd6)] - **build**: remove explicit linker call to libm on macOS (deepak1556) [#&#8203;56901](nodejs/node#56901)
-   \[[`52399da780`](nodejs/node@52399da780)] - **build**: link with Security.framework in GN build (Cheng) [#&#8203;56895](nodejs/node#56895)
-   \[[`582b9221c9`](nodejs/node@582b9221c9)] - **build**: do not put commands in sources variables (Cheng) [#&#8203;56885](nodejs/node#56885)
-   \[[`ea61b956e9`](nodejs/node@ea61b956e9)] - **build**: add double quotes around <(python) (Luigi Pinca) [#&#8203;56826](nodejs/node#56826)
-   \[[`14236ef778`](nodejs/node@14236ef778)] - **build**: add build option suppress_all_error_on_warn (Michael Dawson) [#&#8203;56647](nodejs/node#56647)
-   \[[`dfd3f430f3`](nodejs/node@dfd3f430f3)] - **build,win**: enable ccache (Stefan Stojanovic) [#&#8203;56847](nodejs/node#56847)
-   \[[`3e207bd9ec`](nodejs/node@3e207bd9ec)] - **(SEMVER-MINOR)** **crypto**: support --use-system-ca on Windows (Joyee Cheung) [#&#8203;56833](nodejs/node#56833)
-   \[[`fe2694a992`](nodejs/node@fe2694a992)] - **crypto**: fix X509\* leak in --use-system-ca (Joyee Cheung) [#&#8203;56832](nodejs/node#56832)
-   \[[`60039a2c36`](nodejs/node@60039a2c36)] - **crypto**: add api to get openssl security level (Michael Dawson) [#&#8203;56601](nodejs/node#56601)
-   \[[`39a474f7c0`](nodejs/node@39a474f7c0)] - **(SEMVER-MINOR)** **crypto**: added support for reading certificates from macOS system store (Tim Jacomb) [#&#8203;56599](nodejs/node#56599)
-   \[[`144bee8067`](nodejs/node@144bee8067)] - **deps**: update zlib to 1.3.0.1-motley-788cb3c (Node.js GitHub Bot) [#&#8203;56655](nodejs/node#56655)
-   \[[`7fd39e3a79`](nodejs/node@7fd39e3a79)] - **deps**: update sqlite to 3.49.0 (Node.js GitHub Bot) [#&#8203;56654](nodejs/node#56654)
-   \[[`d698cb5434`](nodejs/node@d698cb5434)] - **deps**: update amaro to 0.3.2 (marco-ippolito) [#&#8203;56916](nodejs/node#56916)
-   \[[`dbd09067c0`](nodejs/node@dbd09067c0)] - **deps**: V8: cherry-pick [`9ab4059`](nodejs/node@9ab40592f697) (Levi Zim) [#&#8203;56781](nodejs/node#56781)
-   \[[`ee33ef3aa6`](nodejs/node@ee33ef3aa6)] - **deps**: update cjs-module-lexer to 2.0.0 (Michael Dawson) [#&#8203;56855](nodejs/node#56855)
-   \[[`c0542557d0`](nodejs/node@c0542557d0)] - **deps**: update timezone to 2025a (Node.js GitHub Bot) [#&#8203;56876](nodejs/node#56876)
-   \[[`d67cb1f9bb`](nodejs/node@d67cb1f9bb)] - **deps**: update simdjson to 3.12.0 (Node.js GitHub Bot) [#&#8203;56874](nodejs/node#56874)
-   \[[`70b04b4314`](nodejs/node@70b04b4314)] - **deps**: update googletest to [`e235eb3`](nodejs/node@e235eb3) (Node.js GitHub Bot) [#&#8203;56873](nodejs/node#56873)
-   \[[`e11cda003f`](nodejs/node@e11cda003f)] - **(SEMVER-MINOR)** **deps**: update ada to v3.0.1 (Yagiz Nizipli) [#&#8203;56452](nodejs/node#56452)
-   \[[`8743ef525d`](nodejs/node@8743ef525d)] - **deps**: update simdjson to 3.11.6 (Node.js GitHub Bot) [#&#8203;56250](nodejs/node#56250)
-   \[[`0f553e5575`](nodejs/node@0f553e5575)] - **deps**: update amaro to 0.3.1 (Node.js GitHub Bot) [#&#8203;56785](nodejs/node#56785)
-   \[[`380a8d8d2f`](nodejs/node@380a8d8d2f)] - **(SEMVER-MINOR)** **deps,tools**: add zstd 1.5.6 (Jan Krems) [#&#8203;52100](nodejs/node#52100)
-   \[[`66898a7c3b`](nodejs/node@66898a7c3b)] - **doc**: update history of stream.Readable.toWeb() (Jimmy Leung) [#&#8203;56928](nodejs/node#56928)
-   \[[`9e29416e12`](nodejs/node@9e29416e12)] - **doc**: make MDN links to global classes more consistent (Antoine du Hamel) [#&#8203;56924](nodejs/node#56924)
-   \[[`6bc270728a`](nodejs/node@6bc270728a)] - **doc**: make MDN links to global classes more consistent in `assert.md` (Antoine du Hamel) [#&#8203;56920](nodejs/node#56920)
-   \[[`00da003171`](nodejs/node@00da003171)] - **doc**: make MDN links to global classes more consistent (Antoine du Hamel) [#&#8203;56923](nodejs/node#56923)
-   \[[`d90198793a`](nodejs/node@d90198793a)] - **doc**: make MDN links to global classes more consistent in `util.md` (Antoine du Hamel) [#&#8203;56922](nodejs/node#56922)
-   \[[`5f4377a759`](nodejs/node@5f4377a759)] - **doc**: make MDN links to global classes more consistent in `buffer.md` (Antoine du Hamel) [#&#8203;56921](nodejs/node#56921)
-   \[[`7353266b50`](nodejs/node@7353266b50)] - **doc**: improve type stripping documentation (Marco Ippolito) [#&#8203;56916](nodejs/node#56916)
-   \[[`888d2acc3a`](nodejs/node@888d2acc3a)] - **doc**: specificy support for erasable ts syntax (Marco Ippolito) [#&#8203;56916](nodejs/node#56916)
-   \[[`3c082d43bc`](nodejs/node@3c082d43bc)] - **doc**: update post sec release process (Rafael Gonzaga) [#&#8203;56907](nodejs/node#56907)
-   \[[`f0bf35d3c5`](nodejs/node@f0bf35d3c5)] - **doc**: update websocket link to avoid linking to self (Chengzhong Wu) [#&#8203;56897](nodejs/node#56897)
-   \[[`373dbb0e6c`](nodejs/node@373dbb0e6c)] - **doc**: mark `--env-file-if-exists` flag as experimental (Juan José) [#&#8203;56893](nodejs/node#56893)
-   \[[`d436888cc8`](nodejs/node@d436888cc8)] - **doc**: fix typo in cjs example of `util.styleText` (Deokjin Kim) [#&#8203;56769](nodejs/node#56769)
-   \[[`91638eeb4a`](nodejs/node@91638eeb4a)] - **doc**: clarify sqlite user-defined function behaviour (René) [#&#8203;56786](nodejs/node#56786)
-   \[[`bab9c4d331`](nodejs/node@bab9c4d331)] - **events**: getMaxListeners detects 0 listeners (Matthew Aitken) [#&#8203;56807](nodejs/node#56807)
-   \[[`ccaf7fe737`](nodejs/node@ccaf7fe737)] - **fs**: make `FileHandle.readableWebStream` always create byte streams (Ian Kerins) [#&#8203;55461](nodejs/node#55461)
-   \[[`974cec7a0a`](nodejs/node@974cec7a0a)] - **http**: be more generational GC friendly (ywave620) [#&#8203;56767](nodejs/node#56767)
-   \[[`be00058712`](nodejs/node@be00058712)] - **inspector**: add Network.Initiator in inspector protocol (Chengzhong Wu) [#&#8203;56805](nodejs/node#56805)
-   \[[`31293a4b09`](nodejs/node@31293a4b09)] - **inspector**: fix GN build (Cheng) [#&#8203;56798](nodejs/node#56798)
-   \[[`91a302356b`](nodejs/node@91a302356b)] - **inspector**: fix StringUtil::CharacterCount for unicodes (Chengzhong Wu) [#&#8203;56788](nodejs/node#56788)
-   \[[`3b305f25f2`](nodejs/node@3b305f25f2)] - **lib**: filter node:quic from builtinModules when flag not used (James M Snell) [#&#8203;56870](nodejs/node#56870)
-   \[[`f06ee4c54a`](nodejs/node@f06ee4c54a)] - **meta**: bump `actions/upload-artifact` from 4.4.3 to 4.6.0 (dependabot\[bot]) [#&#8203;56861](nodejs/node#56861)
-   \[[`d230bc3b3c`](nodejs/node@d230bc3b3c)] - **meta**: bump `actions/setup-node` from 4.1.0 to 4.2.0 (dependabot\[bot]) [#&#8203;56868](nodejs/node#56868)
-   \[[`d4ecfa745e`](nodejs/node@d4ecfa745e)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;56889](nodejs/node#56889)
-   \[[`698c56bb94`](nodejs/node@698c56bb94)] - **meta**: add [@&#8203;nodejs/url](https://github.com/nodejs/url) as codeowner (Chengzhong Wu) [#&#8203;56783](nodejs/node#56783)
-   \[[`a274b28857`](nodejs/node@a274b28857)] - **module**: fix require.resolve() crash on non-string paths (Aditi) [#&#8203;56942](nodejs/node#56942)
-   \[[`4e3052aeee`](nodejs/node@4e3052aeee)] - **quic**: fixup errant LocalVector usage (James M Snell) [#&#8203;56564](nodejs/node#56564)
-   \[[`dfc61f7bb7`](nodejs/node@dfc61f7bb7)] - **readline**: fix unresolved promise on abortion (Daniel Venable) [#&#8203;54030](nodejs/node#54030)
-   \[[`9e60501f5e`](nodejs/node@9e60501f5e)] - **sqlite**: fix coverity warnings related to backup() (Colin Ihrig) [#&#8203;56961](nodejs/node#56961)
-   \[[`1913a4aabc`](nodejs/node@1913a4aabc)] - **sqlite**: restore changes from [#&#8203;55373](nodejs/node#55373) (Colin Ihrig) [#&#8203;56908](nodejs/node#56908)
-   \[[`8410c955b7`](nodejs/node@8410c955b7)] - **sqlite**: fix use-after-free in StatementSync due to premature GC (Divy Srivastava) [#&#8203;56840](nodejs/node#56840)
-   \[[`01d732d629`](nodejs/node@01d732d629)] - **sqlite**: handle conflicting SQLite and JS errors (Colin Ihrig) [#&#8203;56787](nodejs/node#56787)
-   \[[`39997867cf`](nodejs/node@39997867cf)] - **(SEMVER-MINOR)** **sqlite**: allow returning `ArrayBufferView`s from user-defined functions (René) [#&#8203;56790](nodejs/node#56790)
-   \[[`8dc637681a`](nodejs/node@8dc637681a)] - **sqlite, test**: expose sqlite online backup api (Edy Silva) [#&#8203;56253](nodejs/node#56253)
-   \[[`cfea53eccc`](nodejs/node@cfea53eccc)] - **src**: use `args.This()` in zlib (Michaël Zasso) [#&#8203;56988](nodejs/node#56988)
-   \[[`6b398d6d0b`](nodejs/node@6b398d6d0b)] - **src**: replace `SplitString` with built-in (Yagiz Nizipli) [#&#8203;54990](nodejs/node#54990)
-   \[[`fbb32e0a08`](nodejs/node@fbb32e0a08)] - **src**: add nullptr handling for `NativeKeyObject` (Burkov Egor) [#&#8203;56900](nodejs/node#56900)
-   \[[`83ff7be9fd`](nodejs/node@83ff7be9fd)] - **src**: disallow copy/move fns/constructors (Yagiz Nizipli) [#&#8203;56811](nodejs/node#56811)
-   \[[`63611d0331`](nodejs/node@63611d0331)] - **src**: add a hard dependency v8\_inspector_headers (Chengzhong Wu) [#&#8203;56805](nodejs/node#56805)
-   \[[`3d957d135c`](nodejs/node@3d957d135c)] - **src**: improve error handling in encoding_binding.cc (James M Snell) [#&#8203;56915](nodejs/node#56915)
-   \[[`9e9ac3ccd8`](nodejs/node@9e9ac3ccd8)] - **src**: avoid copy by using std::views::keys (Yagiz Nizipli) [#&#8203;56080](nodejs/node#56080)
-   \[[`086cdc297a`](nodejs/node@086cdc297a)] - **src**: remove obsolete NoArrayBufferZeroFillScope (James M Snell) [#&#8203;56913](nodejs/node#56913)
-   \[[`915d7aeb37`](nodejs/node@915d7aeb37)] - **src**: set signal inspector io thread name (RafaelGSS) [#&#8203;56416](nodejs/node#56416)
-   \[[`f4b086d29d`](nodejs/node@f4b086d29d)] - **src**: set thread name for main thread and v8 worker (RafaelGSS) [#&#8203;56416](nodejs/node#56416)
-   \[[`3579143630`](nodejs/node@3579143630)] - **src**: set worker thread name using worker.name (RafaelGSS) [#&#8203;56416](nodejs/node#56416)
-   \[[`736ff5de6d`](nodejs/node@736ff5de6d)] - **src**: use a default thread name for inspector (RafaelGSS) [#&#8203;56416](nodejs/node#56416)
-   \[[`be8e2b4d8f`](nodejs/node@be8e2b4d8f)] - **src**: improve error handling in permission.cc (James M Snell) [#&#8203;56904](nodejs/node#56904)
-   \[[`d6cf0911ee`](nodejs/node@d6cf0911ee)] - **src**: improve error handling in node_sqlite (James M Snell) [#&#8203;56891](nodejs/node#56891)
-   \[[`521fed1bac`](nodejs/node@521fed1bac)] - **src**: improve error handling in node_os by removing ToLocalChecked (James M Snell) [#&#8203;56888](nodejs/node#56888)
-   \[[`c9a99df8e7`](nodejs/node@c9a99df8e7)] - **src**: improve error handling in node_url (James M Snell) [#&#8203;56886](nodejs/node#56886)
-   \[[`5c82ef3ace`](nodejs/node@5c82ef3ace)] - **src**: add memory retainer traits for external types (Chengzhong Wu) [#&#8203;56881](nodejs/node#56881)
-   \[[`edb194b2d5`](nodejs/node@edb194b2d5)] - **src**: prevent URLPattern property accessors from crashing on invalid this (James M Snell) [#&#8203;56877](nodejs/node#56877)
-   \[[`9624049414`](nodejs/node@9624049414)] - **src**: pull in more electron boringssl adjustments (James M Snell) [#&#8203;56858](nodejs/node#56858)
-   \[[`f8910e384d`](nodejs/node@f8910e384d)] - **src**: make multiple improvements to node_url_pattern (James M Snell) [#&#8203;56871](nodejs/node#56871)
-   \[[`94a0237b18`](nodejs/node@94a0237b18)] - **src**: clean up some obsolete crypto methods (James M Snell) [#&#8203;56792](nodejs/node#56792)
-   \[[`b240ca67b9`](nodejs/node@b240ca67b9)] - **src**: add check for Bignum in GroupOrderSize (Burkov Egor) [#&#8203;56702](nodejs/node#56702)
-   \[[`45692e9c7c`](nodejs/node@45692e9c7c)] - **src, deps**: port electron's boringssl workarounds (James M Snell) [#&#8203;56812](nodejs/node#56812)
-   \[[`a9d80d43cb`](nodejs/node@a9d80d43cb)] - **(SEMVER-MINOR)** **src, quic**: refine more of the quic implementation (James M Snell) [#&#8203;56328](nodejs/node#56328)
-   \[[`93d0beb6c8`](nodejs/node@93d0beb6c8)] - **src,test**: expand test coverage for urlpattern and fix error (James M Snell) [#&#8203;56878](nodejs/node#56878)
-   \[[`5a9732e1d0`](nodejs/node@5a9732e1d0)] - **test**: improve timeout duration for debugger events (Yagiz Nizipli) [#&#8203;56970](nodejs/node#56970)
-   \[[`60c8fc07ff`](nodejs/node@60c8fc07ff)] - **test**: remove unnecessary syscall to cpuinfo (Yagiz Nizipli) [#&#8203;56968](nodejs/node#56968)
-   \[[`40cdf756e6`](nodejs/node@40cdf756e6)] - **test**: update webstorage wpt (Yagiz Nizipli) [#&#8203;56963](nodejs/node#56963)
-   \[[`de77371a9e`](nodejs/node@de77371a9e)] - **test**: execute shell directly for refresh() (Yagiz Nizipli) [#&#8203;55051](nodejs/node#55051)
-   \[[`f4254b8e70`](nodejs/node@f4254b8e70)] - **test**: automatically sync wpt urlpattern tests (Jonas) [#&#8203;56949](nodejs/node#56949)
-   \[[`a473d3f57a`](nodejs/node@a473d3f57a)] - **test**: update snapshots for amaro v0.3.2 (Marco Ippolito) [#&#8203;56916](nodejs/node#56916)
-   \[[`abca97f7e2`](nodejs/node@abca97f7e2)] - **test**: change jenkins reporter (Carlos Espa) [#&#8203;56808](nodejs/node#56808)
-   \[[`7c9fa11127`](nodejs/node@7c9fa11127)] - **test**: fix race condition in test-child-process-bad-stdio (Colin Ihrig) [#&#8203;56845](nodejs/node#56845)
-   \[[`b8b6e68836`](nodejs/node@b8b6e68836)] - **(SEMVER-MINOR)** **test**: add WPT for URLPattern (Yagiz Nizipli) [#&#8203;56452](nodejs/node#56452)
-   \[[`b6d3d52e20`](nodejs/node@b6d3d52e20)] - **test**: adjust check to use OpenSSL sec level (Michael Dawson) [#&#8203;56819](nodejs/node#56819)
-   \[[`3beac87f92`](nodejs/node@3beac87f92)] - **test**: test-crypto-scrypt.js doesn't need internals (Meghan Denny) [#&#8203;56673](nodejs/node#56673)
-   \[[`3af23a10f3`](nodejs/node@3af23a10f3)] - **test**: set `test-fs-cp` as flaky (Stefan Stojanovic) [#&#8203;56799](nodejs/node#56799)
-   \[[`1146f48f67`](nodejs/node@1146f48f67)] - **test**: search cctest files (Chengzhong Wu) [#&#8203;56791](nodejs/node#56791)
-   \[[`86c199b25a`](nodejs/node@86c199b25a)] - **test**: convert test_encoding_binding.cc to a JS test (Chengzhong Wu) [#&#8203;56791](nodejs/node#56791)
-   \[[`bd5484717c`](nodejs/node@bd5484717c)] - **test**: test-crypto-prime.js doesn't need internals (Meghan Denny) [#&#8203;56675](nodejs/node#56675)
-   \[[`f5f54414e4`](nodejs/node@f5f54414e4)] - **test**: temporary remove resource check from fs read-write (Rafael Gonzaga) [#&#8203;56789](nodejs/node#56789)
-   \[[`c8bd2ba0ad`](nodejs/node@c8bd2ba0ad)] - **test**: mark test-without-async-context-frame flaky on windows (James M Snell) [#&#8203;56753](nodejs/node#56753)
-   \[[`2c2e4a4ae0`](nodejs/node@2c2e4a4ae0)] - **test**: remove unnecessary code (Luigi Pinca) [#&#8203;56784](nodejs/node#56784)
-   \[[`4606a5f79b`](nodejs/node@4606a5f79b)] - **test**: mark `test-esm-loader-hooks-inspect-wait` flaky (Richard Lau) [#&#8203;56803](nodejs/node#56803)
-   \[[`38c77e3462`](nodejs/node@38c77e3462)] - **test**: update WPT for url to [`a23788b`](nodejs/node@a23788b77a) (Node.js GitHub Bot) [#&#8203;56779](nodejs/node#56779)
-   \[[`50ebd5fd31`](nodejs/node@50ebd5fd31)] - **test**: remove duplicate error reporter from ci (Carlos Espa) [#&#8203;56739](nodejs/node#56739)
-   \[[`0c3ae25aec`](nodejs/node@0c3ae25aec)] - **test_runner**: print formatted errors on summary (Pietro Marchini) [#&#8203;56911](nodejs/node#56911)
-   \[[`b5a8a812fb`](nodejs/node@b5a8a812fb)] - **tools**: bump eslint version (dependabot\[bot]) [#&#8203;56869](nodejs/node#56869)
-   \[[`e1f86c1b9d`](nodejs/node@e1f86c1b9d)] - **tools**: remove test-asan/ubsan workflows (Michaël Zasso) [#&#8203;56823](nodejs/node#56823)
-   \[[`405a6678b7`](nodejs/node@405a6678b7)] - **tools**: run macOS test workflow with Xcode 16.1 (Michaël Zasso) [#&#8203;56831](nodejs/node#56831)
-   \[[`16529c130f`](nodejs/node@16529c130f)] - **tools**: update sccache and sccache-action (Michaël Zasso) [#&#8203;56815](nodejs/node#56815)
-   \[[`fe004111ea`](nodejs/node@fe004111ea)] - **tools**: fix license-builder for inspector_protocol (Michaël Zasso) [#&#8203;56814](nodejs/node#56814)
-   \[[`bc97a90176`](nodejs/node@bc97a90176)] - **(SEMVER-MINOR)** **url**: add URLPattern implementation (Yagiz Nizipli) [#&#8203;56452](nodejs/node#56452)
-   \[[`77294d8918`](nodejs/node@77294d8918)] - **util**: enforce shouldColorize in styleText array arg (Marco Ippolito) [#&#8203;56722](nodejs/node#56722)
-   \[[`8e6c191601`](nodejs/node@8e6c191601)] - **zlib**: use modern class syntax for zstd classes (Yagiz Nizipli) [#&#8203;56965](nodejs/node#56965)
-   \[[`a3ca7f37a2`](nodejs/node@a3ca7f37a2)] - **zlib**: make all zstd functions experimental (Yagiz Nizipli) [#&#8203;56964](nodejs/node#56964)
-   \[[`4cc7907738`](nodejs/node@4cc7907738)] - **(SEMVER-MINOR)** **zlib**: add zstd support (Jan Krems) [#&#8203;52100](nodejs/node#52100)

</details>

---

### Configuration

📅 **Schedule**: 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 MR becomes conflicted, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjkuMyIsInVwZGF0ZWRJblZlciI6IjM5LjE2OS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. c++ Issues and PRs that require attention from people who are familiar with C++. commit-queue-squash Add this label to instruct the Commit Queue to squash all the PR commits into the first one. sqlite Issues and PRs related to the SQLite subsystem.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

node:sqlite: support database.backup
6 participants