Skip to content

fix(es/compat): scope private access modes to each member - #12526

Merged
Donny/강동윤 (kdy1) merged 1 commit into
mainfrom
fix/private-access-context
Oct 13, 2026
Merged

Donny/강동윤 (kdy1) merged 1 commit into
mainfrom
fix/private-access-context

Conversation

@magic-akari

Copy link
Copy Markdown
Member

Description:

Private accesses inside update expressions or destructuring assignment targets can inherit the outer target's access mode. A nested private method call or getter read is then lowered with an update or destructuring helper, causing invalid output or runtime failures.

Pass the access mode explicitly to convert_private_member for the member being lowered. Child expressions are visited independently and retain their own access modes, including nested updates and assignments. Update and destructuring helper arguments take ownership of the receiver instead of cloning it for an unused call receiver.

Related issue (if exists):

Pass the private access mode directly to member lowering so update and
destructuring targets cannot change how their child expressions are
lowered. Nested reads, calls, and writes retain their own access modes.

Consume write receivers in helper arguments rather than cloning them for
an unused call receiver.
@changeset-bot

changeset-bot Bot commented Oct 13, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 2740fa7

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@magic-akari magic-akari changed the title fix(es2022): scope private access modes to each member fix(es/compact): scope private access modes to each member Oct 13, 2026
@codspeed

codspeed Bot commented Oct 13, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

⚠️ 30 benchmarks spent significant time in system calls

System calls cannot be consistently instrumented, so they are not included in the measure, which understates the real cost. Please switch to the Walltime instrument to accurately measure system calls.

Measurement and system calls

ℹ️ 2 benchmarks have no flame graph

The flamegraph could not be generated because no execution data was recorded when the benchmark was run. Ensure that the benchmark has not been optimized out.

✅ 200 untouched benchmarks
⏩ 67 skipped benchmarks1


Comparing fix/private-access-context (2740fa7) with main (c07290b)

Open in CodSpeed

Footnotes

  1. 67 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@magic-akari
magic-akari marked this pull request as ready for review October 13, 2026 09:25
@magic-akari
magic-akari requested review from a team as code owners October 13, 2026 09:25
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for security reviews. Please try again later.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-13T09:29:31.038798Z 2740fa7 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kdy1 Donny/강동윤 (kdy1) changed the title fix(es/compact): scope private access modes to each member fix(es/compat): scope private access modes to each member Oct 13, 2026
@kdy1
Donny/강동윤 (kdy1) merged commit c0e3fa1 into main Oct 13, 2026
89 checks passed
@kdy1
Donny/강동윤 (kdy1) deleted the fix/private-access-context branch October 13, 2026 10:00
@github-actions github-actions Bot added this to the Planned milestone Oct 13, 2026
@github-actions github-actions Bot modified the milestones: Planned, v1.16.20 Oct 22, 2026
El Rincon de Hiro (elrincondehiro) pushed a commit to elrincondehiro/web-ecommerce that referenced this pull request Oct 26, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | Type | Update |
|---|---|---|---|---|---|
| [@astrojs/check](https://github.com/withastro/astro/tree/main/packages/language-tools/astro-check) ([source](https://github.com/withastro/astro/tree/HEAD/packages/language-tools/astro-check)) | [`0.9.11` → `0.9.12`](https://renovatebot.com/diffs/npm/@astrojs%2fcheck/0.9.11/0.9.12) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@astrojs%2fcheck/0.9.12?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@astrojs%2fcheck/0.9.11/0.9.12?slim=true) | devDependencies | patch |
| [@astrojs/svelte](https://docs.astro.build/en/guides/integrations-guide/svelte/) ([source](https://github.com/withastro/astro/tree/HEAD/packages/integrations/svelte)) | [`9.1.0` → `9.1.1`](https://renovatebot.com/diffs/npm/@astrojs%2fsvelte/9.1.0/9.1.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@astrojs%2fsvelte/9.1.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@astrojs%2fsvelte/9.1.0/9.1.1?slim=true) | dependencies | patch |
| [@medusajs/admin-sdk](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/admin/admin-sdk)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2fadmin-sdk/2.21.2/2.22.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@medusajs%2fadmin-sdk/2.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@medusajs%2fadmin-sdk/2.21.2/2.22.1?slim=true) | dependencies | minor |
| [@medusajs/cli](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/cli/medusa-cli)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2fcli/2.21.2/2.22.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@medusajs%2fcli/2.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@medusajs%2fcli/2.21.2/2.22.1?slim=true) | dependencies | minor |
| [@medusajs/framework](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/core/framework)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2fframework/2.21.2/2.22.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@medusajs%2fframework/2.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@medusajs%2fframework/2.21.2/2.22.1?slim=true) | dependencies | minor |
| [@medusajs/js-sdk](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/core/js-sdk)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2fjs-sdk/2.21.2/2.22.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@medusajs%2fjs-sdk/2.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@medusajs%2fjs-sdk/2.21.2/2.22.1?slim=true) | dependencies | minor |
| [@medusajs/medusa](https://medusajs.com) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/medusa)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2fmedusa/2.21.2/2.22.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@medusajs%2fmedusa/2.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@medusajs%2fmedusa/2.21.2/2.22.1?slim=true) | dependencies | minor |
| [@medusajs/test-utils](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/medusa-test-utils)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2ftest-utils/2.21.2/2.22.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@medusajs%2ftest-utils/2.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@medusajs%2ftest-utils/2.21.2/2.22.1?slim=true) | devDependencies | minor |
| [@medusajs/types](https://github.com/medusajs/medusa) ([source](https://github.com/medusajs/medusa/tree/HEAD/packages/core/types)) | [`2.21.2` → `2.22.1`](https://renovatebot.com/diffs/npm/@medusajs%2ftypes/2.21.2/2.22.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@medusajs%2ftypes/2.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@medusajs%2ftypes/2.21.2/2.22.1?slim=true) | dependencies | minor |
| [@swc/core](https://swc.rs) ([source](https://github.com/swc-project/swc/tree/HEAD/packages/core)) | [`1.16.18` → `1.16.20`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.16.18/1.16.20) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.16.20?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.16.18/1.16.20?slim=true) | devDependencies | patch |
| [amir20/dozzle](https://github.com/amir20/dozzle) | `v11.3.4` → `v11.3.5` | ![age](https://developer.mend.io/api/mc/badges/age/docker/amir20%2fdozzle/v11.3.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/amir20%2fdozzle/v11.3.4/v11.3.5?slim=true) |  | patch |
| [astro](https://astro.build) ([source](https://github.com/withastro/astro/tree/HEAD/packages/astro)) | [`7.4.1` → `7.4.2`](https://renovatebot.com/diffs/npm/astro/7.4.1/7.4.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/astro/7.4.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/astro/7.4.1/7.4.2?slim=true) | dependencies | patch |
| [axllent/mailpit](https://mailpit.axllent.org) ([source](https://github.com/axllent/mailpit)) | `v1.31.6` → `v1.32.0` | ![age](https://developer.mend.io/api/mc/badges/age/docker/axllent%2fmailpit/v1.32.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/axllent%2fmailpit/v1.31.6/v1.32.0?slim=true) |  | minor |
| [bits-ui](https://github.com/huntabyte/bits-ui) | [`2.19.5` → `2.20.2`](https://renovatebot.com/diffs/npm/bits-ui/2.19.5/2.20.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/bits-ui/2.20.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bits-ui/2.19.5/2.20.2?slim=true) | dependencies | minor |
| [chrislusf/seaweedfs](https://github.com/seaweedfs/seaweedfs) | `4.48` → `4.50` | ![age](https://developer.mend.io/api/mc/badges/age/docker/chrislusf%2fseaweedfs/4.50?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/chrislusf%2fseaweedfs/4.48/4.50?slim=true) |  | minor |
| [docker/login-action](https://github.com/docker/login-action) | `v4.6.0` → `v4.7.0` | ![age](https://developer.mend.io/api/mc/badges/age/github-tags/docker%2flogin-action/v4.7.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/docker%2flogin-action/v4.6.0/v4.7.0?slim=true) | action | minor |
| [henrygd/beszel](https://github.com/henrygd/beszel) | `0.21.0` → `0.21.1` | ![age](https://developer.mend.io/api/mc/badges/age/docker/henrygd%2fbeszel/0.21.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/henrygd%2fbeszel/0.21.0/0.21.1?slim=true) |  | patch |
| [henrygd/beszel-agent](https://github.com/henrygd/beszel) | `0.21.0` → `0.21.1` | ![age](https://developer.mend.io/api/mc/badges/age/docker/henrygd%2fbeszel-agent/0.21.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/henrygd%2fbeszel-agent/0.21.0/0.21.1?slim=true) |  | patch |
| louislam/uptime-kuma | `2.5.6` → `2.5.7` | ![age](https://developer.mend.io/api/mc/badges/age/docker/louislam%2fuptime-kuma/2.5.7?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/louislam%2fuptime-kuma/2.5.6/2.5.7?slim=true) |  | patch |
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | [`24.22.0` → `24.22.1`](https://renovatebot.com/diffs/npm/node/v24.22.0/v24.22.1) | ![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v24.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v24.22.0/v24.22.1?slim=true) | engines | patch |
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | `24.22.0` → `24.22.1` | ![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v24.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v24.22.0/v24.22.1?slim=true) |  | patch |
| [node](https://hub.docker.com/_/node) ([source](https://github.com/nodejs/node)) | `24.22.0-trixie` → `24.22.1-trixie` | ![age](https://developer.mend.io/api/mc/badges/age/docker/node/24.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/node/24.22.0/24.22.1?slim=true) | container | patch |
| [node](https://hub.docker.com/_/node) ([source](https://github.com/nodejs/node)) | `24.22.0-alpine3.24` → `24.22.1-alpine3.24` | ![age](https://developer.mend.io/api/mc/badges/age/docker/node/24.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/node/24.22.0/24.22.1?slim=true) | final | patch |
| [node](https://hub.docker.com/_/node) ([source](https://github.com/nodejs/node)) | `24.22.0-alpine3.24` → `24.22.1-alpine3.24` | ![age](https://developer.mend.io/api/mc/badges/age/docker/node/24.22.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/node/24.22.0/24.22.1?slim=true) | stage | patch |
| [nodemailer](https://nodemailer.com/) ([source](https://github.com/nodemailer/nodemailer)) | [`10.1.7` → `10.2.1`](https://renovatebot.com/diffs/npm/nodemailer/10.1.7/10.2.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/nodemailer/10.2.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nodemailer/10.1.7/10.2.1?slim=true) | devDependencies | minor |
| [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm/npm/pnpm)) | [`12.14.0` → `12.15.0`](https://renovatebot.com/diffs/npm/pnpm/12.14.0/12.15.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/12.15.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/12.14.0/12.15.0?slim=true) | packageManager | minor |
| [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm/npm/pnpm)) | [`12.14.0` → `12.15.0`](https://renovatebot.com/diffs/npm/pnpm/12.14.0/12.15.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/12.15.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/12.14.0/12.15.0?slim=true) | engines | minor |
| [prettier-plugin-astro](https://github.com/withastro/prettier-plugin-astro) | [`1.1.1` → `1.1.2`](https://renovatebot.com/diffs/npm/prettier-plugin-astro/1.1.1/1.1.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/prettier-plugin-astro/1.1.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier-plugin-astro/1.1.1/1.1.2?slim=true) | dependencies | patch |
| [renovate/renovate](https://renovatebot.com) ([source](https://github.com/renovatebot/renovate)) | [`44.172.2` → `44.181.9`](https://octochangelog.com/compare?repo=renovatebot%2Frenovate&from=44.172.2&to=44.181.9) | ![age](https://developer.mend.io/api/mc/badges/age/docker/renovate%2frenovate/44.181.9?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/renovate%2frenovate/44.172.2/44.181.9?slim=true) | container | minor |
| stripe/stripe-cli | `v1.54.1` → `v1.55.1` | ![age](https://developer.mend.io/api/mc/badges/age/docker/stripe%2fstripe-cli/v1.55.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/stripe%2fstripe-cli/v1.54.1/v1.55.1?slim=true) |  | minor |

---

### Release Notes

<details>
<summary>withastro/astro (@&#8203;astrojs/check)</summary>

### [`v0.9.12`](https://github.com/withastro/astro/blob/HEAD/packages/language-tools/astro-check/CHANGELOG.md#0912)

[Compare Source](https://github.com/withastro/astro/compare/@astrojs/check@0.9.11...@astrojs/check@0.9.12)

##### Patch Changes

- [#&#8203;18455](https://github.com/withastro/astro/pull/18455) [`7af66fc`](https://github.com/withastro/astro/commit/7af66fc785d85b1df1f98e7123a52b2306250985) Thanks [@&#8203;astro-factory](https://github.com/apps/astro-factory)! - Fixes the `astro-check` binary ignoring its first two command-line arguments, so flags such as `--help`, `--root`, `--watch`, and `--tsconfig` are respected again. If your scripts padded the arguments to work around this (for example, `astro-check -- -- --tsconfig ./tsconfig.app.json`), remove the padding.
- Updated dependencies \[[`044148d`](https://github.com/withastro/astro/commit/044148d5cfbc90e0277b3205a52ec73bc452bb7e)]:
  - [@&#8203;astrojs/language-server](https://github.com/astrojs/language-server)@2.17.3

</details>

<details>
<summary>withastro/astro (@&#8203;astrojs/svelte)</summary>

### [`v9.1.1`](https://github.com/withastro/astro/blob/HEAD/packages/integrations/svelte/CHANGELOG.md#911)

[Compare Source](https://github.com/withastro/astro/compare/@astrojs/svelte@9.1.0...@astrojs/svelte@9.1.1)

##### Patch Changes

- [#&#8203;18475](https://github.com/withastro/astro/pull/18475) [`cf27e70`](https://github.com/withastro/astro/commit/cf27e70a9057ce29ade2a8a843bd9275a696e9ab) Thanks [@&#8203;ematipico](https://github.com/ematipico)! - Bumps the minimum supported Node.js version to 22.23.4, which includes the fixes from the [October 2026 Node.js security releases](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases)

  This is a patch release because the [Node.js support and upgrade policy](https://docs.astro.build/en/upgrade-astro/#nodejs-support-and-upgrade-policies) allows the Core team to raise the minimum Maintenance LTS version in a patch release when a disclosed and fixed Node.js security flaw affects Astro.

</details>

<details>
<summary>medusajs/medusa (@&#8203;medusajs/admin-sdk)</summary>

### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/admin/admin-sdk/CHANGELOG.md#2221)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1)

##### Patch Changes

- Updated dependencies \[]:
  - [@&#8203;medusajs/admin-shared](https://github.com/medusajs/admin-shared)@2.22.1

### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/admin/admin-sdk/CHANGELOG.md#2220)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0)

##### Patch Changes

- [#&#8203;17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json

- Updated dependencies \[[`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936)]:
  - [@&#8203;medusajs/admin-shared](https://github.com/medusajs/admin-shared)@2.22.0

</details>

<details>
<summary>medusajs/medusa (@&#8203;medusajs/cli)</summary>

### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/cli/medusa-cli/CHANGELOG.md#2221)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1)

##### Patch Changes

- Updated dependencies \[[`3a3207347379b065142895fb0740442fea5f4033`](https://github.com/medusajs/medusa/commit/3a3207347379b065142895fb0740442fea5f4033), [`d731a694cdb83c158fb78b5d85ecba8909150945`](https://github.com/medusajs/medusa/commit/d731a694cdb83c158fb78b5d85ecba8909150945), [`ccee953690a41e14e7520e7e2d97272f25d1ff69`](https://github.com/medusajs/medusa/commit/ccee953690a41e14e7520e7e2d97272f25d1ff69), [`c959d5e3e7d4b482d0784eef67ef8ef766442d5e`](https://github.com/medusajs/medusa/commit/c959d5e3e7d4b482d0784eef67ef8ef766442d5e), [`3a4fa0cc36a82dba9481e87c20e423cb65c2ee91`](https://github.com/medusajs/medusa/commit/3a4fa0cc36a82dba9481e87c20e423cb65c2ee91)]:
  - [@&#8203;medusajs/utils](https://github.com/medusajs/utils)@2.22.1
  - [@&#8203;medusajs/deps](https://github.com/medusajs/deps)@2.22.1
  - [@&#8203;medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.1

### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/cli/medusa-cli/CHANGELOG.md#2220)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0)

##### Minor Changes

- [#&#8203;17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later

##### Patch Changes

- [#&#8203;17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json

- Updated dependencies \[[`f104453af2c5b235dfdbdaa271c9f8a18195de69`](https://github.com/medusajs/medusa/commit/f104453af2c5b235dfdbdaa271c9f8a18195de69), [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a), [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2), [`dab83ec94a8d60446e15eb982617b7c1cc7589a2`](https://github.com/medusajs/medusa/commit/dab83ec94a8d60446e15eb982617b7c1cc7589a2), [`e6510b1f51170834f136e927c3d30e463da32750`](https://github.com/medusajs/medusa/commit/e6510b1f51170834f136e927c3d30e463da32750), [`fdac7de4c3268ccf0f86c47c140662d84c141832`](https://github.com/medusajs/medusa/commit/fdac7de4c3268ccf0f86c47c140662d84c141832), [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64), [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a), [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936)]:
  - [@&#8203;medusajs/utils](https://github.com/medusajs/utils)@2.22.0
  - [@&#8203;medusajs/deps](https://github.com/medusajs/deps)@2.22.0
  - [@&#8203;medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.0

</details>

<details>
<summary>medusajs/medusa (@&#8203;medusajs/framework)</summary>

### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/framework/CHANGELOG.md#2221)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1)

##### Patch Changes

- Updated dependencies \[[`3a3207347379b065142895fb0740442fea5f4033`](https://github.com/medusajs/medusa/commit/3a3207347379b065142895fb0740442fea5f4033), [`d731a694cdb83c158fb78b5d85ecba8909150945`](https://github.com/medusajs/medusa/commit/d731a694cdb83c158fb78b5d85ecba8909150945), [`ccee953690a41e14e7520e7e2d97272f25d1ff69`](https://github.com/medusajs/medusa/commit/ccee953690a41e14e7520e7e2d97272f25d1ff69), [`081bcd2ef57e3d8e946ded205f2bdbd99c2834ba`](https://github.com/medusajs/medusa/commit/081bcd2ef57e3d8e946ded205f2bdbd99c2834ba), [`c959d5e3e7d4b482d0784eef67ef8ef766442d5e`](https://github.com/medusajs/medusa/commit/c959d5e3e7d4b482d0784eef67ef8ef766442d5e), [`3a4fa0cc36a82dba9481e87c20e423cb65c2ee91`](https://github.com/medusajs/medusa/commit/3a4fa0cc36a82dba9481e87c20e423cb65c2ee91), [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091)]:
  - [@&#8203;medusajs/utils](https://github.com/medusajs/utils)@2.22.1
  - [@&#8203;medusajs/types](https://github.com/medusajs/types)@2.22.1
  - [@&#8203;medusajs/cli](https://github.com/medusajs/cli)@2.22.1
  - [@&#8203;medusajs/modules-sdk](https://github.com/medusajs/modules-sdk)@2.22.1
  - [@&#8203;medusajs/orchestration](https://github.com/medusajs/orchestration)@2.22.1
  - [@&#8203;medusajs/workflows-sdk](https://github.com/medusajs/workflows-sdk)@2.22.1
  - [@&#8203;medusajs/deps](https://github.com/medusajs/deps)@2.22.1
  - [@&#8203;medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.1

### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/framework/CHANGELOG.md#2220)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0)

##### Minor Changes

- [#&#8203;17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later

##### Patch Changes

- [#&#8203;17147](https://github.com/medusajs/medusa/pull/17147) [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2) Thanks [@&#8203;dependabot](https://github.com/apps/dependabot)! - chore(admin-bundler, framework, medusa, deps): dependency updates

- [#&#8203;16678](https://github.com/medusajs/medusa/pull/16678) [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a) Thanks [@&#8203;NicolasGorga](https://github.com/NicolasGorga)! - chore(medusa,framework,utils,modules-sdk,test-utils): add license key checks

- [#&#8203;17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json

- Updated dependencies \[[`f104453af2c5b235dfdbdaa271c9f8a18195de69`](https://github.com/medusajs/medusa/commit/f104453af2c5b235dfdbdaa271c9f8a18195de69), [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a), [`673d03edafd30beef18286bbef8a737ff332d541`](https://github.com/medusajs/medusa/commit/673d03edafd30beef18286bbef8a737ff332d541), [`09c7800e9c53ebc654fedcd593b8febde8fc5142`](undefined), [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2), [`396aa3f510be91ec10b7cc85ed0d674a3f3a5294`](undefined), [`dab83ec94a8d60446e15eb982617b7c1cc7589a2`](https://github.com/medusajs/medusa/commit/dab83ec94a8d60446e15eb982617b7c1cc7589a2), [`e6510b1f51170834f136e927c3d30e463da32750`](https://github.com/medusajs/medusa/commit/e6510b1f51170834f136e927c3d30e463da32750), [`fdac7de4c3268ccf0f86c47c140662d84c141832`](https://github.com/medusajs/medusa/commit/fdac7de4c3268ccf0f86c47c140662d84c141832), [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64), [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a), [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936), [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93), [`0b97a96ea0d32ff3f4b18dbeeeeba9e763600a15`](undefined)]:
  - [@&#8203;medusajs/utils](https://github.com/medusajs/utils)@2.22.0
  - [@&#8203;medusajs/cli](https://github.com/medusajs/cli)@2.22.0
  - [@&#8203;medusajs/deps](https://github.com/medusajs/deps)@2.22.0
  - [@&#8203;medusajs/modules-sdk](https://github.com/medusajs/modules-sdk)@2.22.0
  - [@&#8203;medusajs/orchestration](https://github.com/medusajs/orchestration)@2.22.0
  - [@&#8203;medusajs/types](https://github.com/medusajs/types)@2.22.0
  - [@&#8203;medusajs/workflows-sdk](https://github.com/medusajs/workflows-sdk)@2.22.0
  - [@&#8203;medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.0

</details>

<details>
<summary>medusajs/medusa (@&#8203;medusajs/js-sdk)</summary>

### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/js-sdk/CHANGELOG.md#2221)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1)

##### Patch Changes

- [#&#8203;17432](https://github.com/medusajs/medusa/pull/17432) [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091) Thanks [@&#8203;sradevski](https://github.com/sradevski)! - feat(medusa,core-flows,types,js-sdk): add store route to update a payment session's client data

### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/js-sdk/CHANGELOG.md#2220)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0)

##### Minor Changes

- [#&#8203;17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later

##### Patch Changes

- [#&#8203;17157](https://github.com/medusajs/medusa/pull/17157) [`c522ce6c070a85ed735fa0e1ea281b7641935a96`](https://github.com/medusajs/medusa/commit/c522ce6c070a85ed735fa0e1ea281b7641935a96) Thanks [@&#8203;sarmah-rup](https://github.com/sarmah-rup)! - fix(js-sdk): don't throw a ReferenceError when `setLocale` is called outside the browser

- [#&#8203;17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json

- [#&#8203;16142](https://github.com/medusajs/medusa/pull/16142) [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - feat(dashboard, core-flows, js-sdk, types, medusa): add export customers feature

</details>

<details>
<summary>medusajs/medusa (@&#8203;medusajs/medusa)</summary>

### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/medusa/CHANGELOG.md#2221)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1)

##### Patch Changes

- [#&#8203;17442](https://github.com/medusajs/medusa/pull/17442) [`ea2d48190febf36389aa66242247c180f9f48212`](https://github.com/medusajs/medusa/commit/ea2d48190febf36389aa66242247c180f9f48212) Thanks [@&#8203;medusa-os-bot](https://github.com/apps/medusa-os-bot)! - fix(medusa): respond with 404 on /admin/index routes when the index module is off

- [#&#8203;17449](https://github.com/medusajs/medusa/pull/17449) [`52f4c751d2277ab704c1a184c7971a6684e11a74`](https://github.com/medusajs/medusa/commit/52f4c751d2277ab704c1a184c7971a6684e11a74) Thanks [@&#8203;medusa-os-bot](https://github.com/apps/medusa-os-bot)! - fix(medusa): reject deleting a variant through a product it doesn't belong to

- [#&#8203;17432](https://github.com/medusajs/medusa/pull/17432) [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091) Thanks [@&#8203;sradevski](https://github.com/sradevski)! - feat(medusa,core-flows,types,js-sdk): add store route to update a payment session's client data

- Updated dependencies \[[`64d564119d212b439e7f6192f71ec48ffbe6ff93`](https://github.com/medusajs/medusa/commit/64d564119d212b439e7f6192f71ec48ffbe6ff93), [`9e1b2ae94330588cd172a71307bc0874fd8228cc`](https://github.com/medusajs/medusa/commit/9e1b2ae94330588cd172a71307bc0874fd8228cc), [`0a4b00585cd7d9c7d99a11c3502ca9da0cdd75aa`](https://github.com/medusajs/medusa/commit/0a4b00585cd7d9c7d99a11c3502ca9da0cdd75aa), [`67aa48d6b1bbac622d261808b4351521fad8cf42`](https://github.com/medusajs/medusa/commit/67aa48d6b1bbac622d261808b4351521fad8cf42), [`afa4b15c1653d045fde6c2371395ce5df2987822`](https://github.com/medusajs/medusa/commit/afa4b15c1653d045fde6c2371395ce5df2987822), [`5aebc3e4a163c0e401d8794b2e961021eea5aea0`](https://github.com/medusajs/medusa/commit/5aebc3e4a163c0e401d8794b2e961021eea5aea0), [`7ce874c0ce4df5d9942130a28067ced8b23b126d`](https://github.com/medusajs/medusa/commit/7ce874c0ce4df5d9942130a28067ced8b23b126d), [`a0b1fffe7082ee326f16f50a1e2bfc978032a2bf`](https://github.com/medusajs/medusa/commit/a0b1fffe7082ee326f16f50a1e2bfc978032a2bf), [`9fd5fda64ac453b986cbf6480e05b6429efe335d`](https://github.com/medusajs/medusa/commit/9fd5fda64ac453b986cbf6480e05b6429efe335d), [`85d1481f546e0a7ca34ab2fc888606cfa5772817`](https://github.com/medusajs/medusa/commit/85d1481f546e0a7ca34ab2fc888606cfa5772817), [`f7d822b12fcb09120b5c8392f9a5ad10bfcdeb22`](https://github.com/medusajs/medusa/commit/f7d822b12fcb09120b5c8392f9a5ad10bfcdeb22), [`0b533907ac11d9cb3a80355ae7dee6ac51cba150`](https://github.com/medusajs/medusa/commit/0b533907ac11d9cb3a80355ae7dee6ac51cba150), [`b07a970d9f1ff305b5421cc5e27436d1f5624a8a`](https://github.com/medusajs/medusa/commit/b07a970d9f1ff305b5421cc5e27436d1f5624a8a), [`4e723121b0f9e3792b61306af5cbf2ebd9e84d20`](https://github.com/medusajs/medusa/commit/4e723121b0f9e3792b61306af5cbf2ebd9e84d20), [`347a34dc5a193ac2117cbbda6956c3932f40e693`](https://github.com/medusajs/medusa/commit/347a34dc5a193ac2117cbbda6956c3932f40e693), [`c959d5e3e7d4b482d0784eef67ef8ef766442d5e`](https://github.com/medusajs/medusa/commit/c959d5e3e7d4b482d0784eef67ef8ef766442d5e), [`879fb81983bc33ae3901a9aecba63dfebe040c43`](https://github.com/medusajs/medusa/commit/879fb81983bc33ae3901a9aecba63dfebe040c43), [`99bcfeb5ee60b9e2df56d3d2d38e82470eaab68d`](https://github.com/medusajs/medusa/commit/99bcfeb5ee60b9e2df56d3d2d38e82470eaab68d), [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091), [`4a75f02fbadb204f390bd5989dd0302f8a3f6774`](https://github.com/medusajs/medusa/commit/4a75f02fbadb204f390bd5989dd0302f8a3f6774), [`e07eb2b001fa52621e3176efb36fdf53863d4a80`](https://github.com/medusajs/medusa/commit/e07eb2b001fa52621e3176efb36fdf53863d4a80)]:
  - [@&#8203;medusajs/promotion](https://github.com/medusajs/promotion)@2.22.1
  - [@&#8203;medusajs/caching](https://github.com/medusajs/caching)@2.22.1
  - [@&#8203;medusajs/core-flows](https://github.com/medusajs/core-flows)@2.22.1
  - [@&#8203;medusajs/locking](https://github.com/medusajs/locking)@2.22.1
  - [@&#8203;medusajs/locking-redis](https://github.com/medusajs/locking-redis)@2.22.1
  - [@&#8203;medusajs/translation](https://github.com/medusajs/translation)@2.22.1
  - [@&#8203;medusajs/index](https://github.com/medusajs/index)@2.22.1
  - [@&#8203;medusajs/pricing](https://github.com/medusajs/pricing)@2.22.1
  - [@&#8203;medusajs/order](https://github.com/medusajs/order)@2.22.1
  - [@&#8203;medusajs/payment](https://github.com/medusajs/payment)@2.22.1
  - [@&#8203;medusajs/search-postgres](https://github.com/medusajs/search-postgres)@2.22.1
  - [@&#8203;medusajs/framework](https://github.com/medusajs/framework)@2.22.1
  - [@&#8203;medusajs/event-bus-redis](https://github.com/medusajs/event-bus-redis)@2.22.1
  - [@&#8203;medusajs/admin-bundler](https://github.com/medusajs/admin-bundler)@2.22.1
  - [@&#8203;medusajs/draft-order](https://github.com/medusajs/draft-order)@2.22.1
  - [@&#8203;medusajs/analytics](https://github.com/medusajs/analytics)@2.22.1
  - [@&#8203;medusajs/api-key](https://github.com/medusajs/api-key)@2.22.1
  - [@&#8203;medusajs/auth](https://github.com/medusajs/auth)@2.22.1
  - [@&#8203;medusajs/cart](https://github.com/medusajs/cart)@2.22.1
  - [@&#8203;medusajs/currency](https://github.com/medusajs/currency)@2.22.1
  - [@&#8203;medusajs/customer](https://github.com/medusajs/customer)@2.22.1
  - [@&#8203;medusajs/file](https://github.com/medusajs/file)@2.22.1
  - [@&#8203;medusajs/fulfillment](https://github.com/medusajs/fulfillment)@2.22.1
  - [@&#8203;medusajs/inventory](https://github.com/medusajs/inventory)@2.22.1
  - [@&#8203;medusajs/link-modules](https://github.com/medusajs/link-modules)@2.22.1
  - [@&#8203;medusajs/notification](https://github.com/medusajs/notification)@2.22.1
  - [@&#8203;medusajs/product](https://github.com/medusajs/product)@2.22.1
  - [@&#8203;medusajs/rbac](https://github.com/medusajs/rbac)@2.22.1
  - [@&#8203;medusajs/region](https://github.com/medusajs/region)@2.22.1
  - [@&#8203;medusajs/sales-channel](https://github.com/medusajs/sales-channel)@2.22.1
  - [@&#8203;medusajs/search](https://github.com/medusajs/search)@2.22.1
  - [@&#8203;medusajs/settings](https://github.com/medusajs/settings)@2.22.1
  - [@&#8203;medusajs/stock-location](https://github.com/medusajs/stock-location)@2.22.1
  - [@&#8203;medusajs/store](https://github.com/medusajs/store)@2.22.1
  - [@&#8203;medusajs/tax](https://github.com/medusajs/tax)@2.22.1
  - [@&#8203;medusajs/user](https://github.com/medusajs/user)@2.22.1
  - [@&#8203;medusajs/workflow-engine-inmemory](https://github.com/medusajs/workflow-engine-inmemory)@2.22.1
  - [@&#8203;medusajs/workflow-engine-redis](https://github.com/medusajs/workflow-engine-redis)@2.22.1
  - [@&#8203;medusajs/cache-inmemory](https://github.com/medusajs/cache-inmemory)@2.22.1
  - [@&#8203;medusajs/cache-redis](https://github.com/medusajs/cache-redis)@2.22.1
  - [@&#8203;medusajs/event-bus-local](https://github.com/medusajs/event-bus-local)@2.22.1
  - [@&#8203;medusajs/analytics-local](https://github.com/medusajs/analytics-local)@2.22.1
  - [@&#8203;medusajs/analytics-posthog](https://github.com/medusajs/analytics-posthog)@2.22.1
  - [@&#8203;medusajs/auth-emailpass](https://github.com/medusajs/auth-emailpass)@2.22.1
  - [@&#8203;medusajs/auth-github](https://github.com/medusajs/auth-github)@2.22.1
  - [@&#8203;medusajs/auth-google](https://github.com/medusajs/auth-google)@2.22.1
  - [@&#8203;medusajs/auth-oidc](https://github.com/medusajs/auth-oidc)@2.22.1
  - [@&#8203;medusajs/caching-redis](https://github.com/medusajs/caching-redis)@2.22.1
  - [@&#8203;medusajs/file-local](https://github.com/medusajs/file-local)@2.22.1
  - [@&#8203;medusajs/file-s3](https://github.com/medusajs/file-s3)@2.22.1
  - [@&#8203;medusajs/fulfillment-manual](https://github.com/medusajs/fulfillment-manual)@2.22.1
  - [@&#8203;medusajs/locking-postgres](https://github.com/medusajs/locking-postgres)@2.22.1
  - [@&#8203;medusajs/notification-local](https://github.com/medusajs/notification-local)@2.22.1
  - [@&#8203;medusajs/notification-sendgrid](https://github.com/medusajs/notification-sendgrid)@2.22.1
  - [@&#8203;medusajs/payment-stripe](https://github.com/medusajs/payment-stripe)@2.22.1
  - [@&#8203;medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.1

### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/medusa/CHANGELOG.md#2220)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0)

##### Minor Changes

- [#&#8203;17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later

##### Patch Changes

- [#&#8203;17035](https://github.com/medusajs/medusa/pull/17035) [`9aa921a62139888fed08aee7db1480cff0a3ee40`](https://github.com/medusajs/medusa/commit/9aa921a62139888fed08aee7db1480cff0a3ee40) Thanks [@&#8203;gautamyash](https://github.com/gautamyash)! - fix(medusa): report a failed migration script instead of exiting 0

  `db:migrate` forked `db:migrate:scripts` as a child process and discarded its exit code, unlike the `db:migrate:search` call a few lines above which already checks it. A migration script that threw logged the error but the parent process still exited 0, so a CI/CD pipeline or deploy step trusting `db:migrate`'s exit code carried on as if every script had succeeded.

  `db:migrate` now checks the child's exit code the same way it already does for `db:migrate:search`, and returns false (non-zero exit) when a migration script fails.

- [#&#8203;17347](https://github.com/medusajs/medusa/pull/17347) [`673d03edafd30beef18286bbef8a737ff332d541`](https://github.com/medusajs/medusa/commit/673d03edafd30beef18286bbef8a737ff332d541) Thanks [@&#8203;medusa-agents](https://github.com/apps/medusa-agents)! - fix(medusa,types): add `http.requireActorAssociation` config to refuse logins on actor types an auth identity isn't associated with

- [#&#8203;17314](https://github.com/medusajs/medusa/pull/17314) [`06bc7ec543e823c92321d582e1faa7f800985fb9`](https://github.com/medusajs/medusa/commit/06bc7ec543e823c92321d582e1faa7f800985fb9) Thanks [@&#8203;NicolasGorga](https://github.com/NicolasGorga)! - fix(medusa): remove undefined `allowed` from admin customers export query config

- [#&#8203;17147](https://github.com/medusajs/medusa/pull/17147) [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2) Thanks [@&#8203;dependabot](https://github.com/apps/dependabot)! - chore(admin-bundler, framework, medusa, deps): dependency updates

- [#&#8203;16964](https://github.com/medusajs/medusa/pull/16964) [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - fix(payment,core-flows,medusa,types,utils): let refunds be retried safely with an idempotency key

- [#&#8203;17313](https://github.com/medusajs/medusa/pull/17313) [`906433ac6b1d5ec3cc23f88c8297d29fa87427fd`](https://github.com/medusajs/medusa/commit/906433ac6b1d5ec3cc23f88c8297d29fa87427fd) Thanks [@&#8203;medusa-agents](https://github.com/apps/medusa-agents)! - fix(medusa): accept case-insensitive order directions on POST /store/search

- [#&#8203;16678](https://github.com/medusajs/medusa/pull/16678) [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a) Thanks [@&#8203;NicolasGorga](https://github.com/NicolasGorga)! - chore(medusa,framework,utils,modules-sdk,test-utils): add license key checks

- [#&#8203;17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json

- [#&#8203;16142](https://github.com/medusajs/medusa/pull/16142) [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - feat(dashboard, core-flows, js-sdk, types, medusa): add export customers feature

- [#&#8203;17361](https://github.com/medusajs/medusa/pull/17361) [`3755f0f08c02548fb97a7b3f5c3403c2f1919ab6`](https://github.com/medusajs/medusa/commit/3755f0f08c02548fb97a7b3f5c3403c2f1919ab6) Thanks [@&#8203;medusa-agents](https://github.com/apps/medusa-agents)! - fix(medusa): stop exporting sensitive HTTP headers in spans, and redact URL query param values outside a configurable allowlist

- Updated dependencies \[[`6fd40674ee9b8956cbdf377a80f49342177bf818`](https://github.com/medusajs/medusa/commit/6fd40674ee9b8956cbdf377a80f49342177bf818), [`0e087453a34fea61d39d1e416a52ef3417220b2e`](https://github.com/medusajs/medusa/commit/0e087453a34fea61d39d1e416a52ef3417220b2e), [`6adae2ca2e3185cec3af9afbefdf58a378dcf1ca`](https://github.com/medusajs/medusa/commit/6adae2ca2e3185cec3af9afbefdf58a378dcf1ca), [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a), [`09814617a5e117dd42b12c5026d79e8536244fcd`](https://github.com/medusajs/medusa/commit/09814617a5e117dd42b12c5026d79e8536244fcd), [`b3db8ecc2888a84897528636027af8dc446d4ae6`](https://github.com/medusajs/medusa/commit/b3db8ecc2888a84897528636027af8dc446d4ae6), [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2), [`735231340d130af0c3565bc7340f1163863c283f`](https://github.com/medusajs/medusa/commit/735231340d130af0c3565bc7340f1163863c283f), [`dab83ec94a8d60446e15eb982617b7c1cc7589a2`](https://github.com/medusajs/medusa/commit/dab83ec94a8d60446e15eb982617b7c1cc7589a2), [`65260a9d80d666916ad1e4b59d346123e1fa7991`](https://github.com/medusajs/medusa/commit/65260a9d80d666916ad1e4b59d346123e1fa7991), [`597cf9af9ac6ddcf233fc0605d37e8925dc4b7ce`](https://github.com/medusajs/medusa/commit/597cf9af9ac6ddcf233fc0605d37e8925dc4b7ce), [`fdac7de4c3268ccf0f86c47c140662d84c141832`](https://github.com/medusajs/medusa/commit/fdac7de4c3268ccf0f86c47c140662d84c141832), [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64), [`b561a37343f4132d0f3a243e7722260797c3cf85`](https://github.com/medusajs/medusa/commit/b561a37343f4132d0f3a243e7722260797c3cf85), [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a), [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936), [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93)]:
  - [@&#8203;medusajs/payment-stripe](https://github.com/medusajs/payment-stripe)@2.22.0
  - [@&#8203;medusajs/core-flows](https://github.com/medusajs/core-flows)@2.22.0
  - [@&#8203;medusajs/draft-order](https://github.com/medusajs/draft-order)@2.22.0
  - [@&#8203;medusajs/admin-bundler](https://github.com/medusajs/admin-bundler)@2.22.0
  - [@&#8203;medusajs/analytics-local](https://github.com/medusajs/analytics-local)@2.22.0
  - [@&#8203;medusajs/analytics-posthog](https://github.com/medusajs/analytics-posthog)@2.22.0
  - [@&#8203;medusajs/analytics](https://github.com/medusajs/analytics)@2.22.0
  - [@&#8203;medusajs/api-key](https://github.com/medusajs/api-key)@2.22.0
  - [@&#8203;medusajs/auth-emailpass](https://github.com/medusajs/auth-emailpass)@2.22.0
  - [@&#8203;medusajs/auth-github](https://github.com/medusajs/auth-github)@2.22.0
  - [@&#8203;medusajs/auth-google](https://github.com/medusajs/auth-google)@2.22.0
  - [@&#8203;medusajs/auth-oidc](https://github.com/medusajs/auth-oidc)@2.22.0
  - [@&#8203;medusajs/auth](https://github.com/medusajs/auth)@2.22.0
  - [@&#8203;medusajs/cache-inmemory](https://github.com/medusajs/cache-inmemory)@2.22.0
  - [@&#8203;medusajs/cache-redis](https://github.com/medusajs/cache-redis)@2.22.0
  - [@&#8203;medusajs/caching-redis](https://github.com/medusajs/caching-redis)@2.22.0
  - [@&#8203;medusajs/cart](https://github.com/medusajs/cart)@2.22.0
  - [@&#8203;medusajs/currency](https://github.com/medusajs/currency)@2.22.0
  - [@&#8203;medusajs/customer](https://github.com/medusajs/customer)@2.22.0
  - [@&#8203;medusajs/event-bus-local](https://github.com/medusajs/event-bus-local)@2.22.0
  - [@&#8203;medusajs/event-bus-redis](https://github.com/medusajs/event-bus-redis)@2.22.0
  - [@&#8203;medusajs/file-local](https://github.com/medusajs/file-local)@2.22.0
  - [@&#8203;medusajs/file-s3](https://github.com/medusajs/file-s3)@2.22.0
  - [@&#8203;medusajs/file](https://github.com/medusajs/file)@2.22.0
  - [@&#8203;medusajs/framework](https://github.com/medusajs/framework)@2.22.0
  - [@&#8203;medusajs/fulfillment-manual](https://github.com/medusajs/fulfillment-manual)@2.22.0
  - [@&#8203;medusajs/fulfillment](https://github.com/medusajs/fulfillment)@2.22.0
  - [@&#8203;medusajs/index](https://github.com/medusajs/index)@2.22.0
  - [@&#8203;medusajs/inventory](https://github.com/medusajs/inventory)@2.22.0
  - [@&#8203;medusajs/link-modules](https://github.com/medusajs/link-modules)@2.22.0
  - [@&#8203;medusajs/locking-postgres](https://github.com/medusajs/locking-postgres)@2.22.0
  - [@&#8203;medusajs/locking-redis](https://github.com/medusajs/locking-redis)@2.22.0
  - [@&#8203;medusajs/notification-local](https://github.com/medusajs/notification-local)@2.22.0
  - [@&#8203;medusajs/notification-sendgrid](https://github.com/medusajs/notification-sendgrid)@2.22.0
  - [@&#8203;medusajs/notification](https://github.com/medusajs/notification)@2.22.0
  - [@&#8203;medusajs/order](https://github.com/medusajs/order)@2.22.0
  - [@&#8203;medusajs/payment](https://github.com/medusajs/payment)@2.22.0
  - [@&#8203;medusajs/pricing](https://github.com/medusajs/pricing)@2.22.0
  - [@&#8203;medusajs/product](https://github.com/medusajs/product)@2.22.0
  - [@&#8203;medusajs/promotion](https://github.com/medusajs/promotion)@2.22.0
  - [@&#8203;medusajs/rbac](https://github.com/medusajs/rbac)@2.22.0
  - [@&#8203;medusajs/region](https://github.com/medusajs/region)@2.22.0
  - [@&#8203;medusajs/sales-channel](https://github.com/medusajs/sales-channel)@2.22.0
  - [@&#8203;medusajs/search-postgres](https://github.com/medusajs/search-postgres)@2.22.0
  - [@&#8203;medusajs/search](https://github.com/medusajs/search)@2.22.0
  - [@&#8203;medusajs/settings](https://github.com/medusajs/settings)@2.22.0
  - [@&#8203;medusajs/stock-location](https://github.com/medusajs/stock-location)@2.22.0
  - [@&#8203;medusajs/store](https://github.com/medusajs/store)@2.22.0
  - [@&#8203;medusajs/tax](https://github.com/medusajs/tax)@2.22.0
  - [@&#8203;medusajs/translation](https://github.com/medusajs/translation)@2.22.0
  - [@&#8203;medusajs/user](https://github.com/medusajs/user)@2.22.0
  - [@&#8203;medusajs/workflow-engine-inmemory](https://github.com/medusajs/workflow-engine-inmemory)@2.22.0
  - [@&#8203;medusajs/workflow-engine-redis](https://github.com/medusajs/workflow-engine-redis)@2.22.0
  - [@&#8203;medusajs/caching](https://github.com/medusajs/caching)@2.22.0
  - [@&#8203;medusajs/locking](https://github.com/medusajs/locking)@2.22.0
  - [@&#8203;medusajs/telemetry](https://github.com/medusajs/telemetry)@2.22.0

</details>

<details>
<summary>medusajs/medusa (@&#8203;medusajs/test-utils)</summary>

### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/medusa-test-utils/CHANGELOG.md#2221)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1)

##### Patch Changes

- [#&#8203;17461](https://github.com/medusajs/medusa/pull/17461) [`bb1cece185d747fcac1e9bd15d99e1189b0d9973`](https://github.com/medusajs/medusa/commit/bb1cece185d747fcac1e9bd15d99e1189b0d9973) Thanks [@&#8203;medusa-os-bot](https://github.com/apps/medusa-os-bot)! - fix(test-utils): read database credentials when connecting instead of at import

- Updated dependencies \[[`ea2d48190febf36389aa66242247c180f9f48212`](https://github.com/medusajs/medusa/commit/ea2d48190febf36389aa66242247c180f9f48212), [`67aa48d6b1bbac622d261808b4351521fad8cf42`](https://github.com/medusajs/medusa/commit/67aa48d6b1bbac622d261808b4351521fad8cf42), [`5aebc3e4a163c0e401d8794b2e961021eea5aea0`](https://github.com/medusajs/medusa/commit/5aebc3e4a163c0e401d8794b2e961021eea5aea0), [`7ce874c0ce4df5d9942130a28067ced8b23b126d`](https://github.com/medusajs/medusa/commit/7ce874c0ce4df5d9942130a28067ced8b23b126d), [`52f4c751d2277ab704c1a184c7971a6684e11a74`](https://github.com/medusajs/medusa/commit/52f4c751d2277ab704c1a184c7971a6684e11a74), [`a0b1fffe7082ee326f16f50a1e2bfc978032a2bf`](https://github.com/medusajs/medusa/commit/a0b1fffe7082ee326f16f50a1e2bfc978032a2bf), [`4e723121b0f9e3792b61306af5cbf2ebd9e84d20`](https://github.com/medusajs/medusa/commit/4e723121b0f9e3792b61306af5cbf2ebd9e84d20), [`347a34dc5a193ac2117cbbda6956c3932f40e693`](https://github.com/medusajs/medusa/commit/347a34dc5a193ac2117cbbda6956c3932f40e693), [`c959d5e3e7d4b482d0784eef67ef8ef766442d5e`](https://github.com/medusajs/medusa/commit/c959d5e3e7d4b482d0784eef67ef8ef766442d5e), [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091), [`4a75f02fbadb204f390bd5989dd0302f8a3f6774`](https://github.com/medusajs/medusa/commit/4a75f02fbadb204f390bd5989dd0302f8a3f6774), [`e07eb2b001fa52621e3176efb36fdf53863d4a80`](https://github.com/medusajs/medusa/commit/e07eb2b001fa52621e3176efb36fdf53863d4a80)]:
  - [@&#8203;medusajs/medusa](https://github.com/medusajs/medusa)@2.22.1
  - [@&#8203;medusajs/core-flows](https://github.com/medusajs/core-flows)@2.22.1
  - [@&#8203;medusajs/framework](https://github.com/medusajs/framework)@2.22.1

### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/medusa-test-utils/CHANGELOG.md#2220)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0)

##### Minor Changes

- [#&#8203;17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later

##### Patch Changes

- [#&#8203;16678](https://github.com/medusajs/medusa/pull/16678) [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a) Thanks [@&#8203;NicolasGorga](https://github.com/NicolasGorga)! - chore(medusa,framework,utils,modules-sdk,test-utils): add license key checks

- [#&#8203;17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json

- [#&#8203;17129](https://github.com/medusajs/medusa/pull/17129) [`0fdcf25c29f3da6d36eb11855ef10044db7da1f1`](https://github.com/medusajs/medusa/commit/0fdcf25c29f3da6d36eb11855ef10044db7da1f1) Thanks [@&#8203;bhupinder759](https://github.com/bhupinder759)! - fix(test-utils): remove the unused `inApp` option from `medusaIntegrationTestRunner`

  `medusaIntegrationTestRunner` accepted an `inApp` option and stored it on the runner, but no code path ever read it, so passing it had no effect. The option and its private field are removed. TypeScript code that still passes `inApp` needs to drop it.

- Updated dependencies \[[`9aa921a62139888fed08aee7db1480cff0a3ee40`](https://github.com/medusajs/medusa/commit/9aa921a62139888fed08aee7db1480cff0a3ee40), [`0e087453a34fea61d39d1e416a52ef3417220b2e`](https://github.com/medusajs/medusa/commit/0e087453a34fea61d39d1e416a52ef3417220b2e), [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a), [`673d03edafd30beef18286bbef8a737ff332d541`](https://github.com/medusajs/medusa/commit/673d03edafd30beef18286bbef8a737ff332d541), [`06bc7ec543e823c92321d582e1faa7f800985fb9`](https://github.com/medusajs/medusa/commit/06bc7ec543e823c92321d582e1faa7f800985fb9), [`14499a2e9309d653c0e4ec6aec3f88079751b4d2`](https://github.com/medusajs/medusa/commit/14499a2e9309d653c0e4ec6aec3f88079751b4d2), [`fdac7de4c3268ccf0f86c47c140662d84c141832`](https://github.com/medusajs/medusa/commit/fdac7de4c3268ccf0f86c47c140662d84c141832), [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64), [`906433ac6b1d5ec3cc23f88c8297d29fa87427fd`](https://github.com/medusajs/medusa/commit/906433ac6b1d5ec3cc23f88c8297d29fa87427fd), [`44db0ca6357ab4d4681a8004e869fde339c3117a`](https://github.com/medusajs/medusa/commit/44db0ca6357ab4d4681a8004e869fde339c3117a), [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936), [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93), [`3755f0f08c02548fb97a7b3f5c3403c2f1919ab6`](https://github.com/medusajs/medusa/commit/3755f0f08c02548fb97a7b3f5c3403c2f1919ab6)]:
  - [@&#8203;medusajs/medusa](https://github.com/medusajs/medusa)@2.22.0
  - [@&#8203;medusajs/core-flows](https://github.com/medusajs/core-flows)@2.22.0
  - [@&#8203;medusajs/framework](https://github.com/medusajs/framework)@2.22.0

</details>

<details>
<summary>medusajs/medusa (@&#8203;medusajs/types)</summary>

### [`v2.22.1`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/types/CHANGELOG.md#2221)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.22.0...v2.22.1)

##### Patch Changes

- [#&#8203;17428](https://github.com/medusajs/medusa/pull/17428) [`081bcd2ef57e3d8e946ded205f2bdbd99c2834ba`](https://github.com/medusajs/medusa/commit/081bcd2ef57e3d8e946ded205f2bdbd99c2834ba) Thanks [@&#8203;medusa-agents](https://github.com/apps/medusa-agents)! - fix(types): add attribute, value and operator to FilterablePriceRuleProps

- [#&#8203;17432](https://github.com/medusajs/medusa/pull/17432) [`7c3b0339379efeda7863f48b9f60e3391cece091`](https://github.com/medusajs/medusa/commit/7c3b0339379efeda7863f48b9f60e3391cece091) Thanks [@&#8203;sradevski](https://github.com/sradevski)! - feat(medusa,core-flows,types,js-sdk): add store route to update a payment session's client data

### [`v2.22.0`](https://github.com/medusajs/medusa/blob/HEAD/packages/core/types/CHANGELOG.md#2220)

[Compare Source](https://github.com/medusajs/medusa/compare/v2.21.2...v2.22.0)

##### Minor Changes

- [#&#8203;17089](https://github.com/medusajs/medusa/pull/17089) [`d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a`](https://github.com/medusajs/medusa/commit/d249d29ddef76d0bde0b68899b9fe5f9faa1ef6a) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: drop Node.js 20 support and require Node.js v22.22.0 or later

##### Patch Changes

- [#&#8203;17347](https://github.com/medusajs/medusa/pull/17347) [`673d03edafd30beef18286bbef8a737ff332d541`](https://github.com/medusajs/medusa/commit/673d03edafd30beef18286bbef8a737ff332d541) Thanks [@&#8203;medusa-agents](https://github.com/apps/medusa-agents)! - fix(medusa,types): add `http.requireActorAssociation` config to refuse logins on actor types an auth identity isn't associated with

- [`09c7800e9c53ebc654fedcd593b8febde8fc5142`](undefined) - fix(types): type the `status` filter of product list params as an array of statuses

- [#&#8203;17099](https://github.com/medusajs/medusa/pull/17099) [`dab83ec94a8d60446e15eb982617b7c1cc7589a2`](https://github.com/medusajs/medusa/commit/dab83ec94a8d60446e15eb982617b7c1cc7589a2) Thanks [@&#8203;sradevski](https://github.com/sradevski)! - feat(payment): register a Medusa Payments provider per Medusa Cloud payment account

- [#&#8203;16964](https://github.com/medusajs/medusa/pull/16964) [`780a69aad3ea20beadf82e9c5351a6633de45b64`](https://github.com/medusajs/medusa/commit/780a69aad3ea20beadf82e9c5351a6633de45b64) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - fix(payment,core-flows,medusa,types,utils): let refunds be retried safely with an idempotency key

- [#&#8203;17382](https://github.com/medusajs/medusa/pull/17382) [`1db74006ede40300afe64970024688a1a9c2a936`](https://github.com/medusajs/medusa/commit/1db74006ede40300afe64970024688a1a9c2a936) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - chore: ship AGENTS.md in published packages and add agent discovery fields to package.json

- [#&#8203;16142](https://github.com/medusajs/medusa/pull/16142) [`a491ca71f438e1f35a496d63d29141e15bc56c93`](https://github.com/medusajs/medusa/commit/a491ca71f438e1f35a496d63d29141e15bc56c93) Thanks [@&#8203;shahednasser](https://github.com/shahednasser)! - feat(dashboard, core-flows, js-sdk, types, medusa): add export customers feature

</details>

<details>
<summary>swc-project/swc (@&#8203;swc/core)</summary>

### [`v1.16.20`](https://github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11620---2026-10-22)

[Compare Source](https://github.com/swc-project/swc/compare/v1.16.18...v1.16.20)

##### Bug Fixes

- **(es/codegen)** Disambiguate TSX generic arrows ([#&#8203;12505](https://github.com/swc-project/swc/issues/12505)) ([2c9d198](https://github.com/swc-project/swc/commit/2c9d19813f05b74a704db9c40ce985e1d5b43d65))

- **(es/codegen)** Preserve non-null token boundaries ([#&#8203;12504](https://github.com/swc-project/swc/issues/12504)) ([410ae3a](https://github.com/swc-project/swc/commit/410ae3a0750e2d218eaabc2686d29f08b1e20482))

- **(es/codegen)** Parenthesize typed arrow parameters ([#&#8203;12503](https://github.com/swc-project/swc/issues/12503)) ([aa1ffd6](https://github.com/swc-project/swc/commit/aa1ffd682fa211f006b47588da6c2da3c1bf8abe))

- **(es/codegen)** Preserve TypeScript token boundaries ([#&#8203;12523](https://github.com/swc-project/swc/issues/12523)) ([9f36ae0](https://github.com/swc-project/swc/commit/9f36ae0b999c727900649518220adb2f4f8a1ac1))

- **(es/codegen)** Emit space after div if rhs starts with a regex ([#&#8203;12544](https://github.com/swc-project/swc/issues/12544)) ([dddf716](https://github.com/swc-project/swc/commit/dddf7168a086ab1b98461071a1fa63215a08e8ab))

- **(es/codegen)** Preserve optional call type arguments ([#&#8203;12549](https://github.com/swc-project/swc/issues/12549)) ([f7bef4d](https://github.com/swc-project/swc/commit/f7bef4daaf6e38e40991088120165260eb1f51d3))

- **(es/compat)** Scope private access modes to each member ([#&#8203;12526](https://github.com/swc-project/swc/issues/12526)) ([c0e3fa1](https://github.com/swc-project/swc/commit/c0e3fa13fd664634fc662087f3920e628c1a8001))

- **(es/fixer)** Preserve TypeScript expression grouping ([#&#8203;12518](https://github.com/swc-project/swc/issues/12518)) ([b9d3f8f](https://github.com/swc-project/swc/commit/b9d3f8fb383b385035dea2f48f258ff9eb04a062))

- **(es/fixer)** Preserve TypeScript operand grouping ([#&#8203;12539](https://github.com/swc-project/swc/issues/12539)) ([7c4a214](https://github.com/swc-project/swc/commit/7c4a21418c1a5df95e8eccb7a4d125460c44e92a))

- **(es/fixer)** Avoid panicking on recovered parenthesized assignment targets ([#&#8203;12551](https://github.com/swc-project/swc/issues/12551)) ([ec34371](https://github.com/swc-project/swc/commit/ec34371a49973bf076ccd8e489e7bed730e7cef6))

- **(es/fixer)** Preserve optional chain boundaries ([#&#8203;12550](https://github.com/swc-project/swc/issues/12550)) ([01d5630](https://github.com/swc-project/swc/commit/01d5630d40e939de3a1b4f5b83ed9918eaa0948e))

- **(es/fixer)** Wrap function declarations in sloppy-mode loop bodies ([#&#8203;12567](https://github.com/swc-project/swc/issues/12567)) ([76ff943](https://github.com/swc-project/swc/commit/76ff943b6380be9176be3983863e4d6899fafd01))

- **(es/minifier)** Bound literal expressions copied by the sequential inliner ([#&#8203;12521](https://github.com/swc-project/swc/issues/12521)) ([60c700f](https://github.com/swc-project/swc/commit/60c700f2eeb600973b2547b2d3d28ac22ef8e9f7))

- **(es/minifier)** Preserve rest array identity when its reference runs more than once ([#&#8203;12546](https://github.com/swc-project/swc/issues/12546)) ([4768dbe](https://github.com/swc-project/swc/commit/4768dbe091a6706a009d2e9c08950cacba107d55))

- **(es/minifier)** Keep `trimLeft` and `trimRight` on string literals ([#&#8203;12574](https://github.com/swc-project/swc/issues/12574)) ([663ffb0](https://github.com/swc-project/swc/commit/663ffb0c36c83e276b3fba4db3b917aee24033dc))

- **(es/minifier)** Keep directive prologue when merging if returns ([#&#8203;12580](https://github.com/swc-project/swc/issues/12580)) ([fd0edaf](https://github.com/swc-project/swc/commit/fd0edaff3484beb2293eac47e8e8126b41825f60))

- **(es/minifier)** Preserve new async and generator ([#&#8203;12558](https://github.com/swc-project/swc/issues/12558)) ([8f06994](https://github.com/swc-project/swc/commit/8f06994bbe4e1770f54e8e1213535205529a986c))

- **(es/minifier)** Release utils API required by registry builds ([#&#8203;12582](https://github.com/swc-project/swc/issues/12582)) ([b5a52b9](https://github.com/swc-project/swc/commit/b5a52b9a9d4b7f8c3e38628167e937037d831860))

- **(es/parser)** Isolate enum await context ([#&#8203;12506](https://github.com/swc-project/swc/issues/12506)) ([b789495](https://github.com/swc-project/swc/commit/b7894951bee205f85e498d36fcd0b20f14015f93))

- **(es/parser)** Allow await function names in async arrow parameters ([#&#8203;12517](https://github.com/swc-project/swc/issues/12517)) ([0827541](https://github.com/swc-project/swc/commit/08275410814e2922683d671125ade1c603de7067))

- **(es/parser)** Preserve invalid JSX numeric entities as literal text ([#&#8203;12524](https://github.com/swc-project/swc/issues/12524)) ([31b5fb9](https://github.com/swc-project/swc/commit/31b5fb9ae6e6769dc02d857fc1ea8eeb76b5a051))

- **(es/parser)** Allow namespace await identifiers ([#&#8203;12507](https://github.com/swc-project/swc/issues/12507)) ([3daa5dc](https://github.com/swc-project/swc/commit/3daa5dcce773a2994ff7f52d9ef72fdd7fec67ee))

- **(es/parser)** Align TypeScript expression lookahead ([#&#8203;12535](https://github.com/swc-project/swc/issues/12535)) ([7ef5966](https://github.com/swc-project/swc/commit/7ef5966233bf90cd662bb6b45b2826cc1fb28c99))

- **(es/parser)** Do not treat optional get/set fields as accessors ([#&#8203;12559](https://github.com/swc-project/swc/issues/12559)) ([a2fedec](https://github.com/swc-project/swc/commit/a2fedece141de509f81ca5187f0b2236507ac832))

- **(es/parser)** Recover non-entity expressions in TypeScript heritage clauses ([#&#8203;12552](https://github.com/swc-project/swc/issues/12552)) ([48586cb](https://github.com/swc-project/swc/commit/48586cb8cf850bd6d4666fd2d53df64af058452e))

- **(native)** Allow unmapped overflow owners in Linux cache ancestors ([#&#8203;12547](https://github.com/swc-project/swc/issues/12547)) ([8ce7daa](https://github.com/swc-project/swc/commit/8ce7daa2cd0a304c02c9bd66399a6c74dbe651dc))

- **(native-addon)** Use ProgramData after unsafe Windows profile caches ([#&#8203;12534](https://github.com/swc-project/swc/issues/12534)) ([47394b8](https://github.com/swc-project/swc/commit/47394b851f73489672016f30a24806f6edd74946))

- **(react-compiler)** Preserve intrinsic JSX tags during binding renames ([#&#8203;12536](https://github.com/swc-project/swc/issues/12536)) ([c25e42e](https://github.com/swc-project/swc/commit/c25e42eba9028dc297f5c1953c37e6314ea3bb87))

- **(ts/fast-strip)** Preserve runtime boundaries during type erasure ([#&#8203;12575](https://github.com/swc-project/swc/issues/12575)) ([ccdc3c1](https://github.com/swc-project/swc/commit/ccdc3c12eb1179ff3a07ccfea0829a624617d935))

##### Documentation

- Prohibit references to issue-linked PRs and external SWC forks ([#&#8203;12513](https://github.com/swc-project/swc/issues/12513)) ([5092a16](https://github.com/swc-project/swc/commit/5092a16cef14093df987a37334bb3253db4649e0))

- Add CodSpeed sponsor logo to README ([#&#8203;12590](https://github.com/swc-project/swc/issues/12590)) ([9c5b1df](https://github.com/swc-project/swc/commit/9c5b1df49152de69cf239ad96f08dc0ad5ca89a0))

##### Features

- **(es/minifier)** Inline async function used only once ([#&#8203;12416](https://github.com/swc-project/swc/issues/12416)) ([b9b2ebe](https://github.com/swc-project/swc/commit/b9b2ebe1bb3623bd5219726d592d1968fbc8b4a1))

- **(es/minifier)** Implement more rules for if-break ([#&#8203;12561](https://github.com/swc-project/swc/issues/12561)) ([644f85a](https://github.com/swc-project/swc/commit/644f85aa7f4c4bf70c2711054217894621c558cc))

##### Performance

- **(es/parser)** Streamline numeric separator stripping ([#&#8203;12515](https://github.com/swc-project/swc/issues/12515)) ([220a82c](https://github.com/swc-project/swc/commit/220a82ccc9d4412a3aa2094d72ffa43eb337c786))

- **(hstr)** Allow Atom::as_str to inline across crates ([#&#8203;12522](https://github.com/swc-project/swc/issues/12522)) ([c07290b](https://github.com/swc-project/swc/commit/c07290bb931df2a415649bd1fbda86b312426034))

##### Testing

- **(es/transforms)** Isolate transform timing from AST cloning ([#&#8203;12540](https://github.com/swc-project/swc/issues/12540)) ([63ee4aa](https://github.com/swc-project/swc/commit/63ee4aad6baf566cd6ba0fcce74f8ff226a2d8cb))

##### Ci

- Allow vjeux as a React contributor ([#&#8203;12520](https://github.com/swc-project/swc/issues/12520)) ([4e8ee99](https://github.com/swc-project/swc/commit/4e8ee99048e304d2908844eb5aa2ebb38f80bc87))

- Allow jimmyhmiller in the Next.js group ([#&#8203;12532](https://github.com/swc-project/swc/issues/12532)) ([346a025](https://github.com/swc-project/swc/commit/346a025cd7738762442c99f9582c9dcee0f46b1c))

- Ignore unreachable ruzstd advisory in Wasmer ([#&#8203;12533](https://…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Private method call in an update expression (this.#m().n++) compiles to field helper → privateMap.get is not a function

2 participants