NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3768 most downloaded on crates.io
A collection of JavaScript tools written in Rust.
Last release 3 days ago
05 Oct 2026
Ships on a steady schedule
a new release about every 2 weeks
Some releases are documented
notes for 25 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
208 releases · first in 2023
One column per quarter.
Nothing published for this version
a9f0d2b ast_tools: Generate field offset assertions for more types (#9449) (overlookmotel)
55ed1df ast/estree: Shorten ESTree impls for enums (#9275) (overlookmotel)
ESTree impls for enums (#9275) (overlookmotel)216b33f ast/estree: [BREAKING] Replace serde with custom ESTree serializer (#9256) (overlookmotel)
serde with custom ESTree serializer (#9256) (overlookmotel)#[builder(skip)] attribute for structs and enums (#9205) (overlookmotel)clippy::too_long_first_doc_paragraph (#9237) (Boshen)Deserialize for CompactStr (#9249) (overlookmotel)Serialize manually for Atom (#9196) (overlookmotel)Nothing published for this version
Nothing published for this version
b7ff7e1 span: [BREAKING] Export ContentEq trait from root of oxc_span crate (#8869) (overlookmotel)
ContentEq trait from root of oxc_span crate (#8869) (overlookmotel)directives in body (#8981) (hi-ogawa)f64::content_eq return false for 0 and -0 (#9007) (overlookmotel)SourceType (#8936) (overlookmotel)Serialize impls flatten struct fields (#8904) (overlookmotel)#[content_eq(skip)] attr (#8875) (overlookmotel)#[estree(always_flatten)] attr to #[estree(flatten)] (#8871) (overlookmotel)Span type and impls in 1 file (#8900) (overlookmotel)#[allow] with #[expect] (#8930) (overlookmotel)0568210 ast: Remove excess line breaks from generated code (#8830) (overlookmotel)
Nothing published for this version
54d0fac span: [BREAKING] Remove PartialEq impl for &Atom (#8642) (overlookmotel)
PartialEq impl for &Atom (#8642) (overlookmotel)Atoms (#8641) (overlookmotel)Atom impls (#8639) (overlookmotel)Copy on Atom (#8596) (branchseer)Nothing published for this version
7066d1c ast, span, syntax, regular_expression: [BREAKING] Remove ContentHash (#8512) (overlookmotel)
ContentHash (#8512) (overlookmotel)Spans as single u64s (#8300) (overlookmotel)Span as a single u64 (#8299) (overlookmotel)Span same as usize (#8298) (overlookmotel)String type (#8568) (overlookmotel)Span (#8297) (overlookmotel)9d550aa span: Add Atom::r#static (#8479) (_Kerman)
Atom::r#static (#8479) (_Kerman)Atom::new_const method (#8480) (overlookmotel)e81f34f span: Reformat code (#8296) (overlookmotel)
11c4bd8 span: Implement source type {file basename}.d.{extension}.ts (#8109) (Boshen)
{file basename}.d.{extension}.ts (#8109) (Boshen)Nothing published for this version
c30a982 span: Add impl From for Atom (#7973) (overlookmotel)
impl From<ArenaString> for Atom (#7973) (overlookmotel)cargo +nightly fmt (#7877) (Boshen)8991f33 ast: Add visit_span to Visit and VisitMut (#7816) (overlookmotel)
visit_span to Visit and VisitMut (#7816) (overlookmotel)Nothing published for this version
Nothing published for this version
b553d6f span: Fix clippy warning (#7591) (overlookmotel)
ModuleRecord (#7556) (Boshen)Nothing published for this version
Nothing published for this version
dc0215c ast_tools: Add #[estree(append_to)], remove some custom serialization code (#7149) (ottomated)
9725e3c ast_tools: Add #[estree(always_flatten)] to Span (#6935) (ottomated)
1145341 ast_tools: Output typescript to a separate package (#6755) (ottomated)
clippy::wildcard_imports (#6860) (Boshen)85d5220 span: Enhance Span documentation (#6707) (DonIsaac)
Span documentation (#6707) (DonIsaac)ESTree derive (#6680) (overlookmotel)impl Serialize (#6684) (overlookmotel)#[allow] attrs to top of generated files (#6679) (overlookmotel)Span::is_empty unit tests (#6706) (Don Isaac)e310e52 parser: Generate Serialize impls in ast_tools (#6404) (ottomated)
Serialize impls in ast_tools (#6404) (ottomated)ModuleKind::Unambiguous (#6423) (Boshen)ContentHash::content_hash_slice (#6609) (DonIsaac)Nothing published for this version
Nothing published for this version
fd6798f parser: Remove unintended pub Kind (#6109) (Boshen)
pub Kind (#6109) (Boshen)Nothing published for this version
Nothing published for this version
Nothing published for this version
a5f2e9a span: Impl From > for Atom (#5809) (DonIsaac)
From<Atom<'a>> for Atom (#5809) (DonIsaac)Program::source_type after transform (#5887) (Boshen)Nothing published for this version
f49e6eb span: Treat .js as module file (reverts the previous breaking change) (#5612) (Boshen)
4a8aec1 span: [BREAKING] Change SourceType::js to SourceType::cjs and SourceType::mjs (#5606) (Boshen)
603817b oxc: [BREAKING] Add SourceType::Unambiguous; parse .js as unambiguous (#5557) (Boshen)
format_compact_str! macro (#5610) (overlookmotel)always_strict to test262 and typescript per the specifcation (#5555) (Boshen).js as module file (reverts the previous breaking change) (#5612) (Boshen)CompactStr into separate file (#5609) (overlookmotel)90facd3 ast: Add ContentHash trait; remove noop Hash implementation from Span (#5451) (rzvxa)
ContentHash trait; remove noop Hash implementation from Span (#5451) (rzvxa)ContentEq trait. (#5427) (rzvxa)ContentEq Vec comparison speed (#5478) (overlookmotel)ContentEq trait definition. (#5468) (rzvxa)Hasher from std (#5476) (overlookmotel)f81e8a1 linter: Add oxc/no-async-endpoint-handlers (#5364) (DonIsaac)
oxc/no-async-endpoint-handlers (#5364) (DonIsaac)CompactStr::to_compact_string method (#5385) (Boshen)Display and Error for UnknownExtension (#5240) (DonIsaac).cjs and .cts files as ModuleKind::Script (#5239) (DonIsaac)SourceType factories const (#5241) (DonIsaac)7706523 span: Clarify Atom conversion methods lifetimes (#4978) (overlookmotel)
Atom conversion methods lifetimes (#4978) (overlookmotel)90d0b2b allocator, ast, span, ast_tools: Use allocator as var name for Allocator (#4900) (overlookmotel)
allocator as var name for Allocator (#4900) (overlookmotel)096ac7b linter: Clean up jsx-a11y/anchor-is-valid (#4831) (DonIsaac)
b3c3125 linter: Overhaul unicorn/no-useless-spread (#4791) (DonIsaac)
54047e0 ast: GetSpanMut trait (#4609) (overlookmotel)
GetSpanMut trait (#4609) (overlookmotel)Span through ast_codegen (#4703) (overlookmotel)SourceType through ast_codegen. (#4696) (rzvxa)CloneIn for the AST-related items. (#4729) (rzvxa)Cow and CompactStr instead of String (#4603) (DonIsaac)54047e0 ast: GetSpanMut trait (#4609) (overlookmotel)
GetSpanMut trait (#4609) (overlookmotel)Cow and CompactStr instead of String (#4603) (DonIsaac)Nothing published for this version
e2735ca span: Add contains_inclusive method (#4491) (DonIsaac)
contains_inclusive method (#4491) (DonIsaac)ea33f94 Impl PartialEq for CompactStr (#4352) (DonIsaac)
Nothing published for this version
Nothing published for this version
Nothing published for this version
44c7fe3 span: Add various implementations of FromIn for Atom. (#4090) (rzvxa)
FromIn for Atom. (#4090) (rzvxa)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
2705df9 linter: Improve diagnostic labeling (#3960) (DonIsaac)
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →