Commit Graph

10947 Commits

Author SHA1 Message Date
DarkSky
76e1721d70 fix: journal conflict handle v0.26.0-beta.6 2026-01-15 00:55:35 +08:00
DarkSky
fc59dff9e2 chore: enable blur background for mac 2026-01-15 00:35:11 +08:00
DarkSky
27a58e764c chore: bump version & deps 2026-01-15 00:33:51 +08:00
DarkSky
13907f7234 fix(core): event flow handle (#14256) 2026-01-15 00:04:32 +08:00
DarkSky
7c24b2521a feat: reduce backend (#14251)
#### PR Dependency Tree


* **PR #14251** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Current user profile now exposes access tokens, revealed tokens, and
detailed calendar accounts/subscriptions.
* Workspace now exposes permissions, calendars, calendar events, and a
workspace-scoped blob upload part URL.
  * New document-update mutation for applying doc updates.

* **API Changes**
  * validateAppConfig is now a query (mutation deprecated).
* Several legacy top-level calendar/blob endpoints deprecated in favor
of user/workspace fields.

* **Refactor**
* Calendar, blob-upload and access-token surfaces reorganized to use
user/workspace-centric fields.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-14 00:01:07 +08:00
github-actions[bot]
7c440686ad chore(i18n): sync translations (#14148)
New Crowdin translations by [Crowdin GH
Action](https://github.com/crowdin/github-action)

---------

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: DarkSky <darksky2048@gmail.com>
v0.26.0-beta.5
2026-01-13 22:09:42 +08:00
DarkSky
b331a08744 feat: native update merge (#14250)
#### PR Dependency Tree


* **PR #14250** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Backend Optimization**
  * Faster document retrieval via a native binary fetch path.
* Native-accelerated merging of document updates for improved
performance and consistency.
* **Indexing & Reliability**
* Indexing now only proceeds on valid parse results, with clearer
warnings and richer metadata on failures.
* More consistent sync behavior and enhanced diagnostic logging for
indexing operations.
* **Tests**
  * Expanded tests to cover native binary retrieval error handling.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-13 22:03:55 +08:00
DarkSky
279b7bb64f feat(core): integrate google calendar sync (#14248)
fix #14170 
fix #13893 
fix #13673 
fix #13543 
fix #13308 
fix #7607




#### PR Dependency Tree


* **PR #14247**
  * **PR #14248** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Integrations panel in Account Settings to link/unlink calendar
providers.
  * Collapsible settings wrapper for improved layout.

* **Improvements**
* Calendar system reworked: per-account calendar groups, simplified
toggles with explicit Save, richer event display (multi-dot date
indicators), improved event time/title handling across journal views.

* **Localization**
* Added calendar keys: save-error, no-journal, no-calendar; removed
legacy duplicate-error keys.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-13 02:38:16 +08:00
DarkSky
89f0430242 fix: race conditions (y-crdt/y-octo#51) 2026-01-13 01:10:07 +08:00
DarkSky
0bd8160ed4 feat: init cloud calendar support (#14247)
#### PR Dependency Tree


* **PR #14247** 👈
  * **PR #14248**

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Google Calendar integration (disabled by default): link/unlink
accounts, OAuth flow, webhooks, real-time push, background sync,
workspace calendars with customizable items and date-range event
viewing.
* **GraphQL / Client**
* New queries & mutations for accounts, subscriptions, events,
providers, and workspace calendar management.
* **Localization**
* Added localized error message for calendar provider request failures.
* **Tests**
* Backend tests covering sync, webhook renewal, and error/error-recovery
scenarios.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-12 23:17:43 +08:00
DarkSky
a5b60cf679 fix: index calc & detached node handle (y-crdt/y-octo#50) 2026-01-11 18:44:55 +08:00
DarkSky
ca2462f987 feat(native): sync yocto codes (#14243)
#### PR Dependency Tree


* **PR #14243** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Batch management API for coordinated document mutations and change
tracking.
* New document accessors (IDs, state snapshots, change/delete set
queries) and subscriber count.

* **Chores**
  * Upgraded Rust edition across packages to 2024.
  * Repository-wide formatting, stylistic cleanups and test adjustments.

* **Breaking Changes**
* Removed the Node native bindings package and its JS/TS declarations
and tests (no longer published/available).

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-11 06:08:33 +08:00
Adit Syed Afnan
d515d295ce feat(editor): enhance string comparison handling in eval.ts (#14233)
Refactors the compareString function to safely handle null and undefined
inputs and improves overall string comparison logic. This prevents
incorrect sort behavior and ensures consistent ordering when comparing
mixed or missing values, particularly in table view sorting scenarios.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Improved string comparison used for sorting: empty values are
consistently placed last, numeric parts sort numerically before
non-numeric parts, and mixed-type and case variations are handled more
predictably for stable, consistent ordering across data views.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-09 02:58:00 +00:00
DarkSky
e4dc82ee35 chore: bump deps (#14227)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated backend service dependencies to the latest stable versions for
improved performance and security.
* Upgraded UI component library dependencies to the latest minor
releases.

* **Improvements**
* Enhanced web search functionality for better search results on
standard AI models.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-07 13:15:17 +08:00
renovate[bot]
aa6f26b1a5 chore: bump up opentelemetry (#14208)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@opentelemetry/instrumentation-ioredis](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-ioredis#readme)
([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-ioredis))
| [`^0.56.0` →
`^0.57.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.56.0/0.57.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-ioredis/0.57.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-ioredis/0.56.0/0.57.0?slim=true)
|
|
[@opentelemetry/instrumentation-socket.io](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-socket.io#readme)
([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-socket.io))
| [`0.55.0` →
`0.55.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.55.0/0.55.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-socket.io/0.55.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-socket.io/0.55.0/0.55.1?slim=true)
|

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-js-contrib
(@&#8203;opentelemetry/instrumentation-ioredis)</summary>

###
[`v0.57.0`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-ioredis/CHANGELOG.md#0570-2025-12-17)

[Compare
Source](94e5b7da45...66935ac724)

##### Features

- **instrumentations-ioredis:** support `net.*` and database semconv
migration
([#&#8203;3266](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3266))
([9f92c8b](9f92c8b5b1))

##### Dependencies

- The following workspace dependencies were updated
  - devDependencies
-
[@&#8203;opentelemetry/contrib-test-utils](https://redirect.github.com/opentelemetry/contrib-test-utils)
bumped from ^0.55.0 to ^0.56.0

</details>

<details>
<summary>open-telemetry/opentelemetry-js-contrib
(@&#8203;opentelemetry/instrumentation-socket.io)</summary>

###
[`v0.55.1`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-socket.io/CHANGELOG.md#0551-2025-12-17)

[Compare
Source](94e5b7da45...66935ac724)

##### Dependencies

- The following workspace dependencies were updated
  - devDependencies
-
[@&#8203;opentelemetry/contrib-test-utils](https://redirect.github.com/opentelemetry/contrib-test-utils)
bumped from ^0.55.0 to ^0.56.0

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-07 11:45:15 +08:00
likljn
c1d43b9b18 fix(editor): keep slash menu alive on text input when no_result (#14141)
**Problem**
Slash menu can be prematurely aborted when the query is still in
`no_result`
due to async query updates after deletion.

**Solution**
Keep the slash menu alive on text input while in `no_result`,
preventing aborts based on a stale query state.

**Repro**
1. Type `/eeee`
2. Delete to `/`
3. Type `h`
4. Slash menu should recover and show results


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Enhanced slash-menu keyboard interaction: users can now continue
typing to refine queries when no results are displayed, instead of the
menu closing unexpectedly. Keyboard navigation and other controls remain
responsive.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
2026-01-07 02:13:13 +00:00
DarkSky
b8e597fa1d fix: hide search local label if need 2026-01-07 10:42:51 +08:00
Cats Juice
cf98afb32e chore: bump theme@1.1.23 (#14222)
close #13952

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Upgraded the shared theme library from v1.1.16 to v1.1.23 across the
project (core components, UI widgets, content blocks, and frontend
apps), delivering the latest styling and design refinements
platform-wide.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: L-Sun <zover.v@gmail.com>
v0.26.0-beta.4
2026-01-06 20:48:44 +08:00
Yiding Jia
a11e9fe8ca feat(server): add LISTEN_ADDR env var for allowing server to listen on ipv6 (#14211)
The old code hardcoded 0.0.0.0 which means the server only listened for
ipv4 connections, making it not work on ipv6-only networks.

This change adds a LISTEN_ADDR env var which allows the server to bind
to ipv6 as well.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Server listen address is now configurable via the LISTEN_ADDR
environment variable (default: 0.0.0.0), enabling IPv4/IPv6 or
interface-specific binding.
* Configuration schemas and admin UI now expose the listen address
option so deployments can view and override it.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-05 09:31:47 +00:00
DarkSky
f42246aba1 fix: allow method for cors 2026-01-05 13:14:56 +08:00
Whitewater
f5394b7450 fix: refine handling for non-standard keyboards to avoid incorrect keyCode fallback (#14206)
Fix https://github.com/toeverything/AFFiNE/issues/14059

With the help of Claude Opus 4.5

Improve handling of keyCode fallback for non-standard keyboards by only
applying it when modifier keys are pressed. This change prevents
incorrect fallback behavior for non-ASCII characters, ensuring users can
type intended characters without triggering shortcuts.

After


https://github.com/user-attachments/assets/00ab4fb2-4bc2-4ca7-a284-9782686d298c

Event dump for Cyrillic x

```json

{
 "key": "х",
 "keyCode": 219,
 "which": 219,
 "code": "BracketLeft",
 "location": 0,
 "altKey": false,
 "ctrlKey": false,
 "metaKey": false,
 "shiftKey": false,
 "repeat": false
}
```

blocksuite commit
4c0d39890f (diff-68c46455e0eece88312235df85f8ce27ae254efccde6fb987f2505180730bd8c)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Refined keyboard input handling to properly support non-ASCII
characters (e.g., Cyrillic, Greek) by ensuring user-typed characters are
preserved instead of inadvertently triggering keyboard shortcuts. The
fix maintains keyboard shortcut functionality while improving
compatibility with international keyboards and input methods.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-04 09:18:03 +00:00
DarkSky
e7d0f31546 fix: blob redirect 2026-01-04 00:23:51 +08:00
DarkSky
fe5d6c0c0f feat(editor): support frontmatter & colored text parsing (#14205)
fix #13847
2026-01-03 22:43:11 +08:00
Yiding Jia
510933becf chore(server): bump ioredis to 5.8.2 for ipv6 support (#14204)
Bump ioredis to 5.8.2 for ipv6 support. 

Prior to 5.8.2 ioredis required passing `family: 0` or `family: 6` when
constructing a client in order to connect to redis over ipv6. This was
fixed in 5.8.2.

fix #14197
2026-01-03 01:06:30 +00:00
DarkSky
3633c75c6f feat: cleanup tables (#14203)
#### PR Dependency Tree


* **PR #14203** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Removed deprecated database tables, enums and schema fields (cleanup
of legacy subscription, invoice, runtime settings and session expiry
data). This includes irreversible data removal for those legacy
elements.
* **Tests**
* Updated tests and test data to align with the cleaned-up schema and
removed fields.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-03 03:50:14 +08:00
DarkSky
41addfe311 fix: blob sync v0.26.0-beta.3 2026-01-03 01:40:13 +08:00
DarkSky
9a7f8e7d4d feat: workspace level share settings (#14201)
fix #13698
2026-01-03 01:13:27 +08:00
DarkSky
60de882a30 feat: shared link list (#14200)
#### PR Dependency Tree


* **PR #14200** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added a "Shared Links" panel to workspace management, enabling admins
to view all published documents within a workspace
* Added publication date tracking for published documents, now displayed
alongside shared links

* **Chores**
  * Removed deprecated `publicPages` field; use `publicDocs` instead

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-02 21:07:41 +08:00
zetaloop
9f96633b33 fix: normalize shortcut display (#14196)
Normalize shortcut tokens and remove stray whitespace.
Uncomment group/ungroup shortcuts now that the feature is implemented.
Fix Windows redo shortcut display.

<img width="142" height="230" alt="image"
src="https://github.com/user-attachments/assets/989e061e-1ca2-489c-ab8e-6baad853d438"
/><img width="142" height="37" alt="image"
src="https://github.com/user-attachments/assets/671ed9b2-ccad-44ad-8889-7810bb01143c"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Standardized keyboard shortcut representations across the application
for improved consistency and clarity in shortcut displays.
* Corrected spacing inconsistencies in shortcut entries to ensure
uniform formatting.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
v0.26.0-beta.2
2026-01-01 13:07:35 +00:00
DarkSky
1e8095c224 fix: ci 2026-01-01 18:20:18 +08:00
DarkSky
0b0ae5ea0a feat: add queue management for admin panel 2026-01-01 06:13:50 +08:00
DarkSky
f745f7b669 feat: pre-aggregation workspace stats 2026-01-01 05:01:52 +08:00
DarkSky
97507e7043 fix: query type cast v0.26.0-beta.1 2026-01-01 02:41:03 +08:00
DarkSky
91e6f3c45c feat: improve workspace index 2026-01-01 01:39:40 +08:00
DarkSky
c7b74384a4 fix: types 2025-12-31 23:55:51 +08:00
DarkSky
20c4951847 feat: improve workspace list perf 2025-12-31 22:59:52 +08:00
DarkSky
bc03fab649 chore: cleanup logs 2025-12-31 12:31:58 +08:00
DarkSky
99332228da feat: native sync state (#14190)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added indexed clock management capabilities for documents, enabling
get, set, and clear operations across Android, iOS, Electron, and web
platforms.

* **Refactor**
* Improved storage architecture to dynamically select platform-specific
implementations (SQLite for Electron, IndexedDB for others).

* **Bug Fixes**
* Enhanced document operations to properly maintain and clean up indexer
synchronization state during document lifecycle changes.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-31 04:09:32 +08:00
DarkSky
95ef04f3e0 fix: cloud workspace search prefer & highlights v0.26.0-beta.0 2025-12-30 12:46:43 +08:00
DarkSky
e2adab7805 fix: table compatibility (#14185) 2025-12-30 12:01:27 +08:00
DarkSky
30fb953344 fix: build 2025-12-30 05:41:55 +08:00
DarkSky
ff2e96d847 feat: database indexing support (#14181) 2025-12-30 05:23:09 +08:00
DarkSky
95a5e941e7 feat: improve admin panel (#14180) 2025-12-30 05:22:54 +08:00
DarkSky
d6b380aee5 feat: improve pdf rendering (#14171)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Bitmap caching for PDF pages to speed up rendering and reduce repeated
work.
* Automatic prefetching of adjacent pages and expanded viewport overscan
for smoother scrolling.

* **Performance**
* LRU-style in-memory cache with eviction to manage memory and improve
responsiveness.
* Reusable-bitmap lookup and error-tolerant fallbacks for more reliable,
faster page display.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-29 22:01:07 +08:00
Yii
1b9d065778 chore(yocto): should auto gc after applying updates (#12199)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved document update handling to optimize storage automatically
when garbage collection is enabled.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
2025-12-29 21:48:23 +08:00
DarkSky
e12fe9c12b fix: message handle (#14178)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Robustly sanitize session titles, messages, attachments, and embedded
data to remove invalid/null characters and prevent corrupt persistence.
* Improve chat title generation to skip or recover from invalid input
and log contextual errors without crashing.
* Add more detailed storage and workspace logs and reduce repetitive
checks to aid troubleshooting and stability.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-29 21:47:53 +08:00
DarkSky
1bfd29df99 docs: update docs 2025-12-29 19:08:49 +08:00
renovate[bot]
a38e94f314 chore: bump up Node.js to v22.21.1 (#14175)
> **Note:** This PR body was truncated due to platform limits.

This PR contains the following updates:

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

---

### Release Notes

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

###
[`v22.21.1`](https://redirect.github.com/nodejs/node/releases/tag/v22.21.1):
2025-10-28, Version 22.21.1 &#x27;Jod&#x27; (LTS), @&#8203;aduh95

[Compare
Source](https://redirect.github.com/nodejs/node/compare/v22.21.0...v22.21.1)

##### Commits

-
\[[`af33e8e668`](https://redirect.github.com/nodejs/node/commit/af33e8e668)]
- **benchmark**: remove unused variable from util/priority-queue (Bruno
Rodrigues)
[#&#8203;59872](https://redirect.github.com/nodejs/node/pull/59872)
-
\[[`6764ce8756`](https://redirect.github.com/nodejs/node/commit/6764ce8756)]
- **benchmark**: update count to n in permission startup (Bruno
Rodrigues)
[#&#8203;59872](https://redirect.github.com/nodejs/node/pull/59872)
-
\[[`4e8d99f0dc`](https://redirect.github.com/nodejs/node/commit/4e8d99f0dc)]
- **benchmark**: update num to n in dgram offset-length (Bruno
Rodrigues)
[#&#8203;59872](https://redirect.github.com/nodejs/node/pull/59872)
-
\[[`af0a8ba7f8`](https://redirect.github.com/nodejs/node/commit/af0a8ba7f8)]
- **benchmark**: adjust dgram offset-length len values (Bruno Rodrigues)
[#&#8203;59708](https://redirect.github.com/nodejs/node/pull/59708)
-
\[[`78efd1be4a`](https://redirect.github.com/nodejs/node/commit/78efd1be4a)]
- **benchmark**: update num to n in dgram offset-length (Bruno
Rodrigues)
[#&#8203;59708](https://redirect.github.com/nodejs/node/pull/59708)
-
\[[`df72dc96e9`](https://redirect.github.com/nodejs/node/commit/df72dc96e9)]
- **console,util**: improve array inspection performance (Ruben
Bridgewater)
[#&#8203;60037](https://redirect.github.com/nodejs/node/pull/60037)
-
\[[`ef67d09f50`](https://redirect.github.com/nodejs/node/commit/ef67d09f50)]
- **http**: improve writeEarlyHints by avoiding for-of loop (Haram
Jeong)
[#&#8203;59958](https://redirect.github.com/nodejs/node/pull/59958)
-
\[[`23468fd76b`](https://redirect.github.com/nodejs/node/commit/23468fd76b)]
- **http2**: fix allowHttp1+Upgrade, broken by shouldUpgradeCallback
(Tim Perry)
[#&#8203;59924](https://redirect.github.com/nodejs/node/pull/59924)
-
\[[`56abc4ac76`](https://redirect.github.com/nodejs/node/commit/56abc4ac76)]
- **lib**: optimize priority queue (Gürgün Dayıoğlu)
[#&#8203;60039](https://redirect.github.com/nodejs/node/pull/60039)
-
\[[`ea5cfd98c5`](https://redirect.github.com/nodejs/node/commit/ea5cfd98c5)]
- **lib**: implement passive listener behavior per spec (BCD1me)
[#&#8203;59995](https://redirect.github.com/nodejs/node/pull/59995)
-
\[[`c2dd6eed2f`](https://redirect.github.com/nodejs/node/commit/c2dd6eed2f)]
- **process**: fix wrong asyncContext under unhandled-rejections=strict
(Shima Ryuhei)
[#&#8203;60103](https://redirect.github.com/nodejs/node/pull/60103)
-
\[[`81a3055710`](https://redirect.github.com/nodejs/node/commit/81a3055710)]
- **process**: fix default `env` for `process.execve` (Richard Lau)
[#&#8203;60029](https://redirect.github.com/nodejs/node/pull/60029)
-
\[[`fe492c7ace`](https://redirect.github.com/nodejs/node/commit/fe492c7ace)]
- **process**: fix hrtime fast call signatures (Renegade334)
[#&#8203;59600](https://redirect.github.com/nodejs/node/pull/59600)
-
\[[`76b4cab8fc`](https://redirect.github.com/nodejs/node/commit/76b4cab8fc)]
- **src**: bring permissions macros in line with general C/C++ standards
(Anna Henningsen)
[#&#8203;60053](https://redirect.github.com/nodejs/node/pull/60053)
-
\[[`21970970c7`](https://redirect.github.com/nodejs/node/commit/21970970c7)]
- **src**: remove `AnalyzeTemporaryDtors` option from .clang-tidy
(iknoom)
[#&#8203;60008](https://redirect.github.com/nodejs/node/pull/60008)
-
\[[`609c063e81`](https://redirect.github.com/nodejs/node/commit/609c063e81)]
- **src**: remove unused variables from report (Moonki Choi)
[#&#8203;60047](https://redirect.github.com/nodejs/node/pull/60047)
-
\[[`987841a773`](https://redirect.github.com/nodejs/node/commit/987841a773)]
- **src**: avoid unnecessary string allocations in SPrintF impl (Anna
Henningsen)
[#&#8203;60052](https://redirect.github.com/nodejs/node/pull/60052)
-
\[[`6e386c0632`](https://redirect.github.com/nodejs/node/commit/6e386c0632)]
- **src**: make ToLower/ToUpper input args more flexible (Anna
Henningsen)
[#&#8203;60052](https://redirect.github.com/nodejs/node/pull/60052)
-
\[[`c3be1226c7`](https://redirect.github.com/nodejs/node/commit/c3be1226c7)]
- **src**: allow `std::string_view` arguments to `SPrintF()` and friends
(Anna Henningsen)
[#&#8203;60058](https://redirect.github.com/nodejs/node/pull/60058)
-
\[[`764d35647d`](https://redirect.github.com/nodejs/node/commit/764d35647d)]
- **src**: remove unnecessary `std::string` error messages (Anna
Henningsen)
[#&#8203;60057](https://redirect.github.com/nodejs/node/pull/60057)
-
\[[`1289ef89ec`](https://redirect.github.com/nodejs/node/commit/1289ef89ec)]
- **src**: remove unnecessary shadowed functions on Utf8Value &
BufferValue (Anna Henningsen)
[#&#8203;60056](https://redirect.github.com/nodejs/node/pull/60056)
-
\[[`d1fb8a538d`](https://redirect.github.com/nodejs/node/commit/d1fb8a538d)]
- **src**: avoid unnecessary string -> `char*` -> string round trips
(Anna Henningsen)
[#&#8203;60055](https://redirect.github.com/nodejs/node/pull/60055)
-
\[[`54b439fb5a`](https://redirect.github.com/nodejs/node/commit/54b439fb5a)]
- **src**: fill `options_args`, `options_env` after vectors are
finalized (iknoom)
[#&#8203;59945](https://redirect.github.com/nodejs/node/pull/59945)
-
\[[`c7c597e2ca`](https://redirect.github.com/nodejs/node/commit/c7c597e2ca)]
- **src**: use RAII for uv\_process\_options\_t (iknoom)
[#&#8203;59945](https://redirect.github.com/nodejs/node/pull/59945)
-
\[[`b928ea9716`](https://redirect.github.com/nodejs/node/commit/b928ea9716)]
- **test**: ensure that the message event is fired (Luigi Pinca)
[#&#8203;59952](https://redirect.github.com/nodejs/node/pull/59952)
-
\[[`e4b95a5158`](https://redirect.github.com/nodejs/node/commit/e4b95a5158)]
- **test**: replace diagnostics\_channel stackframe in output snapshots
(Chengzhong Wu)
[#&#8203;60024](https://redirect.github.com/nodejs/node/pull/60024)
-
\[[`4206406694`](https://redirect.github.com/nodejs/node/commit/4206406694)]
- **test**: mark test-web-locks skip on IBM i (SRAVANI GUNDEPALLI)
[#&#8203;59996](https://redirect.github.com/nodejs/node/pull/59996)
-
\[[`26394cd5bf`](https://redirect.github.com/nodejs/node/commit/26394cd5bf)]
- **test**: expand tls-check-server-identity coverage (Diango Gavidia)
[#&#8203;60002](https://redirect.github.com/nodejs/node/pull/60002)
-
\[[`b58df47995`](https://redirect.github.com/nodejs/node/commit/b58df47995)]
- **test**: fix typo of test-benchmark-readline.js (Deokjin Kim)
[#&#8203;59993](https://redirect.github.com/nodejs/node/pull/59993)
-
\[[`af3a59dba8`](https://redirect.github.com/nodejs/node/commit/af3a59dba8)]
- **test**: verify tracing channel doesn't swallow unhandledRejection
(Gerhard Stöbich)
[#&#8203;59974](https://redirect.github.com/nodejs/node/pull/59974)
-
\[[`cee362242b`](https://redirect.github.com/nodejs/node/commit/cee362242b)]
- **timers**: fix binding fast call signatures (Renegade334)
[#&#8203;59600](https://redirect.github.com/nodejs/node/pull/59600)
-
\[[`40fea57fdd`](https://redirect.github.com/nodejs/node/commit/40fea57fdd)]
- **tools**: add message on auto-fixing js lint issues in gh workflow
(Dario Piotrowicz)
[#&#8203;59128](https://redirect.github.com/nodejs/node/pull/59128)
-
\[[`aac90d351b`](https://redirect.github.com/nodejs/node/commit/aac90d351b)]
- **tools**: verify signatures when updating nghttp\* (Antoine du Hamel)
[#&#8203;60113](https://redirect.github.com/nodejs/node/pull/60113)
-
\[[`9fae03c7d9`](https://redirect.github.com/nodejs/node/commit/9fae03c7d9)]
- **tools**: use dependabot cooldown and move tools/doc (Rafael Gonzaga)
[#&#8203;59978](https://redirect.github.com/nodejs/node/pull/59978)
-
\[[`81548abdf6`](https://redirect.github.com/nodejs/node/commit/81548abdf6)]
- **wasi**: fix WasiFunction fast call signature (Renegade334)
[#&#8203;59600](https://redirect.github.com/nodejs/node/pull/59600)

###
[`v22.21.0`](https://redirect.github.com/nodejs/node/releases/tag/v22.21.0):
2025-10-20, Version 22.21.0 &#x27;Jod&#x27; (LTS), @&#8203;aduh95

[Compare
Source](https://redirect.github.com/nodejs/node/compare/v22.20.0...v22.21.0)

##### Notable Changes

-
\[[`1486fedea1`](https://redirect.github.com/nodejs/node/commit/1486fedea1)]
- **(SEMVER-MINOR)** **cli**: add `--use-env-proxy` (Joyee Cheung)
[#&#8203;59151](https://redirect.github.com/nodejs/node/pull/59151)
-
\[[`bedaaa11fc`](https://redirect.github.com/nodejs/node/commit/bedaaa11fc)]
- **(SEMVER-MINOR)** **http**: support http proxy for fetch under
`NODE_USE_ENV_PROXY` (Joyee Cheung)
[#&#8203;57165](https://redirect.github.com/nodejs/node/pull/57165)
-
\[[`af8b5fa29d`](https://redirect.github.com/nodejs/node/commit/af8b5fa29d)]
- **(SEMVER-MINOR)** **http**: add `shouldUpgradeCallback` to let
servers control HTTP upgrades (Tim Perry)
[#&#8203;59824](https://redirect.github.com/nodejs/node/pull/59824)
-
\[[`42102594b1`](https://redirect.github.com/nodejs/node/commit/42102594b1)]
- **(SEMVER-MINOR)** **http,https**: add built-in proxy support in
`http`/`https.request` and `Agent` (Joyee Cheung)
[#&#8203;58980](https://redirect.github.com/nodejs/node/pull/58980)
-
\[[`686ac49b82`](https://redirect.github.com/nodejs/node/commit/686ac49b82)]
- **(SEMVER-MINOR)** **src**: add percentage support to
`--max-old-space-size` (Asaf Federman)
[#&#8203;59082](https://redirect.github.com/nodejs/node/pull/59082)

##### Commits

-
\[[`a71dd592e3`](https://redirect.github.com/nodejs/node/commit/a71dd592e3)]
- **benchmark**: calibrate config dgram multi-buffer (Bruno Rodrigues)
[#&#8203;59696](https://redirect.github.com/nodejs/node/pull/59696)
-
\[[`16c4b466f4`](https://redirect.github.com/nodejs/node/commit/16c4b466f4)]
- **benchmark**: calibrate config cluster/echo.js (Nam Yooseong)
[#&#8203;59836](https://redirect.github.com/nodejs/node/pull/59836)
-
\[[`53cb9f3b6c`](https://redirect.github.com/nodejs/node/commit/53cb9f3b6c)]
- **build**: add the missing macro definitions for OpenHarmony (hqzing)
[#&#8203;59804](https://redirect.github.com/nodejs/node/pull/59804)
-
\[[`ec5290fe01`](https://redirect.github.com/nodejs/node/commit/ec5290fe01)]
- **build**: do not include custom ESLint rules testing in tarball
(Antoine du Hamel)
[#&#8203;59809](https://redirect.github.com/nodejs/node/pull/59809)
-
\[[`1486fedea1`](https://redirect.github.com/nodejs/node/commit/1486fedea1)]
- **(SEMVER-MINOR)** **cli**: add --use-env-proxy (Joyee Cheung)
[#&#8203;59151](https://redirect.github.com/nodejs/node/pull/59151)
-
\[[`1f93913446`](https://redirect.github.com/nodejs/node/commit/1f93913446)]
- **crypto**: use `return await` when returning Promises from async
functions (Renegade334)
[#&#8203;59841](https://redirect.github.com/nodejs/node/pull/59841)
-
\[[`f488b2ff73`](https://redirect.github.com/nodejs/node/commit/f488b2ff73)]
- **crypto**: use async functions for non-stub Promise-returning
functions (Renegade334)
[#&#8203;59841](https://redirect.github.com/nodejs/node/pull/59841)
-
\[[`aed9fd5ac4`](https://redirect.github.com/nodejs/node/commit/aed9fd5ac4)]
- **crypto**: avoid calls to `promise.catch()` (Renegade334)
[#&#8203;59841](https://redirect.github.com/nodejs/node/pull/59841)
-
\[[`37c2d186f0`](https://redirect.github.com/nodejs/node/commit/37c2d186f0)]
- **deps**: update amaro to 1.1.4 (pmarchini)
[#&#8203;60044](https://redirect.github.com/nodejs/node/pull/60044)
-
\[[`28aea13419`](https://redirect.github.com/nodejs/node/commit/28aea13419)]
- **deps**: update archs files for openssl-3.5.4 (Node.js GitHub Bot)
[#&#8203;60101](https://redirect.github.com/nodejs/node/pull/60101)
-
\[[`ddbc1aa0bb`](https://redirect.github.com/nodejs/node/commit/ddbc1aa0bb)]
- **deps**: upgrade openssl sources to openssl-3.5.4 (Node.js GitHub
Bot) [#&#8203;60101](https://redirect.github.com/nodejs/node/pull/60101)
-
\[[`badbba2da9`](https://redirect.github.com/nodejs/node/commit/badbba2da9)]
- **deps**: update googletest to
[`50b8600`](https://redirect.github.com/nodejs/node/commit/50b8600)
(Node.js GitHub Bot)
[#&#8203;59955](https://redirect.github.com/nodejs/node/pull/59955)
-
\[[`48aaf98a08`](https://redirect.github.com/nodejs/node/commit/48aaf98a08)]
- **deps**: update archs files for openssl-3.5.3 (Node.js GitHub Bot)
[#&#8203;59901](https://redirect.github.com/nodejs/node/pull/59901)
-
\[[`e02a562ea6`](https://redirect.github.com/nodejs/node/commit/e02a562ea6)]
- **deps**: upgrade openssl sources to openssl-3.5.3 (Node.js GitHub
Bot) [#&#8203;59901](https://redirect.github.com/nodejs/node/pull/59901)
-
\[[`7e0e86cb92`](https://redirect.github.com/nodejs/node/commit/7e0e86cb92)]
- **deps**: upgrade npm to 10.9.4 (npm team)
[#&#8203;60074](https://redirect.github.com/nodejs/node/pull/60074)
-
\[[`91dda5facf`](https://redirect.github.com/nodejs/node/commit/91dda5facf)]
- **deps**: update undici to 6.22.0 (Matteo Collina)
[#&#8203;60112](https://redirect.github.com/nodejs/node/pull/60112)
-
\[[`3a3220a2f0`](https://redirect.github.com/nodejs/node/commit/3a3220a2f0)]
- **dgram**: restore buffer optimization in fixBufferList (Yoo)
[#&#8203;59934](https://redirect.github.com/nodejs/node/pull/59934)
-
\[[`09bdcce6b8`](https://redirect.github.com/nodejs/node/commit/09bdcce6b8)]
- **diagnostics\_channel**: fix race condition with diagnostics\_channel
and GC (Ugaitz Urien)
[#&#8203;59910](https://redirect.github.com/nodejs/node/pull/59910)
-
\[[`b3eeb3bd13`](https://redirect.github.com/nodejs/node/commit/b3eeb3bd13)]
- **doc**: provide alternative to `url.parse()` using WHATWG URL
(Steven)
[#&#8203;59736](https://redirect.github.com/nodejs/node/pull/59736)
-
\[[`1ddaab1904`](https://redirect.github.com/nodejs/node/commit/1ddaab1904)]
- **doc**: mention reverse proxy and include simple example (Steven)
[#&#8203;59736](https://redirect.github.com/nodejs/node/pull/59736)
-
\[[`3b3b71e99c`](https://redirect.github.com/nodejs/node/commit/3b3b71e99c)]
- **doc**: mark `.env` files support as stable (Santeri Hiltunen)
[#&#8203;59925](https://redirect.github.com/nodejs/node/pull/59925)
-
\[[`d37f67d1bd`](https://redirect.github.com/nodejs/node/commit/d37f67d1bd)]
- **doc**: remove optional title prefixes (Aviv Keller)
[#&#8203;60087](https://redirect.github.com/nodejs/node/pull/60087)
-
\[[`ca2dff63f9`](https://redirect.github.com/nodejs/node/commit/ca2dff63f9)]
- **doc**: fix typo on child\_process.md (Angelo Gazzola)
[#&#8203;60114](https://redirect.github.com/nodejs/node/pull/60114)
-
\[[`3fca564a05`](https://redirect.github.com/nodejs/node/commit/3fca564a05)]
- **doc**: add automated migration info to deprecations (Augustin
Mauroy)
[#&#8203;60022](https://redirect.github.com/nodejs/node/pull/60022)
-
\[[`4bc366fc16`](https://redirect.github.com/nodejs/node/commit/4bc366fc16)]
- **doc**: use "WebAssembly" instead of "Web Assembly" (Tobias Nießen)
[#&#8203;59954](https://redirect.github.com/nodejs/node/pull/59954)
-
\[[`4808dbdd9a`](https://redirect.github.com/nodejs/node/commit/4808dbdd9a)]
- **doc**: fix typo in section on microtask order (Tobias Nießen)
[#&#8203;59932](https://redirect.github.com/nodejs/node/pull/59932)
-
\[[`d6e303d645`](https://redirect.github.com/nodejs/node/commit/d6e303d645)]
- **doc**: update V8 fast API guidance (René)
[#&#8203;58999](https://redirect.github.com/nodejs/node/pull/58999)
-
\[[`0a3a3f729e`](https://redirect.github.com/nodejs/node/commit/0a3a3f729e)]
- **doc**: add security escalation policy (Ulises Gascón)
[#&#8203;59806](https://redirect.github.com/nodejs/node/pull/59806)
-
\[[`8fd669c70d`](https://redirect.github.com/nodejs/node/commit/8fd669c70d)]
- **doc**: type improvement of file `http.md` (yusheng chen)
[#&#8203;58189](https://redirect.github.com/nodejs/node/pull/58189)
-
\[[`9833dc6060`](https://redirect.github.com/nodejs/node/commit/9833dc6060)]
- **doc**: rephrase dynamic import() description (Nam Yooseong)
[#&#8203;59224](https://redirect.github.com/nodejs/node/pull/59224)
-
\[[`2870a73681`](https://redirect.github.com/nodejs/node/commit/2870a73681)]
- **doc,crypto**: update subtle.generateKey and subtle.importKey (Filip
Skokan)
[#&#8203;59851](https://redirect.github.com/nodejs/node/pull/59851)
-
\[[`85818db93c`](https://redirect.github.com/nodejs/node/commit/85818db93c)]
- **fs,win**: do not add a second trailing slash in readdir (Gerhard
Stöbich)
[#&#8203;59847](https://redirect.github.com/nodejs/node/pull/59847)
-
\[[`bedaaa11fc`](https://redirect.github.com/nodejs/node/commit/bedaaa11fc)]
- **(SEMVER-MINOR)** **http**: support http proxy for fetch under
NODE\_USE\_ENV\_PROXY (Joyee Cheung)
[#&#8203;57165](https://redirect.github.com/nodejs/node/pull/57165)
-
\[[`af8b5fa29d`](https://redirect.github.com/nodejs/node/commit/af8b5fa29d)]
- **(SEMVER-MINOR)** **http**: add shouldUpgradeCallback to let servers
control HTTP upgrades (Tim Perry)
[#&#8203;59824](https://redirect.github.com/nodejs/node/pull/59824)
-
\[[`758271ae66`](https://redirect.github.com/nodejs/node/commit/758271ae66)]
- **http**: optimize checkIsHttpToken for short strings (방진혁)
[#&#8203;59832](https://redirect.github.com/nodejs/node/pull/59832)
-
\[[`42102594b1`](https://redirect.github.com/nodejs/node/commit/42102594b1)]
- **(SEMVER-MINOR)** **http,https**: add built-in proxy support in
http/https.request and Agent (Joyee Cheung)
[#&#8203;58980](https://redirect.github.com/nodejs/node/pull/58980)
-
\[[`a33ed9bf96`](https://redirect.github.com/nodejs/node/commit/a33ed9bf96)]
- **inspector**: ensure adequate memory allocation for
`Binary::toBase64` (René)
[#&#8203;59870](https://redirect.github.com/nodejs/node/pull/59870)
-
\[[`34c686be2b`](https://redirect.github.com/nodejs/node/commit/34c686be2b)]
- **lib**: update inspect output format for subclasses (Miguel Marcondes
Filho)
[#&#8203;59687](https://redirect.github.com/nodejs/node/pull/59687)
-
\[[`12e553529c`](https://redirect.github.com/nodejs/node/commit/12e553529c)]
- **lib**: add source map support for assert messages (Chengzhong Wu)
[#&#8203;59751](https://redirect.github.com/nodejs/node/pull/59751)
-
\[[`d2a70571f8`](https://redirect.github.com/nodejs/node/commit/d2a70571f8)]
- **lib,src**: refactor assert to load error source from memory
(Chengzhong Wu)
[#&#8203;59751](https://redirect.github.com/nodejs/node/pull/59751)
-
\[[`20a9e86b5d`](https://redirect.github.com/nodejs/node/commit/20a9e86b5d)]
- **meta**: move Michael to emeritus (Michael Dawson)
[#&#8203;60070](https://redirect.github.com/nodejs/node/pull/60070)
-
\[[`c591cca15c`](https://redirect.github.com/nodejs/node/commit/c591cca15c)]
- **meta**: bump github/codeql-action from 3.30.0 to 3.30.5
(dependabot\[bot])
[#&#8203;60089](https://redirect.github.com/nodejs/node/pull/60089)
-
\[[`090ba141b1`](https://redirect.github.com/nodejs/node/commit/090ba141b1)]
- **meta**: bump codecov/codecov-action from 5.5.0 to 5.5.1
(dependabot\[bot])
[#&#8203;60091](https://redirect.github.com/nodejs/node/pull/60091)
-
\[[`a0ba6884a5`](https://redirect.github.com/nodejs/node/commit/a0ba6884a5)]
- **meta**: bump actions/stale from 9.1.0 to 10.0.0 (dependabot\[bot])
[#&#8203;60092](https://redirect.github.com/nodejs/node/pull/60092)
-
\[[`0feca0c541`](https://redirect.github.com/nodejs/node/commit/0feca0c541)]
- **meta**: bump actions/setup-node from 4.4.0 to 5.0.0
(dependabot\[bot])
[#&#8203;60093](https://redirect.github.com/nodejs/node/pull/60093)
-
\[[`7cd2b42d18`](https://redirect.github.com/nodejs/node/commit/7cd2b42d18)]
- **meta**: bump step-security/harden-runner from 2.12.2 to 2.13.1
(dependabot\[bot])
[#&#8203;60094](https://redirect.github.com/nodejs/node/pull/60094)
-
\[[`1f3b9d66ac`](https://redirect.github.com/nodejs/node/commit/1f3b9d66ac)]
- **meta**: bump actions/cache from 4.2.4 to 4.3.0 (dependabot\[bot])
[#&#8203;60095](https://redirect.github.com/nodejs/node/pull/60095)
-
\[[`0fedbb3de7`](https://redirect.github.com/nodejs/node/commit/0fedbb3de7)]
- **meta**: bump ossf/scorecard-action from 2.4.2 to 2.4.3
(dependabot\[bot])
[#&#8203;60096](https://redirect.github.com/nodejs/node/pull/60096)
-
\[[`04590b8267`](https://redirect.github.com/nodejs/node/commit/04590b8267)]
- **meta**: bump actions/setup-python from 5.6.0 to 6.0.0
(dependabot\[bot])
[#&#8203;60090](https://redirect.github.com/nodejs/node/pull/60090)
-
\[[`2bf0a9318f`](https://redirect.github.com/nodejs/node/commit/2bf0a9318f)]
- **meta**: add .npmrc with ignore-scripts=true (Joyee Cheung)
[#&#8203;59914](https://redirect.github.com/nodejs/node/pull/59914)
-
\[[`e10dc7b81c`](https://redirect.github.com/nodejs/node/commit/e10dc7b81c)]
- **module**: allow overriding linked requests for a ModuleWrap
(Chengzhong Wu)
[#&#8203;59527](https://redirect.github.com/nodejs/node/pull/59527)
-
\[[`2237142369`](https://redirect.github.com/nodejs/node/commit/2237142369)]
- **module**: link module with a module request record (Chengzhong Wu)
[#&#8203;58886](https://redirect.github.com/nodejs/node/pull/58886)
-
\[[`6d24b88fbc`](https://redirect.github.com/nodejs/node/commit/6d24b88fbc)]
- **node-api**: added SharedArrayBuffer api (Mert Can Altin)
[#&#8203;59071](https://redirect.github.com/nodejs/node/pull/59071)
-
\[[`4cc84c96f4`](https://redirect.github.com/nodejs/node/commit/4cc84c96f4)]
- **node-api**: make napi\_delete\_reference use node\_api\_basic\_env
(Jeetu Suthar)
[#&#8203;59684](https://redirect.github.com/nodejs/node/pull/59684)
-
\[[`e790eb6b50`](https://redirect.github.com/nodejs/node/commit/e790eb6b50)]
- **repl**: fix cpu overhead pasting big strings to the REPL (Ruben
Bridgewater)
[#&#8203;59857](https://redirect.github.com/nodejs/node/pull/59857)
-
\[[`99ea08dc43`](https://redirect.github.com/nodejs/node/commit/99ea08dc43)]
- **repl**: add isValidParentheses check before wrap input (Xuguang Mei)
[#&#8203;59607](https://redirect.github.com/nodejs/node/pull/59607)
-
\[[`e4a4f63019`](https://redirect.github.com/nodejs/node/commit/e4a4f63019)]
- **sqlite**: fix crash session extension callbacks with workers (Bart
Louwers)
[#&#8203;59848](https://redirect.github.com/nodejs/node/pull/59848)
-
\[[`42c5544b97`](https://redirect.github.com/nodejs/node/commit/42c5544b97)]
- **src**: assert memory calc for max-old-space-size-percentage (Asaf
Federman)
[#&#8203;59460](https://redirect.github.com/nodejs/node/pull/59460)
-
\[[`686ac49b82`](https://redirect.github.com/nodejs/node/commit/686ac49b82)]
- **(SEMVER-MINOR)** **src**: add percentage support to
--max-old-space-size (Asaf Federman)
[#&#8203;59082](https://redirect.github.com/nodejs/node/pull/59082)
-
\[[`84701ff668`](https://redirect.github.com/nodejs/node/commit/84701ff668)]
- **src**: clear all linked module caches once instantiated (Chengzhong
Wu) [#&#8203;59117](https://redirect.github.com/nodejs/node/pull/59117)
-
\[[`8e182e561f`](https://redirect.github.com/nodejs/node/commit/8e182e561f)]
- **src**: remove unnecessary `Environment::GetCurrent()` calls (Moonki
Choi)
[#&#8203;59814](https://redirect.github.com/nodejs/node/pull/59814)
-
\[[`c9cde35c4d`](https://redirect.github.com/nodejs/node/commit/c9cde35c4d)]
- **src**: simplify is\_callable by making it a concept (Tobias Nießen)
[#&#8203;58169](https://redirect.github.com/nodejs/node/pull/58169)
-
\[[`892b425ee1`](https://redirect.github.com/nodejs/node/commit/892b425ee1)]
- **src**: rename private fields to follow naming convention (Moonki
Choi)
[#&#8203;59923](https://redirect.github.com/nodejs/node/pull/59923)
-
\[[`36b68db7f5`](https://redirect.github.com/nodejs/node/commit/36b68db7f5)]
- **src**: reduce the nearest parent package JSON cache size (Michael
Smith)
[#&#8203;59888](https://redirect.github.com/nodejs/node/pull/59888)
-
\[[`26b40bad02`](https://redirect.github.com/nodejs/node/commit/26b40bad02)]
- **src**: replace FIXED\_ONE\_BYTE\_STRING with Environment-cached
strings (Moonki Choi)
[#&#8203;59891](https://redirect.github.com/nodejs/node/pull/59891)
-
\[[`34dcb7dc32`](https://redirect.github.com/nodejs/node/commit/34dcb7dc32)]
- **src**: create strings in `FIXED_ONE_BYTE_STRING` as internalized
(Anna Henningsen)
[#&#8203;59826](https://redirect.github.com/nodejs/node/pull/59826)
-
\[[`4d748add05`](https://redirect.github.com/nodejs/node/commit/4d748add05)]
- **src**: remove `std::array` overload of `FIXED_ONE_BYTE_STRING` (Anna
Henningsen)
[#&#8203;59826](https://redirect.github.com/nodejs/node/pull/59826)
-
\[[`bb6fd7c2d1`](https://redirect.github.com/nodejs/node/commit/bb6fd7c2d1)]
- **src**: ensure `v8::Eternal` is empty before setting it (Anna
Henningsen)
[#&#8203;59825](https://redirect.github.com/nodejs/node/pull/59825)
-
\[[`7a91282bf9`](https://redirect.github.com/nodejs/node/commit/7a91282bf9)]
- **src**: use simdjson::pad (0hm☘️)
[#&#8203;59391](https://redirect.github.com/nodejs/node/pull/59391)
-
\[[`ba00875f01`](https://redirect.github.com/nodejs/node/commit/ba00875f01)]
- **stream**: use new AsyncResource instead of bind (Matteo Collina)
[#&#8203;59867](https://redirect.github.com/nodejs/node/pull/59867)
-
\[[`ebec3ef68b`](https://redirect.github.com/nodejs/node/commit/ebec3ef68b)]
- **(SEMVER-MINOR)** **test**: move http proxy tests to
test/client-proxy (Joyee Cheung)
[#&#8203;58980](https://redirect.github.com/nodejs/node/pull/58980)
-
\[[`7067d79fb3`](https://redirect.github.com/nodejs/node/commit/7067d79fb3)]
- **test**: mark sea tests flaky on macOS x64 (Richard Lau)
[#&#8203;60068](https://redirect.github.com/nodejs/node/pull/60068)
-
\[[`ca1942c9d5`](https://redirect.github.com/nodejs/node/commit/ca1942c9d5)]
- **test**: testcase demonstrating issue 59541 (Eric Rannaud)
[#&#8203;59801](https://redirect.github.com/nodejs/node/pull/59801)
-
\[[`660d57355e`](https://redirect.github.com/nodejs/node/commit/660d57355e)]
- **test,doc**: skip --max-old-space-size-percentage on 32-bit platforms
(Asaf Federman)
[#&#8203;60144](https://redirect.github.com/nodejs/node/pull/60144)
-
\[[`19a7b1ef26`](https://redirect.github.com/nodejs/node/commit/19a7b1ef26)]
- **tls**: load bundled and extra certificates off-thread (Joyee Cheung)
[#&#8203;59856](https://redirect.github.com/nodejs/node/pull/59856)
-
\[[`095e7a81fc`](https://redirect.github.com/nodejs/node/commit/095e7a81fc)]
- **tls**: only do off-thread certificate loading on loading tls (Joyee
Cheung)
[#&#8203;59856](https://redirect.github.com/nodejs/node/pull/59856)
-
\[[`c42c1204c7`](https://redirect.github.com/nodejs/node/commit/c42c1204c7)]
- **tools**: fix `tools/make-v8.sh` for clang (Richard Lau)
[#&#8203;59893](https://redirect.github.com/nodejs/node/pull/59893)
-
\[[`b632a1d98d`](https://redirect.github.com/nodejs/node/commit/b632a1d98d)]
- **tools**: skip test-internet workflow for draft PRs (Michaël Zasso)
[#&#8203;59817](https://redirect.github.com/nodejs/node/pull/59817)
-
\[[`6021c3ac76`](https://redirect.github.com/nodejs/node/commit/6021c3ac76)]
- **tools**: copyedit `build-tarball.yml` (Antoine du Hamel)
[#&#8203;59808](https://redirect.github.com/nodejs/node/pull/59808)
-
\[[`ef005d0c9b`](https://redirect.github.com/nodejs/node/commit/ef005d0c9b)]
- **typings**: update 'types' binding (René)
[#&#8203;59692](https://redirect.github.com/nodejs/node/pull/59692)
-
\[[`28ef564ecd`](https://redirect.github.com/nodejs/node/commit/28ef564ecd)]
- **typings**: remove unused imports (Nam Yooseong)
[#&#8203;59880](https://redirect.github.com/nodejs/node/pull/59880)
-
\[[`f88752ddb6`](https://redirect.github.com/nodejs/node/commit/f88752ddb6)]
- **url**: replaced slice with at (Mikhail)
[#&#8203;59181](https://redirect.github.com/nodejs/node/pull/59181)
-
\[[`24c224960c`](https://redirect.github.com/nodejs/node/commit/24c224960c)]
- **url**: add type checking to urlToHttpOptions() (simon-id)
[#&#8203;59753](https://redirect.github.com/nodejs/node/pull/59753)
-
\[[`f2fbcc576d`](https://redirect.github.com/nodejs/node/commit/f2fbcc576d)]
- **util**: fix debuglog.enabled not being present with callback logger
(Ruben Bridgewater)
[#&#8203;59858](https://redirect.github.com/nodejs/node/pull/59858)
-
\[[`6277058e43`](https://redirect.github.com/nodejs/node/commit/6277058e43)]
- **vm**: sync-ify SourceTextModule linkage (Chengzhong Wu)
[#&#8203;59000](https://redirect.github.com/nodejs/node/pull/59000)
-
\[[`5bf21a4309`](https://redirect.github.com/nodejs/node/commit/5bf21a4309)]
- **vm**: explain how to share promises between contexts w/
afterEvaluate (Eric Rannaud)
[#&#8203;59801](https://redirect.github.com/nodejs/node/pull/59801)
-
\[[`312b33a083`](https://redirect.github.com/nodejs/node/commit/312b33a083)]
- **vm**: "afterEvaluate", evaluate() return a promise from the outer
context (Eric Rannaud)
[#&#8203;59801](https://redirect.github.com/nodejs/node/pull/59801)
-
\[[`1eadab863c`](https://redirect.github.com/nodejs/node/commit/1eadab863c)]
- **win,tools**: add description to signature (Martin Costello)
[#&#8203;59877](https://redirect.github.com/nodejs/node/pull/59877)
-
\[[`816e1befb1`](https://redirect.github.com/nodejs/node/commit/816e1befb1)]
- **zlib**: reduce code duplication (jhofstee)
[#&#8203;57810](https://redirect.github.com/nodejs/node/pull/57810)

###
[`v22.20.0`](https://redirect.github.com/nodejs/node/releases/tag/v22.20.0):
2025-09-24, Version 22.20.0 &#x27;Jod&#x27; (LTS), @&#8203;richardlau

[Compare
Source](https://redirect.github.com/nodejs/node/compare/v22.19.0...v22.20.0)

##### Notable Changes

##### OpenSSL updated to 3.5.2

For official Node.js builds, or builds using the default build
configuration, Node.js now bundles OpenSSL 3.5.2. This update allows
Node.js 22.x to be supported through to the planned End-of-Life date of
2027-04-30 as the previously bundled OpenSSL 3.0.x goes out of support
in September 2026.

This change does not affect third-party builds of Node.js that link to
an external OpenSSL (or OpenSSL-compatible) library.

##### Other notable changes

-
\[[`5b83e1e0a2`](https://redirect.github.com/nodejs/node/commit/5b83e1e0a2)]
- **crypto**: update root certificates to NSS 3.114 (Node.js GitHub Bot)
[#&#8203;59571](https://redirect.github.com/nodejs/node/pull/59571)
-
\[[`34b25fd97b`](https://redirect.github.com/nodejs/node/commit/34b25fd97b)]
- **doc**: stabilize --disable-sigusr1 (Rafael Gonzaga)
[#&#8203;59707](https://redirect.github.com/nodejs/node/pull/59707)
-
\[[`bf41218ed9`](https://redirect.github.com/nodejs/node/commit/bf41218ed9)]
- **doc**: mark `path.matchesGlob` as stable (Aviv Keller)
[#&#8203;59572](https://redirect.github.com/nodejs/node/pull/59572)
-
\[[`1dbad2058f`](https://redirect.github.com/nodejs/node/commit/1dbad2058f)]
- **(SEMVER-MINOR)** **http**: add Agent.agentKeepAliveTimeoutBuffer
option (Haram Jeong)
[#&#8203;59315](https://redirect.github.com/nodejs/node/pull/59315)
-
\[[`062e837d5f`](https://redirect.github.com/nodejs/node/commit/062e837d5f)]
- **(SEMVER-MINOR)** **http2**: add support for raw header arrays in
h2Stream.respond() (Tim Perry)
[#&#8203;59455](https://redirect.github.com/nodejs/node/pull/59455)
-
\[[`b8066611c3`](https://redirect.github.com/nodejs/node/commit/b8066611c3)]
- **inspector**: add http2 tracking support (Darshan Sen)
[#&#8203;59611](https://redirect.github.com/nodejs/node/pull/59611)
-
\[[`9b7dd40da8`](https://redirect.github.com/nodejs/node/commit/9b7dd40da8)]
- **(SEMVER-MINOR)** **sea**: implement execArgvExtension (Joyee Cheung)
[#&#8203;59560](https://redirect.github.com/nodejs/node/pull/59560)
-
\[[`48bfbd3dca`](https://redirect.github.com/nodejs/node/commit/48bfbd3dca)]
- **(SEMVER-MINOR)** **sea**: support execArgv in sea config (Joyee
Cheung)
[#&#8203;59314](https://redirect.github.com/nodejs/node/pull/59314)
-
\[[`cf06e74076`](https://redirect.github.com/nodejs/node/commit/cf06e74076)]
- **(SEMVER-MINOR)** **stream**: add brotli support to CompressionStream
and DecompressionStream (Matthew Aitken)
[#&#8203;59464](https://redirect.github.com/nodejs/node/pull/59464)
-
\[[`62bb80c17e`](https://redirect.github.com/nodejs/node/commit/62bb80c17e)]
- **(SEMVER-MINOR)** **test\_runner**: support object property mocking
(Idan Goshen)
[#&#8203;58438](https://redirect.github.com/nodejs/node/pull/58438)
-
\[[`9e2aa23be9`](https://redirect.github.com/nodejs/node/commit/9e2aa23be9)]
- **(SEMVER-MINOR)** **worker**: add cpu profile APIs for worker
(theanarkh)
[#&#8203;59428](https://redirect.github.com/nodejs/node/pull/59428)

##### Commits

-
\[[`b7b78fd565`](https://redirect.github.com/nodejs/node/commit/b7b78fd565)]
- **assert**: cap input size in myersDiff to avoid Int32Array overflow
(Haram Jeong)
[#&#8203;59578](https://redirect.github.com/nodejs/node/pull/59578)
-
\[[`9da50a6c53`](https://redirect.github.com/nodejs/node/commit/9da50a6c53)]
- **benchmark**: sqlite prevent create both tables on prepare selects
(Bruno Rodrigues)
[#&#8203;59709](https://redirect.github.com/nodejs/node/pull/59709)
-
\[[`4c1538770e`](https://redirect.github.com/nodejs/node/commit/4c1538770e)]
- **benchmark**: calibrate config array-vs-concat (Rafael Gonzaga)
[#&#8203;59587](https://redirect.github.com/nodejs/node/pull/59587)
-
\[[`fc3f82d683`](https://redirect.github.com/nodejs/node/commit/fc3f82d683)]
- **benchmark**: calibrate config v8/serialize.js (Rafael Gonzaga)
[#&#8203;59586](https://redirect.github.com/nodejs/node/pull/59586)
-
\[[`e95c9b2950`](https://redirect.github.com/nodejs/node/commit/e95c9b2950)]
- **benchmark**: reduce readfile-permission-enabled config (Rafael
Gonzaga)
[#&#8203;59589](https://redirect.github.com/nodejs/node/pull/59589)
-
\[[`e4fea38b31`](https://redirect.github.com/nodejs/node/commit/e4fea38b31)]
- **benchmark**: calibrate length of util.diff (Rafael Gonzaga)
[#&#8203;59588](https://redirect.github.com/nodejs/node/pull/59588)
-
\[[`c5d68c4a0f`](https://redirect.github.com/nodejs/node/commit/c5d68c4a0f)]
- **benchmark, test**: replace CRLF variable with string literal (Lee
Jiho)
[#&#8203;59466](https://redirect.github.com/nodejs/node/pull/59466)
-
\[[`129a1d673b`](https://redirect.github.com/nodejs/node/commit/129a1d673b)]
- **build**: fix getting OpenSSL version on Windows (Michaël Zasso)
[#&#8203;59609](https://redirect.github.com/nodejs/node/pull/59609)
-
\[[`9f53db7162`](https://redirect.github.com/nodejs/node/commit/9f53db7162)]
- **build**: fix 'implicit-function-declaration' on OpenHarmony platform
(hqzing)
[#&#8203;59547](https://redirect.github.com/nodejs/node/pull/59547)
-
\[[`3839593e07`](https://redirect.github.com/nodejs/node/commit/3839593e07)]
- **build**: use `windows-2025` runner (Michaël Zasso)
[#&#8203;59673](https://redirect.github.com/nodejs/node/pull/59673)
-
\[[`e430464669`](https://redirect.github.com/nodejs/node/commit/e430464669)]
- **build**: compile bundled uvwasi conditionally (Carlo Cabrera)
[#&#8203;59622](https://redirect.github.com/nodejs/node/pull/59622)
-
\[[`e2c9cab0cd`](https://redirect.github.com/nodejs/node/commit/e2c9cab0cd)]
- **build**: do not set `-mminimal-toc` with `clang` (Richard Lau)
[#&#8203;59484](https://redirect.github.com/nodejs/node/pull/59484)
-
\[[`208bc810a1`](https://redirect.github.com/nodejs/node/commit/208bc810a1)]
- **child\_process**: remove unsafe array iteration (hotpineapple)
[#&#8203;59347](https://redirect.github.com/nodejs/node/pull/59347)
-
\[[`d74799d90c`](https://redirect.github.com/nodejs/node/commit/d74799d90c)]
- **crypto**: load system CA certificates off thread (Joyee Cheung)
[#&#8203;59550](https://redirect.github.com/nodejs/node/pull/59550)
-
\[[`5b83e1e0a2`](https://redirect.github.com/nodejs/node/commit/5b83e1e0a2)]
- **crypto**: update root certificates to NSS 3.114 (Node.js GitHub Bot)
[#&#8203;59571](https://redirect.github.com/nodejs/node/pull/59571)
-
\[[`d289b1d1af`](https://redirect.github.com/nodejs/node/commit/d289b1d1af)]
- **deps**: V8: cherry-pick
[`e3df60f`](https://redirect.github.com/nodejs/node/commit/e3df60f3f5ab)
(Chengzhong Wu)
[#&#8203;58691](https://redirect.github.com/nodejs/node/pull/58691)
-
\[[`cf5d91e2a6`](https://redirect.github.com/nodejs/node/commit/cf5d91e2a6)]
- **deps**: update uvwasi to 0.0.23 (Node.js GitHub Bot)
[#&#8203;59791](https://redirect.github.com/nodejs/node/pull/59791)
-
\[[`1cf24a0445`](https://redirect.github.com/nodejs/node/commit/1cf24a0445)]
- **deps**: update histogram to 0.11.9 (Node.js GitHub Bot)
[#&#8203;59689](https://redirect.github.com/nodejs/node/pull/59689)
-
\[[`8638bd3f2e`](https://redirect.github.com/nodejs/node/commit/8638bd3f2e)]
- **deps**: update googletest to
[`eb2d85e`](https://redirect.github.com/nodejs/node/commit/eb2d85e)
(Node.js GitHub Bot)
[#&#8203;59335](https://redirect.github.com/nodejs/node/pull/59335)
-
\[[`3ff4eb5b37`](https://redirect.github.com/nodejs/node/commit/3ff4eb5b37)]
- **deps**: update amaro to 1.1.2 (Node.js GitHub Bot)
[#&#8203;59616](https://redirect.github.com/nodejs/node/pull/59616)
-
\[[`4d268ac034`](https://redirect.github.com/nodejs/node/commit/4d268ac034)]
- **deps**: V8: cherry-pick
[`7b91e3e`](https://redirect.github.com/nodejs/node/commit/7b91e3e2cbaf)
(Milad Fa)
[#&#8203;59485](https://redirect.github.com/nodejs/node/pull/59485)
-
\[[`83410eb0e3`](https://redirect.github.com/nodejs/node/commit/83410eb0e3)]
- **deps**: V8: cherry-pick
[`59d52e3`](https://redirect.github.com/nodejs/node/commit/59d52e311bb1)
(Milad Fa)
[#&#8203;59485](https://redirect.github.com/nodejs/node/pull/59485)
-
\[[`5780af02cb`](https://redirect.github.com/nodejs/node/commit/5780af02cb)]
- **deps**: update amaro to 1.1.1 (Node.js GitHub Bot)
[#&#8203;59141](https://redirect.github.com/nodejs/node/pull/59141)
-
\[[`2986eca821`](https://redirect.github.com/nodejs/node/commit/2986eca821)]
- **deps**: V8: cherry-pick
[`6b1b9bc`](https://redirect.github.com/nodejs/node/commit/6b1b9bca2a8)
(zhoumingtao)
[#&#8203;59283](https://redirect.github.com/nodejs/node/pull/59283)
-
\[[`98e399b3ea`](https://redirect.github.com/nodejs/node/commit/98e399b3ea)]
- **deps**: update archs files for openssl-3.5.2 (Node.js GitHub Bot)
[#&#8203;59371](https://redirect.github.com/nodejs/node/pull/59371)
-
\[[`2b983a7520`](https://redirect.github.com/nodejs/node/commit/2b983a7520)]
- **deps**: upgrade openssl sources to openssl-3.5.2 (Node.js GitHub
Bot) [#&#8203;59371](https://redirect.github.com/nodejs/node/pull/59371)
-
\[[`7ffbb42454`](https://redirect.github.com/nodejs/node/commit/7ffbb42454)]
- **deps**: update archs files for openssl-3.5.1 (Node.js GitHub Bot)
[#&#8203;59234](https://redirect.github.com/nodejs/node/pull/59234)
-
\[[`bd48a60a75`](https://redirect.github.com/nodejs/node/commit/bd48a60a75)]
- **deps**: upgrade openssl sources to openssl-3.5.1 (Node.js GitHub
Bot) [#&#8203;59234](https://redirect.github.com/nodejs/node/pull/59234)
-
\[[`24762a10ca`](https://redirect.github.com/nodejs/node/commit/24762a10ca)]
- **deps**: fix OpenSSL security level at 1 (Richard Lau)
[#&#8203;59859](https://redirect.github.com/nodejs/node/pull/59859)
-
\[[`1233e92d10`](https://redirect.github.com/nodejs/node/commit/1233e92d10)]
- **diagnostics\_channel**: revoke DEP0163 (René)
[#&#8203;59758](https://redirect.github.com/nodejs/node/pull/59758)
-
\[[`34b25fd97b`](https://redirect.github.com/nodejs/node/commit/34b25fd97b)]
- **doc**: stabilize --disable-sigusr1 (Rafael Gonzaga)
[#&#8203;59707](https://redirect.github.com/nodejs/node/pull/59707)
-
\[[`d7adf8be64`](https://redirect.github.com/nodejs/node/commit/d7adf8be64)]
- **doc**: update "Type stripping in dependencies" section (Josh Kelley)
[#&#8203;59652](https://redirect.github.com/nodejs/node/pull/59652)
-
\[[`a1d7e4fdbf`](https://redirect.github.com/nodejs/node/commit/a1d7e4fdbf)]
- **doc**: add Miles Guicent as triager (Miles Guicent)
[#&#8203;59562](https://redirect.github.com/nodejs/node/pull/59562)
-
\[[`bf41218ed9`](https://redirect.github.com/nodejs/node/commit/bf41218ed9)]
- **doc**: mark `path.matchesGlob` as stable (Aviv Keller)
[#&#8203;59572](https://redirect.github.com/nodejs/node/pull/59572)
-
\[[`afaa1ccb74`](https://redirect.github.com/nodejs/node/commit/afaa1ccb74)]
- **doc**: improve documentation for raw headers in HTTP/2 APIs (Tim
Perry)
[#&#8203;59633](https://redirect.github.com/nodejs/node/pull/59633)
-
\[[`b95ff56102`](https://redirect.github.com/nodejs/node/commit/b95ff56102)]
- **doc**: update install\_tools.bat free disk space (Stefan Stojanovic)
[#&#8203;59579](https://redirect.github.com/nodejs/node/pull/59579)
-
\[[`6ff939b8d3`](https://redirect.github.com/nodejs/node/commit/6ff939b8d3)]
- **doc**: fix filehandle.read typo (Ruy Adorno)
[#&#8203;59635](https://redirect.github.com/nodejs/node/pull/59635)
-
\[[`963bfa9d6f`](https://redirect.github.com/nodejs/node/commit/963bfa9d6f)]
- **doc**: fix missing link to the Error documentation in the `http`
page (Alexander Makarenko)
[#&#8203;59080](https://redirect.github.com/nodejs/node/pull/59080)
-
\[[`0e10a8ea27`](https://redirect.github.com/nodejs/node/commit/0e10a8ea27)]
- **doc**: improve `sqlite.backup()` progress/fulfillment documentation
(René)
[#&#8203;59598](https://redirect.github.com/nodejs/node/pull/59598)
-
\[[`18ceefbabd`](https://redirect.github.com/nodejs/node/commit/18ceefbabd)]
- **doc**: clarify experimental platform vulnerability policy (Matteo
Collina)
[#&#8203;59591](https://redirect.github.com/nodejs/node/pull/59591)
-
\[[`66cdd00368`](https://redirect.github.com/nodejs/node/commit/66cdd00368)]
- **doc**: link to `TypedArray.from()` in signature (Aviv Keller)
[#&#8203;59226](https://redirect.github.com/nodejs/node/pull/59226)
-
\[[`9f058ce7c0`](https://redirect.github.com/nodejs/node/commit/9f058ce7c0)]
- **doc**: fix typos in `environment_variables.md` (PhistucK)
[#&#8203;59536](https://redirect.github.com/nodejs/node/pull/59536)
-
\[[`3cfec820e9`](https://redirect.github.com/nodejs/node/commit/3cfec820e9)]
- **doc**: add security incident reponse plan (Rafael Gonzaga)
[#&#8203;59470](https://redirect.github.com/nodejs/node/pull/59470)
-
\[[`46aa3434e6`](https://redirect.github.com/nodejs/node/commit/46aa3434e6)]
- **doc**: clarify maxRSS unit in `process.resourceUsage()` (Alex Yang)
[#&#8203;59511](https://redirect.github.com/nodejs/node/pull/59511)
-
\[[`adf98f600a`](https://redirect.github.com/nodejs/node/commit/adf98f600a)]
- **doc**: add missing Zstd strategy constants (RANDRIAMANANTENA
Narindra Tiana Annaick)
[#&#8203;59312](https://redirect.github.com/nodejs/node/pull/59312)
-
\[[`f335989942`](https://redirect.github.com/nodejs/node/commit/f335989942)]
- **doc**: fix the version tls.DEFAULT\_CIPHERS was added (Allon
Murienik)
[#&#8203;59247](https://redirect.github.com/nodejs/node/pull/59247)
-
\[[`7fa14fcf54`](https://redirect.github.com/nodejs/node/commit/7fa14fcf54)]
- **doc**: clarify glob's exclude option behavior (hotpineapple)
[#&#8203;59245](https://redirect.github.com/nodejs/node/pull/59245)
-
\[[`85b8d255c9`](https://redirect.github.com/nodejs/node/commit/85b8d255c9)]
- **doc**: add RafaelGSS as performance strategic lead (Rafael Gonzaga)
[#&#8203;59445](https://redirect.github.com/nodejs/node/pull/59445)
-
\[[`16b1f7a602`](https://redirect.github.com/nodejs/node/commit/16b1f7a602)]
- **doc**: add new environment variables doc page (Dario Piotrowicz)
[#&#8203;59052](https://redirect.github.com/nodejs/node/pull/59052)
-
\[[`b4a43ed83a`](https://redirect.github.com/nodejs/node/commit/b4a43ed83a)]
- **doc**: add missing environment variables to manpage (amir lavasani)
[#&#8203;58963](https://redirect.github.com/nodejs/node/pull/58963)
-
\[[`c923cfe898`](https://redirect.github.com/nodejs/node/commit/c923cfe898)]
- **doc**: fix links in test.md (Vas Sudanagunta)
[#&#8203;58876](https://redirect.github.com/nodejs/node/pull/58876)
-
\[[`a93a8b5eda`](https://redirect.github.com/nodejs/node/commit/a93a8b5eda)]
- **doc**: mark type stripping as release candidate (Marco Ippolito)
[#&#8203;57705](https://redirect.github.com/nodejs/node/pull/57705)
-
\[[`d302cb3bb2`](https://redirect.github.com/nodejs/node/commit/d302cb3bb2)]
- **esm**: add experimental support for addon modules (Chengzhong Wu)
[#&#8203;55844](https://redirect.github.com/nodejs/node/pull/55844)
-
\[[`d55c3e7f0b`](https://redirect.github.com/nodejs/node/commit/d55c3e7f0b)]
- **esm**: link modules synchronously when no async loader hooks are
used (Joyee Cheung)
[#&#8203;59519](https://redirect.github.com/nodejs/node/pull/59519)
-
\[[`9e1fbb620f`](https://redirect.github.com/nodejs/node/commit/9e1fbb620f)]
- **esm**: show race error message for inner module job race (Joyee
Cheung)
[#&#8203;59519](https://redirect.github.com/nodejs/node/pull/59519)
-
\[[`8c4dcd5199`](https://redirect.github.com/nodejs/node/commit/8c4dcd5199)]
- **esm**: sync-ify module translation (Joyee Cheung)
[#&#8203;59453](https://redirect.github.com/nodejs/node/pull/59453)
-
\[[`71038932d3`](https://redirect.github.com/nodejs/node/commit/71038932d3)]
- **fs**: fix wrong order of file names in cpSync error message
(Nicholas Paun)
[#&#8203;59775](https://redirect.github.com/nodejs/node/pull/59775)
-
\[[`5692dec451`](https://redirect.github.com/nodejs/node/commit/5692dec451)]
- **fs**: fix dereference: false on cpSync (Nicholas Paun)
[#&#8203;59681](https://redirect.github.com/nodejs/node/pull/59681)
-
\[[`dafd561d37`](https://redirect.github.com/nodejs/node/commit/dafd561d37)]
- **fs**: fix return value of fs APIs (theanarkh)
[#&#8203;58996](https://redirect.github.com/nodejs/node/pull/58996)
-
\[[`da6e8cb75b`](https://redirect.github.com/nodejs/node/commit/da6e8cb75b)]
- **http**: unbreak keepAliveTimeoutBuffer (Robert Nagy)
[#&#8203;59784](https://redirect.github.com/nodejs/node/pull/59784)
-
\[[`673a48f0a2`](https://redirect.github.com/nodejs/node/commit/673a48f0a2)]
- **http**: use cached '1.1' http version string (Robert Nagy)
[#&#8203;59717](https://redirect.github.com/nodejs/node/pull/59717)
-
\[[`1dbad2058f`](https://redirect.github.com/nodejs/node/commit/1dbad2058f)]
- **(SEMVER-MINOR)** **http**: add Agent.agentKeepAliveTimeoutBuffer
option (Haram Jeong)
[#&#8203;59315](https://redirect.github.com/nodejs/node/pull/59315)
-
\[[`062e837d5f`](https://redirect.github.com/nodejs/node/commit/062e837d5f)]
- **(SEMVER-MINOR)** **http2**: add support for raw header arrays in
h2Stream.respond() (Tim Perry)
[#&#8203;59455](https://redirect.github.com/nodejs/node/pull/59455)
-
\[[`4d4fb51b89`](https://redirect.github.com/nodejs/node/commit/4d4fb51b89)]
- **http2**: report sent headers object in client stream dcs (Darshan
Sen) [#&#8203;59419](https://redirect.github.com/nodejs/node/pull/59419)
-
\[[`b8066611c3`](https://redirect.github.com/nodejs/node/commit/b8066611c3)]
- **inspector**: add http2 tracking support (Darshan Sen)
[#&#8203;59611](https://redirect.github.com/nodejs/node/pull/59611)
-
\[[`9b2c013032`](https://redirect.github.com/nodejs/node/commit/9b2c013032)]
- **inspector**: prevent propagation of promise hooks to noPromise hooks
(Shima Ryuhei)
[#&#8203;58841](https://redirect.github.com/nodejs/node/pull/58841)
-
\[[`a2329895e7`](https://redirect.github.com/nodejs/node/commit/a2329895e7)]
- **lib**: fix DOMException subclass support (Chengzhong Wu)
[#&#8203;59680](https://redirect.github.com/nodejs/node/pull/59680)
-
\[[`edb9248bdd`](https://redirect.github.com/nodejs/node/commit/edb9248bdd)]
- **lib**: make domexception a native error (Chengzhong Wu)
[#&#8203;58691](https://redirect.github.com/nodejs/node/pull/58691)
-
\[[`ccf29cda19`](https://redirect.github.com/nodejs/node/commit/ccf29cda19)]
- ***Revert*** "**lib**: optimize writable stream buffer clearing" (Yoo)
[#&#8203;59743](https://redirect.github.com/nodejs/node/pull/59743)
-
\[[`f291eda277`](https://redirect.github.com/nodejs/node/commit/f291eda277)]
- **lib**: fix isReadable and isWritable return type value (Gabriel
Quaresma)
[#&#8203;59089](https://redirect.github.com/nodejs/node/pull/59089)
-
\[[`10ae8684ea`](https://redirect.github.com/nodejs/node/commit/10ae8684ea)]
- **lib**: revert to using default derived class constructors (René)
[#&#8203;59650](https://redirect.github.com/nodejs/node/pull/59650)
-
\[[`5d3b80d62d`](https://redirect.github.com/nodejs/node/commit/5d3b80d62d)]
- **lib**: do not modify prototype deprecated asyncResource (encore)
(Szymon Łągiewka)
[#&#8203;59518](https://redirect.github.com/nodejs/node/pull/59518)
-
\[[`3c4541f878`](https://redirect.github.com/nodejs/node/commit/3c4541f878)]
- **lib**: simplify IPv6 checks in isLoopback() (Krishnadas)
[#&#8203;59375](https://redirect.github.com/nodejs/node/pull/59375)
-
\[[`0b631bbffa`](https://redirect.github.com/nodejs/node/commit/0b631bbffa)]
- **lib**: handle windows reserved device names on UNC (Rafael Gonzaga)
[#&#8203;59286](https://redirect.github.com/nodejs/node/pull/59286)
-
\[[`297f62ba1f`](https://redirect.github.com/nodejs/node/commit/297f62ba1f)]
- **meta**: bump `codecov/codecov-action` (dependabot\[bot])
[#&#8203;59726](https://redirect.github.com/nodejs/node/pull/59726)
-
\[[`3dcd8446b6`](https://redirect.github.com/nodejs/node/commit/3dcd8446b6)]
- **meta**: bump actions/download-artifact from 4.3.0 to 5.0.0
(dependabot\[bot])
[#&#8203;59729](https://redirect.github.com/nodejs/node/pull/59729)
-
\[[`d0d357f683`](https://redirect.github.com/nodejs/node/commit/d0d357f683)]
- **meta**: bump github/codeql-action from 3.29.2 to 3.30.0
(dependabot\[bot])
[#&#8203;59728](https://redirect.github.com/nodejs/node/pull/59728)
-
\[[`2a0e264949`](https://redirect.github.com/nodejs/node/commit/2a0e264949)]
- **meta**: bump actions/cache from 4.2.3 to 4.2.4 (dependabot\[bot])
[#&#8203;59727](https://redirect.github.com/nodejs/node/pull/59727)
-
\[[`0a013d1da1`](https://redirect.github.com/nodejs/node/commit/0a013d1da1)]
- **meta**: bump actions/checkout from 4.2.2 to 5.0.0 (dependabot\[bot])
[#&#8203;59725](https://redirect.github.com/nodejs/node/pull/59725)
-
\[[`c690b53d24`](https://redirect.github.com/nodejs/node/commit/c690b53d24)]
- **meta**: update devcontainer to the latest schema (Aviv Keller)
[#&#8203;54347](https://redirect.github.com/nodejs/node/pull/54347)
-
\[[`61171c7756`](https://redirect.github.com/nodejs/node/commit/61171c7756)]
- **module**: correctly detect top-level await in ambiguous contexts
(Shima Ryuhei)
[#&#8203;58646](https://redirect.github.com/nodejs/node/pull/58646)
-
\[[`75bf3f4a87`](https://redirect.github.com/nodejs/node/commit/75bf3f4a87)]
- **node-api**: link to other programming language bindings (Chengzhong
Wu) [#&#8203;59516](https://redirect.github.com/nodejs/node/pull/59516)
-
\[[`9a05107558`](https://redirect.github.com/nodejs/node/commit/9a05107558)]
- **node-api**: clarify enum value ABI stability (Chengzhong Wu)
[#&#8203;59085](https://redirect.github.com/nodejs/node/pull/59085)
-
\[[`658c31d60c`](https://redirect.github.com/nodejs/node/commit/658c31d60c)]
- **path**: refactor path joining logic for clarity and performance (Lee
Jiho)
[#&#8203;59781](https://redirect.github.com/nodejs/node/pull/59781)
-
\[[`9cc89f55f7`](https://redirect.github.com/nodejs/node/commit/9cc89f55f7)]
- **path,win**: fix bug in resolve and normalize (Hüseyin Açacak)
[#&#8203;55623](https://redirect.github.com/nodejs/node/pull/55623)
-
\[[`24e825f8f5`](https://redirect.github.com/nodejs/node/commit/24e825f8f5)]
- **sea**: implement sea.getAssetKeys() (Joyee Cheung)
[#&#8203;59661](https://redirect.github.com/nodejs/node/pull/59661)
-
\[[`c66af21e55`](https://redirect.github.com/nodejs/node/commit/c66af21e55)]
- **sea**: allow using inspector command line flags with SEA (Joyee
Cheung)
[#&#8203;59568](https://redirect.github.com/nodejs/node/pull/59568)
-
\[[`9b7dd40da8`](https://redirect.github.com/nodejs/node/commit/9b7dd40da8)]
- **(SEMVER-MINOR)** **sea**: implement execArgvExtension (Joyee Cheung)
[#&#8203;59560](https://redirect.github.com/nodejs/node/pull/59560)
-
\[[`48bfbd3dca`](https://redirect.github.com/nodejs/node/commit/48bfbd3dca)]
- **(SEMVER-MINOR)** **sea**: support execArgv in sea config (Joyee
Cheung)
[#&#8203;59314](https://redirect.github.com/nodejs/node/pull/59314)
-
\[[`5559456fe4`](https://redirect.github.com/nodejs/node/commit/5559456fe4)]
- **sqlite**: add sqlite-type symbol for DatabaseSync (Alex Yang)
[#&#8203;59405](https://redirect.github.com/nodejs/node/pull/59405)
-
\[[`3478130da3`](https://redirect.github.com/nodejs/node/commit/3478130da3)]
- **sqlite**: handle ?NNN parameters as positional (Edy Silva)
[#&#8203;59350](https://redirect.github.com/nodejs/node/pull/59350)
-
\[[`312bc4e5d1`](https://redirect.github.com/nodejs/node/commit/312bc4e5d1)]
- **sqlite**: avoid useless call to FromMaybe() (Tobias Nießen)
[#&#8203;59490](https://redirect.github.com/nodejs/node/pull/59490)
-
\[[`937e9bb1c6`](https://redirect.github.com/nodejs/node/commit/937e9bb1c6)]
- **src**: track BaseObjects with an efficient list (Chengzhong Wu)
[#&#8203;55104](https://redirect.github.com/nodejs/node/pull/55104)
-
\[[`be2a5e170d`](https://redirect.github.com/nodejs/node/commit/be2a5e170d)]
- **src**: track async resources via pointers to stack-allocated handles
(Anna Henningsen)
[#&#8203;59704](https://redirect.github.com/nodejs/node/pull/59704)
-
\[[`f232bf2c11`](https://redirect.github.com/nodejs/node/commit/f232bf2c11)]
- **src**: fix build on NetBSD (Thomas Klausner)
[#&#8203;59718](https://redirect.github.com/nodejs/node/pull/59718)
-
\[[`e9a685bc3d`](https://redirect.github.com/nodejs/node/commit/e9a685bc3d)]
- **src**: fix race on process exit and off thread CA loading
(Chengzhong Wu)
[#&#8203;59632](https://redirect.github.com/nodejs/node/pull/59632)
-
\[[`24428fc8fb`](https://redirect.github.com/nodejs/node/commit/24428fc8fb)]
- **src**: add name for more threads (theanarkh)
[#&#8203;59601](https://redirect.github.com/nodejs/node/pull/59601)
-
\[[`fd7559f8c3`](https://redirect.github.com/nodejs/node/commit/fd7559f8c3)]
- **src**: remove JSONParser (Joyee Cheung)
[#&#8203;59619](https://redirect.github.com/nodejs/node/pull/59619)
-
\[[`8c296bac99`](https://redirect.github.com/nodejs/node/commit/8c296bac99)]
- **src**: enforce assumptions in FIXED\_ONE\_BYTE\_STRING (Tobias
Nießen)
[#&#8203;58155](https://redirect.github.com/nodejs/node/pull/58155)
-
\[[`1b4885a3f2`](https://redirect.github.com/nodejs/node/commit/1b4885a3f2)]
- **src**: use simdjson to parse --snapshot-config (Joyee Cheung)
[#&#8203;59473](https://redirect.github.com/nodejs/node/pull/59473)
-
\[[`9f798de6b0`](https://redirect.github.com/nodejs/node/commit/9f798de6b0)]
- **src**: fix order of CHECK\_NOT\_NULL/dereference (Tobias Nießen)
[#&#8203;59487](https://redirect.github.com/nodejs/node/pull/59487)
-
\[[`f764be27dc`](https://redirect.github.com/nodejs/node/commit/f764be27dc)]
- **src**: move shared\_ptr objects in KeyObjectData (Tobias Nießen)
[#&#8203;59472](https://redirect.github.com/nodejs/node/pull/59472)
-
\[[`d30287fe12`](https://redirect.github.com/nodejs/node/commit/d30287fe12)]
- **src**: iterate metadata version entries with std::array (Chengzhong
Wu) [#&#8203;57866](https://redirect.github.com/nodejs/node/pull/57866)
-
\[[`b2bf620c7b`](https://redirect.github.com/nodejs/node/commit/b2bf620c7b)]
- **src**: internalize `v8::ConvertableToTraceFormat` in traces
(Chengzhong Wu)
[#&#8203;57866](https://redirect.github.com/nodejs/node/pull/57866)
-
\[[`b3c507c8ef`](https://redirect.github.com/nodejs/node/commit/b3c507c8ef)]
- **src**: remove duplicate assignment of `O_EXCL` in node\_constants.cc
(Daniel Osvaldo R)
[#&#8203;59049](https://redirect.github.com/nodejs/node/pull/59049)
-
\[[`20aec239d4`](https://redirect.github.com/nodejs/node/commit/20aec239d4)]
- **src**: add Intel CET properties to large\_pages.S (tjuhaszrh)
[#&#8203;59363](https://redirect.github.com/nodejs/node/pull/59363)
-
\[[`8e0f9cd061`](https://redirect.github.com/nodejs/node/commit/8e0f9cd061)]
- **src**: remove unused DSAKeyExportJob (Filip Skokan)
[#&#8203;59291](https://redirect.github.com/nodejs/node/pull/59291)
-
\[[`0c2b6df94f`](https://redirect.github.com/nodejs/node/commit/0c2b6df94f)]
- **src,sqlite**: refactor value conversion (Edy Silva)
[#&#8203;59659](https://redirect.github.com/nodejs/node/pull/59659)
-
\[[`b95cfdf0e5`](https://redirect.github.com/nodejs/node/commit/b95cfdf0e5)]
- **stream**: replace manual function validation with validateFunction
(방진혁)
[#&#8203;59529](https://redirect.github.com/nodejs/node/pull/59529)
-
\[[`cf06e74076`](https://redirect.github.com/nodejs/node/commit/cf06e74076)]
- **(SEMVER-MINOR)** **stream**: add brotli support to CompressionStream
and DecompressionStream (Matthew Aitken)
[#&#8203;59464](https://redirect.github.com/nodejs/node/pull/59464)
-
\[[`903ebd373a`](https://redirect.github.com/nodejs/node/commit/903ebd373a)]
- **test**: skip more sea tests on Linux ppc64le (Richard Lau)
[#&#8203;59755](https://redirect.github.com/nodejs/node/pull/59755)
-
\[[`e961060bb6`](https://redirect.github.com/nodejs/node/commit/e961060bb6)]
- **test**: fix internet/test-dns (Michaël Zasso)
[#&#8203;59660](https://redirect.github.com/nodejs/node/pull/59660)
- \[[`c2b22f50a8`](https://redirect.git

</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 PR becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41OS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNTkuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-29 18:55:11 +08:00
DarkSky
6951f1002f feat: improve event handle (#14177) 2025-12-29 18:54:59 +08:00
DarkSky
20a80015c0 feat: integrate native indexer for mobile (#14174)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added full-text search functionality to mobile apps (Android and iOS),
enabling document indexing and search capabilities.
* Enhanced blob upload support with new GraphQL mutations for creating,
completing, and managing file uploads.

* **Improvements**
* iOS and Android now use SQLite storage backend for improved indexing
performance, aligning with desktop experience.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-28 21:34:39 +08:00