mirror of
https://github.com/oxc-project/oxc.git
synced 2026-09-14 19:36:11 +08:00
14533a3dc1
### 💥 BREAKING CHANGES -54cc121ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and `NewTarget` (#24557) (camc314) ### 🚀 Features -4c71560parser: More friendly error for spread element in dynamic imports (#24705) (sapphi-red) -7b045cdminfier: Drop last break from last switch case (#24673) (Armano) -7d3c178minifier: Remove unreachable recursive functions (#24125) (Dunqing) -94f99b3ast: Allow `NONE` to be passed to AST builder methods where `Option<ArenaVec>` is expected (#24629) (overlookmotel) -77230c5ast: Accept arrays for `ArenaVec` params of AST builder methods (#24621) (overlookmotel) -f08b152allocator: Implement `FromIn` for array to `Vec` conversion (#24620) (overlookmotel) -2338c13track-memory-allocations: Track heap deallocs, alloc bytes, and peak growth (#24619) (Boshen) -7aa4739syntax,transformer: Move JSX entity decoder to `oxc_syntax` (#24617) (camc314) -2b097c4str: Export `Str` as `ArenaStr` (#24604) (overlookmotel) -3acf4c1minifier: Expand switch optimiation to remove empty cases (#24520) (Armano) -129b759parser: Improve diagnostics for unparenthesized LHS on exponential expr (#24569) (camc314) -4d0c601minifier: Fold arithmetic over undefined and null operands (#24485) (Dunqing) -91541ddminifier: Drop empty switch statements (#24527) (Armano) -d05224dast_visit: Generate VisitJs visitor that skips TypeScript type-space (#24499) (Boshen) -3d22307parser: Add `ParseOptions::enable_ident_hashes` (#24491) (Boshen) ### 🐛 Bug Fixes -64c2241minifier: Align class heritage removal with assumptions (#24533) (Dunqing) -48b59f4parser: Span ambient generator diagnostics (#24711) (camc314) -e750a82ecmascript: Fix false negative for may_have_side_effects on dynamic property access (#24709) (sapphi-red) -f145d73minifier: Guard reordered identifier reads (#24698) (Dunqing) -a2ef382isolated-declarations: Reject `window.Symbol` as global symbol reference (#24689) (camc314) -b1bcf72minifier: Invalidate facts for redeclared bindings (#24658) (Dunqing) -921b834minifier: Don't treat a conditionally-assigned var as write-once (#24650) (Dunqing) -061af1fminifier: Avoid stale pure function summaries (#24636) (Dunqing) -40c2f43allocator: `Vec::from_array_in` do not allocate zero-length array (#24628) (overlookmotel) -70994aecodegen: Preserve comments before expression operands (#24510) (Dunqing) -7b4baffparser: Reject new import member access (#23459) (camc314) -128b385minifier: Clippy warning with no-debug-assertions (#24547) (camc314) -8421febparser: Use first `as` span for imported name (#24537) (leaysgur) -c517aa0parser: Reject invalid accessor assertions (#24504) (camc314) ### ⚡ Performance -884d9ebparser: Pre-size cover-grammar assignment target buffers (#24683) (Boshen) -d3f07a0diagnostics: Box OxcDiagnosticInner to reduce binary size (#24665) (Boshen) -bcc9de0parser: Defer diagnostic creation until parse exit (#24663) (Boshen) -c35d8aballocator: Mark `ReplaceWith` panic path cold (#24515) (camc314) -ba65790semantic, allocator: Branchless `clone_in` for semantic IDs (#24564) (overlookmotel) -747feecparser: Build AST nodes with the AST builder instead of cloning (#24540) (Boshen) -ba35a0dreact_compiler: Use IndexVec for dense id-keyed maps (#24549) (Boshen) -b685062react_compiler: Keep small hot-path collections inline (#24514) (Marius Schulz) -a149e95transformer: Outline rare expression exits (#24512) (camc314) -7808a6ereact_compiler: Make aliasing effects cheap to intern and clone (#24506) (Marius Schulz) -3a36f2areact_compiler: Store AbstractValue reasons as a u16 bitmask (#24480) (Boshen) -1c96753react_compiler: Use FxHashMap for the lookup-only aliasing node map (#24490) (Boshen) Co-authored-by: Cameron <cameron.clark@hey.com>
18 KiB
18 KiB
Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog.
[0.141.0] - 2026-07-20
⚡ Performance
ba65790semantic, allocator: Branchlessclone_infor semantic IDs (#24564) (overlookmotel)
[0.136.0] - 2026-06-15
⚡ Performance
da1a6c6diagnostics: Migrate to allocation-optimized oxc-miette (#23094) (Boshen)
[0.125.0] - 2026-04-13
💥 BREAKING CHANGES
382958aspan: [BREAKING] Remove re-exports of string types fromoxc_spancrate (#21246) (overlookmotel)c4aedfastr: [BREAKING] Addstatic_ident!macro (#21245) (overlookmotel)
⚡ Performance
8c51121napi/parser, linter/plugins: Raw transfer deserializeSpanfields asi32s (#21135) (overlookmotel)
[0.123.0] - 2026-03-30
📚 Documentation
a147878span: RemoveAtomfrom README (#20836) (overlookmotel)
[0.116.0] - 2026-03-02
🚀 Features
655c38fsemantic: Add "did you mean?" suggestions to undefined name errors (#19102) (copilot-swe-agent)
[0.114.0] - 2026-02-16
🚀 Features
ebb80b3ast: Addnode_idfield to all AST struct nodes (#18138) (Boshen)
📚 Documentation
569aa61rust: Add missing rustdocs and remove missing_docs lint attrs (#19306) (Boshen)
[0.113.0] - 2026-02-10
💥 BREAKING CHANGES
48b0542span: [BREAKING] SourceType::ts should set module to unambigious (#18873) (Boshen)
🚀 Features
18320c6span: Store file extension inSourceType(#18893) (Boshen)
[0.111.0] - 2026-01-26
💥 BREAKING CHANGES
777fc40ast: [BREAKING] AddIdenttype (#18354) (Boshen)af0ca46span: [BREAKING] UseModuleKind::CommonJSforSourceType::cjs()(#18276) (sapphi-red)
[0.109.0] - 2026-01-19
💥 BREAKING CHANGES
ba9c750span: [BREAKING] UseModuleKind::CommonJSfor.cjsand.ctsfile extensions (#18117) (Boshen)
🚀 Features
66b8c02parser: Implement unambiguous module parsing for JS/TS files (#18124) (Boshen)08dad63span: AddsourceType: 'commonjs'support (#18089) (Boshen)
[0.104.0] - 2025-12-19
🚀 Features
5586823span: Extract TS declaration file check to its own function (#17037) (camchenry)
[0.100.0] - 2025-12-01
⚡ Performance
cc2f352span: Add#[inline]toAtommethods (#16311) (overlookmotel)ffca070span: Add#[repr(transparent)]toAtom(#16310) (overlookmotel)
[0.99.0] - 2025-11-24
🚀 Features
6cff132span: AddSpan::merge_withinmethod (#15869) (sapphi-red)
[0.97.0] - 2025-11-11
📚 Documentation
3dc24b5linter,minifier: Always refer as "ES Modules" instead of "ES6 Modules" (#15409) (sapphi-red)
[0.91.0] - 2025-09-22
💼 Other
fb347dacrates: V0.91.0 (#13961) (Boshen)
[0.88.0] - 2025-09-15
🐛 Bug Fixes
ab51394raw_transfer: Disable layout assertions on some 32-bit platforms (#13716) (overlookmotel)
🚜 Refactor
babbacaall: Removepubfrom modules with no exports (#13618) (overlookmotel)
[0.80.0] - 2025-08-03
🚀 Features
43eb80dspan: Addmove_rightandmove_left(#12646) (Sysix)
📚 Documentation
de1de35rust: Add comprehensive README.md documentation for all Rust crates (#12706) (Copilot)
[0.77.2] - 2025-07-17
🐛 Bug Fixes
dac4db9linter/exhaustive-deps: Better diagnostics for missing dependencies (#12337) (Don Isaac)
[0.75.1] - 2025-07-03
🐛 Bug Fixes
d7076b3ast/estree: Add optionalrangefield toSpanin TS type defs (#12014) (overlookmotel)
🚜 Refactor
016634fast/estree: Introduceserialize_spanmethod (#12013) (overlookmotel)
Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog, and this project does not adhere to Semantic Versioning until v1.0.0.
[0.72.3] - 2025-06-06
Features
590b809span: AddAtom::from_cow_inmethod (#11480) (overlookmotel)
[0.72.0] - 2025-05-24
c16ea02allocator: [BREAKING] RemoveString(#11262) (overlookmotel)
Features
4feeeeespan: AddAtom::from_strs_array_inmethod (#11261) (overlookmotel)
Refactor
f406202ast, span: UseStringBuilderinstead ofString(#11258) (overlookmotel)
[0.71.0] - 2025-05-20
5d9344frust: [BREAKING] Clippy avoid-breaking-exported-api = false (#11088) (Boshen)
Documentation
8570211span: Fix incorrect comments for functions (#11138) (Ulrich Stark)
Refactor
[0.70.0] - 2025-05-15
4e5c73bspan: [BREAKING]SourceType::from_path(".js")return js instead of jsx (#11038) (Boshen)
Bug Fixes
Performance
c50b1a5span: Faster conversion of path/extension toSourceType(#10996) (overlookmotel)
Refactor
567368espan: Removesource_typemodule (#11024) (overlookmotel)
Styling
ff4d160span: List exports individually (#11025) (overlookmotel)
[0.69.0] - 2025-05-09
Features
d066516ast_tools: Support#[estree(prepend_to)](#10849) (overlookmotel)
Refactor
b16331east/estree: Generalize concatenating fields withConcat2(#10848) (overlookmotel)
Styling
62c3a4aast_tools: Add full stop to end of generated comments (#10809) (overlookmotel)
[0.68.0] - 2025-05-03
Features
0105253span: Introduceformat_atom!macro (#10722) (overlookmotel)
Bug Fixes
48c542dlinter: Skip linting vue <script> wherelangis not js / ts (#10740) (Boshen)
[0.63.0] - 2025-04-08
Bug Fixes
52f2a40span/estree: SkipModuleKind::Unambiguousvarient forestree(#10146) (Dunqing)
[0.62.0] - 2025-04-01
Features
8cd7430allocator:TakeIntrait (#9969) (overlookmotel)
Refactor
d8e49a1linter: Compute lintable extensions at compile time (#10090) (camchenry)
[0.56.4] - 2025-03-07
Refactor
62bffedrust: Allow a few annoying clippy rules (#9588) (Boshen)
[0.54.0] - 2025-03-04
Features
a9f0d2bast_tools: Generate field offset assertions for more types (#9449) (overlookmotel)
Performance
b0a0a82ast/estree: Reduce overhead serializing static strings (#9396) (overlookmotel)
Refactor
dcff40cast_tools: Generate layout assertions in multiple crates (#9448) (overlookmotel)
[0.53.0] - 2025-02-26
Refactor
55ed1dfast/estree: ShortenESTreeimpls for enums (#9275) (overlookmotel)
[0.52.0] - 2025-02-21
216b33fast/estree: [BREAKING] Replaceserdewith customESTreeserializer (#9256) (overlookmotel)
Features
124b3cbast_tools: Add#[builder(skip)]attribute for structs and enums (#9205) (overlookmotel)
Documentation
3414824oxc: Enableclippy::too_long_first_doc_paragraph(#9237) (Boshen)
Refactor
007c857span: Manually deriveDeserializeforCompactStr(#9249) (overlookmotel)be27164span: ImplementSerializemanually forAtom(#9196) (overlookmotel)
[0.49.0] - 2025-02-10
b7ff7e1span: [BREAKING] ExportContentEqtrait from root ofoxc_spancrate (#8869) (overlookmotel)
Bug Fixes
7e6a537ast: Includedirectivesinbody(#8981) (hi-ogawa)81bed37span:f64::content_eqreturnfalsefor0and-0(#9007) (overlookmotel)
Refactor
c58f785ast: Simplify serializingSourceType(#8936) (overlookmotel)cbb4e9cast: GeneratedSerializeimpls flatten struct fields (#8904) (overlookmotel)caa651cast:#[content_eq(skip)]attr (#8875) (overlookmotel)7ddd219ast: Rename#[estree(always_flatten)]attr to#[estree(flatten)](#8871) (overlookmotel)abfe5bfast: Shorten generated code for numbers (#8864) (overlookmotel)f69de07ast: Remove unneeded lint attrs from generated code (#8862) (overlookmotel)e930caespan: CombineSpantype and impls in 1 file (#8900) (overlookmotel)
Styling
a4a8e7dall: Replace#[allow]with#[expect](#8930) (overlookmotel)
[0.48.2] - 2025-02-02
Refactor
0568210ast: Remove excess line breaks from generated code (#8830) (overlookmotel)
[0.48.0] - 2025-01-24
54d0facspan: [BREAKING] RemovePartialEqimpl for&Atom(#8642) (overlookmotel)
Refactor
b8d9a51span: Deal only in ownedAtoms (#8641) (overlookmotel)20f52b1span: Remove unnecessary lifetimes onAtomimpls (#8639) (overlookmotel)ac4f98espan: DeriveCopyonAtom(#8596) (branchseer)
[0.47.0] - 2025-01-18
7066d1cast, span, syntax, regular_expression: [BREAKING] RemoveContentHash(#8512) (overlookmotel)
Features
Performance
63eb298span: CompareSpans as singleu64s (#8300) (overlookmotel)a43560cspan: HashSpanas a singleu64(#8299) (overlookmotel)3fff7d2span: AlignSpansame asusize(#8298) (overlookmotel)
Refactor
ac05134allocator:Stringtype (#8568) (overlookmotel)b5ed58espan: All methods take ownedSpan(#8297) (overlookmotel)
[0.46.0] - 2025-01-14
Features
9d550aaspan: AddAtom::r#static(#8479) (_Kerman)
Refactor
de5b288span: RenameAtom::new_constmethod (#8480) (overlookmotel)
[0.45.0] - 2025-01-11
Styling
e81f34fspan: Reformat code (#8296) (overlookmotel)
[0.44.0] - 2024-12-25
Features
11c4bd8span: Implement source type{file basename}.d.{extension}.ts(#8109) (Boshen)
[0.42.0] - 2024-12-18
Features
c30a982span: Addimpl From<ArenaString> for Atom(#7973) (overlookmotel)
Refactor
3858221global: Sort imports (#7883) (overlookmotel)
Styling
7fb9d47rust:cargo +nightly fmt(#7877) (Boshen)
[0.41.0] - 2024-12-13
Features
8991f33ast: Addvisit_spantoVisitandVisitMut(#7816) (overlookmotel)
[0.39.0] - 2024-12-04
Bug Fixes
b553d6fspan: Fix clippy warning (#7591) (overlookmotel)
Refactor
823353alinter: Clean up APIs forModuleRecord(#7556) (Boshen)
[0.36.0] - 2024-11-09
Features
dc0215cast_tools: Add #[estree(append_to)], remove some custom serialization code (#7149) (ottomated)
[0.35.0] - 2024-11-04
Features
9725e3cast_tools: Add #[estree(always_flatten)] to Span (#6935) (ottomated)169fa22ast_tools: Default enums to rename_all = "camelCase" (#6933) (ottomated)
[0.34.0] - 2024-10-26
Features
1145341ast_tools: Output typescript to a separate package (#6755) (ottomated)
Refactor
423d54crust: Remove the annoyingclippy::wildcard_imports(#6860) (Boshen)
[0.33.0] - 2024-10-24
Documentation
85d5220span: EnhanceSpandocumentation (#6707) (DonIsaac)
Refactor
85e69a1ast_tools: Add line breaks to generated code forESTreederive (#6680) (overlookmotel)ad8e293ast_tools: Shorten generated code forimpl Serialize(#6684) (overlookmotel)9ba2b0east_tools: Move#[allow]attrs to top of generated files (#6679) (overlookmotel)
Testing
d4a2529span: AddSpan::is_emptyunit tests (#6706) (Don Isaac)
[0.32.0] - 2024-10-19
Features
e310e52parser: GenerateSerializeimpls in ast_tools (#6404) (ottomated)
Documentation
de22b81data-structures: Enable lint warnings on missing docs, and add missing doc comments (#6612) (DonIsaac)9e9fa9espan: Enable lint warnings on missing docs (#6617) (overlookmotel)6a194f9span: Document validity ofModuleKind::Unambiguous(#6423) (Boshen)
Refactor
3faee66span: Remove unusedContentHash::content_hash_slice(#6609) (DonIsaac)
[0.30.4] - 2024-09-28
Bug Fixes
fd6798fparser: Remove unintendedpub Kind(#6109) (Boshen)
[0.30.0] - 2024-09-23
Features
a5f2e9aspan: ImplFrom<Atom<'a>>forAtom(#5809) (DonIsaac)a07f03atransformer: SyncProgram::source_typeafter transform (#5887) (Boshen)
[0.28.0] - 2024-09-11
-
4a8aec1span: [BREAKING] ChangeSourceType::jstoSourceType::cjsandSourceType::mjs(#5606) (Boshen) -
603817boxc: [BREAKING] AddSourceType::Unambiguous; parse.jsas unambiguous (#5557) (Boshen)
Features
b3cbd56span:format_compact_str!macro (#5610) (overlookmotel)
Bug Fixes
28b934ccoverage: Applyalways_strictto test262 and typescript per the specifcation (#5555) (Boshen)f49e6ebspan: Treat.jsasmodulefile (reverts the previous breaking change) (#5612) (Boshen)
Refactor
3d190a5span: MoveCompactStrinto separate file (#5609) (overlookmotel)5532628span: Put types and impl in the same mod file (Boshen)
[0.27.0] - 2024-09-06
Features
90facd3ast: AddContentHashtrait; remove noopHashimplementation fromSpan(#5451) (rzvxa)23285f4ast: AddContentEqtrait. (#5427) (rzvxa)
Documentation
3f204a9span: Update docs aboutContentEqVeccomparison speed (#5478) (overlookmotel)
Refactor
9f6e0edast: SimplifyContentEqtrait definition. (#5468) (rzvxa)94a6ac6span: UseHasherfromstd(#5476) (overlookmotel)
[0.26.0] - 2024-09-03
Features
f81e8a1linter: Addoxc/no-async-endpoint-handlers(#5364) (DonIsaac)1b20cebspan: AddCompactStr::to_compact_stringmethod (#5385) (Boshen)5a137f0span/source-type: Add SourceType factory methods (#5242) (DonIsaac)f5e05dbspan/source-type: ImplDisplayandErrorforUnknownExtension(#5240) (DonIsaac)
Bug Fixes
a6bb3b1span/source-type: Consider.cjsand.ctsfiles asModuleKind::Script(#5239) (DonIsaac)
Refactor
94f60e7span/source-type: MakeSourceTypefactoriesconst(#5241) (DonIsaac)
[0.25.0] - 2024-08-23
Refactor
7706523span: ClarifyAtomconversion methods lifetimes (#4978) (overlookmotel)
[0.24.3] - 2024-08-18
Refactor
90d0b2ballocator, ast, span, ast_tools: Useallocatoras var name forAllocator(#4900) (overlookmotel)
[0.24.2] - 2024-08-12
Refactor
096ac7blinter: Clean up jsx-a11y/anchor-is-valid (#4831) (DonIsaac)
[0.24.1] - 2024-08-10
Features
b3c3125linter: Overhaul unicorn/no-useless-spread (#4791) (DonIsaac)
[0.24.0] - 2024-08-08
Features
54047e0ast:GetSpanMuttrait (#4609) (overlookmotel)07607d3ast_codegen, span: ProcessSpanthrough ast_codegen (#4703) (overlookmotel)125c5fdast_codegen, span: ProcessSourceTypethrough ast_codegen. (#4696) (rzvxa)2e63618span: ImplementCloneInfor the AST-related items. (#4729) (rzvxa)
Performance
6ff200dlinter: Change react rules and utils to useCowandCompactStrinstead ofString(#4603) (DonIsaac)
Refactor
e1429e5span: Reduce #[cfg_attr] boilerplate in type defs (#4702) (overlookmotel)
[0.23.1] - 2024-08-06
Features
54047e0ast:GetSpanMuttrait (#4609) (overlookmotel)
Performance
6ff200dlinter: Change react rules and utils to useCowandCompactStrinstead ofString(#4603) (DonIsaac)
[0.22.1] - 2024-07-27
Features
e2735caspan: Addcontains_inclusivemethod (#4491) (DonIsaac)
[0.22.0] - 2024-07-23
Bug Fixes
ea33f94Impl PartialEq for CompactStr (#4352) (DonIsaac)
Performance
a207923Replace some CompactStr usages with Cows (#4377) (DonIsaac)
[0.18.0] - 2024-07-09
Features
44c7fe3span: Add various implementations ofFromInforAtom. (#4090) (rzvxa)
[0.16.1] - 2024-06-29
Refactor
2705df9linter: Improve diagnostic labeling (#3960) (DonIsaac)
[0.14.0] - 2024-06-12
Features
129f91espan: Port over more methods from TextRange (#3592) (Don Isaac)
Bug Fixes
d65202dspan: Correct doc comments (#3608) (overlookmotel)9e8f4d6transformer: Do not add__sourcefor generated nodes (#3614) (overlookmotel)
Refactor
f98f777linter: Add rule fixer (#3589) (Don Isaac)
[0.13.4] - 2024-06-07
Performance
9f467b8transformer: Avoid fragment update where possible (#3535) (overlookmotel)
Documentation
1d3c0d7span: Add doc comments tooxc_span::Span(#3543) (Don Isaac)
[0.13.2] - 2024-06-03
Features
679495catom: Get &str from Atom<'a> with lifetime of 'a (#3420) (Don Isaac)
[0.13.0] - 2024-05-14
Features
a52e321transformer/jsx-source: Get the correct lineNumber and columnNumber from the span. (#3142) (Dunqing)
Refactor
c84c116ast: Addis_strictmethods (#3227) (overlookmotel)2064ae9parser,diagnostic: One diagnostic struct to eliminate monomorphization of generic types (#3214) (Boshen)
[0.12.5] - 2024-04-22
Refactor
27102dfnapi: Remove unnecessary customSerializeimpl forAtom(#3041) (overlookmotel)
[0.10.0] - 2024-03-14
Features
8b3de77span:impl<'a> PartialEq<str> for Atom<'a>(#2649) (Boshen)4f9dd98span: RemoveFrom<String>andFrom<Cow>API because they create memory leak (#2628) (Boshen)-697b6b7Merge featuresserdeandwasmtoserialize(#2716) (Boshen)-265b2fbMiette v7 (#2465) (Boshen)
Refactor
cba1e2fast: ImportTsifyto shorten code (#2665) (overlookmotel)6b5723cast: Shorten manual TS defs (#2638) (overlookmotel)75ae563span: Change shape ofLanguage(#2680) (overlookmotel)b2de57aspan: SimplifyAtom(#2630) (overlookmotel)cb4e054span: RemoveAtom::Compactvariant (#2629) (Boshen)798a6dfspan: Disallow struct expression constructor forSpan(#2625) (Boshen)-89e8d15DeriveSerAttrson all AST types (#2698) (overlookmotel)-3c1e0dbReducecfg_attrboilerplate withSerAttrsderive (#2669) (overlookmotel)-d76ee6b"wasm" feature enable "serde" feature (#2639) (overlookmotel)-8001b2fMakeCompactStrimmutable (#2620) (overlookmotel)-0646bf3RenameCompactStringtoCompactStr(#2619) (overlookmotel)
[0.9.0] - 2024-03-05
Refactor
27052ebspan: RemoveAtomImpl(#2525) (Boshen)903f17cspan: Move base54 method to mangler (#2523) (Boshen)-c56b6cbReplace InlinableString with CompactString forAtom(#2517) (Boshen)
[0.7.0] - 2024-02-09
Features
6002560span: Fix memory leak by implementing inlineable string for oxc_allocator (#2294) (Boshen)
[0.6.0] - 2024-02-03
Features
cd5026cast: TypeScript definition for wasm target (#2158) (Nicholas Roberts)
[0.4.0] - 2023-12-08
Refactor
1a576f6rust: Move to workspace lint table (#1444) (Boshen)
[0.3.0] - 2023-11-06
Features
d8f07calinter: Support react/no-render-return-value (#1042) (Dunqing)
Refactor
d9ba532transformer: Add an empty SPAN utility for creating AST nodes (#1067) (Boshen)
Testing
b4b39b8semantic: Add scoping test cases (#954) (Don Isaac)
[0.2.0] - 2023-09-14
Features
027a67dminifier: Constant addition expression folding (#882) (Don Isaac)
Refactor
fdf288cImprove code coverage in various places (#721) (Boshen)