Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat(minifier): add MinimizeExitPoints and ExploitAssigns` boilerplate #8203

Merged
merged 1 commit into from
Dec 31, 2024

Conversation

Boshen
Copy link
Member

@Boshen Boshen commented Dec 31, 2024

No description provided.

@github-actions github-actions bot added A-minifier Area - Minifier C-enhancement Category - New feature or request labels Dec 31, 2024
Copy link
Member Author

Boshen commented Dec 31, 2024


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link

graphite-app bot commented Dec 31, 2024

Merge activity

@Boshen Boshen force-pushed the 12-31-feat_minifier_minimizeexitpoints_ branch from 0808adf to 4804933 Compare December 31, 2024 12:05
@graphite-app graphite-app bot merged commit 4804933 into main Dec 31, 2024
25 checks passed
@graphite-app graphite-app bot deleted the 12-31-feat_minifier_minimizeexitpoints_ branch December 31, 2024 12:09
Copy link

codspeed-hq bot commented Dec 31, 2024

CodSpeed Performance Report

Merging #8203 will not alter performance

Comparing 12-31-feat_minifier_minimizeexitpoints_ (4804933) with main (8ed9766)

Summary

✅ 29 untouched benchmarks

Sysix pushed a commit to Sysix/oxc that referenced this pull request Dec 31, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [console](https://redirect.github.com/console-rs/console) |
workspace.dependencies | patch | `0.15.8` -> `0.15.10` |
| [env_logger](https://redirect.github.com/rust-cli/env_logger) |
workspace.dependencies | patch | `0.11.5` -> `0.11.6` |
| [fast-glob](https://redirect.github.com/shulaoda/fast-glob) |
workspace.dependencies | patch | `0.4.0` -> `0.4.3` |
| [glob](https://redirect.github.com/rust-lang/glob) |
workspace.dependencies | patch | `0.3.1` -> `0.3.2` |
|
[oxc-browserslist](https://redirect.github.com/oxc-project/oxc-browserslist)
| workspace.dependencies | patch | `1.1.0` -> `1.1.1` |
| [oxc_resolver](https://redirect.github.com/oxc-project/oxc-resolver) |
workspace.dependencies | patch | `3.0.1` -> `3.0.3` |
| [oxc_sourcemap](https://redirect.github.com/oxc-project/oxc-sourcemap)
| workspace.dependencies | patch | `1.0.5` -> `1.0.6` |
| [quote](https://redirect.github.com/dtolnay/quote) |
workspace.dependencies | patch | `1.0.37` -> `1.0.38` |
| [serde](https://serde.rs)
([source](https://redirect.github.com/serde-rs/serde)) |
workspace.dependencies | patch | `1.0.216` -> `1.0.217` |
| [serde_json](https://redirect.github.com/serde-rs/json) |
workspace.dependencies | patch | `1.0.133` -> `1.0.134` |
| [syn](https://redirect.github.com/dtolnay/syn) |
workspace.dependencies | patch | `2.0.90` -> `2.0.93` |

---

### Release Notes

<details>
<summary>console-rs/console (console)</summary>

###
[`v0.15.10`](https://redirect.github.com/console-rs/console/releases/tag/0.15.10)

[Compare
Source](https://redirect.github.com/console-rs/console/compare/0.15.9...0.15.10)

#### What's Changed

- Remove MSRV badge from README by
[@&oxc-project#8203;djc](https://redirect.github.com/djc) in
[https://github.com/console-rs/console/pull/228](https://redirect.github.com/console-rs/console/pull/228)

###
[`v0.15.9`](https://redirect.github.com/console-rs/console/releases/tag/0.15.9)

[Compare
Source](https://redirect.github.com/console-rs/console/compare/0.15.8...0.15.9)

#### What's Changed

- Update dependencies by [@&oxc-project#8203;djc](https://redirect.github.com/djc)
in
[https://github.com/console-rs/console/pull/227](https://redirect.github.com/console-rs/console/pull/227)

</details>

<details>
<summary>rust-cli/env_logger (env_logger)</summary>

###
[`v0.11.6`](https://redirect.github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0116---2024-12-20)

[Compare
Source](https://redirect.github.com/rust-cli/env_logger/compare/v0.11.5...v0.11.6)

##### Features

-   Opt-in file and line rendering

</details>

<details>
<summary>rust-lang/glob (glob)</summary>

###
[`v0.3.2`](https://redirect.github.com/rust-lang/glob/blob/HEAD/CHANGELOG.md#032---2024-12-28)

[Compare
Source](https://redirect.github.com/rust-lang/glob/compare/0.3.1...v0.3.2)

</details>

<details>
<summary>oxc-project/oxc-browserslist (oxc-browserslist)</summary>

###
[`v1.1.1`](https://redirect.github.com/oxc-project/oxc-browserslist/blob/HEAD/CHANGELOG.md#111---2024-12-14)

[Compare
Source](https://redirect.github.com/oxc-project/oxc-browserslist/compare/oxc-browserslist-v1.1.0...oxc-browserslist-v1.1.1)

##### Other

-   codegen
-   dprint
-   Update README.md
-   *(deps)* update rust crates
-   *(deps)* update rust crates
- *(deps)* update dependency rust to v1.83.0
([#&oxc-project#8203;78](https://redirect.github.com/oxc-project/oxc-browserslist/issues/78))
-   *(deps)* update rust crates
-   *(deps)* update rust crates to v1.0.215
-   *(deps)* update rust crate thiserror to v2.0.3
-   *(deps)* update rust crate thiserror to v2
-   *(deps)* update rust crates to v1.0.93
-   `cargo autoinherit`
-   *(deps)* update rust crate criterion2 to v2

</details>

<details>
<summary>oxc-project/oxc-resolver (oxc_resolver)</summary>

###
[`v3.0.3`](https://redirect.github.com/oxc-project/oxc-resolver/blob/HEAD/CHANGELOG.md#303---2024-12-14)

[Compare
Source](https://redirect.github.com/oxc-project/oxc-resolver/compare/oxc_resolver-v3.0.2...oxc_resolver-v3.0.3)

##### <!-- 1 -->Bug Fixes

- try browsers field and alias before resolving directory in
node_modules
([#&oxc-project#8203;349](https://redirect.github.com/oxc-project/oxc-resolver/issues/349))

###
[`v3.0.2`](https://redirect.github.com/oxc-project/oxc-resolver/blob/HEAD/CHANGELOG.md#302---2024-12-13)

[Compare
Source](https://redirect.github.com/oxc-project/oxc-resolver/compare/oxc_resolver-v3.0.1...oxc_resolver-v3.0.2)

##### <!-- 1 -->Bug Fixes

- special case for aliasing `@/`
([#&oxc-project#8203;348](https://redirect.github.com/oxc-project/oxc-resolver/issues/348))
- normalize resolved result on Windows for root
([#&oxc-project#8203;345](https://redirect.github.com/oxc-project/oxc-resolver/issues/345))

##### <!-- 4 -->Refactor

- replace UnsafeCell with RefCell
([#&oxc-project#8203;346](https://redirect.github.com/oxc-project/oxc-resolver/issues/346))

</details>

<details>
<summary>oxc-project/oxc-sourcemap (oxc_sourcemap)</summary>

###
[`v1.0.6`](https://redirect.github.com/oxc-project/oxc-sourcemap/blob/HEAD/CHANGELOG.md#106---2024-12-15)

[Compare
Source](https://redirect.github.com/oxc-project/oxc-sourcemap/compare/v1.0.5...v1.0.6)

##### Fixed

- handle non existing token position in visualizer
([#&oxc-project#8203;14](https://redirect.github.com/oxc-project/oxc-sourcemap/issues/14))

</details>

<details>
<summary>dtolnay/quote (quote)</summary>

###
[`v1.0.38`](https://redirect.github.com/dtolnay/quote/releases/tag/1.0.38)

[Compare
Source](https://redirect.github.com/dtolnay/quote/compare/1.0.37...1.0.38)

- Support interpolating arrays inside of arrays using a repetition
([#&oxc-project#8203;286](https://redirect.github.com/dtolnay/quote/issues/286))

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

###
[`v1.0.217`](https://redirect.github.com/serde-rs/serde/releases/tag/v1.0.217)

[Compare
Source](https://redirect.github.com/serde-rs/serde/compare/v1.0.216...v1.0.217)

- Support serializing externally tagged unit variant inside flattened
field
([#&oxc-project#8203;2786](https://redirect.github.com/serde-rs/serde/issues/2786),
thanks [@&oxc-project#8203;Mingun](https://redirect.github.com/Mingun))

</details>

<details>
<summary>serde-rs/json (serde_json)</summary>

###
[`v1.0.134`](https://redirect.github.com/serde-rs/json/releases/tag/v1.0.134)

[Compare
Source](https://redirect.github.com/serde-rs/json/compare/v1.0.133...v1.0.134)

- Add `RawValue` associated constants for literal `null`, `true`,
`false`
([#&oxc-project#8203;1221](https://redirect.github.com/serde-rs/json/issues/1221),
thanks [@&oxc-project#8203;bheylin](https://redirect.github.com/bheylin))

</details>

<details>
<summary>dtolnay/syn (syn)</summary>

###
[`v2.0.93`](https://redirect.github.com/dtolnay/syn/releases/tag/2.0.93)

[Compare
Source](https://redirect.github.com/dtolnay/syn/compare/2.0.92...2.0.93)

- Fix expression parsing edge cases: `x as T <<= y`
([#&oxc-project#8203;1804](https://redirect.github.com/dtolnay/syn/issues/1804)),
`break as T`
([#&oxc-project#8203;1805](https://redirect.github.com/dtolnay/syn/issues/1805)),
`match x { _ if .. => {} }`
([#&oxc-project#8203;1807](https://redirect.github.com/dtolnay/syn/issues/1807))
- Fix expression printing edge cases: `|| -> T 'a: {}`
([#&oxc-project#8203;1806](https://redirect.github.com/dtolnay/syn/issues/1806)),
`if break x {}`
([#&oxc-project#8203;1808](https://redirect.github.com/dtolnay/syn/issues/1808),
[#&oxc-project#8203;1810](https://redirect.github.com/dtolnay/syn/issues/1810))

###
[`v2.0.92`](https://redirect.github.com/dtolnay/syn/releases/tag/2.0.92)

[Compare
Source](https://redirect.github.com/dtolnay/syn/compare/2.0.91...2.0.92)

- Fix parenthesization of jumps inside ranges
([#&oxc-project#8203;1798](https://redirect.github.com/dtolnay/syn/issues/1798))

###
[`v2.0.91`](https://redirect.github.com/dtolnay/syn/releases/tag/2.0.91)

[Compare
Source](https://redirect.github.com/dtolnay/syn/compare/2.0.90...2.0.91)

- Support parsing `Vec<Arm>` using `parse_quote!`
([#&oxc-project#8203;1796](https://redirect.github.com/dtolnay/syn/issues/1796),
[#&oxc-project#8203;1797](https://redirect.github.com/dtolnay/syn/issues/1797))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 11am on monday" in timezone
Asia/Shanghai, Automerge - "before 11am on monday" in timezone
Asia/Shanghai.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron Clark <[email protected]>
passariello pushed a commit to passariello/oxc that referenced this pull request Jan 3, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [allocator-api2](https://redirect.github.com/zakarumych/allocator-api2) | workspace.dependencies | patch | `0.2.18` -> `0.2.20` |
| [flate2](https://redirect.github.com/rust-lang/flate2-rs) | workspace.dependencies | patch | `1.0.34` -> `1.0.35` |
| [itoa](https://redirect.github.com/dtolnay/itoa) | workspace.dependencies | patch | `1.0.11` -> `1.0.13` |
| [oxc_resolver](https://redirect.github.com/oxc-project/oxc-resolver) | workspace.dependencies | minor | `2.0.0` -> `2.1.1` |
| [proc-macro2](https://redirect.github.com/dtolnay/proc-macro2) | workspace.dependencies | patch | `1.0.89` -> `1.0.92` |
| [serde](https://serde.rs) ([source](https://redirect.github.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.214` -> `1.0.215` |
| [serde_json](https://redirect.github.com/serde-rs/json) | workspace.dependencies | patch | `1.0.132` -> `1.0.133` |
| [tempfile](https://stebalien.com/projects/tempfile-rs/) ([source](https://redirect.github.com/Stebalien/tempfile)) | workspace.dependencies | minor | `3.13.0` -> `3.14.0` |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | workspace.dependencies | patch | `1.41.0` -> `1.41.1` |
| [url](https://redirect.github.com/servo/rust-url) | workspace.dependencies | patch | `2.5.3` -> `2.5.4` |

---

### Release Notes

<details>
<summary>rust-lang/flate2-rs (flate2)</summary>

### [`v1.0.35`](https://redirect.github.com/rust-lang/flate2-rs/releases/tag/1.0.35): - security update to zlib-rs

[Compare Source](https://redirect.github.com/rust-lang/flate2-rs/compare/1.0.34...1.0.35)

#### What's Changed

-   Upgrade actions/upload-artifact by [@&oxc-project#8203;jdno](https://redirect.github.com/jdno) in [https://github.com/rust-lang/flate2-rs/pull/438](https://redirect.github.com/rust-lang/flate2-rs/pull/438)
-   upgrade zlib-rs to version `0.4.0` by [@&oxc-project#8203;folkertdev](https://redirect.github.com/folkertdev) in [https://github.com/rust-lang/flate2-rs/pull/439](https://redirect.github.com/rust-lang/flate2-rs/pull/439)

#### New Contributors

-   [@&oxc-project#8203;jdno](https://redirect.github.com/jdno) made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/438](https://redirect.github.com/rust-lang/flate2-rs/pull/438)

**Full Changelog**: rust-lang/flate2-rs@1.0.34...1.0.35

</details>

<details>
<summary>dtolnay/itoa (itoa)</summary>

### [`v1.0.13`](https://redirect.github.com/dtolnay/itoa/releases/tag/1.0.13)

[Compare Source](https://redirect.github.com/dtolnay/itoa/compare/1.0.12...1.0.13)

-   Code cleanup ([#&oxc-project#8203;48](https://redirect.github.com/dtolnay/itoa/issues/48), [#&oxc-project#8203;49](https://redirect.github.com/dtolnay/itoa/issues/49), [#&oxc-project#8203;50](https://redirect.github.com/dtolnay/itoa/issues/50), [#&oxc-project#8203;51](https://redirect.github.com/dtolnay/itoa/issues/51), [#&oxc-project#8203;52](https://redirect.github.com/dtolnay/itoa/issues/52), [#&oxc-project#8203;53](https://redirect.github.com/dtolnay/itoa/issues/53), [#&oxc-project#8203;54](https://redirect.github.com/dtolnay/itoa/issues/54), [#&oxc-project#8203;55](https://redirect.github.com/dtolnay/itoa/issues/55))

### [`v1.0.12`](https://redirect.github.com/dtolnay/itoa/releases/tag/1.0.12)

[Compare Source](https://redirect.github.com/dtolnay/itoa/compare/1.0.11...1.0.12)

-   Add itoa::Integer::MAX_STR_LEN associated constant ([#&oxc-project#8203;45](https://redirect.github.com/dtolnay/itoa/issues/45), thanks [@&oxc-project#8203;SUPERCILEX](https://redirect.github.com/SUPERCILEX))

</details>

<details>
<summary>oxc-project/oxc-resolver (oxc_resolver)</summary>

### [`v2.1.1`](https://redirect.github.com/oxc-project/oxc-resolver/blob/HEAD/CHANGELOG.md#211---2024-11-22)

[Compare Source](https://redirect.github.com/oxc-project/oxc-resolver/compare/oxc_resolver-v2.1.0...oxc_resolver-v2.1.1)

##### Performance

-   reduce hash while resolving package.json ([#&oxc-project#8203;319](https://redirect.github.com/oxc-project/oxc-resolver/pull/319))
-   reduce memory allocation while normalizing package path ([#&oxc-project#8203;318](https://redirect.github.com/oxc-project/oxc-resolver/pull/318))
-   reduce memory allocation while resolving package.json ([#&oxc-project#8203;317](https://redirect.github.com/oxc-project/oxc-resolver/pull/317))
-   use `path.as_os_str().hash()` instead of `path.hash()` ([#&oxc-project#8203;316](https://redirect.github.com/oxc-project/oxc-resolver/pull/316))
-   reduce memory allocation by using a thread_local path for path methods ([#&oxc-project#8203;315](https://redirect.github.com/oxc-project/oxc-resolver/pull/315))

##### Other

-   remove the deprecated simdutf8 aarch64\_neon feature
-   mention extension must start with a `.` in `with_extension` ([#&oxc-project#8203;313](https://redirect.github.com/oxc-project/oxc-resolver/pull/313))

### [`v2.1.0`](https://redirect.github.com/oxc-project/oxc-resolver/blob/HEAD/CHANGELOG.md#210---2024-11-20)

[Compare Source](https://redirect.github.com/oxc-project/oxc-resolver/compare/oxc_resolver-v2.0.1...oxc_resolver-v2.1.0)

##### Added

-   add `Resolver::resolve_tsconfig` API ([#&oxc-project#8203;312](https://redirect.github.com/oxc-project/oxc-resolver/pull/312))

##### Fixed

-   don't panic when resolving `/` with `roots` ([#&oxc-project#8203;310](https://redirect.github.com/oxc-project/oxc-resolver/pull/310))
-   use same UNC path normalization logic with libuv ([#&oxc-project#8203;306](https://redirect.github.com/oxc-project/oxc-resolver/pull/306))

##### Other

-   *(deps)* update rust crates to v1.0.215
-   fix symlink test init on windows ([#&oxc-project#8203;307](https://redirect.github.com/oxc-project/oxc-resolver/pull/307))

### [`v2.0.1`](https://redirect.github.com/oxc-project/oxc-resolver/blob/HEAD/CHANGELOG.md#201---2024-11-08)

[Compare Source](https://redirect.github.com/oxc-project/oxc-resolver/compare/oxc_resolver-v2.0.0...oxc_resolver-v2.0.1)

##### Other

-   `cargo upgrade` && `pnpm upgrade`
-   bring back the symlink optimization ([#&oxc-project#8203;298](https://redirect.github.com/oxc-project/oxc-resolver/pull/298))
-   *(deps)* update rust crate criterion2 to v2

</details>

<details>
<summary>dtolnay/proc-macro2 (proc-macro2)</summary>

### [`v1.0.92`](https://redirect.github.com/dtolnay/proc-macro2/releases/tag/1.0.92)

[Compare Source](https://redirect.github.com/dtolnay/proc-macro2/compare/1.0.91...1.0.92)

-   Improve compiler/fallback mismatch panic message ([#&oxc-project#8203;487](https://redirect.github.com/dtolnay/proc-macro2/issues/487))

### [`v1.0.91`](https://redirect.github.com/dtolnay/proc-macro2/releases/tag/1.0.91)

[Compare Source](https://redirect.github.com/dtolnay/proc-macro2/compare/1.0.90...1.0.91)

-   Fix panic *"compiler/fallback mismatch 949"* when using TokenStream::from_str from inside a proc macro to parse a string containing doc comment ([#&oxc-project#8203;484](https://redirect.github.com/dtolnay/proc-macro2/issues/484))

### [`v1.0.90`](https://redirect.github.com/dtolnay/proc-macro2/releases/tag/1.0.90)

[Compare Source](https://redirect.github.com/dtolnay/proc-macro2/compare/1.0.89...1.0.90)

-   Improve error recovery in TokenStream's and Literal's FromStr implementations to work around [https://github.com/rust-lang/rust/issues/58736](https://redirect.github.com/rust-lang/rust/issues/58736) such that rustc does not poison compilation on codepaths that should be recoverable errors ([#&oxc-project#8203;477](https://redirect.github.com/dtolnay/proc-macro2/issues/477), [#&oxc-project#8203;478](https://redirect.github.com/dtolnay/proc-macro2/issues/478), [#&oxc-project#8203;479](https://redirect.github.com/dtolnay/proc-macro2/issues/479), [#&oxc-project#8203;480](https://redirect.github.com/dtolnay/proc-macro2/issues/480), [#&oxc-project#8203;481](https://redirect.github.com/dtolnay/proc-macro2/issues/481), [#&oxc-project#8203;482](https://redirect.github.com/dtolnay/proc-macro2/issues/482))

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

### [`v1.0.215`](https://redirect.github.com/serde-rs/serde/releases/tag/v1.0.215)

[Compare Source](https://redirect.github.com/serde-rs/serde/compare/v1.0.214...v1.0.215)

-   Produce warning when multiple fields or variants have the same deserialization name ([#&oxc-project#8203;2855](https://redirect.github.com/serde-rs/serde/issues/2855), [#&oxc-project#8203;2856](https://redirect.github.com/serde-rs/serde/issues/2856), [#&oxc-project#8203;2857](https://redirect.github.com/serde-rs/serde/issues/2857))

</details>

<details>
<summary>serde-rs/json (serde_json)</summary>

### [`v1.0.133`](https://redirect.github.com/serde-rs/json/releases/tag/v1.0.133)

[Compare Source](https://redirect.github.com/serde-rs/json/compare/v1.0.132...v1.0.133)

-   Implement From<\[T; N]> for serde_json::Value ([#&oxc-project#8203;1215](https://redirect.github.com/serde-rs/json/issues/1215))

</details>

<details>
<summary>Stebalien/tempfile (tempfile)</summary>

### [`v3.14.0`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3140)

[Compare Source](https://redirect.github.com/Stebalien/tempfile/compare/v3.13.0...v3.14.0)

-   Make the wasip2 target work (requires tempfile's "nightly" feature to be enabled). [#&oxc-project#8203;305](https://redirect.github.com/Stebalien/tempfile/pull/305).
-   Allow older windows-sys versions [#&oxc-project#8203;304](https://redirect.github.com/Stebalien/tempfile/pull/304).

</details>

<details>
<summary>tokio-rs/tokio (tokio)</summary>

### [`v1.41.1`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.41.1): Tokio v1.41.1

[Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.41.0...tokio-1.41.1)

### 1.41.1 (Nov 7th, 2024)

##### Fixed

-   metrics: fix bug with wrong number of buckets for the histogram ([#&oxc-project#8203;6957])
-   net: display `net` requirement for `net::UdpSocket` in docs ([#&oxc-project#8203;6938])
-   net: fix typo in `TcpStream` internal comment ([#&oxc-project#8203;6944])

[#&oxc-project#8203;6957]: https://redirect.github.com/tokio-rs/tokio/pull/6957

[#&oxc-project#8203;6938]: https://redirect.github.com/tokio-rs/tokio/pull/6938

[#&oxc-project#8203;6944]: https://redirect.github.com/tokio-rs/tokio/pull/6944

</details>

<details>
<summary>servo/rust-url (url)</summary>

### [`v2.5.4`](https://redirect.github.com/servo/rust-url/releases/tag/v2.5.4)

[Compare Source](https://redirect.github.com/servo/rust-url/compare/v2.5.3...v2.5.4)

##### What's Changed

-   Revert "Normalize URL paths: convert /.//p, /..//p, and //p to p ([#&oxc-project#8203;943](https://redirect.github.com/servo/rust-url/issues/943))" by [@&oxc-project#8203;valenting](https://redirect.github.com/valenting) in [https://github.com/servo/rust-url/pull/999](https://redirect.github.com/servo/rust-url/pull/999)
-   Updates the MSRV to 1.63 required though the libc v0.2.164 dependency

**Full Changelog**: servo/rust-url@v2.5.3...v2.5.4

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
passariello pushed a commit to passariello/oxc that referenced this pull request Jan 3, 2025
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rust](https://redirect.github.com/rust-lang/rust) | minor | `1.81.0` -> `1.82.0` |

---

### Release Notes

<details>
<summary>rust-lang/rust (rust)</summary>

### [`v1.82.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1820-2024-10-17)

[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.81.0...1.82.0)

\==========================

<a id="1.82.0-Language"></a>

## Language

-   [Don't make statement nonterminals match pattern nonterminals](https://redirect.github.com/rust-lang/rust/pull/120221/)
-   [Patterns matching empty types can now be omitted in common cases](https://redirect.github.com/rust-lang/rust/pull/122792)
-   [Enforce supertrait outlives obligations when using trait impls](https://redirect.github.com/rust-lang/rust/pull/124336)
-   [`addr_of(_mut)!` macros and the newly stabilized `&raw (const|mut)` are now safe to use with all static items](https://redirect.github.com/rust-lang/rust/pull/125834)
-   [size_of_val_raw: for length 0 this is safe to call](https://redirect.github.com/rust-lang/rust/pull/126152/)
-   [Reorder trait bound modifiers *after* `for<...>` binder in trait bounds](https://redirect.github.com/rust-lang/rust/pull/127054/)
-   [Stabilize opaque type precise capturing (RFC 3617)](https://redirect.github.com/rust-lang/rust/pull/127672)
-   [Stabilize `&raw const` and `&raw mut` operators (RFC 2582)](https://redirect.github.com/rust-lang/rust/pull/127679)
-   [Stabilize unsafe extern blocks (RFC 3484)](https://redirect.github.com/rust-lang/rust/pull/127921)
-   [Stabilize nested field access in `offset_of!`](https://redirect.github.com/rust-lang/rust/pull/128284)
-   [Do not require `T` to be live when dropping `[T; 0]`](https://redirect.github.com/rust-lang/rust/pull/128438)
-   [Stabilize `const` operands in inline assembly](https://redirect.github.com/rust-lang/rust/pull/128570)
-   [Stabilize floating-point arithmetic in `const fn`](https://redirect.github.com/rust-lang/rust/pull/128596)
-   [Stabilize explicit opt-in to unsafe attributes](https://redirect.github.com/rust-lang/rust/pull/128771)
-   [Document NaN bit patterns guarantees](https://redirect.github.com/rust-lang/rust/pull/129559)

<a id="1.82.0-Compiler"></a>

## Compiler

-   [Promote riscv64gc-unknown-linux-musl to tier 2](https://redirect.github.com/rust-lang/rust/pull/122049)
-   [Promote Mac Catalyst targets `aarch64-apple-ios-macabi` and `x86_64-apple-ios-macabi` to Tier 2, and ship them with rustup](https://redirect.github.com/rust-lang/rust/pull/126450)
-   [Add tier 3 NuttX based targets for RISC-V and ARM](https://redirect.github.com/rust-lang/rust/pull/127755)
-   [Add tier 3 powerpc-unknown-linux-muslspe target](https://redirect.github.com/rust-lang/rust/pull/127905)
-   [Improved diagnostics to explain why a pattern is unreachable](https://redirect.github.com/rust-lang/rust/pull/128034)
-   [The compiler now triggers the unreachable code warning properly for async functions that don't return/are `-> !`](https://redirect.github.com/rust-lang/rust/pull/128443)
-   [Promote `aarch64-apple-darwin` to Tier 1](https://redirect.github.com/rust-lang/rust/pull/128592)
-   [Add Trusty OS target `aarch64-unknown-trusty` and `armv7-unknown-trusty` as tier 3 targets](https://redirect.github.com/rust-lang/rust/pull/129490)
-   [Promote `wasm32-wasip2` to Tier 2.](https://redirect.github.com/rust-lang/rust/pull/126967/)

<a id="1.82.0-Libraries"></a>

## Libraries

-   [Generalize `{Rc,Arc}::make_mut()` to `Path`, `OsStr`, and `CStr`.](https://redirect.github.com/rust-lang/rust/pull/126877)

<a id="1.82.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`std::thread::Builder::spawn_unchecked`](https://doc.rust-lang.org/stable/std/thread/struct.Builder.html#method.spawn_unchecked)
-   [`std::str::CharIndices::offset`](https://doc.rust-lang.org/nightly/std/str/struct.CharIndices.html#method.offset)
-   [`std::option::Option::is_none_or`](https://doc.rust-lang.org/nightly/std/option/enum.Option.html#method.is_none_or)
-   [`[T]::is_sorted`](https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.is_sorted)
-   [`[T]::is_sorted_by`](https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.is_sorted_by)
-   [`[T]::is_sorted_by_key`](https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.is_sorted_by_key)
-   [`Iterator::is_sorted`](https://doc.rust-lang.org/nightly/std/iter/trait.Iterator.html#method.is_sorted)
-   [`Iterator::is_sorted_by`](https://doc.rust-lang.org/nightly/std/iter/trait.Iterator.html#method.is_sorted_by)
-   [`Iterator::is_sorted_by_key`](https://doc.rust-lang.org/nightly/std/iter/trait.Iterator.html#method.is_sorted_by_key)
-   [`std::future::Ready::into_inner`](https://doc.rust-lang.org/nightly/std/future/struct.Ready.html#method.into_inner)
-   [`std::iter::repeat_n`](https://doc.rust-lang.org/nightly/std/iter/fn.repeat_n.html)
-   [`impl<T: Clone> DoubleEndedIterator for Take<Repeat<T>>`](https://doc.rust-lang.org/nightly/std/iter/struct.Take.html#impl-DoubleEndedIterator-for-Take%3CRepeat%3CT%3E%3E)
-   [`impl<T: Clone> ExactSizeIterator for Take<Repeat<T>>`](https://doc.rust-lang.org/nightly/std/iter/struct.Take.html#impl-ExactSizeIterator-for-Take%3CRepeat%3CT%3E%3E)
-   [`impl<T: Clone> ExactSizeIterator for Take<RepeatWith<T>>`](https://doc.rust-lang.org/nightly/std/iter/struct.Take.html#impl-ExactSizeIterator-for-Take%3CRepeatWith%3CF%3E%3E)
-   [`impl Default for std::collections::binary_heap::Iter`](https://doc.rust-lang.org/nightly/std/collections/binary_heap/struct.Iter.html#impl-Default-for-Iter%3C'\_,+T%3E)
-   [`impl Default for std::collections::btree_map::RangeMut`](https://doc.rust-lang.org/nightly/std/collections/btree_map/struct.RangeMut.html#impl-Default-for-RangeMut%3C'\_,+K,+V%3E)
-   [`impl Default for std::collections::btree_map::ValuesMut`](https://doc.rust-lang.org/nightly/std/collections/btree_map/struct.ValuesMut.html#impl-Default-for-ValuesMut%3C'\_,+K,+V%3E)
-   [`impl Default for std::collections::vec_deque::Iter`](https://doc.rust-lang.org/nightly/std/collections/vec_deque/struct.Iter.html#impl-Default-for-Iter%3C'\_,+T%3E)
-   [`impl Default for std::collections::vec_deque::IterMut`](https://doc.rust-lang.org/nightly/std/collections/vec_deque/struct.IterMut.html#impl-Default-for-IterMut%3C'\_,+T%3E)
-   [`Rc<T>::new_uninit`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.new_uninit)
-   [`Rc<T>::assume_init`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.assume_init)
-   [`Rc<[T]>::new_uninit_slice`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.new_uninit_slice)
-   [`Rc<[MaybeUninit<T>]>::assume_init`](https://doc.rust-lang.org/nightly/std/rc/struct.Rc.html#method.assume_init-1)
-   [`Arc<T>::new_uninit`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.new_uninit)
-   [`Arc<T>::assume_init`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.assume_init)
-   [`Arc<[T]>::new_uninit_slice`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.new_uninit_slice)
-   [`Arc<[MaybeUninit<T>]>::assume_init`](https://doc.rust-lang.org/nightly/std/sync/struct.Arc.html#method.assume_init-1)
-   [`Box<T>::new_uninit`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.new_uninit)
-   [`Box<T>::assume_init`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.assume_init)
-   [`Box<[T]>::new_uninit_slice`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.new_uninit_slice)
-   [`Box<[MaybeUninit<T>]>::assume_init`](https://doc.rust-lang.org/nightly/std/boxed/struct.Box.html#method.assume_init-1)
-   [`core::arch::x86_64::_bextri_u64`](https://doc.rust-lang.org/stable/core/arch/x86\_64/fn.\_bextri_u64.html)
-   [`core::arch::x86_64::_bextri_u32`](https://doc.rust-lang.org/stable/core/arch/x86\_64/fn.\_bextri_u32.html)
-   [`core::arch::x86::_mm_broadcastsi128_si256`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_broadcastsi128\_si256.html)
-   [`core::arch::x86::_mm256_stream_load_si256`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm256\_stream_load_si256.html)
-   [`core::arch::x86::_tzcnt_u16`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_tzcnt_u16.html)
-   [`core::arch::x86::_mm_extracti_si64`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_extracti_si64.html)
-   [`core::arch::x86::_mm_inserti_si64`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_inserti_si64.html)
-   [`core::arch::x86::_mm_storeu_si16`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_storeu_si16.html)
-   [`core::arch::x86::_mm_storeu_si32`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_storeu_si32.html)
-   [`core::arch::x86::_mm_storeu_si64`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_storeu_si64.html)
-   [`core::arch::x86::_mm_loadu_si16`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_loadu_si16.html)
-   [`core::arch::x86::_mm_loadu_si32`](https://doc.rust-lang.org/stable/core/arch/x86/fn.\_mm_loadu_si32.html)
-   [`core::arch::wasm32::u8x16_relaxed_swizzle`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u8x16\_relaxed_swizzle.html)
-   [`core::arch::wasm32::i8x16_relaxed_swizzle`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i8x16\_relaxed_swizzle.html)
-   [`core::arch::wasm32::i32x4_relaxed_trunc_f32x4`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i32x4\_relaxed_trunc_f32x4.html)
-   [`core::arch::wasm32::u32x4_relaxed_trunc_f32x4`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u32x4\_relaxed_trunc_f32x4.html)
-   [`core::arch::wasm32::i32x4_relaxed_trunc_f64x2_zero`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i32x4\_relaxed_trunc_f64x2\_zero.html)
-   [`core::arch::wasm32::u32x4_relaxed_trunc_f64x2_zero`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u32x4\_relaxed_trunc_f64x2\_zero.html)
-   [`core::arch::wasm32::f32x4_relaxed_madd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f32x4\_relaxed_madd.html)
-   [`core::arch::wasm32::f32x4_relaxed_nmadd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f32x4\_relaxed_nmadd.html)
-   [`core::arch::wasm32::f64x2_relaxed_madd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f64x2\_relaxed_madd.html)
-   [`core::arch::wasm32::f64x2_relaxed_nmadd`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f64x2\_relaxed_nmadd.html)
-   [`core::arch::wasm32::i8x16_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i8x16\_relaxed_laneselect.html)
-   [`core::arch::wasm32::u8x16_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u8x16\_relaxed_laneselect.html)
-   [`core::arch::wasm32::i16x8_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i16x8\_relaxed_laneselect.html)
-   [`core::arch::wasm32::u16x8_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u16x8\_relaxed_laneselect.html)
-   [`core::arch::wasm32::i32x4_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i32x4\_relaxed_laneselect.html)
-   [`core::arch::wasm32::u32x4_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u32x4\_relaxed_laneselect.html)
-   [`core::arch::wasm32::i64x2_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i64x2\_relaxed_laneselect.html)
-   [`core::arch::wasm32::u64x2_relaxed_laneselect`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u64x2\_relaxed_laneselect.html)
-   [`core::arch::wasm32::f32x4_relaxed_min`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f32x4\_relaxed_min.html)
-   [`core::arch::wasm32::f32x4_relaxed_max`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f32x4\_relaxed_max.html)
-   [`core::arch::wasm32::f64x2_relaxed_min`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f64x2\_relaxed_min.html)
-   [`core::arch::wasm32::f64x2_relaxed_max`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.f64x2\_relaxed_max.html)
-   [`core::arch::wasm32::i16x8_relaxed_q15mulr`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i16x8\_relaxed_q15mulr.html)
-   [`core::arch::wasm32::u16x8_relaxed_q15mulr`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u16x8\_relaxed_q15mulr.html)
-   [`core::arch::wasm32::i16x8_relaxed_dot_i8x16_i7x16`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i16x8\_relaxed_dot_i8x16\_i7x16.html)
-   [`core::arch::wasm32::u16x8_relaxed_dot_i8x16_i7x16`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u16x8\_relaxed_dot_i8x16\_i7x16.html)
-   [`core::arch::wasm32::i32x4_relaxed_dot_i8x16_i7x16_add`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.i32x4\_relaxed_dot_i8x16\_i7x16\_add.html)
-   [`core::arch::wasm32::u32x4_relaxed_dot_i8x16_i7x16_add`](https://doc.rust-lang.org/nightly/core/arch/wasm32/fn.u32x4\_relaxed_dot_i8x16\_i7x16\_add.html)

These APIs are now stable in const contexts:

-   [`std::task::Waker::from_raw`](https://doc.rust-lang.org/nightly/std/task/struct.Waker.html#method.from_raw)
-   [`std::task::Context::from_waker`](https://doc.rust-lang.org/nightly/std/task/struct.Context.html#method.from_waker)
-   [`std::task::Context::waker`](https://doc.rust-lang.org/nightly/std/task/struct.Context.html#method.waker)
-   [`$integer::from_str_radix`](https://doc.rust-lang.org/nightly/std/primitive.u32.html#method.from_str_radix)
-   [`std::num::ParseIntError::kind`](https://doc.rust-lang.org/nightly/std/num/struct.ParseIntError.html#method.kind)

<a id="1.82.0-Cargo"></a>

## Cargo

-   [feat: Add `info` cargo subcommand](https://redirect.github.com/rust-lang/cargo/pull/14141/)

<a id="1.82.0-Compatibility-Notes"></a>

## Compatibility Notes

-   We now [disallow setting some built-in cfgs via the command-line](https://redirect.github.com/rust-lang/rust/pull/126158) with the newly added [`explicit_builtin_cfgs_in_flags`](https://doc.rust-lang.org/rustc/lints/listing/deny-by-default.html#explicit-builtin-cfgs-in-flags) lint in order to prevent incoherent state, eg. `windows` cfg active but target is Linux based. The appropriate [`rustc` flag](https://doc.rust-lang.org/rustc/command-line-arguments.html) should be used instead.
-   The standard library has a new implementation of `binary_search` which is significantly improves performance ([#&oxc-project#8203;128254](https://redirect.github.com/rust-lang/rust/pull/128254)). However when a sorted slice has multiple values which compare equal, the new implementation may select a different value among the equal ones than the old implementation.
-   [illumos/Solaris now sets `MSG_NOSIGNAL` when writing to sockets](https://redirect.github.com/rust-lang/rust/pull/128259). This avoids killing the process with SIGPIPE when writing to a closed socket, which matches the existing behavior on other UNIX targets.
-   [Removes a problematic hack that always passed the --whole-archive linker flag for tests, which may cause linker errors for code accidentally relying on it.](https://redirect.github.com/rust-lang/rust/pull/128400)
-   The WebAssembly target features `multivalue` and `reference-types` are now
    both enabled by default. These two features both have subtle changes implied
    for generated WebAssembly binaries. For the `multivalue` feature, WebAssembly
    target support has changed when upgrading to LLVM 19. Support for generating
    functions with multiple returns no longer works and
    `-Ctarget-feature=+multivalue` has a different meaning than it did in LLVM 18
    and prior. There is no longer any supported means to generate a module that has
    a function with multiple returns in WebAssembly from Rust source code. For the
    `reference-types` feature the encoding of immediates in the `call_indirect`, a
    commonly used instruction by the WebAssembly backend, has changed. Validators
    and parsers which don't understand the `reference-types` proposal will no
    longer accept modules produced by LLVM due to this change in encoding of
    immediates. Additionally these features being enabled are encoded in the
    `target_features` custom section and may affect downstream tooling such as
    `wasm-opt` consuming the module. Generating a WebAssembly module that disables
    default features requires `-Zbuild-std` support from Cargo and more information
    can be found at
    [rust-lang/rust#128511](https://redirect.github.com/rust-lang/rust/pull/128511).
-   [Rust now raises unsafety errors for union patterns in parameter-position](https://redirect.github.com/rust-lang/rust/pull/130531)

<a id="1.82.0-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

-   [Update to LLVM 19](https://redirect.github.com/rust-lang/rust/pull/127513)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
passariello pushed a commit to passariello/oxc that referenced this pull request Jan 3, 2025
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rust](https://redirect.github.com/rust-lang/rust) | minor | `1.82.0` -> `1.83.0` |

---

### Release Notes

<details>
<summary>rust-lang/rust (rust)</summary>

### [`v1.83.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1830-2024-11-28)

[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.82.0...1.83.0)

\==========================

<a id="1.83.0-Language"></a>

## Language

-   [Stabilize `&mut`, `*mut`, `&Cell`, and `*const Cell` in const.](https://redirect.github.com/rust-lang/rust/pull/129195)
-   [Allow creating references to statics in `const` initializers.](https://redirect.github.com/rust-lang/rust/pull/129759)
-   [Implement raw lifetimes and labels (`'r#ident`).](https://redirect.github.com/rust-lang/rust/pull/126452)
-   [Define behavior when atomic and non-atomic reads race.](https://redirect.github.com/rust-lang/rust/pull/128778)
-   [Non-exhaustive structs may now be empty.](https://redirect.github.com/rust-lang/rust/pull/128934)
-   [Disallow implicit coercions from places of type `!`](https://redirect.github.com/rust-lang/rust/pull/129392)
-   [`const extern` functions can now be defined for other calling conventions.](https://redirect.github.com/rust-lang/rust/pull/129753)
-   [Stabilize `expr_2021` macro fragment specifier in all editions.](https://redirect.github.com/rust-lang/rust/pull/129972)
-   [The `non_local_definitions` lint now fires on less code and warns by default.](https://redirect.github.com/rust-lang/rust/pull/127117)

<a id="1.83.0-Compiler"></a>

## Compiler

-   [Deprecate unsound `-Csoft-float` flag.](https://redirect.github.com/rust-lang/rust/pull/129897)
-   Add many new tier 3 targets:
    -   [`aarch64_unknown_nto_qnx700`](https://redirect.github.com/rust-lang/rust/pull/127897)
    -   [`arm64e-apple-tvos`](https://redirect.github.com/rust-lang/rust/pull/130614)
    -   [`armv7-rtems-eabihf`](https://redirect.github.com/rust-lang/rust/pull/127021)
    -   [`loongarch64-unknown-linux-ohos`](https://redirect.github.com/rust-lang/rust/pull/130750)
    -   [`riscv32-wrs-vxworks` and `riscv64-wrs-vxworks`](https://redirect.github.com/rust-lang/rust/pull/130549)
    -   [`riscv32{e|em|emc}-unknown-none-elf`](https://redirect.github.com/rust-lang/rust/pull/130555)
    -   [`x86_64-unknown-hurd-gnu`](https://redirect.github.com/rust-lang/rust/pull/128345)
    -   [`x86_64-unknown-trusty`](https://redirect.github.com/rust-lang/rust/pull/130453)

Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.

<a id="1.83.0-Libraries"></a>

## Libraries

-   [Implement `PartialEq` for `ExitCode`.](https://redirect.github.com/rust-lang/rust/pull/127633)
-   [Document that `catch_unwind` can deal with foreign exceptions without UB, although the exact behavior is unspecified.](https://redirect.github.com/rust-lang/rust/pull/128321)
-   [Implement `Default` for `HashMap`/`HashSet` iterators that don't already have it.](https://redirect.github.com/rust-lang/rust/pull/128711)
-   [Bump Unicode to version 16.0.0.](https://redirect.github.com/rust-lang/rust/pull/130183)
-   [Change documentation of `ptr::add`/`sub` to not claim equivalence with `offset`.](https://redirect.github.com/rust-lang/rust/pull/130229).

<a id="1.83.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`BufRead::skip_until`](https://doc.rust-lang.org/stable/std/io/trait.BufRead.html#method.skip_until)
-   [`ControlFlow::break_value`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.break_value)
-   [`ControlFlow::continue_value`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.continue_value)
-   [`ControlFlow::map_break`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.map_break)
-   [`ControlFlow::map_continue`](https://doc.rust-lang.org/stable/core/ops/enum.ControlFlow.html#method.map_continue)
-   [`DebugList::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugList.html#method.finish_non_exhaustive)
-   [`DebugMap::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugMap.html#method.finish_non_exhaustive)
-   [`DebugSet::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugSet.html#method.finish_non_exhaustive)
-   [`DebugTuple::finish_non_exhaustive`](https://doc.rust-lang.org/stable/core/fmt/struct.DebugTuple.html#method.finish_non_exhaustive)
-   [`ErrorKind::ArgumentListTooLong`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ArgumentListTooLong)
-   [`ErrorKind::Deadlock`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.Deadlock)
-   [`ErrorKind::DirectoryNotEmpty`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.DirectoryNotEmpty)
-   [`ErrorKind::ExecutableFileBusy`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ExecutableFileBusy)
-   [`ErrorKind::FileTooLarge`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.FileTooLarge)
-   [`ErrorKind::HostUnreachable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.HostUnreachable)
-   [`ErrorKind::IsADirectory`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.IsADirectory)
-   [`ErrorKind::NetworkDown`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NetworkDown)
-   [`ErrorKind::NetworkUnreachable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NetworkUnreachable)
-   [`ErrorKind::NotADirectory`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NotADirectory)
-   [`ErrorKind::NotSeekable`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.NotSeekable)
-   [`ErrorKind::ReadOnlyFilesystem`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ReadOnlyFilesystem)
-   [`ErrorKind::ResourceBusy`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.ResourceBusy)
-   [`ErrorKind::StaleNetworkFileHandle`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.StaleNetworkFileHandle)
-   [`ErrorKind::StorageFull`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.StorageFull)
-   [`ErrorKind::TooManyLinks`](https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#variant.TooManyLinks)
-   [`Option::get_or_insert_default`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.get_or_insert_default)
-   [`Waker::data`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.data)
-   [`Waker::new`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.new)
-   [`Waker::vtable`](https://doc.rust-lang.org/stable/core/task/struct.Waker.html#method.vtable)
-   [`char::MIN`](https://doc.rust-lang.org/stable/core/primitive.char.html#associatedconstant.MIN)
-   [`hash_map::Entry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/hash_map/enum.Entry.html#method.insert_entry)
-   [`hash_map::VacantEntry::insert_entry`](https://doc.rust-lang.org/stable/std/collections/hash_map/struct.VacantEntry.html#method.insert_entry)

These APIs are now stable in const contexts:

-   [`Cell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.Cell.html#method.into_inner)
-   [`Duration::as_secs_f32`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.as_secs_f32)
-   [`Duration::as_secs_f64`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.as_secs_f64)
-   [`Duration::div_duration_f32`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.div_duration_f32)
-   [`Duration::div_duration_f64`](https://doc.rust-lang.org/stable/core/time/struct.Duration.html#method.div_duration_f64)
-   [`MaybeUninit::as_mut_ptr`](https://doc.rust-lang.org/stable/core/mem/union.MaybeUninit.html#method.as_mut_ptr)
-   [`NonNull::as_mut`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.as_mut)
-   [`NonNull::copy_from`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_from)
-   [`NonNull::copy_from_nonoverlapping`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_from_nonoverlapping)
-   [`NonNull::copy_to`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_to)
-   [`NonNull::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.copy_to_nonoverlapping)
-   [`NonNull::slice_from_raw_parts`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.slice_from_raw_parts)
-   [`NonNull::write`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write)
-   [`NonNull::write_bytes`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write_bytes)
-   [`NonNull::write_unaligned`](https://doc.rust-lang.org/stable/core/ptr/struct.NonNull.html#method.write_unaligned)
-   [`OnceCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.OnceCell.html#method.into_inner)
-   [`Option::as_mut`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.as_mut)
-   [`Option::expect`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.expect)
-   [`Option::replace`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.replace)
-   [`Option::take`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.take)
-   [`Option::unwrap`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.unwrap)
-   [`Option::unwrap_unchecked`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.unwrap_unchecked)
-   [`Option::<&_>::copied`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.copied)
-   [`Option::<&mut _>::copied`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.copied-1)
-   [`Option::<Option<_>>::flatten`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.flatten)
-   [`Option::<Result<_, _>>::transpose`](https://doc.rust-lang.org/stable/core/option/enum.Option.html#method.transpose)
-   [`RefCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.RefCell.html#method.into_inner)
-   [`Result::as_mut`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.as_mut)
-   [`Result::<&_, _>::copied`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.copied)
-   [`Result::<&mut _, _>::copied`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.copied-1)
-   [`Result::<Option<_>, _>::transpose`](https://doc.rust-lang.org/stable/core/result/enum.Result.html#method.transpose)
-   [`UnsafeCell::get_mut`](https://doc.rust-lang.org/stable/core/cell/struct.UnsafeCell.html#method.get_mut)
-   [`UnsafeCell::into_inner`](https://doc.rust-lang.org/stable/core/cell/struct.UnsafeCell.html#method.into_inner)
-   [`array::from_mut`](https://doc.rust-lang.org/stable/core/array/fn.from_mut.html)
-   [`char::encode_utf8`](https://doc.rust-lang.org/stable/core/primitive.char.html#method.encode_utf8)
-   [`{float}::classify`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.classify)
-   [`{float}::is_finite`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_finite)
-   [`{float}::is_infinite`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_infinite)
-   [`{float}::is_nan`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_nan)
-   [`{float}::is_normal`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_normal)
-   [`{float}::is_sign_negative`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_sign_negative)
-   [`{float}::is_sign_positive`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_sign_positive)
-   [`{float}::is_subnormal`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.is_subnormal)
-   [`{float}::from_bits`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_bits)
-   [`{float}::from_be_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_be_bytes)
-   [`{float}::from_le_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_le_bytes)
-   [`{float}::from_ne_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.from_ne_bytes)
-   [`{float}::to_bits`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_bits)
-   [`{float}::to_be_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_be_bytes)
-   [`{float}::to_le_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_le_bytes)
-   [`{float}::to_ne_bytes`](https://doc.rust-lang.org/stable/core/primitive.f64.html#method.to_ne_bytes)
-   [`mem::replace`](https://doc.rust-lang.org/stable/core/mem/fn.replace.html)
-   [`ptr::replace`](https://doc.rust-lang.org/stable/core/ptr/fn.replace.html)
-   [`ptr::slice_from_raw_parts_mut`](https://doc.rust-lang.org/stable/core/ptr/fn.slice_from_raw_parts_mut.html)
-   [`ptr::write`](https://doc.rust-lang.org/stable/core/ptr/fn.write.html)
-   [`ptr::write_unaligned`](https://doc.rust-lang.org/stable/core/ptr/fn.write_unaligned.html)
-   [`<*const _>::copy_to`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to)
-   [`<*const _>::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to_nonoverlapping)
-   [`<*mut _>::copy_from`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_from)
-   [`<*mut _>::copy_from_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_from_nonoverlapping)
-   [`<*mut _>::copy_to`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to-1)
-   [`<*mut _>::copy_to_nonoverlapping`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.copy_to_nonoverlapping-1)
-   [`<*mut _>::write`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write)
-   [`<*mut _>::write_bytes`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write_bytes)
-   [`<*mut _>::write_unaligned`](https://doc.rust-lang.org/stable/core/primitive.pointer.html#method.write_unaligned)
-   [`slice::from_mut`](https://doc.rust-lang.org/stable/core/slice/fn.from_mut.html)
-   [`slice::from_raw_parts_mut`](https://doc.rust-lang.org/stable/core/slice/fn.from_raw_parts_mut.html)
-   [`<[_]>::first_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.first_mut)
-   [`<[_]>::last_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.last_mut)
-   [`<[_]>::first_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.first_chunk_mut)
-   [`<[_]>::last_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.last_chunk_mut)
-   [`<[_]>::split_at_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut)
-   [`<[_]>::split_at_mut_checked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_checked)
-   [`<[_]>::split_at_mut_unchecked`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_at_mut_unchecked)
-   [`<[_]>::split_first_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_first_mut)
-   [`<[_]>::split_last_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_last_mut)
-   [`<[_]>::split_first_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_first_chunk_mut)
-   [`<[_]>::split_last_chunk_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.split_last_chunk_mut)
-   [`str::as_bytes_mut`](https://doc.rust-lang.org/stable/core/primitive.str.html#method.as_bytes_mut)
-   [`str::as_mut_ptr`](https://doc.rust-lang.org/stable/core/primitive.str.html#method.as_mut_ptr)
-   [`str::from_utf8_unchecked_mut`](https://doc.rust-lang.org/stable/core/str/fn.from_utf8\_unchecked_mut.html)

<a id="1.83.0-Cargo"></a>

## Cargo

-   [Introduced a new `CARGO_MANIFEST_PATH` environment variable, similar to `CARGO_MANIFEST_DIR` but pointing directly to the manifest file.](https://redirect.github.com/rust-lang/cargo/pull/14404/)
-   [Added `package.autolib` to the manifest, allowing `[lib]` auto-discovery to be disabled.](https://redirect.github.com/rust-lang/cargo/pull/14591/)
-   [Declare support level for each crate in Cargo's Charter / crate docs.](https://redirect.github.com/rust-lang/cargo/pull/14600/)
-   [Declare new Intentional Artifacts as 'small' changes.](https://redirect.github.com/rust-lang/cargo/pull/14599/)

<a id="1.83-Rustdoc"></a>

## Rustdoc

-   [The sidebar / hamburger menu table of contents now includes the `# headers` from the main item's doc comment](https://redirect.github.com/rust-lang/rust/pull/120736). This is similar to a third-party feature provided by the rustdoc-search-enhancements browser extension.

<a id="1.83.0-Compatibility-Notes"></a>

## Compatibility Notes

-   [Warn against function pointers using unsupported ABI strings.](https://redirect.github.com/rust-lang/rust/pull/128784)
-   [Check well-formedness of the source type's signature in fn pointer casts.](https://redirect.github.com/rust-lang/rust/pull/129021) This partly closes a soundness hole that comes when casting a function item to function pointer
-   [Use equality instead of subtyping when resolving type dependent paths.](https://redirect.github.com/rust-lang/rust/pull/129073)
-   Linking on macOS now correctly includes Rust's default deployment target. Due to a linker bug, you might have to pass `MACOSX_DEPLOYMENT_TARGET` or fix your `#[link]` attributes to point to the correct frameworks. See [#&oxc-project#8203;129369](https://redirect.github.com/rust-lang/rust/pull/129369).
-   [Rust will now correctly raise an error for `repr(Rust)` written on non-`struct`/`enum`/`union` items, since it previous did not have any effect.](https://redirect.github.com/rust-lang/rust/pull/129422)
-   The future incompatibility lint `deprecated_cfg_attr_crate_type_name` [has been made into a hard error](https://redirect.github.com/rust-lang/rust/pull/129670). It was used to deny usage of `#![crate_type]` and `#![crate_name]` attributes in `#![cfg_attr]`, which required a hack in the compiler to be able to change the used crate type and crate name after cfg expansion.
    Users can use `--crate-type` instead of `#![cfg_attr(..., crate_type = "...")]` and `--crate-name` instead of `#![cfg_attr(..., crate_name = "...")]` when running `rustc`/`cargo rustc` on the command line.
    Use of those two attributes outside of `#![cfg_attr]` continue to be fully supported.
-   Until now, paths into the sysroot were always prefixed with `/rustc/$hash` in diagnostics, codegen, backtrace, e.g.

        thread 'main' panicked at 'hello world', map-panic.rs:2:50
        stack backtrace:
           0: std::panicking::begin_panic
                     at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:616:12
           1: map_panic::main::{{closure}}
                     at ./map-panic.rs:2:50
           2: core::option::Option<T>::map
                     at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/option.rs:929:29
           3: map_panic::main
                     at ./map-panic.rs:2:30
           4: core::ops::function::FnOnce::call_once
                     at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/ops/function.rs:248:5
        note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

    [RFC 3127 said](https://rust-lang.github.io/rfcs/3127-trim-paths.html#changing-handling-of-sysroot-path-in-rustc)

    > We want to change this behaviour such that, when `rust-src` source files can be discovered, the virtual path is discarded and therefore the local path will be embedded, unless there is a `--remap-path-prefix` that causes this local path to be remapped in the usual way.

    [#&oxc-project#8203;129687](https://redirect.github.com/rust-lang/rust/pull/129687) implements this behaviour, when `rust-src` is present at compile time, `rustc` replaces `/rustc/$hash` with a real path into the local `rust-src` component with best effort.
    To sanitize this, users must explicitly supply `--remap-path-prefix=<path to rust-src>=foo` or not have the `rust-src` component installed.
-   The allow-by-default `missing_docs` lint used to disable itself when invoked through `rustc --test`/`cargo test`, resulting in `#[expect(missing_docs)]` emitting false positives due to the expectation being wrongly unfulfilled. This behavior [has now been removed](https://redirect.github.com/rust-lang/rust/pull/130025), which allows `#[expect(missing_docs)]` to be fulfilled in all scenarios, but will also report new `missing_docs` diagnostics for publicly reachable `#[cfg(test)]` items, [integration test](https://doc.rust-lang.org/cargo/reference/cargo-targets.html#integration-tests) crate-level documentation, and publicly reachable items in integration tests.
-   [The `armv8r-none-eabihf` target now uses the Armv8-R required set of floating-point features.](https://redirect.github.com/rust-lang/rust/pull/130295)
-   [Fix a soundness bug where rustc wouldn't detect unconstrained higher-ranked lifetimes in a `dyn Trait`'s associated types that occur due to supertraits.](https://redirect.github.com/rust-lang/rust/pull/130367)
-   [Update the minimum external LLVM version to 18.](https://redirect.github.com/rust-lang/rust/pull/130487)
-   [Remove `aarch64-fuchsia` and `x86_64-fuchsia` target aliases in favor of `aarch64-unknown-fuchsia` and `x86_64-unknown-fuchsia` respectively.](https://redirect.github.com/rust-lang/rust/pull/130657)
-   [The ABI-level exception class of a Rust panic is now encoded with native-endian bytes, so it is legible in hex dumps.](https://redirect.github.com/rust-lang/rust/pull/130897)
-   [Visual Studio 2013 is no longer supported for MSVC targets.](https://redirect.github.com/rust-lang/rust/pull/131070)
-   [The sysroot no longer contains the `std` dynamic library in its top-level `lib/` dir.](https://redirect.github.com/rust-lang/rust/pull/131188)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Boshen pushed a commit that referenced this pull request Jan 6, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [compact_str](https://redirect.github.com/ParkMyCar/compact_str) | workspace.dependencies | patch | `0.8.0` -> `0.8.1` |
| [handlebars](https://redirect.github.com/sunng87/handlebars-rust) | workspace.dependencies | minor | `6.2.0` -> `6.3.0` |
| [insta](https://insta.rs/) ([source](https://redirect.github.com/mitsuhiko/insta)) | workspace.dependencies | minor | `1.41.1` -> `1.42.0` |
| [itertools](https://redirect.github.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.13.0` -> `0.14.0` |
| [petgraph](https://redirect.github.com/petgraph/petgraph) | workspace.dependencies | minor | `0.6.5` -> `0.7.0` |
| [prettyplease](https://redirect.github.com/dtolnay/prettyplease) | workspace.dependencies | patch | `0.2.25` -> `0.2.27` |
| [syn](https://redirect.github.com/dtolnay/syn) | workspace.dependencies | patch | `2.0.93` -> `2.0.95` |
| [tempfile](https://stebalien.com/projects/tempfile-rs/) ([source](https://redirect.github.com/Stebalien/tempfile)) | workspace.dependencies | minor | `3.14.0` -> `3.15.0` |

---

### Release Notes

<details>
<summary>ParkMyCar/compact_str (compact_str)</summary>

### [`v0.8.1`](https://redirect.github.com/ParkMyCar/compact_str/compare/v0.8.0...v0.8.1)

[Compare Source](https://redirect.github.com/ParkMyCar/compact_str/compare/v0.8.0...v0.8.1)

</details>

<details>
<summary>sunng87/handlebars-rust (handlebars)</summary>

### [`v6.3.0`](https://redirect.github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#630---2025-01-05)

[Compare Source](https://redirect.github.com/sunng87/handlebars-rust/compare/v6.2.0...v6.3.0)

-   \[Added] Builders for some non-exhaustive structs \[[#&#8203;688](https://redirect.github.com/sunng87/handlebars-rust/issues/688)]
-   \[Changed] `and` and `or` helper now accepts multiple parameters \[[#&#8203;687](https://redirect.github.com/sunng87/handlebars-rust/issues/687)]
-   \[Changed] MSRV is now 1.73

</details>

<details>
<summary>mitsuhiko/insta (insta)</summary>

### [`v1.42.0`](https://redirect.github.com/mitsuhiko/insta/blob/HEAD/CHANGELOG.md#1420)

[Compare Source](https://redirect.github.com/mitsuhiko/insta/compare/1.41.1...1.42.0)

-   Text snapshots no longer contain `snapshot_type: text` in their metadata.  For
    context, we originally added this in the prior release (1.41.0) to support
    binary snapshots, but some folks disliked the diff noise on any snapshot
    changes, and the maintainers' weighted votes favored reverting.  I apologize
    that this will cause some additional churn for those who used `cargo test --force-update-snapshots` to update their snapshots to the 1.41 format;
    running this again with 1.42 will remove those metadata entries.  To confirm:
    this doesn't affect whether snapshot tests pass or fail — the worst impact is
    some additional diffs in metadata.  [#&#8203;690](https://redirect.github.com/mitsuhiko/insta/issues/690)
-   Pending snapshots are no longer removed throughout the workspace by
    `cargo-insta` before running tests.  Instead, running a test will overwrite or
    remove its own pending snapshot.  To remove all pending snapshots, use `cargo
    insta reject` or run tests with `--unreferenced=delete`.  [#&#8203;651](https://redirect.github.com/mitsuhiko/insta/issues/651)
-   `insta::internals::SettingsBindDropGuard` (returned from
    `Settings::bind_to_scope`) no longer implements `Send`. This was incorrect and
    any tests relying on this behavior where not working properly. Fixes [#&#8203;694](https://redirect.github.com/mitsuhiko/insta/issues/694) in
    [#&#8203;695](https://redirect.github.com/mitsuhiko/insta/issues/695) by [@&#8203;jalil-salame](https://redirect.github.com/jalil-salame)

</details>

<details>
<summary>rust-itertools/itertools (itertools)</summary>

### [`v0.14.0`](https://redirect.github.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0140)

[Compare Source](https://redirect.github.com/rust-itertools/itertools/compare/v0.13.0...v0.14.0)

##### Breaking

-   Increased MSRV to 1.63.0 ([#&#8203;960](https://redirect.github.com/rust-itertools/itertools/issues/960))
-   Removed generic parameter from `cons_tuples` ([#&#8203;988](https://redirect.github.com/rust-itertools/itertools/issues/988))

##### Added

-   Added `array_combinations` ([#&#8203;991](https://redirect.github.com/rust-itertools/itertools/issues/991))
-   Added `k_smallest_relaxed` and variants ([#&#8203;925](https://redirect.github.com/rust-itertools/itertools/issues/925))
-   Added `next_array` and `collect_array` ([#&#8203;560](https://redirect.github.com/rust-itertools/itertools/issues/560))
-   Implemented `DoubleEndedIterator` for `FilterOk` ([#&#8203;948](https://redirect.github.com/rust-itertools/itertools/issues/948))
-   Implemented `DoubleEndedIterator` for `FilterMapOk` ([#&#8203;950](https://redirect.github.com/rust-itertools/itertools/issues/950))

##### Changed

-   Allow `Q: ?Sized` in `Itertools::contains` ([#&#8203;971](https://redirect.github.com/rust-itertools/itertools/issues/971))
-   Improved hygiene of `chain!` ([#&#8203;943](https://redirect.github.com/rust-itertools/itertools/issues/943))
-   Improved `into_group_map_by` documentation ([#&#8203;1000](https://redirect.github.com/rust-itertools/itertools/issues/1000))
-   Improved `tree_reduce` documentation ([#&#8203;955](https://redirect.github.com/rust-itertools/itertools/issues/955))
-   Improved discoverability of `merge_join_by` ([#&#8203;966](https://redirect.github.com/rust-itertools/itertools/issues/966))
-   Improved discoverability of `take_while_inclusive` ([#&#8203;972](https://redirect.github.com/rust-itertools/itertools/issues/972))
-   Improved documentation of `find_or_last` and `find_or_first` ([#&#8203;984](https://redirect.github.com/rust-itertools/itertools/issues/984))
-   Prevented exponentially large type sizes in `tuple_combinations` ([#&#8203;945](https://redirect.github.com/rust-itertools/itertools/issues/945))
-   Added `track_caller` attr for `asser_equal` ([#&#8203;976](https://redirect.github.com/rust-itertools/itertools/issues/976))

##### Notable Internal Changes

-   Fixed clippy lints ([#&#8203;956](https://redirect.github.com/rust-itertools/itertools/issues/956), [#&#8203;987](https://redirect.github.com/rust-itertools/itertools/issues/987), [#&#8203;1008](https://redirect.github.com/rust-itertools/itertools/issues/1008))
-   Addressed warnings within doctests ([#&#8203;964](https://redirect.github.com/rust-itertools/itertools/issues/964))
-   CI: Run most tests with miri ([#&#8203;961](https://redirect.github.com/rust-itertools/itertools/issues/961))
-   CI: Speed up "cargo-semver-checks" action ([#&#8203;938](https://redirect.github.com/rust-itertools/itertools/issues/938))
-   Changed an instance of `default_features` in `Cargo.toml` to `default-features` ([#&#8203;985](https://redirect.github.com/rust-itertools/itertools/issues/985))

</details>

<details>
<summary>petgraph/petgraph (petgraph)</summary>

### [`v0.7.0`](https://redirect.github.com/petgraph/petgraph/blob/HEAD/RELEASES.rst#Version-070-2024-12-31)

[Compare Source](https://redirect.github.com/petgraph/petgraph/compare/[email protected]@v0.7.0)

\==========================

-   Re-released version 0.6.6 with the correct version number, as it included a major update to an exposed crate (`#664`\_).

### [`v0.6.6`](https://redirect.github.com/petgraph/petgraph/blob/HEAD/RELEASES.rst#Version-066-2024-12-31---yanked)

[Compare Source](https://redirect.github.com/petgraph/petgraph/compare/[email protected]@v0.6.6)

\===================================

-   Add graph6 format encoder and decoder (`#658`\_)
-   Dynamic Topological Sort algorithm support (`#675`\_)
-   Add `UndirectedAdaptor` (`#695`\_)
-   Add `LowerHex` and `UpperHex` implementations for `Dot` (`#687`\_)
-   Make `serde` support more complete (`#550`\_)
-   Process multiple edges in the Floyd-Warshall implementation (`#685`\_)
-   Update `fixedbitset` to 0.5.7 (`#664`\_)
-   Fix `immediately_dominated_by` function called on root of graph returns root itself (`#670`\_)
-   Fix adjacency matrix for `Csr` and `List` (`#648`\_)
-   Fix clippy warnings (`#701`\_)
-   Add performance note to the `all_simple_paths` function documentation (`#693`\_)

.. \_`#658`: [https://github.com/petgraph/petgraph/pull/658](https://redirect.github.com/petgraph/petgraph/pull/658)
.. \_`#675`: [https://github.com/petgraph/petgraph/pull/675](https://redirect.github.com/petgraph/petgraph/pull/675)
.. \_`#695`: [https://github.com/petgraph/petgraph/pull/695](https://redirect.github.com/petgraph/petgraph/pull/695)
.. \_`#687`: [https://github.com/petgraph/petgraph/pull/687](https://redirect.github.com/petgraph/petgraph/pull/687)
.. \_`#550`: [https://github.com/petgraph/petgraph/pull/550](https://redirect.github.com/petgraph/petgraph/pull/550)
.. \_`#685`: [https://github.com/petgraph/petgraph/pull/685](https://redirect.github.com/petgraph/petgraph/pull/685)
.. \_`#664`: [https://github.com/petgraph/petgraph/pull/664](https://redirect.github.com/petgraph/petgraph/pull/664)
.. \_`#670`: [https://github.com/petgraph/petgraph/pull/670](https://redirect.github.com/petgraph/petgraph/pull/670)
.. \_`#648`: [https://github.com/petgraph/petgraph/pull/648](https://redirect.github.com/petgraph/petgraph/pull/648)
.. \_`#701`: [https://github.com/petgraph/petgraph/pull/701](https://redirect.github.com/petgraph/petgraph/pull/701)
.. \_`#693`: [https://github.com/petgraph/petgraph/pull/693](https://redirect.github.com/petgraph/petgraph/pull/693)

</details>

<details>
<summary>dtolnay/prettyplease (prettyplease)</summary>

### [`v0.2.27`](https://redirect.github.com/dtolnay/prettyplease/releases/tag/0.2.27)

[Compare Source](https://redirect.github.com/dtolnay/prettyplease/compare/0.2.26...0.2.27)

-   Avoid trailing '.' on non-macro float literals ([#&#8203;89](https://redirect.github.com/dtolnay/prettyplease/issues/89))

### [`v0.2.26`](https://redirect.github.com/dtolnay/prettyplease/releases/tag/0.2.26)

[Compare Source](https://redirect.github.com/dtolnay/prettyplease/compare/0.2.25...0.2.26)

-   Synthesize parentheses for precedence ([#&#8203;88](https://redirect.github.com/dtolnay/prettyplease/issues/88))

</details>

<details>
<summary>dtolnay/syn (syn)</summary>

### [`v2.0.95`](https://redirect.github.com/dtolnay/syn/releases/tag/2.0.95)

[Compare Source](https://redirect.github.com/dtolnay/syn/compare/2.0.94...2.0.95)

-   Fix parenthesization of struct literals in let-chains ([#&#8203;1832](https://redirect.github.com/dtolnay/syn/issues/1832))

### [`v2.0.94`](https://redirect.github.com/dtolnay/syn/releases/tag/2.0.94)

[Compare Source](https://redirect.github.com/dtolnay/syn/compare/2.0.93...2.0.94)

-   Expression precedence fixes ([#&#8203;1811](https://redirect.github.com/dtolnay/syn/issues/1811), [#&#8203;1812](https://redirect.github.com/dtolnay/syn/issues/1812), [#&#8203;1813](https://redirect.github.com/dtolnay/syn/issues/1813), [#&#8203;1814](https://redirect.github.com/dtolnay/syn/issues/1814), [#&#8203;1815](https://redirect.github.com/dtolnay/syn/issues/1815), [#&#8203;1816](https://redirect.github.com/dtolnay/syn/issues/1816), [#&#8203;1818](https://redirect.github.com/dtolnay/syn/issues/1818), [#&#8203;1819](https://redirect.github.com/dtolnay/syn/issues/1819), [#&#8203;1820](https://redirect.github.com/dtolnay/syn/issues/1820), [#&#8203;1825](https://redirect.github.com/dtolnay/syn/issues/1825), [#&#8203;1826](https://redirect.github.com/dtolnay/syn/issues/1826), [#&#8203;1827](https://redirect.github.com/dtolnay/syn/issues/1827), [#&#8203;1828](https://redirect.github.com/dtolnay/syn/issues/1828), [#&#8203;1829](https://redirect.github.com/dtolnay/syn/issues/1829), [#&#8203;1830](https://redirect.github.com/dtolnay/syn/issues/1830))

</details>

<details>
<summary>Stebalien/tempfile (tempfile)</summary>

### [`v3.15.0`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3150)

[Compare Source](https://redirect.github.com/Stebalien/tempfile/compare/v3.14.0...v3.15.0)

Re-seed the per-thread RNG from system randomness when we repeatedly fail to create temporary files ([#&#8203;314](https://redirect.github.com/Stebalien/tempfile/issues/314)). This resolves a potential DoS vector ([#&#8203;178](https://redirect.github.com/Stebalien/tempfile/issues/178)) while avoiding `getrandom` in the common case where it's necessary. The feature is optional but enabled by default via the `getrandom` feature.

For libc-free builds, you'll either need to disable this feature or opt-in to a different [`getrandom` backend](https://redirect.github.com/rust-random/getrandom?tab=readme-ov-file#opt-in-backends).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 11am on monday" in timezone Asia/Shanghai, Automerge - "before 11am on monday" in timezone Asia/Shanghai.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44NS4wIiwidXBkYXRlZEluVmVyIjoiMzkuODUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Boshen added a commit that referenced this pull request Jan 11, 2025
## [0.45.0] - 2025-01-11

- 7f69561 ast: [**BREAKING**] `oxc_ast` do not export `BigUint` (#8428)
(overlookmotel)

- d8b27af ast: [**BREAKING**] No unneccesary trailing underscores on
`AstBuilder` method names (#8283) (overlookmotel)

- 5106088 ast: [**BREAKING**] Remove `FromIn<Expression> for Statement`
(#8280) (overlookmotel)

### Features

- 6c7acac allocator: Implement `IntoIterator` for `&mut Vec` (#8389)
(overlookmotel)
- 3212bcd ast_tools: Ignore `raw` field of `NumericLiteral` and
`StringLiteral` in `ContentEq` (#8417) (Boshen)
- ad146bb codegen: Print real newline when `\n` is inside template
literals (#8178) (Boshen)
- 41ddf60 minfier: Add `CompressOptions::target` (#8179) (Boshen)
- d56020b minifier: Drop `0` from `new Int8Array(0)` and other
TypedArrays (#8431) (sapphi-red)
- f935d94 minifier: Remove `new` from NativeErrors / `AggregateError`
(#8430) (sapphi-red)
- dab7a51 minifier: Minimize not `!(x === undefined)` -> `x !==
undefined` (#8429) (Boshen)
- 0e7bab8 minifier: Remove `if(false){}` in a single pass (#8421)
(Boshen)
- 5b5b844 minifier: Fold `ambiguous if else` (#8415) (Boshen)
- 438a6e7 minifier: Minimize conditions in boolean context (#8381)
(Boshen)
- 793cb43 minifier: `a != null ? a : b` -> `a ?? b` (#8352) (camc314)
- 814da55 minifier: Compress `x = x || 1` to `x ||= 1` (#8368)
(sapphi-red)
- a596821 minifier: Compress `a.b = a.b + c` to `a.b += c` (#8367)
(sapphi-red)
- 579eb60 minifier: Compress `a.b || (a.b = c)` to `a.b ||= c` (#8366)
(sapphi-red)
- f367a16 minifier: Port esbuild conditional expr minification (#8351)
(camc314)
- 8d52cd0 minifier: Merge assign expression in conditional expression
(#8345) (sapphi-red)
- a69d15f minifier: Compress `new Array(2)` -> `[,,]` (#8344)
(sapphi-red)
- 819c475 minifier: Compress `new Array(7n)` -> `[7n]` (#8343)
(sapphi-red)
- e085d66 minifier: Remove empty IIFE (#8340) (Boshen)
- 2c2e483 minifier: Fold object spread `({ ...null })` -> `({})` (#8339)
(Boshen)
- 6220e05 minifier: Remove empty if statment `if (test) {}` -> `test`
(#8336) (Boshen)
- a76dfae minifier: Remove label statement with empty body (#8333)
(Boshen)
- e88a6bd minifier: Minimize `!0 + null !== 1` -> `!0 + null != 1`
(#8332) (Boshen)
- ec88c68 minifier: Compress `a || (a = b)` to `a ||= b` (#8315)
(sapphi-red)
- e6fe84d minifier: Compress `a = a + b` to `a += b` (#8314)
(sapphi-red)
- 9ea4e31 minifier: Remove `new` from `new Error`/`new Function`/`new
RegExp` (#8313) (sapphi-red)
- 051fbb6 minifier: Minimize `x["0"]` -> x[0] (#8316) (Boshen)
- a542013 minifier: Minimize `do{}while(true)` -> `do;while(true)`
(#8311) (Boshen)
- e3ff81e minifier: Minimize `(x = 1) === 1` -> `(x = 1) == 1` (#8310)
(Boshen)
- 4b68cc0 minifier: Minimize empty `try` statement (#8309) (Boshen)
- 922c514 minifier: Fold `.toString()` (#8308) (Boshen)
- 66a2443 minifier: Minify sequence expressions (#8305) (camc314)
- af65c36 minifier: Minimize double negated binary expressions (#8304)
(camc314)
- 76c778b minifier: Remove logical nots when arg is a delete expression
(#8303) (camc314)
- 5ed439b minifier: Minify typeof in binary expressions (#8302)
(camc314)
- 6afc590 minifier: Compress typeof addition string (#8301) (camc314)
- ecc789f minifier: Fold `if(x >> y == 0){}` -> `if(!(x >> y)){}`
(#8277) (Boshen)
- 0e3b79a minifier: Fold `String()` -> `''`, `Number()` -> `false`
(#8274) (Boshen)
- c9cf593 minifier: Compress property key `{[1]: _}` -> {1: _} (#8272)
(Boshen)
- b92b2ab minifier: Fold `BigInt(1n)` -> `1n` (#8270) (Boshen)
- a4df387 minifier: Compress loose equals undefined (#8268) (camc314)
- f000596 minifier: Minify call expressionsto `Number` (#8267) (camc314)
- 092aeaf minifier: Flatten spread args in call expressions (#8266)
(camc314)
- 04ec38d minifier: Remove unused arrow function expressions (#8262)
(camc314)
- e446c15 minifier: Improve minimizing unary not expressions (#8261)
(camc314)
- 7f19211 minifier: Minimize unary expression statements (#8256)
(camc314)
- cec63e2 minifier: `{}` evals to `f64::NaN` (Boshen)
- 4d8a08d minifier: Improve constant evaluation (#8252) (Boshen)
- e84f267 minifier: Compress more property keys (#8253) (Boshen)
- d1224f9 minifier: Improve minimizing conditional expressions (#8251)
(camc314)
- 65f46f5 minifier: Constant fold `String.fromCharCode` (#8248) (Boshen)
- bd8d677 minifier: Minimize `~undefined`, `~null`, `~true`, `~false`
(#8247) (Boshen)
- f73dc9e minifier: Constant fold `'x'.toString()` and `true.toString()`
(#8246) (Boshen)
- fd5af73 minifier: Minimize `Number` constructor (#8245) (Boshen)
- 2f52f33 minifier: Minsize `!!!foo ? bar : baz` -> `foo ? baz : bar`
(#8244) (Boshen)
- ccdc039 minifier: Always put literals on the rhs of equal op `1==x` =>
`x==1` (#8240) (Boshen)
- 39353b2 minifier: Improve minimizing conditionals (#8238) (Cameron)
- c90fc16 minifier: Restore conditional minification and fix edge case
(#8235) (camc314)
- 6c8ee9f minifier: Remove last redundant `return` statement (#8234)
(Boshen)
- 51f4792 minifier: Minimize `foo ? foo : bar` and `foo ? bar : foo`
(#8229) (Boshen)
- 6e2ec17 minifier: Statement fusion switch cases; improved minimize
exit poitns (#8228) (Boshen)
- 574a242 minifier: Minimize all variants of `typeof x == 'undefined'`
(#8227) (Boshen)
- 2041477 minifier: Fold `if(x)return;y` -> `if(!x)y` (#8226) (Boshen)
- 9c1afa4 minifier: Optional catch binding when catch param is unused
(#8221) (Boshen)
- 4a29845 minifier: Add `ConvertToDottedProperties` (#8212) (Boshen)
- 2786dea minifier: Add `RemoveUnusedCode` (#8210) (Boshen)
- cd274ee minifier: Minimize logical exprs (#8209) (Cameron)
- 4ae15df minifier: Imprve more conditional expr minification with
boolean lit (#8208) (camc314)
- 3202b4f minifier: Imprve conditional expr minification with boolean
lit (#8207) (camc314)
- 3b45011 minifier: Handle conditional expr with boolean lit (#8206)
(camc314)
- 4c2059a minifier: Reverse negated conditional exprs (#8205) (camc314)
- 4804933 minifier: Add `MinimizeExitPoints` and ExploitAssigns`
boilerplate (#8203) (Boshen)
- bf266e1 minifier: Try collapse conditional to logical or expr (#8197)
(Cameron)
- 06e1780 minifier: Improve `StatementFusion` (#8194) (Boshen)
- 42e211a minifier: Only constant fold numbers when result is smaller
(#8092) (Boshen)
- d0de560 minifier: Change `NaN` to `f64::NAN` (#8191) (Boshen)
- cef8eb8 minifier: Change `foo?.['bar']` to `foo?.bar` (#8176) (翠 /
green)
- 8149e34 minifier: Optional catch binding when es target >= es2019
(#8180) (Boshen)
- fc43ec5 minifier: Fold `string.length` / `array.length` (#8172)
(sapphi-red)
- 29dc0dc minifier: Change `foo['bar']` -> foo.bar (#8169) (Boshen)
- 3c5718d minifier: Fold `typeof foo == undefined` into `foo ==
undefined` when possible (#8160) (翠 / green)
- f3a36e1 minifier: Fold `typeof foo != "undefined"` into `typeof foo <
"u"` (#8159) (翠 / green)
- 37c9959 minifier: Normalize `Infinity` into `f64::Infinity` (#8148)
(Boshen)
- 8fb71f5 minifier: Minify string `PropertyKey` (#8147) (Boshen)
- 6615e1e minifier: Constant fold `instanceof` (#8142) (翠 / green)
- 2b2a373 minifier: Minimize `a + 'b' + 'c'` -> `a + 'bc'` (#8137)
(Boshen)
- 213364a minifier: Minimize `if (x) if (y) z` -> `if (x && y) z`
(#8136) (Boshen)
- 6b51e6d minifier: Minimize `if(foo) bar else baz` -> `foo ? bar : baz`
(#8133) (Boshen)
- f615bfa minifier: Minimize `if (x) return; return 1` -> `return x ?
void 0 : 1` (#8130) (Boshen)
- f0b1ee5 minifier: Minimize `if(!x) foo()` -> `x || foo()` (#8122)
(Boshen)
- f8200a8 minifier: Minimize `if(foo) bar` -> `foo && bar` (#8121)
(Boshen)
- 72d9967 minifier: Add `Normalize` ast pass (#8120) (Boshen)
- fef0b25 minifier: Collapse `var` into for loop initializer (#8119)
(Boshen)
- 2331ea8 minifier: `typeof foo === 'number'` => `typeof foo ==
'number'` (#8112) (Boshen)
- ad9a0a9 mininifier: Minimize variants of `a instanceof b == true`
(#8241) (Boshen)
- 2da4365 parser: Missing initializer in destructuring declaration
inside for loop head (#8222) (Boshen)
- 55744fd semantic: Allow getting mutable reference to symbols table
(#8189) (Max Stoumen)
- 0592a8b transformer/class-properties: Transform private in expression
(#8202) (Dunqing)
- ad77ad5 transformer/class-properties: Transform static/instance
accessor methods (#8132) (Dunqing)
- e405f79 transformer/class-properties: Transform static private method
invoking (#8117) (Dunqing)
- 3303e99 transformer/class-properties: Insert statements after
statement of class expression (#8116) (Dunqing)
- 0cc71cf transformer/class-properties: Transform super expressions and
identifiers that refers to class binding in private method (#8106)
(Dunqing)
- 58ed832 transformer/class-properties: Transform private field
expression which invokes private method (#8102) (Dunqing)
- f14567a transformer/class-properties: Transform callee which invokes
private method (#8100) (Dunqing)
- 13349ef transformer/class-properties: Transform private methods
(#8099) (Dunqing)

### Bug Fixes

- eb25bc0 allocator: Fix lifetimes on `IntoIterator` for `Vec` (#8388)
(overlookmotel)
- 97a7992 ast: Fix `ContentEq` and `ContentHash` impls for literal types
(#8426) (overlookmotel)
- a1752a0 codegen: Fix incorrect minified `return 1n` output (#8374)
(Boshen)
- 5a648bc codegen: Fix white space issue with do statements (#8348)
(Boshen)
- b6d16f4 codegen: Print parenthesis on negative bigint lit when
neccessary (#8258) (camc314)
- 8ed9766 codegen: Source map builder panicked because it attempted to
subtract with overflow in `search_original_line_and_column` (#8185)
(Dunqing)
- ad61e70 codegen: Print if else without block with proper indentation
(#8135) (Boshen)
- 74572de ecmascript: Incorrect `to_int_32` value for Infinity (#8144)
(翠 / green)
- e1f8ea4 lexer: `Source` is not `Clone` (#8294) (overlookmotel)
- 5c63414 mangler: Keep exported symbols for `top_level: true` (#7927)
(翠 / green)
- 3c93549 minifier: Dce if statement should keep side effects and vars
(#8433) (Boshen)
- 52f88c0 minifier: Rotate associative operators to make it more
idempotent (#8424) (camc314)
- a80460c minifier: Correctly set `self.changed` when minimizing if
stmts (#8420) (camc314)
- d4ca8d4 minifier: `!!x` is not idempotent in `RemoveDeadCode` (#8419)
(Boshen)
- 357b61d minifier: Do not minify `Object.defineProperty` in sequence
expressions (#8416) (Boshen)
- 0efc845 minifier: `+0n` produces `TypeError` (#8410) (Boshen)
- 7ce6a7c minifier: `a in b` has error throwing side effect (#8406)
(Boshen)
- 2f3a9dc minifier: Cannot transform property key `#constructor` (#8405)
(Boshen)
- c0a3dda minifier: `instanceof` has error throwing side effect (#8378)
(Boshen)
- 5516f7f minifier: Do not fold object comparisons (#8375) (Boshen)
- cb098c7 minifier: Computed property key `prototype` cannot be changed
(#8373) (Boshen)
- 82ee77e minifier: Do not remove shadowned `undefined` in return
statement (#8371) (Boshen)
- f87da16 minifier: Do not fold literals in `-0 != +0` (#8278) (Boshen)
- 62a2644 minifier: Handle arrow fn expressions correctly in
`is_in_boolean_context` (#8260) (camc314)
- d2f8eaa minifier: Fix panic in `peephole_minimize_conditions` (#8242)
(Boshen)
- a698def minifier: Fix incorrect return value for `(x ? true : y)`
(#8233) (Boshen)
- 05be1fc minifier: Remove incorrect fold
`Expression::AssignmentExpression` (#8211) (Boshen)
- 56b7f13 minifier: Do not constant fold `0 instanceof F` (#8199)
(Boshen)
- 75d5f17 minifier: Minify string `PropertyKey` (#8177) (sapphi-red)
- f88acb3 parser: Allow line breaks between `const` and `enum` (#8193)
(branchseer)
- 79a8fc6 semantic: Report error for super property appearing in
function body (#8376) (Dunqing)
- 79af100 semantic: Reference flags not correctly resolved when after an
export stmt (#8134) (camc314)
- 3eaff2a transformer: Ensure last expression statement in arrow
function expression is wrapped in return (#8192) (Dunqing)
- 3feac27 transformer/arrow-functions: Outer `super()` in nested class
(#8382) (Dunqing)
- 335065d transformer/arrow-functions: Do not transform super that
inside nested non-async method (#8335) (Dunqing)
- e4d66e4 transformer/arrow-functions: Store `super_methods` on a
`Stack` to fix nested async methods (#8331) (Dunqing)
- 775a289 transformer/arrow-functions: `_this = this` should be inserted
after super call expression (#8024) (Dunqing)
- ac72adb transformer/private-methods: Fix panic if instance private
accessor in class (#8362) (overlookmotel)
- f1f129b transformer/private-methods: Create brand binding `var` in
hoist scope (#8361) (overlookmotel)
- ab61425 transformer/private-methods: No temp var for class when unused
private methods (#8360) (overlookmotel)
- 9a03bd2 transformer/typescript: Remove type-only `import =` when
`only_remove_type_imports` is true (#8275) (Dunqing)
- 0df1866 transformer/typescript: Create `Reference` for `require`
(#8355) (overlookmotel)
- 78d7c97 transformer/typescript: Create `Reference` for `Infinity`
(#8354) (overlookmotel)
- 2e7207f transformer/typescript: Should strip import specifiers type
with `only_remove_type_imports` (#8141) (underfin)

### Performance

- 07edf74 transformer/arrow-function: Stop traversal at function as
super() can't appear in a nested function (#8383) (Dunqing)
- 62e3f7e transformer/arrow-functions: Reduce size of inlined visitor
(#8322) (overlookmotel)
- aebe0ea transformer/arrow-functions: Use `NonEmptyStack` instead of
`Stack` (#8318) (overlookmotel)

### Documentation

- c8e4843 ast: Fix doc comment (#8286) (overlookmotel)
- e0a09ab data_structures: Improve docs for stack types (#8356)
(overlookmotel)
- aaa009d minifier: Clarify assumptions for compressor (#8404) (翠 /
green)
- 05cba5b transformer/private-methods: Amend comments (#8398)
(overlookmotel)

### Refactor

- b29655f ast: Rearrange impls for literal types in same order as they
are defined (#8425) (overlookmotel)
- 0db2a22 ast: `AstBuilder` enum builder methods use `alloc_*` methods
(#8281) (overlookmotel)
- aea9551 ast: Simplify `get_identifier_reference` of `TSType` and
`TSTypeName` (#8273) (Dunqing)
- 9c1844a data_structures: Remove `NonNull` shim (#8423) (overlookmotel)
- 1835687 ecmascript: Remove unnecessary `use` statement (#8284)
(overlookmotel)
- 64bfdfe lexer: Tighten safety of lexer by always including lifetime on
`SourcePosition` (#8293) (overlookmotel)
- 0344e98 lexer: Make `handle_byte` a method of `Lexer` (#8291)
(overlookmotel)
- fabf116 lexer: Replace `#[allow]` with `#[expect]` (#8289)
(overlookmotel)
- 0462edb lexer: Rename function param (#8288) (overlookmotel)
- fb2acd8 minifier: Change minimize conditionals into a loop (#8413)
(Boshen)
- baaec60 minifier: Remove the buggy `??` transform (#8411) (Boshen)
- 1c4658d minifier: Change ast passes order, `!in_fixed_loop` happen
last (#8380) (Boshen)
- 09f0f48 minifier: Remove the buggy `minimize_exit_points`
implementation (#8349) (Boshen)
- 9a5c66a minifier: Clean up (#8346) (Boshen)
- 98f2b1c minifier: Clean up `peephole_substitute_alternate_syntax`
(#8327) (Boshen)
- fc662b7 minifier: Handle big int values later (#8324) (Boshen)
- d16e598 minifier: Clean up `peephole_replace_known_methods` (#8306)
(Boshen)
- b8d26ea minifier: Move optional catch param to
peephole_substitute_alternate_syntax (#8282) (Boshen)
- 0845162 minifier: Clean up `ReplaceKnownMethods` (Boshen)
- 7c7f5d7 minifier: Clean up `peephole_fold_constants` (Boshen)
- bf0fbce minifier: Improve constant fold numbers (#8239) (Boshen)
- 62f8fba minifier: Move all conditional minification logic to
minimze_conditions (#8231) (camc314)
- cfb51f2 minifier: Fuse ast passes (#8184) (Boshen)
- bf9cafe minifier: Clean up `peephole_substitute_alternate_syntax` a
little bit (Boshen)
- 75264ed minifier: Clean up `try_optimize_block` (#8139) (Boshen)
- c22062b minifier: Cleanup peephole_minimize_conditions (#8114)
(Boshen)
- e594c39 minifier: Clean up `peephole_substitute_alternate_syntax.rs`
(#8111) (Boshen)
- 0903501 semantic: Check super usage based on scope (#8377) (Dunqing)
- 109b8fc transformer: Elide lifetimes where possible (#8285)
(overlookmotel)
- fb389f7 transformer/arrow-function: Create a new ident instead of
clone (#8338) (Dunqing)
- dddbd29 transformer/arrow-functions: Reorder assertions (#8386)
(overlookmotel)
- ce6c445 transformer/arrow-functions: Add TODO comments (#8328)
(overlookmotel)
- 73d0025 transformer/arrow-functions: Reduce repeated code (#8323)
(overlookmotel)
- 3dd08e9 transformer/arrow-functions: Do not inline non-trivial visitor
method (#8321) (overlookmotel)
- ea9cefb transformer/arrow-functions: Reorder visitor methods (#8320)
(overlookmotel)
- 37199a4 transformer/arrow-functions: Rename lifetime (#8319)
(overlookmotel)
- 57e9dcf transformer/arrow-functions: Shorten `AstBuilder` call (#8317)
(overlookmotel)
- a5e3528 transformer/async-to-generator: Pass `TraverseCtx` to function
not `AstBuilder` (#8279) (overlookmotel)
- e7c89ba transformer/class-properties: TODO comments (#8392)
(overlookmotel)
- 6790d1d transformer/class-properties: Simplify determining if class is
declaration (#8357) (overlookmotel)
- c786a13 transformer/class-properties: Share
`replace_class_name_with_temp_var` in class_properties (#8105) (Dunqing)
- f54f48e transformer/class-properties: Remove all `*_if_super` methods
in `static_block_and_prop_init` (#8104) (Dunqing)
- d82fb52 transformer/class-properties: Move `supers` to
`super_converter` (#8103) (Dunqing)
- 3dad85e transformer/private-methods: Remove unnecessary clone (#8400)
(overlookmotel)
- aa5e65f transformer/private-methods: Simplify finding parent statement
of class expression (#8364) (overlookmotel)
- c786fd1 transformer/private-methods: TODO comments (#8363)
(overlookmotel)

### Styling

- 4d2888d lexer: Reorder imports (#8290) (overlookmotel)
- e81f34f span: Reformat code (#8296) (overlookmotel)
- 45e2402 transformer/private-methods: Move comments (#8399)
(overlookmotel)
- 0a1ffc0 transformer/private-methods: Rename var (#8397)
(overlookmotel)

### Testing

- 16dcdaf lexer: Assert size of `Token` in 32-bit WASM (#8292)
(overlookmotel)
- 3149fe0 minifier: Add anonymous function test case for logical
expression to logical assignment compression (#8347) (sapphi-red)
- 91b42de minifier: Enable some passing tests (#8250) (camc314)
- 1fa5341 minifier: Port tests from ConvertToDottedPropertiesTest
(#8175) (sapphi-red)

Co-authored-by: Boshen <[email protected]>
tapanprakasht pushed a commit to tapanprakasht/oxc that referenced this pull request Jan 12, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [encoding_rs](https://docs.rs/encoding_rs/) ([source](https://redirect.github.com/hsivonen/encoding_rs)) | workspace.dependencies | patch | `0.8.34` -> `0.8.35` |
| [handlebars](https://redirect.github.com/sunng87/handlebars-rust) | workspace.dependencies | minor | `6.1.0` -> `6.2.0` |
| [insta](https://insta.rs/) ([source](https://redirect.github.com/mitsuhiko/insta)) | workspace.dependencies | minor | `1.40.0` -> `1.41.0` |
| [prettyplease](https://redirect.github.com/dtolnay/prettyplease) | workspace.dependencies | patch | `0.2.24` -> `0.2.25` |
| [regex](https://redirect.github.com/rust-lang/regex) | workspace.dependencies | patch | `1.11.0` -> `1.11.1` |
| [saphyr](https://redirect.github.com/saphyr-rs/saphyr) | workspace.dependencies | patch | `0.0.1` -> `0.0.3` |
| [serde](https://serde.rs) ([source](https://redirect.github.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.210` -> `1.0.213` |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | workspace.dependencies | minor | `1.40.0` -> `1.41.0` |

---

### Release Notes

<details>
<summary>hsivonen/encoding_rs (encoding_rs)</summary>

### [`v0.8.35`](https://redirect.github.com/hsivonen/encoding_rs/compare/v0.8.34...v0.8.35)

[Compare Source](https://redirect.github.com/hsivonen/encoding_rs/compare/v0.8.34...v0.8.35)

</details>

<details>
<summary>sunng87/handlebars-rust (handlebars)</summary>

### [`v6.2.0`](https://redirect.github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#620---2024-10-26)

[Compare Source](https://redirect.github.com/sunng87/handlebars-rust/compare/v6.1.0...v6.2.0)

-   \[Added] `@index` variable for object iteration \[[#&oxc-project#8203;682](https://redirect.github.com/sunng87/handlebars-rust/issues/682)]
-   \[Changed] improve number comparison between different types \[[#&oxc-project#8203;679](https://redirect.github.com/sunng87/handlebars-rust/issues/679)]

</details>

<details>
<summary>mitsuhiko/insta (insta)</summary>

### [`v1.41.0`](https://redirect.github.com/mitsuhiko/insta/blob/HEAD/CHANGELOG.md#1410)

[Compare Source](https://redirect.github.com/mitsuhiko/insta/compare/1.40.0...1.41.0)

-   Experimental support for binary snapshots.  [#&oxc-project#8203;610](https://redirect.github.com/mitsuhiko/insta/issues/610) (Florian Plattner)

-   `--force-update-snapshots` now causes `cargo-insta` to write every snapshot, regardless of whether
    snapshots fully match, and now implies `--accept`.  This
    allows for `--force-update-snapshots` to update inline snapshots'
    delimiters and indentation.

    For the previous behavior of `--force-update-snapshots`, which limited writes to
    snapshots which didn't fully match, use `--require-full-match`.
    The main difference between `--require-full-match` and the existing behavior of `--force-update-snapshots`
    is a non-zero exit code on any snapshots which don't fully match.

    Like the previous behavior or `--force-update-snapshots`, `--require-full-match`
    doesn't track inline snapshots' delimiters or
    indentation, so can't update if those don't match.  [#&oxc-project#8203;644](https://redirect.github.com/mitsuhiko/insta/issues/644)

-   Inline snapshots only use `#` characters as delimiters when required.  [#&oxc-project#8203;603](https://redirect.github.com/mitsuhiko/insta/issues/603)

-   Warnings for undiscovered snapshots are more robust, and include files with
    custom snapshot extensions.  [#&oxc-project#8203;637](https://redirect.github.com/mitsuhiko/insta/issues/637)

-   Insta runs correctly on packages which reference rust files in a parent path.  [#&oxc-project#8203;626](https://redirect.github.com/mitsuhiko/insta/issues/626)

-   Warnings are printed when any snapshot uses a legacy format.  [#&oxc-project#8203;599](https://redirect.github.com/mitsuhiko/insta/issues/599)

-   `cargo insta --version` now prints a version.  [#&oxc-project#8203;665](https://redirect.github.com/mitsuhiko/insta/issues/665)

-   `insta` now internally uses `INSTA_UPDATE=force` rather than
    `INSTA_FORCE_UPDATE=1`.  (This doesn't affect users of `cargo-insta`, which
    handles this internally.)  [#&oxc-project#8203;482](https://redirect.github.com/mitsuhiko/insta/issues/482)

-   `cargo-insta`'s integration tests continue to grow over the past couple of versions,
    and now offer coverage of most of `cargo-insta`'s interface.

</details>

<details>
<summary>dtolnay/prettyplease (prettyplease)</summary>

### [`v0.2.25`](https://redirect.github.com/dtolnay/prettyplease/releases/tag/0.2.25)

[Compare Source](https://redirect.github.com/dtolnay/prettyplease/compare/0.2.24...0.2.25)

-   Print safe and explicitly unsafe foreign items ([#&oxc-project#8203;85](https://redirect.github.com/dtolnay/prettyplease/issues/85), [https://github.com/rust-lang/rust/issues/123743](https://redirect.github.com/rust-lang/rust/issues/123743))

</details>

<details>
<summary>rust-lang/regex (regex)</summary>

### [`v1.11.1`](https://redirect.github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1111-2024-10-24)

[Compare Source](https://redirect.github.com/rust-lang/regex/compare/1.11.0...1.11.1)

\===================
This is a new patch release of `regex` that fixes compilation on nightly
Rust when the unstable `pattern` crate feature is enabled. Users on nightly
Rust without this feature enabled are unaffected.

Bug fixes:

-   [BUG #&oxc-project#8203;1231](https://redirect.github.com/rust-lang/regex/issues/1231):
    Fix the `Pattern` trait implementation as a result of nightly API breakage.

</details>

<details>
<summary>saphyr-rs/saphyr (saphyr)</summary>

### [`v0.0.3`](https://redirect.github.com/saphyr-rs/saphyr/compare/v0.0.1...v0.0.3)

[Compare Source](https://redirect.github.com/saphyr-rs/saphyr/compare/v0.0.1...v0.0.3)

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

### [`v1.0.213`](https://redirect.github.com/serde-rs/serde/releases/tag/v1.0.213)

[Compare Source](https://redirect.github.com/serde-rs/serde/compare/v1.0.212...v1.0.213)

-   Fix support for macro-generated `with` attributes inside a newtype struct ([#&oxc-project#8203;2847](https://redirect.github.com/serde-rs/serde/issues/2847))

### [`v1.0.212`](https://redirect.github.com/serde-rs/serde/releases/tag/v1.0.212)

[Compare Source](https://redirect.github.com/serde-rs/serde/compare/v1.0.211...v1.0.212)

-   Fix hygiene of macro-generated local variable accesses in serde(with) wrappers ([#&oxc-project#8203;2845](https://redirect.github.com/serde-rs/serde/issues/2845))

### [`v1.0.211`](https://redirect.github.com/serde-rs/serde/releases/tag/v1.0.211)

[Compare Source](https://redirect.github.com/serde-rs/serde/compare/v1.0.210...v1.0.211)

-   Improve error reporting about mismatched signature in `with` and `default` attributes ([#&oxc-project#8203;2558](https://redirect.github.com/serde-rs/serde/issues/2558), thanks [@&oxc-project#8203;Mingun](https://redirect.github.com/Mingun))
-   Show variant aliases in error message when variant deserialization fails ([#&oxc-project#8203;2566](https://redirect.github.com/serde-rs/serde/issues/2566), thanks [@&oxc-project#8203;Mingun](https://redirect.github.com/Mingun))
-   Improve binary size of untagged enum and internally tagged enum deserialization by about 12% ([#&oxc-project#8203;2821](https://redirect.github.com/serde-rs/serde/issues/2821))

</details>

<details>
<summary>tokio-rs/tokio (tokio)</summary>

### [`v1.41.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.41.0): Tokio v1.41.0

[Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.40.0...tokio-1.41.0)

##### 1.41.0 (Oct 22th, 2024)

##### Added

-   metrics: stabilize `global_queue_depth` ([#&oxc-project#8203;6854], [#&oxc-project#8203;6918])
-   net: add conversions for unix `SocketAddr` ([#&oxc-project#8203;6868])
-   sync: add `watch::Sender::sender_count` ([#&oxc-project#8203;6836])
-   sync: add `mpsc::Receiver::blocking_recv_many` ([#&oxc-project#8203;6867])
-   task: stabilize `Id` apis ([#&oxc-project#8203;6793], [#&oxc-project#8203;6891])

##### Added (unstable)

-   metrics: add H2 Histogram option to improve histogram granularity ([#&oxc-project#8203;6897])
-   metrics: rename some histogram apis ([#&oxc-project#8203;6924])
-   runtime: add `LocalRuntime` ([#&oxc-project#8203;6808])

##### Changed

-   runtime: box futures larger than 16k on release mode ([#&oxc-project#8203;6826])
-   sync: add `#[must_use]` to `Notified` ([#&oxc-project#8203;6828])
-   sync: make `watch` cooperative ([#&oxc-project#8203;6846])
-   sync: make `broadcast::Receiver` cooperative ([#&oxc-project#8203;6870])
-   task: add task size to tracing instrumentation ([#&oxc-project#8203;6881])
-   wasm: enable `cfg_fs` for `wasi` target ([#&oxc-project#8203;6822])

##### Fixed

-   net: fix regression of abstract socket path in unix socket ([#&oxc-project#8203;6838])

##### Documented

-   io: recommend `OwnedFd` with `AsyncFd` ([#&oxc-project#8203;6821])
-   io: document cancel safety of `AsyncFd` methods ([#&oxc-project#8203;6890])
-   macros: render more comprehensible documentation for `join` and `try_join` ([#&oxc-project#8203;6814], [#&oxc-project#8203;6841])
-   net: fix swapped examples for `TcpSocket::set_nodelay` and `TcpSocket::nodelay` ([#&oxc-project#8203;6840])
-   sync: document runtime compatibility ([#&oxc-project#8203;6833])

[#&oxc-project#8203;6793]: https://redirect.github.com/tokio-rs/tokio/pull/6793

[#&oxc-project#8203;6808]: https://redirect.github.com/tokio-rs/tokio/pull/6808

[#&oxc-project#8203;6810]: https://redirect.github.com/tokio-rs/tokio/pull/6810

[#&oxc-project#8203;6814]: https://redirect.github.com/tokio-rs/tokio/pull/6814

[#&oxc-project#8203;6821]: https://redirect.github.com/tokio-rs/tokio/pull/6821

[#&oxc-project#8203;6822]: https://redirect.github.com/tokio-rs/tokio/pull/6822

[#&oxc-project#8203;6826]: https://redirect.github.com/tokio-rs/tokio/pull/6826

[#&oxc-project#8203;6828]: https://redirect.github.com/tokio-rs/tokio/pull/6828

[#&oxc-project#8203;6833]: https://redirect.github.com/tokio-rs/tokio/pull/6833

[#&oxc-project#8203;6836]: https://redirect.github.com/tokio-rs/tokio/pull/6836

[#&oxc-project#8203;6838]: https://redirect.github.com/tokio-rs/tokio/pull/6838

[#&oxc-project#8203;6840]: https://redirect.github.com/tokio-rs/tokio/pull/6840

[#&oxc-project#8203;6841]: https://redirect.github.com/tokio-rs/tokio/pull/6841

[#&oxc-project#8203;6846]: https://redirect.github.com/tokio-rs/tokio/pull/6846

[#&oxc-project#8203;6854]: https://redirect.github.com/tokio-rs/tokio/pull/6854

[#&oxc-project#8203;6867]: https://redirect.github.com/tokio-rs/tokio/pull/6867

[#&oxc-project#8203;6868]: https://redirect.github.com/tokio-rs/tokio/pull/6868

[#&oxc-project#8203;6870]: https://redirect.github.com/tokio-rs/tokio/pull/6870

[#&oxc-project#8203;6881]: https://redirect.github.com/tokio-rs/tokio/pull/6881

[#&oxc-project#8203;6890]: https://redirect.github.com/tokio-rs/tokio/pull/6890

[#&oxc-project#8203;6891]: https://redirect.github.com/tokio-rs/tokio/pull/6891

[#&oxc-project#8203;6897]: https://redirect.github.com/tokio-rs/tokio/pull/6897

[#&oxc-project#8203;6918]: https://redirect.github.com/tokio-rs/tokio/pull/6918

[#&oxc-project#8203;6924]: https://redirect.github.com/tokio-rs/tokio/pull/6924

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
tapanprakasht pushed a commit to tapanprakasht/oxc that referenced this pull request Jan 12, 2025
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.8.1` -> `22.8.4`](https://renovatebot.com/diffs/npm/@types%2fnode/22.8.1/22.8.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.8.1/22.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.8.1/22.8.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/vscode](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/vscode) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/vscode)) | [`1.80.0` -> `1.95.0`](https://renovatebot.com/diffs/npm/@types%2fvscode/1.80.0/1.95.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fvscode/1.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fvscode/1.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fvscode/1.80.0/1.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fvscode/1.80.0/1.95.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`9.12.1` -> `9.12.3`](https://renovatebot.com/diffs/npm/pnpm/9.12.1/9.12.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/9.12.1/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/9.12.1/9.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v9.12.3`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9123)

[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.2...v9.12.3)

##### Patch Changes

-   Don't purge `node_modules`, when typing "n" in the prompt that asks whether to remove `node_modules` before installation [#&oxc-project#8203;8655](https://redirect.github.com/pnpm/pnpm/pull/8655).
-   Fix a bug causing pnpm to infinitely spawn itself when `manage-package-manager-versions=true` is set and the `.tools` directory is corrupt.
-   Use `crypto.hash`, when available, for improved performance [#&oxc-project#8203;8629](https://redirect.github.com/pnpm/pnpm/pull/8629).
-   Fixed a race condition in temporary file creation in the store by including worker thread ID in filename. Previously, multiple worker threads could attempt to use the same temporary file. Temporary files now include both process ID and thread ID for uniqueness [#&oxc-project#8203;8703](https://redirect.github.com/pnpm/pnpm/pull/8703).
-   All commands should read settings from the `package.json` at the root of the workspace [#&oxc-project#8203;8667](https://redirect.github.com/pnpm/pnpm/issues/8667).
-   When `manage-package-manager-versions` is set to `true`, errors spawning a self-managed version of `pnpm` will now be shown (instead of being silent).
-   Pass the find command to npm, it is an alias for npm search

### [`v9.12.2`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#9122)

[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v9.12.1...v9.12.2)

##### Patch Changes

-   When checking whether a file in the store has executable permissions, the new approach checks if at least one of the executable bits (owner, group, and others) is set to 1. Previously, a file was incorrectly considered executable only when all the executable bits were set to 1. This fix ensures that files with any executable permission, regardless of the user class, are now correctly identified as executable [#&oxc-project#8203;8546](https://redirect.github.com/pnpm/pnpm/issues/8546).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEzMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Boshen pushed a commit that referenced this pull request Jan 15, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [convert_case](https://redirect.github.com/rutrum/convert-case) | workspace.dependencies | minor | `0.6.0` -> `0.7.0` |
| [prettyplease](https://redirect.github.com/dtolnay/prettyplease) | workspace.dependencies | patch | `0.2.27` -> `0.2.28` |
| [proc-macro2](https://redirect.github.com/dtolnay/proc-macro2) | workspace.dependencies | patch | `1.0.92` -> `1.0.93` |

---

### Release Notes

<details>
<summary>dtolnay/prettyplease (prettyplease)</summary>

### [`v0.2.28`](https://redirect.github.com/dtolnay/prettyplease/releases/tag/0.2.28)

[Compare Source](https://redirect.github.com/dtolnay/prettyplease/compare/0.2.27...0.2.28)

-   Expression precedence fixes ([#&#8203;90](https://redirect.github.com/dtolnay/prettyplease/issues/90), [#&#8203;92](https://redirect.github.com/dtolnay/prettyplease/issues/92), [#&#8203;95](https://redirect.github.com/dtolnay/prettyplease/issues/95), [#&#8203;96](https://redirect.github.com/dtolnay/prettyplease/issues/96), [#&#8203;97](https://redirect.github.com/dtolnay/prettyplease/issues/97), [#&#8203;98](https://redirect.github.com/dtolnay/prettyplease/issues/98), [#&#8203;100](https://redirect.github.com/dtolnay/prettyplease/issues/100))

</details>

<details>
<summary>dtolnay/proc-macro2 (proc-macro2)</summary>

### [`v1.0.93`](https://redirect.github.com/dtolnay/proc-macro2/releases/tag/1.0.93)

[Compare Source](https://redirect.github.com/dtolnay/proc-macro2/compare/1.0.92...1.0.93)

-   Optimize TokenStream's Drop ([#&#8203;489](https://redirect.github.com/dtolnay/proc-macro2/issues/489), [#&#8203;490](https://redirect.github.com/dtolnay/proc-macro2/issues/490), thanks [@&#8203;WalkerKnapp](https://redirect.github.com/WalkerKnapp))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 11am on monday" in timezone Asia/Shanghai, Automerge - "before 11am on monday" in timezone Asia/Shanghai.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45Mi4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Boshen added a commit that referenced this pull request Jan 27, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [oxc_resolver](https://redirect.github.com/oxc-project/oxc-resolver) |
workspace.dependencies | major | `3` -> `4` |
| [ureq](https://redirect.github.com/algesten/ureq) |
workspace.dependencies | major | `2.12.1` -> `3.0.0` |

---

### Release Notes

<details>
<summary>oxc-project/oxc-resolver (oxc_resolver)</summary>

###
[`v4.0.0`](https://redirect.github.com/oxc-project/oxc-resolver/blob/HEAD/CHANGELOG.md#400---2025-01-20)

[Compare
Source](https://redirect.github.com/oxc-project/oxc-resolver/compare/oxc_resolver-v3.0.3...oxc_resolver-v4.0.0)

##### <!-- 0 -->Features

- \[**breaking**] generic fs cache `type Resolver =
ResolverGeneric<FsCache<FileSystemOs>>`
([#&#8203;358](https://redirect.github.com/oxc-project/oxc-resolver/issues/358))
- \[**breaking**] `PackageJson` and `TsConfig` traits
([#&#8203;360](https://redirect.github.com/oxc-project/oxc-resolver/issues/360))

##### <!-- 2 -->Performance

- use papaya instead of dashmap
([#&#8203;356](https://redirect.github.com/oxc-project/oxc-resolver/issues/356))

</details>

<details>
<summary>algesten/ureq (ureq)</summary>

###
[`v3.0.0`](https://redirect.github.com/algesten/ureq/blob/HEAD/CHANGELOG.md#300)

[Compare
Source](https://redirect.github.com/algesten/ureq/compare/2.12.1...3.0.0)

- Replace RequestBuilder Deref with explicit wrappers
([#&#8203;944](https://redirect.github.com/algesten/ureq/issues/944))
- Remove dependency on `url` crate
([#&#8203;943](https://redirect.github.com/algesten/ureq/issues/943))
- Feature `Config::save_redirect_history`
([#&#8203;939](https://redirect.github.com/algesten/ureq/issues/939))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on monday" in timezone Asia/Shanghai,
Automerge - "on monday" in timezone Asia/Shanghai.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMjUuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Boshen <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
graphite-app bot pushed a commit that referenced this pull request Feb 10, 2025
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@napi-rs/cli](https://redirect.github.com/napi-rs/napi-rs) | [`3.0.0-alpha.65` -> `3.0.0-alpha.70`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.65/3.0.0-alpha.70) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.70?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.70?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.65/3.0.0-alpha.70?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.65/3.0.0-alpha.70?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [esbuild](https://redirect.github.com/evanw/esbuild) | [`^0.24.0` -> `^0.25.0`](https://renovatebot.com/diffs/npm/esbuild/0.24.2/0.25.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.24.2/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.24.2/0.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.1.0` -> `10.2.1`](https://renovatebot.com/diffs/npm/pnpm/10.1.0/10.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/10.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/10.1.0/10.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.1.0/10.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [typescript](https://www.typescriptlang.org/) ([source](https://redirect.github.com/microsoft/TypeScript)) | [`5.6.3` -> `5.7.3`](https://renovatebot.com/diffs/npm/typescript/5.6.3/5.7.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.6.3/5.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.6.3/5.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vitest](https://redirect.github.com/vitest-dev/vitest) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`3.0.2` -> `3.0.5`](https://renovatebot.com/diffs/npm/vitest/3.0.2/3.0.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/3.0.2/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/3.0.2/3.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.70`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/[email protected]...@napi-rs/[email protected])

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/[email protected]...@napi-rs/[email protected])

### [`v3.0.0-alpha.69`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/[email protected]...@napi-rs/[email protected])

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/[email protected]...@napi-rs/[email protected])

### [`v3.0.0-alpha.68`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/[email protected]...@napi-rs/[email protected])

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/[email protected]...@napi-rs/[email protected])

### [`v3.0.0-alpha.67`](https://redirect.github.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.67)

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/[email protected]...@napi-rs/[email protected])

#### What's Changed

-   chore(deps): update dependency [@&#8203;oxc-node/core](https://redirect.github.com/oxc-node/core) to ^0.0.17 by [@&#8203;renovate](https://redirect.github.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/2427](https://redirect.github.com/napi-rs/napi-rs/pull/2427)
-   chore(deps): update vitest monorepo to v3 (major) by [@&#8203;renovate](https://redirect.github.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/2429](https://redirect.github.com/napi-rs/napi-rs/pull/2429)
-   chore(deps): update dependency vite-plugin-node-polyfills to ^0.23.0 by [@&#8203;renovate](https://redirect.github.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/2431](https://redirect.github.com/napi-rs/napi-rs/pull/2431)
-   fix(cli): s390x cross toolchain path by [@&#8203;Brooooooklyn](https://redirect.github.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/2432](https://redirect.github.com/napi-rs/napi-rs/pull/2432)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[email protected]...[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli)[@&#8203;3](https://redirect.github.com/3).0.0-alpha.67

### [`v3.0.0-alpha.66`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/[email protected]...@napi-rs/[email protected])

[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/[email protected]...@napi-rs/[email protected])

</details>

<details>
<summary>evanw/esbuild (esbuild)</summary>

### [`v0.25.0`](https://redirect.github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#v0250)

[Compare Source](https://redirect.github.com/evanw/esbuild/compare/v0.24.2...v0.25.0)

**This release deliberately contains backwards-incompatible changes.** To avoid automatically picking up releases like this, you should either be pinning the exact version of `esbuild` in your `package.json` file (recommended) or be using a version range syntax that only accepts patch upgrades such as `^0.24.0` or `~0.24.0`. See npm's documentation about [semver](https://docs.npmjs.com/cli/v6/using-npm/semver/) for more information.

-   Restrict access to esbuild's development server ([GHSA-67mh-4wv8-2f99](https://redirect.github.com/evanw/esbuild/security/advisories/GHSA-67mh-4wv8-2f99))

    This change addresses esbuild's first security vulnerability report. Previously esbuild set the `Access-Control-Allow-Origin` header to `*` to allow esbuild's development server to be flexible in how it's used for development. However, this allows the websites you visit to make HTTP requests to esbuild's local development server, which gives read-only access to your source code if the website were to fetch your source code's specific URL. You can read more information in [the report](https://redirect.github.com/evanw/esbuild/security/advisories/GHSA-67mh-4wv8-2f99).

    Starting with this release, [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) will now be disabled, and requests will now be denied if the host does not match the one provided to `--serve=`. The default host is `0.0.0.0`, which refers to all of the IP addresses that represent the local machine (e.g. both `127.0.0.1` and `192.168.0.1`). If you want to customize anything about esbuild's development server, you can [put a proxy in front of esbuild](https://esbuild.github.io/api/#serve-proxy) and modify the incoming and/or outgoing requests.

    In addition, the `serve()` API call has been changed to return an array of `hosts` instead of a single `host` string. This makes it possible to determine all of the hosts that esbuild's development server will accept.

    Thanks to [@&#8203;sapphi-red](https://redirect.github.com/sapphi-red) for reporting this issue.

-   Delete output files when a build fails in watch mode ([#&#8203;3643](https://redirect.github.com/evanw/esbuild/issues/3643))

    It has been requested for esbuild to delete files when a build fails in watch mode. Previously esbuild left the old files in place, which could cause people to not immediately realize that the most recent build failed. With this release, esbuild will now delete all output files if a rebuild fails. Fixing the build error and triggering another rebuild will restore all output files again.

-   Fix correctness issues with the CSS nesting transform ([#&#8203;3620](https://redirect.github.com/evanw/esbuild/issues/3620), [#&#8203;3877](https://redirect.github.com/evanw/esbuild/issues/3877), [#&#8203;3933](https://redirect.github.com/evanw/esbuild/issues/3933), [#&#8203;3997](https://redirect.github.com/evanw/esbuild/issues/3997), [#&#8203;4005](https://redirect.github.com/evanw/esbuild/issues/4005), [#&#8203;4037](https://redirect.github.com/evanw/esbuild/pull/4037), [#&#8203;4038](https://redirect.github.com/evanw/esbuild/pull/4038))

    This release fixes the following problems:

    -   Naive expansion of CSS nesting can result in an exponential blow-up of generated CSS if each nesting level has multiple selectors. Previously esbuild sometimes collapsed individual nesting levels using `:is()` to limit expansion. However, this collapsing wasn't correct in some cases, so it has been removed to fix correctness issues.

        ```css
        /* Original code */
        .parent {
          > .a,
          > .b1 > .b2 {
            color: red;
          }
        }

        /* Old output (with --supported:nesting=false) */
        .parent > :is(.a, .b1 > .b2) {
          color: red;
        }

        /* New output (with --supported:nesting=false) */
        .parent > .a,
        .parent > .b1 > .b2 {
          color: red;
        }
        ```

        Thanks to [@&#8203;tim-we](https://redirect.github.com/tim-we) for working on a fix.

    -   The `&` CSS nesting selector can be repeated multiple times to increase CSS specificity. Previously esbuild ignored this possibility and incorrectly considered `&&` to have the same specificity as `&`. With this release, this should now work correctly:

        ```css
        /* Original code (color should be red) */
        div {
          && { color: red }
          & { color: blue }
        }

        /* Old output (with --supported:nesting=false) */
        div {
          color: red;
        }
        div {
          color: blue;
        }

        /* New output (with --supported:nesting=false) */
        div:is(div) {
          color: red;
        }
        div {
          color: blue;
        }
        ```

        Thanks to [@&#8203;CPunisher](https://redirect.github.com/CPunisher) for working on a fix.

    -   Previously transforming nested CSS incorrectly removed leading combinators from within pseudoclass selectors such as `:where()`. This edge case has been fixed and how has test coverage.

        ```css
        /* Original code */
        a b:has(> span) {
          a & {
            color: green;
          }
        }

        /* Old output (with --supported:nesting=false) */
        a :is(a b:has(span)) {
          color: green;
        }

        /* New output (with --supported:nesting=false) */
        a :is(a b:has(> span)) {
          color: green;
        }
        ```

        This fix was contributed by [@&#8203;NoremacNergfol](https://redirect.github.com/NoremacNergfol).

    -   The CSS minifier contains logic to remove the `&` selector when it can be implied, which happens when there is only one and it's the leading token. However, this logic was incorrectly also applied to selector lists inside of pseudo-class selectors such as `:where()`. With this release, the minifier will now avoid applying this logic in this edge case:

        ```css
        /* Original code */
        .a {
          & .b { color: red }
          :where(& .b) { color: blue }
        }

        /* Old output (with --minify) */
        .a{.b{color:red}:where(.b){color:#&#8203;00f}}

        /* New output (with --minify) */
        .a{.b{color:red}:where(& .b){color:#&#8203;00f}}
        ```

-   Fix some correctness issues with source maps ([#&#8203;1745](https://redirect.github.com/evanw/esbuild/issues/1745), [#&#8203;3183](https://redirect.github.com/evanw/esbuild/issues/3183), [#&#8203;3613](https://redirect.github.com/evanw/esbuild/issues/3613), [#&#8203;3982](https://redirect.github.com/evanw/esbuild/issues/3982))

    Previously esbuild incorrectly treated source map path references as file paths instead of as URLs. With this release, esbuild will now treat source map path references as URLs. This fixes the following problems with source maps:

    -   File names in `sourceMappingURL` that contained a space previously did not encode the space as `%20`, which resulted in JavaScript tools (including esbuild) failing to read that path back in when consuming the generated output file. This should now be fixed.

    -   Absolute URLs in `sourceMappingURL` that use the `file://` scheme previously attempted to read from a folder called `file:`. These URLs should now be recognized and parsed correctly.

    -   Entries in the `sources` array in the source map are now treated as URLs instead of file paths. The correct behavior for this is much more clear now that source maps has a [formal specification](https://tc39.es/ecma426/). Many thanks to those who worked on the specification.

-   Fix incorrect package for `@esbuild/netbsd-arm64` ([#&#8203;4018](https://redirect.github.com/evanw/esbuild/issues/4018))

    Due to a copy+paste typo, the binary published to `@esbuild/netbsd-arm64` was not actually for `arm64`, and didn't run in that environment. This release should fix running esbuild in that environment (NetBSD on 64-bit ARM). Sorry about the mistake.

-   Fix a minification bug with bitwise operators and bigints ([#&#8203;4065](https://redirect.github.com/evanw/esbuild/issues/4065))

    This change removes an incorrect assumption in esbuild that all bitwise operators result in a numeric integer. That assumption was correct up until the introduction of bigints in ES2020, but is no longer correct because almost all bitwise operators now operate on both numbers and bigints. Here's an example of the incorrect minification:

    ```js
    // Original code
    if ((a & b) !== 0) found = true

    // Old output (with --minify)
    a&b&&(found=!0);

    // New output (with --minify)
    (a&b)!==0&&(found=!0);
    ```

-   Fix esbuild incorrectly rejecting valid TypeScript edge case ([#&#8203;4027](https://redirect.github.com/evanw/esbuild/issues/4027))

    The following TypeScript code is valid:

    ```ts
    export function open(async?: boolean): void {
      console.log(async as boolean)
    }
    ```

    Before this version, esbuild would fail to parse this with a syntax error as it expected the token sequence `async as ...` to be the start of an async arrow function expression `async as => ...`. This edge case should be parsed correctly by esbuild starting with this release.

-   Transform BigInt values into constructor calls when unsupported ([#&#8203;4049](https://redirect.github.com/evanw/esbuild/issues/4049))

    Previously esbuild would refuse to compile the BigInt literals (such as `123n`) if they are unsupported in the configured target environment (such as with `--target=es6`). The rationale was that they cannot be polyfilled effectively because they change the behavior of JavaScript's arithmetic operators and JavaScript doesn't have operator overloading.

    However, this prevents using esbuild with certain libraries that would otherwise work if BigInt literals were ignored, such as with old versions of the [`buffer` library](https://redirect.github.com/feross/buffer) before the library fixed support for running in environments without BigInt support. So with this release, esbuild will now turn BigInt literals into BigInt constructor calls (so `123n` becomes `BigInt(123)`) and generate a warning in this case. You can turn off the warning with `--log-override:bigint=silent` or restore the warning to an error with `--log-override:bigint=error` if needed.

-   Change how `console` API dropping works ([#&#8203;4020](https://redirect.github.com/evanw/esbuild/issues/4020))

    Previously the `--drop:console` feature replaced all method calls off of the `console` global with `undefined` regardless of how long the property access chain was (so it applied to `console.log()` and `console.log.call(console)` and `console.log.not.a.method()`). However, it was pointed out that this breaks uses of `console.log.bind(console)`. That's also incompatible with Terser's implementation of the feature, which is where this feature originally came from (it does support `bind`). So with this release, using this feature with esbuild will now only replace one level of method call (unless extended by `call` or `apply`) and will replace the method being called with an empty function in complex cases:

    ```js
    // Original code
    const x = console.log('x')
    const y = console.log.call(console, 'y')
    const z = console.log.bind(console)('z')

    // Old output (with --drop-console)
    const x = void 0;
    const y = void 0;
    const z = (void 0)("z");

    // New output (with --drop-console)
    const x = void 0;
    const y = void 0;
    const z = (() => {
    }).bind(console)("z");
    ```

    This should more closely match Terser's existing behavior.

-   Allow BigInt literals as `define` values

    With this release, you can now use BigInt literals as define values, such as with `--define:FOO=123n`. Previously trying to do this resulted in a syntax error.

-   Fix a bug with resolve extensions in `node_modules` ([#&#8203;4053](https://redirect.github.com/evanw/esbuild/issues/4053))

    The `--resolve-extensions=` option lets you specify the order in which to try resolving implicit file extensions. For complicated reasons, esbuild reorders TypeScript file extensions after JavaScript ones inside of `node_modules` so that JavaScript source code is always preferred to TypeScript source code inside of dependencies. However, this reordering had a bug that could accidentally change the relative order of TypeScript file extensions if one of them was a prefix of the other. That bug has been fixed in this release. You can see the issue for details.

-   Better minification of statically-determined `switch` cases ([#&#8203;4028](https://redirect.github.com/evanw/esbuild/issues/4028))

    With this release, esbuild will now try to trim unused code within `switch` statements when the test expression and `case` expressions are primitive literals. This can arise when the test expression is an identifier that is substituted for a primitive literal at compile time. For example:

    ```js
    // Original code
    switch (MODE) {
      case 'dev':
        installDevToolsConsole()
        break
      case 'prod':
        return
      default:
        throw new Error
    }

    // Old output (with --minify '--define:MODE="prod"')
    switch("prod"){case"dev":installDevToolsConsole();break;case"prod":return;default:throw new Error}

    // New output (with --minify '--define:MODE="prod"')
    return;
    ```

-   Emit `/* @&#8203;__KEY__ */` for string literals derived from property names ([#&#8203;4034](https://redirect.github.com/evanw/esbuild/issues/4034))

    Property name mangling is an advanced feature that shortens certain property names for better minification (I say "advanced feature" because it's very easy to break your code with it). Sometimes you need to store a property name in a string, such as `obj.get('foo')` instead of `obj.foo`. JavaScript minifiers such as esbuild and [Terser](https://terser.org/) have a convention where a `/* @&#8203;__KEY__ */` comment before the string makes it behave like a property name. So `obj.get(/* @&#8203;__KEY__ */ 'foo')` allows the contents of the string `'foo'` to be shortened.

    However, esbuild sometimes itself generates string literals containing property names when transforming code, such as when lowering class fields to ES6 or when transforming TypeScript decorators. Previously esbuild didn't generate its own `/* @&#8203;__KEY__ */` comments in this case, which means that minifying your code by running esbuild again on its own output wouldn't work correctly (this does not affect people that both minify and transform their code in a single step).

    With this release, esbuild will now generate `/* @&#8203;__KEY__ */` comments for property names in generated string literals. To avoid lots of unnecessary output for people that don't use this advanced feature, the generated comments will only be present when the feature is active. If you want to generate the comments but not actually mangle any property names, you can use a flag that has no effect such as `--reserve-props=.`, which tells esbuild to not mangle any property names (but still activates this feature).

-   The `text` loader now strips the UTF-8 BOM if present ([#&#8203;3935](https://redirect.github.com/evanw/esbuild/issues/3935))

    Some software (such as Notepad on Windows) can create text files that start with the three bytes `0xEF 0xBB 0xBF`, which is referred to as the "byte order mark". This prefix is intended to be removed before using the text. Previously esbuild's `text` loader included this byte sequence in the string, which turns into a prefix of `\uFEFF` in a JavaScript string when decoded from UTF-8. With this release, esbuild's `text` loader will now remove these bytes when they occur at the start of the file.

-   Omit legal comment output files when empty ([#&#8203;3670](https://redirect.github.com/evanw/esbuild/issues/3670))

    Previously configuring esbuild with `--legal-comment=external` or `--legal-comment=linked` would always generate a `.LEGAL.txt` output file even if it was empty. Starting with this release, esbuild will now only do this if the file will be non-empty. This should result in a more organized output directory in some cases.

-   Update Go from 1.23.1 to 1.23.5 ([#&#8203;4056](https://redirect.github.com/evanw/esbuild/issues/4056), [#&#8203;4057](https://redirect.github.com/evanw/esbuild/pull/4057))

    This should have no effect on existing code as this version change does not change Go's operating system support. It may remove certain reports from vulnerability scanners that detect which version of the Go compiler esbuild uses.

    This PR was contributed by [@&#8203;MikeWillCook](https://redirect.github.com/MikeWillCook).

-   Allow passing a port of 0 to the development server ([#&#8203;3692](https://redirect.github.com/evanw/esbuild/issues/3692))

    Unix sockets interpret a port of 0 to mean "pick a random unused port in the [ephemeral port](https://en.wikipedia.org/wiki/Ephemeral_port) range". However, esbuild's default behavior when the port is not specified is to pick the first unused port starting from 8000 and upward. This is more convenient because port 8000 is typically free, so you can for example restart the development server and reload your app in the browser without needing to change the port in the URL. Since esbuild is written in Go (which does not have optional fields like JavaScript), not specifying the port in Go means it defaults to 0, so previously passing a port of 0 to esbuild caused port 8000 to be picked.

    Starting with this release, passing a port of 0 to esbuild when using the CLI or the JS API will now pass port 0 to the OS, which will pick a random ephemeral port. To make this possible, the `Port` option in the Go API has been changed from `uint16` to `int` (to allow for additional sentinel values) and passing a port of -1 in Go now picks a random port. Both the CLI and JS APIs now remap an explicitly-provided port of 0 into -1 for the internal Go API.

    Another option would have been to change `Port` in Go from `uint16` to `*uint16` (Go's closest equivalent of `number | undefined`). However, that would make the common case of providing an explicit port in Go very awkward as Go doesn't support taking the address of integer constants. This tradeoff isn't worth it as picking a random ephemeral port is a rare use case. So the CLI and JS APIs should now match standard Unix behavior when the port is 0, but you need to use -1 instead with Go API.

-   Minification now avoids inlining constants with direct `eval` ([#&#8203;4055](https://redirect.github.com/evanw/esbuild/issues/4055))

    Direct `eval` can be used to introduce a new variable like this:

    ```js
    const variable = false
    ;(function () {
      eval("var variable = true")
      console.log(variable)
    })()
    ```

    Previously esbuild inlined `variable` here (which became `false`), which changed the behavior of the code. This inlining is now avoided, but please keep in mind that direct `eval` breaks many assumptions that JavaScript tools hold about normal code (especially when bundling) and I do not recommend using it. There are usually better alternatives that have a more localized impact on your code. You can read more about this here: https://esbuild.github.io/link/direct-eval/

</details>

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v10.2.1`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1021)

[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.2.0...v10.2.1)

##### Patch Changes

-   Don't read a package from side-effects cache if it isn't allowed to be built [#&#8203;9042](https://redirect.github.com/pnpm/pnpm/issues/9042).
-   `pnpm approve-builds` should work, when executed from a subdirectory of a workspace [#&#8203;9042](https://redirect.github.com/pnpm/pnpm/issues/9042).
-   `pnpm deploy --legacy` should work without injected dependencies.
-   Add information about how to deploy without "injected dependencies" to the "pnpm deploy" error message.

### [`v10.2.0`](https://redirect.github.com/pnpm/pnpm/blob/HEAD/pnpm/CHANGELOG.md#1020)

[Compare Source](https://redirect.github.com/pnpm/pnpm/compare/v10.1.0...v10.2.0)

##### Minor Changes

-   Packages executed via `pnpm dlx` and `pnpm create` are allowed to be built (run postinstall scripts) by default.

    If the packages executed by `dlx` or `create` have dependencies that have to be built, they should be listed via the `--allow-build` flag. For instance, if you want to run a package called `bundle` that has `esbuild` in dependencies and want to allow `esbuild` to run postinstall scripts, run:

        pnpm --allow-build=esbuild dlx bundle

    Related PR: [#&#8203;9026](https://redirect.github.com/pnpm/pnpm/pull/9026).

##### Patch Changes

-   Quote args for scripts with shell-quote to support new lines (on POSIX only) [#&#8203;8980](https://redirect.github.com/pnpm/pnpm/issues/8980).
-   Fix a bug in which `pnpm deploy` fails to read the correct `projectId` when the deploy source is the same as the workspace directory [#&#8203;9001](https://redirect.github.com/pnpm/pnpm/issues/9001).
-   Proxy settings should be respected, when resolving Git-hosted dependencies [#&#8203;6530](https://redirect.github.com/pnpm/pnpm/issues/6530).
-   Prevent `overrides` from adding invalid version ranges to `peerDependencies` by keeping the `peerDependencies` and overriding them with prod `dependencies` [#&#8203;8978](https://redirect.github.com/pnpm/pnpm/issues/8978).
-   Sort the package names in the "pnpm.onlyBuiltDependencies" list saved by `pnpm approve-builds`.

</details>

<details>
<summary>microsoft/TypeScript (typescript)</summary>

### [`v5.7.3`](https://redirect.github.com/microsoft/TypeScript/compare/v5.7.2...a5e123d9e0690fcea92878ea8a0a382922009fc9)

[Compare Source](https://redirect.github.com/microsoft/TypeScript/compare/v5.7.2...v5.7.3)

### [`v5.7.2`](https://redirect.github.com/microsoft/TypeScript/compare/v5.6.3...d701d908d534e68cfab24b6df15539014ac348a3)

[Compare Source](https://redirect.github.com/microsoft/TypeScript/compare/v5.6.3...v5.7.2)

</details>

<details>
<summary>vitest-dev/vitest (vitest)</summary>

### [`v3.0.5`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.5)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.4...v3.0.5)

##### 🚀 Features

-   **ui**: Insert message "no tests found" in ui - by [@&#8203;DevJoaoLopes](https://redirect.github.com/DevJoaoLopes) in [https://github.com/vitest-dev/vitest/issues/7366](https://redirect.github.com/vitest-dev/vitest/issues/7366) [<samp>(92da4)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/92da490bd)

##### 🐞 Bug Fixes

-   Validate websocket request - by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) and [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7317](https://redirect.github.com/vitest-dev/vitest/issues/7317) [<samp>(191ef)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/191ef9e34)
-   Don't toggle cli cursor on non-TTY - by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7336](https://redirect.github.com/vitest-dev/vitest/issues/7336) [<samp>(3c805)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3c8050e69)
-   **vite-node**: Differentiate file url with hash and query - by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa)  in [https://github.com/vitest-dev/vitest/issues/7365](https://redirect.github.com/vitest-dev/vitest/issues/7365) [<samp>(926ca)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/926ca9546)

##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.4...v3.0.5)

### [`v3.0.4`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.4)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.3...v3.0.4)

#####    🐞 Bug Fixes

-   Filter projects eagerly during config resolution  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) and [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7313](https://redirect.github.com/vitest-dev/vitest/issues/7313) [<samp>(dff44)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/dff4406d)
-   Apply `development|production` condition on Vites 6 by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) ([#&#8203;7301](https://redirect.github.com/vitest-dev/vitest/issues/7301)) [<samp>(ef146)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ef1464fc7b101709bfbf7b040e5bad62998c2ff9)
-   **browser**: Restrict served files from `/__screenshot-error`  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7340](https://redirect.github.com/vitest-dev/vitest/issues/7340) [<samp>(ed9ae)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ed9aeba2)
-   **deps**: Update all non-major dependencies  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7297](https://redirect.github.com/vitest-dev/vitest/issues/7297) [<samp>(38ea8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/38ea8eae)
-   **runner**: Timeout long sync hook  -  by [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7289](https://redirect.github.com/vitest-dev/vitest/issues/7289) [<samp>(c60ee)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c60ee27c)
-   **typechecking**: Support typechecking parsing with Vite 6  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7335](https://redirect.github.com/vitest-dev/vitest/issues/7335) [<samp>(bff70)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/bff70be9)
-   **types**: Fix public types  -  by [@&#8203;mrginglymus](https://redirect.github.com/mrginglymus) and [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7328](https://redirect.github.com/vitest-dev/vitest/issues/7328) [<samp>(ce6af)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/ce6af70c)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.3...v3.0.4)

### [`v3.0.3`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.0.3)

[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.2...v3.0.3)

#####    🐞 Bug Fixes

-   **browser**:
    -   Don't throw a validation error if v8 coverage is used with filtered instances  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7306](https://redirect.github.com/vitest-dev/vitest/issues/7306) [<samp>(fa463)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/fa4634b2)
    -   Don't fail when running --browser.headless if the browser projest is part of the workspace  -  by [@&#8203;sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7311](https://redirect.github.com/vitest-dev/vitest/issues/7311) [<samp>(e43a8)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/e43a8f56)

#####    🏎 Performance

-   **reporters**: Update summary only when needed  -  by [@&#8203;AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7291](https://redirect.github.com/vitest-dev/vitest/issues/7291) [<samp>(7f36b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7f36b6f9)

#####     [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.0.2...v3.0.3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on monday" in timezone Asia/Shanghai, Automerge - "on monday" in timezone Asia/Shanghai.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
renovate bot added a commit that referenced this pull request Feb 23, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [criterion2](https://bheisler.github.io/criterion.rs/book/index.html)
([source](https://redirect.github.com/Boshen/criterion2.rs)) |
workspace.dependencies | major | `2.0.0` -> `3.0.0` |
|
[oxc-browserslist](https://redirect.github.com/oxc-project/oxc-browserslist)
| workspace.dependencies | major | `1.1.2` -> `2.0.0` |
| [oxc_index](https://redirect.github.com/oxc-project/oxc-index-vec) |
workspace.dependencies | major | `2` -> `3` |
| [oxc_sourcemap](https://redirect.github.com/oxc-project/oxc-sourcemap)
| workspace.dependencies | major | `1` -> `2` |

---

### Release Notes

<details>
<summary>Boshen/criterion2.rs (criterion2)</summary>

###
[`v3.0.0`](https://redirect.github.com/Boshen/criterion2.rs/releases/tag/v3.0.0)

[Compare
Source](https://redirect.github.com/Boshen/criterion2.rs/compare/v2.0.0...v3.0.0)

##### Other

- Make filters to look for a substring unless exact is given
([#&#8203;65](https://redirect.github.com/Boshen/criterion2.rs/pull/65))
- *(deps)* update rust crates
([#&#8203;64](https://redirect.github.com/Boshen/criterion2.rs/pull/64))
- *(deps)* update rust crate serde_json to 1.0.132
([#&#8203;63](https://redirect.github.com/Boshen/criterion2.rs/pull/63))
- *(deps)* update dependency rust to v1.82.0
([#&#8203;62](https://redirect.github.com/Boshen/criterion2.rs/pull/62))
- *(deps)* update rust crate bpaf to 0.9.15
([#&#8203;61](https://redirect.github.com/Boshen/criterion2.rs/pull/61))
- *(deps)* update rust crate futures to 0.3.31
([#&#8203;60](https://redirect.github.com/Boshen/criterion2.rs/pull/60))
- *(deps)* update rust crate tempfile to 3.13.0
([#&#8203;59](https://redirect.github.com/Boshen/criterion2.rs/pull/59))
- *(deps)* update rust crates
([#&#8203;57](https://redirect.github.com/Boshen/criterion2.rs/pull/57))

</details>

<details>
<summary>oxc-project/oxc-browserslist (oxc-browserslist)</summary>

###
[`v2.0.0`](https://redirect.github.com/oxc-project/oxc-browserslist/releases/tag/oxc-browserslist-v2.0.0)

[Compare
Source](https://redirect.github.com/oxc-project/oxc-browserslist/compare/oxc-browserslist-v1.1.3...oxc-browserslist-v2.0.0)

##### Other

- Rust Edition 2024
([#&#8203;92](https://redirect.github.com/oxc-project/oxc-browserslist/pull/92))

###
[`v1.1.3`](https://redirect.github.com/oxc-project/oxc-browserslist/blob/HEAD/CHANGELOG.md#113---2025-02-22)

[Compare
Source](https://redirect.github.com/oxc-project/oxc-browserslist/compare/oxc-browserslist-v1.1.2...oxc-browserslist-v1.1.3)

##### Other

- Rust Edition 2024
([#&#8203;92](https://redirect.github.com/oxc-project/oxc-browserslist/pull/92))

</details>

<details>
<summary>oxc-project/oxc-index-vec (oxc_index)</summary>

###
[`v3.0.0`](https://redirect.github.com/oxc-project/oxc-index-vec/releases/tag/v3.0.0)

[Compare
Source](https://redirect.github.com/oxc-project/oxc-index-vec/compare/v2.0.1...v3.0.0)

##### Other

- Rust Edition 2024
([#&#8203;9](https://redirect.github.com/oxc-project/oxc-index-vec/pull/9))

###
[`v2.0.1`](https://redirect.github.com/oxc-project/oxc-index-vec/blob/HEAD/CHANGELOG.md#201---2025-02-22)

[Compare
Source](https://redirect.github.com/oxc-project/oxc-index-vec/compare/v2.0.0...v2.0.1)

##### Other

- Rust Edition 2024
([#&#8203;9](https://redirect.github.com/oxc-project/oxc-index-vec/pull/9))

</details>

<details>
<summary>oxc-project/oxc-sourcemap (oxc_sourcemap)</summary>

###
[`v2.0.2`](https://redirect.github.com/oxc-project/oxc-sourcemap/blob/HEAD/CHANGELOG.md#202---2025-02-22)

[Compare
Source](https://redirect.github.com/oxc-project/oxc-sourcemap/compare/v2.0.1...v2.0.2)

##### Other

- Rust Edition 2024
([#&#8203;24](https://redirect.github.com/oxc-project/oxc-sourcemap/pull/24))

###
[`v2.0.1`](https://redirect.github.com/oxc-project/oxc-sourcemap/blob/HEAD/CHANGELOG.md#201---2025-02-21)

[Compare
Source](https://redirect.github.com/oxc-project/oxc-sourcemap/compare/v2.0.0...v2.0.1)

##### Other

-   include build.rs

###
[`v2.0.0`](https://redirect.github.com/oxc-project/oxc-sourcemap/blob/HEAD/CHANGELOG.md#200---2025-02-21)

##### Fixed

-   broken cargo features

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10pm on monday" in timezone
Asia/Shanghai, Automerge - "before 10pm on monday" in timezone
Asia/Shanghai.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit that referenced this pull request Feb 23, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) |
action | minor | `v3.3.1` -> `v3.4.0` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | patch | `v4.6.0` -> `v4.6.1` |
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | patch | `v3.28.9` -> `v3.28.10` |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | minor | `v2.48.15` -> `v2.49.0` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary>

###
[`v3.4.0`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v3.4.0)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v3.3.1...v3.4.0)

##### What's Changed

##### <!-- 0 -->🚀 Features

- feat: add `GH_MATRIX` and `GH_STRATEGY` env variables by
[@&#8203;fargito](https://redirect.github.com/fargito) in
[https://github.com/CodSpeedHQ/action/pull/123](https://redirect.github.com/CodSpeedHQ/action/pull/123)
- Add run_part to upload metadata by
[@&#8203;fargito](https://redirect.github.com/fargito) in
[#&#8203;57](https://redirect.github.com/CodSpeedHQ/runner/pull/57)

##### <!-- 1 -->🐛 Bug Fixes

- Fix stderr error display by
[@&#8203;art049](https://redirect.github.com/art049) in
[#&#8203;63](https://redirect.github.com/CodSpeedHQ/runner/pull/63)

**Full Changelog**:
CodSpeedHQ/action@v3.3.1...v3.4.0
**Full Runner Changelog**:
https://github.com/CodSpeedHQ/runner/blob/main/CHANGELOG.md

</details>

<details>
<summary>actions/upload-artifact (actions/upload-artifact)</summary>

###
[`v4.6.1`](https://redirect.github.com/actions/upload-artifact/releases/tag/v4.6.1)

[Compare
Source](https://redirect.github.com/actions/upload-artifact/compare/v4.6.0...v4.6.1)

#### What's Changed

- Update to use artifact 2.2.2 package by
[@&#8203;yacaovsnc](https://redirect.github.com/yacaovsnc) in
[https://github.com/actions/upload-artifact/pull/673](https://redirect.github.com/actions/upload-artifact/pull/673)

**Full Changelog**:
actions/upload-artifact@v4...v4.6.1

</details>

<details>
<summary>github/codeql-action (github/codeql-action)</summary>

###
[`v3.28.10`](https://redirect.github.com/github/codeql-action/releases/tag/v3.28.10)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v3.28.9...v3.28.10)

### CodeQL Action Changelog

See the [releases
page](https://redirect.github.com/github/codeql-action/releases) for the
relevant changes to the CodeQL CLI and language packs.

#### 3.28.10 - 21 Feb 2025

- Update default CodeQL bundle version to 2.20.5.
[#&#8203;2772](https://redirect.github.com/github/codeql-action/pull/2772)
- Address an issue where the CodeQL Bundle would occasionally fail to
decompress on macOS.
[#&#8203;2768](https://redirect.github.com/github/codeql-action/pull/2768)

See the full
[CHANGELOG.md](https://redirect.github.com/github/codeql-action/blob/v3.28.10/CHANGELOG.md)
for more information.

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.49.0`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.49.0):
2.49.0

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.48.22...v2.49.0)

- Allow installing pre-release versions using binstall.
([#&#8203;868](https://redirect.github.com/taiki-e/install-action/pull/868))

###
[`v2.48.22`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.48.22):
2.48.22

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.48.21...v2.48.22)

-   Update `cargo-binstall@latest` to 1.11.1.

-   Update `release-plz@latest` to 0.3.122.

###
[`v2.48.21`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.48.21):
2.48.21

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.48.20...v2.48.21)

-   Update `wasmtime@latest` to 30.0.1.

-   Update `syft@latest` to 1.20.0.

###
[`v2.48.20`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.48.20):
2.48.20

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.48.19...v2.48.20)

-   Update `cargo-udeps@latest` to 0.1.55.

###
[`v2.48.19`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.48.19):
2.48.19

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.48.18...v2.48.19)

-   Update `typos@latest` to 1.29.9.

###
[`v2.48.18`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.48.18):
2.48.18

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.48.17...v2.48.18)

-   Update `cargo-deny@latest` to 0.17.0.

###
[`v2.48.17`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.48.17):
2.48.17

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.48.16...v2.48.17)

-   Update `wasmtime@latest` to 30.0.0.

###
[`v2.48.16`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.48.16):
2.48.16

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.48.15...v2.48.16)

-   Update `typos@latest` to 1.29.8.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10pm on monday" in timezone
Asia/Shanghai, Automerge - "before 10pm on monday" in timezone
Asia/Shanghai.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, 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/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-minifier Area - Minifier C-enhancement Category - New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant