Boshen
c588bc59ac
release(crates): oxc v0.98.0 ( #15771 )
...
### 💥 BREAKING CHANGES
- ea51b0b napi: [**BREAKING**] Standardize function naming with sync
suffixes (#15661 ) (Boshen)
### 🚀 Features
- 77efb76 parser: Improve error message for invalid switch clauses
(#15728 ) (sapphi-red)
- 5691727 parser: Improve `import source` `from` error message (#15727 )
(sapphi-red)
- b7404bc parser: Improve error message for missing function body
(#15726 ) (sapphi-red)
- 71c2fb0 parser: Improve error message when JSX is found while not
enabled (#15725 ) (sapphi-red)
- 56e7e44 minifier: Disable removal of unnecessary `use strict`
directives for DCE (#15691 ) (sapphi-red)
- 8a61cfd allocator, ast: Introduce `UnstableAddress` trait (#15700 )
(overlookmotel)
- f5ce55a napi: Export all options using wildcard exports (Boshen)
- 68703b9 minifier: Rotate binary expressions to remove parentheses
(#15473 ) (sapphi-red)
### 🐛 Bug Fixes
- c023ba6 semantic: Do not duplicate statements in temp `Vec` when
binding `TSModuleDeclaration`s (#15724 ) (overlookmotel)
- d60ca81 parser: Reject `import something 'source'` (#15746 )
(sapphi-red)
- e0728fa ast: Exclude comment end position from `is_inside_comment`
check (#15753 ) (camc314)
- 9f54a36 semantic: Error on `\00` in strict mode (#15743 ) (sapphi-red)
- 440a977 ast: Include rest properties when using
`get_binding_identifiers` (#15710 ) (camc314)
### ⚡ Performance
- 1f09d3c parser: Faster checking for invalid modifiers (#15717 )
(overlookmotel)
- d8d4e31 ast: Use loop instead of recursion in
`TSModuleDeclarationBody::as_module_block_mut` (#15713 ) (overlookmotel)
### 📚 Documentation
- e033d50 ast: Clarify behavior of
`TSModuleDeclaration::has_use_strict_directive` (#15730 ) (overlookmotel)
- 9eda70f allocator: Improve docs for `Address` methods (#15697 )
(overlookmotel)
2025-11-17 12:38:34 +00:00
Dunqing
1b18457e05
feat(transformer): support tagged template expression with </script transformation ( #15664 )
...
Implement a transformation plugin for tagged template expressions containing </script> tags to prevent script tag issues in browser environments.
This plugin transforms tagged template literals containing `</script` (case-insensitive) to use a helper function call with template caching, matching esbuild's behavior.
### Example
Transforms tagged templates to use cached template objects with a helper function:
Input:
```js
foo`</script>`
bar`<script>${content}</script>`
```
Output:
```js
var _templateObject, _templateObject2;
foo(_templateObject || (_templateObject = babelHelpers.taggedTemplateLiteral(["<\/script>"])));
bar(_templateObject2 || (_templateObject2 = babelHelpers.taggedTemplateLiteral(["<script>", "<\/script>"])), content);
```
Closes #15306
2025-11-17 11:55:13 +00:00
Boshen
ea51b0b5c8
feat(napi)!: standardize function naming with sync suffixes ( #15661 )
...
closes #15576
## Summary
Standardizes function naming across all NAPI packages (parser, transform, minify) with a consistent pattern:
- Async functions: `verb` (no suffix)
- Sync functions: `verbSync` (with Sync suffix)
## Changes
### Breaking Changes
**napi/parser:**
- `parseAsync` → `parse` (async)
- `parseSync` remains unchanged (sync)
**napi/transform:**
- `transformAsync` → `transform` (async)
- `transform` → `transformSync` (sync)
- `isolatedDeclaration` → `isolatedDeclarationSync` (sync)
- Added new `isolatedDeclaration` function (async)
- `moduleRunnerTransform` → `moduleRunnerTransformSync` (sync)
- Added new `moduleRunnerTransform` function (async)
**napi/minify:**
- `minify` → `minifySync` (sync)
- Added new `minify` function (async)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
2025-11-13 12:28:23 +00:00
Boshen
98585f01a1
release(crates): oxc v0.97.0 ( #15582 )
2025-11-11 17:18:13 +08:00
sapphi-red
4b904b1584
docs(transformer): clarify jsx.pure option would affect JSX elements ( #15376 )
...
Update the doc comment as `jsx.pure` option also affects JSX elements.
https://github.com/oxc-project/oxc/blob/b1d3e005def3fe1899e77d2ace0c0584c9b22f80/crates/oxc_transformer/src/jsx/jsx_impl.rs#L779
I'll update the docs after this PR is merged.
2025-11-07 02:33:23 +00:00
Copilot
d7daf079a2
test(transformer): add escaping tests for inject import sources with special characters ( #15127 )
...
Investigated the reported issue where import source specifiers with
special characters (like quotes) were claimed to not be escaped in the
inject global variables transformer.
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-10-30 20:37:33 +09:00
Boshen
14fe64a935
release(crates): v0.96.0 ( #15115 )
2025-10-30 15:43:06 +08:00
leaysgur
a8e5181ab7
chore(infra): dogfooding oxfmt ( #14979 )
...
Fixes #14803
- Added `oxfmt` and `oxfmtrc.jsonc`
- Remove `dprint` plugin and useless ignore paths
- Apply `dprint` again
- Apply `oxfmt`
2025-10-28 01:16:46 +00:00
camc314
ada9989c17
chore(deps): update vitest to v4 ( #14919 )
2025-10-24 14:09:11 +00:00
Brooooooklyn
f472631b73
chore(napi): update cli and js bindings ( #14917 )
...
Ref: https://github.com/oxc-project/oxc/issues/14732#issuecomment-3431289160
2025-10-23 09:47:23 +00:00
Boshen
454ee94ff3
release(crates): v0.95.0 ( #14619 )
2025-10-15 15:06:05 +08:00
camc314
9e540025a3
chore(napi/transform): enable oxlint ( #14572 )
2025-10-14 13:47:21 +00:00
renovate[bot]
502a2f8df2
chore(deps): lock file maintenance npm packages ( #14363 )
2025-10-06 21:45:39 +08:00
Boshen
f88f5f4593
release(crates): v0.94.0 ( #14377 )
2025-10-06 20:48:05 +08:00
Boshen
588acd55b4
feat(transformer): add ES2026 target for explicit resource management ( #14330 )
...
## Summary
fixes #12796
* Added target `ES2026`
* Moves the explicit resource management feature from proposals to ES2026, as it is now a finalized ECMAScript 2026 feature.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
2025-10-05 07:12:53 +00:00
Boshen
013e0530c5
fix(napi/transform): fix define plugin not applying DCE correctly ( #14264 )
...
DCE options was using "smallest", hence `debugger` was removed.
fixes 14260
2025-09-30 15:58:31 +00:00
Boshen
aa0689fe38
release(crates): v0.93.0 ( #14194 )
2025-09-28 14:13:41 +08:00
Masanori Tani
06b16a9a18
chore(infra): add publint ( #13937 )
...
close #13768
Setup [publint](https://publint.dev/ ) and fix warnings.
target directory: `napi/` and `editor/vscode`. (I couldn’t determine
whether I should include the `npm/` directory or not.)
Co-authored-by: Boshen <boshenc@gmail.com >
2025-09-27 17:47:15 +08:00
Boshen
1b3f437468
release(crates): v0.92.0 ( #14067 )
2025-09-24 12:18:07 +08:00
overlookmotel
cc0019fb0a
refactor(napi): move scripts into scripts directory ( #14048 )
...
Move all build scripts in `napi` packages into a `scripts` dir. These packages don't have root directories with tons of files like `napi/parser` and `apps/oxlint` do, but IMO it's preferable to have a consistent directory structure in all NAPI packages.
Also, rename these scripts from `.mjs` to `.js`, since these packages are ESM.
2025-09-23 14:47:41 +00:00
overlookmotel
2f9e16da2e
fix(napi/minifier, napi/transformer): rename CommonJS file to .cjs ( #14047 )
...
`webcontainer-fallback.js` in `napi/minify` and `napi/transform` are CommonJS files, but these packages are ESM. Rename them to `webcontainer-fallback.cjs` to avoid module resolution errors/fallbacks.
2025-09-23 14:47:40 +00:00
Boshen
cb55daa1c5
release(crates): v0.91.0 ( #14000 )
2025-09-22 19:24:10 +08:00
Boshen
fb347da614
release(crates): v0.91.0 ( #13961 )
2025-09-21 13:23:09 +08:00
overlookmotel
7a50ad99be
docs(napi/parser, napi/transform): correct README examples ( #13934 )
...
Docs were out of date. `oxc-parser` and `oxc-transform` packages are now ESM-only, so the code examples would no longer run. Correct them.
2025-09-19 19:58:04 +00:00
overlookmotel
21bbf959b8
fix(napi): rebuild bindings file for NAPI packages ( #13889 )
...
#13888 broke CI because it didn't run `pnpm build` to update version number in NAPI bindings files.
I don't think the published packages are broken, because it only matters if `NAPI_RS_ENFORCE_VERSION_CHECK` env is set.
2025-09-18 14:37:42 +00:00
Boshen
d116504831
release(crates): v0.90.0 ( #13888 )
2025-09-18 22:07:37 +08:00
Boshen
70c402b9f9
feat(napi/transform): add async transform function ( #13881 )
...
## Summary
This PR adds an async transform function to the NAPI transform package, following the same pattern used in the parser package for consistency.
Closes #10900
## Changes
- Added `transformAsync` function that returns a Promise
- Implemented `TransformTask` struct with `napi::Task` trait
- Reuses existing transform logic from the synchronous version
- Added comprehensive tests to verify async behavior
## Test Plan
Added tests in `test/transform.test.ts` that verify:
- Async function works correctly
- Produces identical results to sync version
- Properly handles errors
All existing tests continue to pass.
🤖 Generated with [Claude Code](https://claude.ai/code )
2025-09-18 12:44:53 +00:00
Copilot
b52389a569
feat(node): Bump engines field to require Node.js 20.19.0+ for ESM support ( #13879 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-09-18 20:10:11 +08:00
Boshen
9796ec12d7
fix(napi): fix binding files
2025-09-15 14:55:01 +08:00
Boshen
de40f0bee0
release(crates): v0.89.0 ( #13774 )
2025-09-15 14:33:03 +08:00
renovate[bot]
b4e9d2c379
chore(deps): lock file maintenance npm packages ( #13758 )
...
Co-authored-by: Boshen <boshenc@gmail.com >
2025-09-15 13:15:05 +08:00
Boshen
369287abac
release(crates): v0.88.0 ( #13765 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-09-15 11:01:32 +08:00
oxc-bot
7128fb57dd
release(crates): v0.87.0 ( #13587 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-09-08 11:35:41 +08:00
oxc-bot
7652c8d6ab
release(crates): v0.86.0 ( #13464 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-08-31 18:46:10 +08:00
oxc-bot
42ebd43ba0
release(crates): v0.85.0 ( #13413 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-08-30 15:44:00 +08:00
oxc-bot
d6a8aa1ce0
release(crates): v0.84.0 ( #13412 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-08-30 13:15:55 +08:00
oxc-bot
732c57e55e
release(crates): v0.83.0 ( #13387 )
...
Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com >
2025-08-29 14:49:51 +08:00
Boshen
34d0a014f6
feat(napi/minify,transform)!: change module type to ESM ( #13349 )
...
part of #13329
2025-08-28 12:47:24 +00:00
oxc-bot
8b1e022f7f
release(crates): v0.82.3 ( #13230 )
2025-08-20 23:19:06 +08:00
Dunqing
76a9865af0
fix(transformer/legacy-decorator): metadata should be inserted after all params decorators ( #13215 )
...
* Fixes https://github.com/oxc-project/oxc/issues/13210
2025-08-19 16:08:53 +00:00
Boshen
f10ac33979
fix(codegen): remove end sourcemaps for }, ], ) ( #13180 )
...
closes #13174
This should reduce sourcemap memory usage by a huge amount.
These tokens were added in esbuild for code coverage: https://github.com/evanw/esbuild/commit/c4d45e6b5766b1a1b56bf24b7dadb240de91332b
But esbuild has an optimization to not generate these tokens when `}` is not on the same line
```
if class.CloseBraceLoc.Start > class.BodyLoc.Start {
p.addSourceMapping(class.CloseBraceLoc)
}
```
We should revisit these tokens later in the future.
2025-08-18 11:45:14 +00:00
oxc-bot
4d0a05e1e7
release(crates): v0.82.2 ( #13158 )
2025-08-17 23:31:38 +08:00
Kevin Deng
d5431999d0
chore(napi): fix publint issues ( #13107 )
...
See https://publint.dev/oxc-parser
2025-08-15 22:25:18 +08:00
oxc-bot
92a3550c40
release(crates): v0.82.1 ( #13049 )
2025-08-13 12:24:37 +08:00
oxc-bot
c58a699e19
release(crates): v0.82.0 ( #13014 )
2025-08-12 13:53:10 +08:00
renovate
1ed8c1a471
chore(deps): update dependency rust to v1.89.0 ( #12873 )
...
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [rust](https://redirect.github.com/rust-lang/rust ) | minor | `1.88.0` -> `1.89.0` |
---
### Release Notes
<details>
<summary>rust-lang/rust (rust)</summary>
### [`v1.89.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1890-2025-08-07 )
[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.88.0...1.89.0 )
\==========================
<a id="1.89.0-Language"></a>
## Language
- [Stabilize explicitly inferred const arguments (`feature(generic_arg_infer)`)](https://redirect.github.com/rust-lang/rust/pull/141610 )
- [Add a warn-by-default `mismatched_lifetime_syntaxes` lint.](https://redirect.github.com/rust-lang/rust/pull/138677 )
This lint detects when the same lifetime is referred to by different syntax categories between function arguments and return values, which can be confusing to read, especially in unsafe code.
This lint supersedes the warn-by-default `elided_named_lifetimes` lint.
- [Expand `unpredictable_function_pointer_comparisons` to also lint on function pointer comparisons in external macros](https://redirect.github.com/rust-lang/rust/pull/134536 )
- [Make the `dangerous_implicit_autorefs` lint deny-by-default](https://redirect.github.com/rust-lang/rust/pull/141661 )
- [Stabilize the avx512 target features](https://redirect.github.com/rust-lang/rust/pull/138940 )
- [Stabilize `kl` and `widekl` target features for x86](https://redirect.github.com/rust-lang/rust/pull/140766 )
- [Stabilize `sha512`, `sm3` and `sm4` target features for x86](https://redirect.github.com/rust-lang/rust/pull/140767 )
- [Stabilize LoongArch target features `f`, `d`, `frecipe`, `lasx`, `lbt`, `lsx`, and `lvz`](https://redirect.github.com/rust-lang/rust/pull/135015 )
- [Remove `i128` and `u128` from `improper_ctypes_definitions`](https://redirect.github.com/rust-lang/rust/pull/137306 )
- [Stabilize `repr128` (`#[repr(u128)]`, `#[repr(i128)]`)](https://redirect.github.com/rust-lang/rust/pull/138285 )
- [Allow `#![doc(test(attr(..)))]` everywhere](https://redirect.github.com/rust-lang/rust/pull/140560 )
- [Extend temporary lifetime extension to also go through tuple struct and tuple variant constructors](https://redirect.github.com/rust-lang/rust/pull/140593 )
- [`extern "C"` functions on the `wasm32-unknown-unknown` target now have a standards compliant ABI](https://blog.rust-lang.org/2025/04/04/c-abi-changes-for-wasm32-unknown-unknown/ )
<a id="1.89.0-Compiler"></a>
## Compiler
- [Default to non-leaf frame pointers on aarch64-linux](https://redirect.github.com/rust-lang/rust/pull/140832 )
- [Enable non-leaf frame pointers for Arm64EC Windows](https://redirect.github.com/rust-lang/rust/pull/140862 )
- [Set Apple frame pointers by architecture](https://redirect.github.com/rust-lang/rust/pull/141797 )
<a id="1.89.0-Platform-Support"></a>
## Platform Support
- [Add new Tier-3 targets `loongarch32-unknown-none` and `loongarch32-unknown-none-softfloat`](https://redirect.github.com/rust-lang/rust/pull/142053 )
- [`x86_64-apple-darwin` is in the process of being demoted to Tier 2 with host tools](https://redirect.github.com/rust-lang/rfcs/pull/3841 )
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
[platform-support-doc]: https://doc.rust-lang.org/rustc/platform-support.html
<a id="1.89.0-Libraries"></a>
## Libraries
- [Specify the base path for `file!`](https://redirect.github.com/rust-lang/rust/pull/134442 )
- [Allow storing `format_args!()` in a variable](https://redirect.github.com/rust-lang/rust/pull/140748 )
- [Add `#[must_use]` to `[T; N]::map`](https://redirect.github.com/rust-lang/rust/pull/140957 )
- [Implement `DerefMut` for `Lazy{Cell,Lock}`](https://redirect.github.com/rust-lang/rust/pull/129334 )
- [Implement `Default` for `array::IntoIter`](https://redirect.github.com/rust-lang/rust/pull/141574 )
- [Implement `Clone` for `slice::ChunkBy`](https://redirect.github.com/rust-lang/rust/pull/138016 )
- [Implement `io::Seek` for `io::Take`](https://redirect.github.com/rust-lang/rust/pull/138023 )
<a id="1.89.0-Stabilized-APIs"></a>
## Stabilized APIs
- [`NonZero<char>`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html )
- Many intrinsics for x86, not enumerated here
- [AVX512 intrinsics](https://redirect.github.com/rust-lang/rust/issues/111137 )
- [`SHA512`, `SM3` and `SM4` intrinsics](https://redirect.github.com/rust-lang/rust/issues/126624 )
- [`File::lock`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.lock )
- [`File::lock_shared`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.lock_shared )
- [`File::try_lock`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.try_lock )
- [`File::try_lock_shared`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.try_lock_shared )
- [`File::unlock`](https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.unlock )
- [`NonNull::from_ref`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.from_ref )
- [`NonNull::from_mut`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.from_mut )
- [`NonNull::without_provenance`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.without_provenance )
- [`NonNull::with_exposed_provenance`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.with_exposed_provenance )
- [`NonNull::expose_provenance`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.expose_provenance )
- [`OsString::leak`](https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.leak )
- [`PathBuf::leak`](https://doc.rust-lang.org/stable/std/path/struct.PathBuf.html#method.leak )
- [`Result::flatten`](https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.flatten )
- [`std::os::linux::net::TcpStreamExt::quickack`](https://doc.rust-lang.org/stable/std/os/linux/net/trait.TcpStreamExt.html#tymethod.quickack )
- [`std::os::linux::net::TcpStreamExt::set_quickack`](https://doc.rust-lang.org/stable/std/os/linux/net/trait.TcpStreamExt.html#tymethod.set_quickack )
These previously stable APIs are now stable in const contexts:
- [`<[T; N]>::as_mut_slice`](https://doc.rust-lang.org/stable/std/primitive.array.html#method.as_mut_slice )
- [`<[u8]>::eq_ignore_ascii_case`](https://doc.rust-lang.org/stable/std/primitive.slice.html#impl-%5Bu8%5D/method.eq_ignore_ascii_case )
- [`str::eq_ignore_ascii_case`](https://doc.rust-lang.org/stable/std/primitive.str.html#impl-str/method.eq_ignore_ascii_case )
<a id="1.89.0-Cargo"></a>
## Cargo
- [`cargo fix` and `cargo clippy --fix` now default to the same Cargo target selection as other build commands.](https://redirect.github.com/rust-lang/cargo/pull/15192/ ) Previously it would apply to all targets (like binaries, examples, tests, etc.). The `--edition` flag still applies to all targets.
- [Stabilize doctest-xcompile.](https://redirect.github.com/rust-lang/cargo/pull/15462/ ) Doctests are now tested when cross-compiling. Just like other tests, it will use the [`runner` setting](https://doc.rust-lang.org/cargo/reference/config.html#targettriplerunner ) to run the tests. If you need to disable tests for a target, you can use the [ignore doctest attribute](https://doc.rust-lang.org/rustdoc/write-documentation/documentation-tests.html#ignoring-targets ) to specify the targets to ignore.
<a id="1.89.0-Rustdoc"></a>
## Rustdoc
- [On mobile, make the sidebar full width and linewrap](https://redirect.github.com/rust-lang/rust/pull/139831 ). This makes long section and item names much easier to deal with on mobile.
<a id="1.89.0-Compatibility-Notes"></a>
## Compatibility Notes
- [Make `missing_fragment_specifier` an unconditional error](https://redirect.github.com/rust-lang/rust/pull/128425 )
- [Enabling the `neon` target feature on `aarch64-unknown-none-softfloat` causes a warning](https://redirect.github.com/rust-lang/rust/pull/135160 ) because mixing code with and without that target feature is not properly supported by LLVM
- [Sized Hierarchy: Part I](https://redirect.github.com/rust-lang/rust/pull/137944 )
- Introduces a small breaking change affecting `?Sized` bounds on impls on recursive types which contain associated type projections. It is not expected to affect any existing published crates. Can be fixed by refactoring the involved types or opting into the `sized_hierarchy` unstable feature. See the [FCP report](https://redirect.github.com/rust-lang/rust/pull/137944#issuecomment-2912207485 ) for a code example.
- The warn-by-default `elided_named_lifetimes` lint is [superseded by the warn-by-default `mismatched_lifetime_syntaxes` lint.](https://redirect.github.com/rust-lang/rust/pull/138677 )
- [Error on recursive opaque types earlier in the type checker](https://redirect.github.com/rust-lang/rust/pull/139419 )
- [Type inference side effects from requiring element types of array repeat expressions are `Copy` are now only available at the end of type checking](https://redirect.github.com/rust-lang/rust/pull/139635 )
- [The deprecated accidentally-stable `std::intrinsics::{copy,copy_nonoverlapping,write_bytes}` are now proper intrinsics](https://redirect.github.com/rust-lang/rust/pull/139916 ). There are no debug assertions guarding against UB, and they cannot be coerced to function pointers.
- [Remove long-deprecated `std::intrinsics::drop_in_place`](https://redirect.github.com/rust-lang/rust/pull/140151 )
- [Make well-formedness predicates no longer coinductive](https://redirect.github.com/rust-lang/rust/pull/140208 )
- [Remove hack when checking impl method compatibility](https://redirect.github.com/rust-lang/rust/pull/140557 )
- [Remove unnecessary type inference due to built-in trait object impls](https://redirect.github.com/rust-lang/rust/pull/141352 )
- [Lint against "stdcall", "fastcall", and "cdecl" on non-x86-32 targets](https://redirect.github.com/rust-lang/rust/pull/141435 )
- [Future incompatibility warnings relating to the never type (`!`) are now reported in dependencies](https://redirect.github.com/rust-lang/rust/pull/141937 )
- [Ensure `std::ptr::copy_*` intrinsics also perform the static self-init checks](https://redirect.github.com/rust-lang/rust/pull/142575 )
- [`extern "C"` functions on the `wasm32-unknown-unknown` target now have a standards compliant ABI](https://blog.rust-lang.org/2025/04/04/c-abi-changes-for-wasm32-unknown-unknown/ )
<a id="1.89.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.
- [Correctly un-remap compiler sources paths with the `rustc-dev` component](https://redirect.github.com/rust-lang/rust/pull/142377 )
</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:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2025-08-08 09:53:16 +00:00
oxc-bot
c245d9bf78
release(crates): v0.81.0 ( #12850 )
2025-08-06 23:05:58 +08:00
oxc-bot
9671def11f
release(crates): v0.80.0 ( #12777 )
2025-08-03 16:38:23 +08:00
overlookmotel
0ec214b4aa
test(napi): compile tests in debug mode ( #12750 )
...
Compile NAPI tests in debug mode (not release mode), to speed up build in CI.
Only exception is `napi/parser` which is compiled with `--profile coverage`. The tests for this package are quite slow, so they'd take too long if package was compiled with no optimizations. `coverage` profile is closer to `--release`, but enables debug assertions, and has somewhat faster compilation (`-O 2` not `-O 3` etc).
In CI:
* Build time reduced by 1m30s.
* Test run time increased by 30s.
* Total reduction in CI time: 1 minute.
NAPI tests are still the slowest task in CI by a long margin. Trimming a minute off the time is something, but this task is still too slow.
2025-08-02 12:18:41 +00:00
oxc-bot
5ff286a57a
release(crates): v0.79.1 ( #12655 )
2025-07-31 16:13:45 +08:00