Avatar for the swc-project user
swc-project
swc
BlogDocsChangelog

Performance History

Latest Results

fix(ci): Raise native addon MSRV to Rust 1.85 (#12491) <!-- Note: CI script will automatically rebase your PR so please do not rebase unless required --> <!-- Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. --> **Description:** The Windows native carrier MSRV check fails before compilation because the pinned `jobserver 0.1.35` requires Rust 1.85 and its Windows dependency, `getrandom 0.4.3`, uses edition 2024. Cargo 1.73 cannot parse that dependency's manifest. Raise the three private native addon crates' MSRV to Rust 1.85, and use Rust 1.85.0 in the MSRV harness and Windows release check. Update the related comments and documentation, preserve the historical verification record, and add a `swc_core: patch` changeset. Pinned dependencies, the repository lockfile, public APIs, and the workspace toolchain are unchanged. Validation on macOS aarch64 for the implementation in `9b4c869dbf`: - `git submodule update --init --recursive` completed. - Rust 1.85.0 MSRV harness and tests for all three private crates passed. - `cargo fmt --all` and `cargo clippy --all --all-targets -- -D warnings` passed. Clippy emitted configuration warnings for the existing workspace-level Rust 1.73 setting. - `packages/core`: `pnpm build:dev` passed; `pnpm test` passed with 119 tests and 40 files passing, and three tests and two files skipped. - The initial MSRV and crate test runs failed because macOS's `/var` is a symlink. Both full suites passed after canonicalizing `TMPDIR`, matching the existing release workflow. Test assertions were not changed. - Windows MSRV compilation and embedded cleanup-worker execution remain unverified locally and require Windows CI. Three explicit filesystem tests remained ignored by default. The current failed release checks out the existing nightly tag. After merging this fix, start a new release run that includes it; rerunning the old release will still use the old tagged source. Existing tags are not changed by this PR. **BREAKING CHANGE:** Building the three private, unpublished native addon crates now requires Rust 1.85 instead of Rust 1.73. Published Rust crate MSRV declarations and npm runtime requirements are unchanged. **Related issue (if exists):** Failure evidence: https://github.com/swc-project/swc/actions/runs/37585439164/job/112741953018
main
2 hours ago
feat(es/codegen)!: support configurable output indentation (#12490) <!-- Note: CI script will automatically rebase your PR so please do not rebase unless required --> <!-- Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. --> **Description:** The compile pipeline always uses four spaces for indentation. Add `jsc.output.indentString` to `.swcrc` and the TypeScript configuration types so callers can select two spaces, a tab, or an empty string. Omitting the option keeps four spaces. Minified output remains unaffected. Pass the configured string to the code writer by reference, without copying or leaking it. Add fixtures for nested indentation, default output, source maps, and minified output, plus a CLI `compile` regression test. **BREAKING CHANGE:** Rust callers that construct `JscOutputConfig` or `PrintArgs` without `..Default::default()` must add `indent_string`. Use `None` to retain default indentation. **Related issue (if exists):** Closes #12488 **Validation:** The following checks passed for the reviewed source at `c0706901af`: - `cargo fmt --all` - `cargo clippy --all --all-targets -- -D warnings` - `cargo test -p swc` - `cargo test -p swc_compiler_base` - `cargo test -p swc_ecma_codegen` - `cargo test -p swc_cli_impl` - `UPDATE=1 cargo test -p swc --test projects codegen__indent`, followed by the same command without `UPDATE` - `pnpm --dir packages/types build` - `pnpm --dir packages/core build:dev` and `pnpm --dir packages/core test` (119 passed, 3 skipped) Only release metadata was added after these checks. Local validation was not rerun during publication. CI results are pending. ## AI assistance and human review AI was used to prepare these changes. Human-reviewed by @kdy1. - Harness: Codex desktop
main
2 hours ago
docs: Restore native addon verification record
kdy1/raise-native-addon-msrv
2 hours ago
chore: Add changeset
kdy1/issue-12488-output-indentation
4 hours ago
fix(ci): Match Rust's z10 baseline in s390x release builds (#12489) <!-- Note: CI script will automatically rebase your PR so please do not rebase unless required --> <!-- Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. --> **Description:** The s390x core and React Compiler release builds fail while assembling `psm 0.1.21`. The GCC compiler from `@napi-rs/cross-toolchain-x64-target-s390x@1.0.3` rejects the `lay` instructions and a negative displacement in `zseries_linux.s` with its default architecture. Set `CFLAGS_s390x_unknown_linux_gnu=-march=z10` in the s390x build script to match Rust's default target CPU. The setting covers the core CLI and all four native addons. Add a regression test that executes each product's build branch with stub commands and checks the compiler flag at every invocation. This changes release tooling only. The changeset has no crate version bumps. Validation: - `node --test scripts/native/workflow.test.mjs`: 8 passed. The new test fails when the compiler setting is removed. - `node --test scripts/native/*.test.mjs`: 23 passed, 1 Windows-specific test skipped on macOS. - `cargo fmt --all`: passed. - `cargo clippy --all --all-targets -- -D warnings`: passed. - Prettier and `git diff --check`: passed. - In a Linux amd64 Docker container, the exact CI cross-toolchain reproduces all three assembler errors without the flag. With `-march=z10`, the same `psm` assembly produces an IBM S/390 ELF object successfully. A complete native release build has not been run locally. PR CI is pending. **Related issue (if exists):** Failed workflow: https://github.com/swc-project/swc/actions/runs/37578353726
main
7 hours ago
chore: Add changeset
kdy1/fix-s390x-release-assembly
7 hours ago
chore: Add changeset
codex/fix-jsx-sequence-expressions-12484
3 days ago

Latest Branches

CodSpeed Performance Gauge
0%
fix(ci): Raise native addon MSRV to Rust 1.85#12491
2 hours ago
27897fa
kdy1/raise-native-addon-msrv
CodSpeed Performance Gauge
0%
4 hours ago
333c7a9
kdy1/issue-12488-output-indentation
CodSpeed Performance Gauge
0%
7 hours ago
11fe370
kdy1/fix-s390x-release-assembly
© 2026 CodSpeed Technology
Home Terms Privacy Docs