#11499 9743d0c Thanks @scs0209! - Fixed #11496: useValidAnchor now treats Astro JSX shorthand attributes like <a {href}> as a valid href.
#11437 88f805e Thanks @Princesseuh! - Fixed #9944: adjacent elements inside an Astro expression now parse as an implicit fragment instead of raising an error.
{options.map(() =>
)}
#11437 88f805e Thanks @Princesseuh! - Fixed Astro templates rejecting unclosed HTML void elements, such as {cond && }.
#11501 e6acded Thanks @aminya! - Improved the performance of useArraySortCompare by skipping type inference for calls to unrelated methods.
#11467 66b282c Thanks @dyc3! - Fixed #11464: Biome now parses parenthesized object literals returned from arrow functions when they contain a conditional expression and a nested arrow function.
#11456 db9aa2a Thanks @dyc3! - Fixed #10278: Marked the fix for noThisInStatic as unsafe by default.
#11502 652aedb Thanks @levrik! - noGlobalAssign no longer reports assignments to a Vue
What's Changed
feat(js_plugin): support TypeScript plugins by @siketyan in #11418
chore: rework skills by @ematipico in #11449
fix(lint/js): mark no-this-in-static fixes unsafe by @dyc3 in #11456
fix(grit): match named re-export specifiers by @dyc3 in #11458
feat(lint): rule noUndeclaredCustomProperties by @ematipico in #11191
feat: adds the noAstroSetHtmlDirective rule for .astro by @jp-knj in #11322
fix(html): ignore punctuation in Vue attribute casing by @dyc3 in #11462
ci: remove agent scan workflow by @ematipico in #11472
chore(tools): configure the agent scan by @ematipico in #11473
fix(yaml/parse): coverage and more fixes by @ematipico in #11471
fix(parse/js): disambiguate parenthesized object expressions by @dyc3 in #11467
perf(markdown): hoist list sibling scan by @dyc3 in #11466
perf(markdown): inline common word group atom by @dyc3 in #11468
perf(markdown): scan textual whitespace runs once by @dyc3 in #11469
fix(noUnusedVariables): handle generic parameters in function overloads by @1678092075 in #11407
chore: update Rust to 1.98.0 by @nhedger in #11481
chore(deps): update rust crate papaya to 0.2.5 by @renovate[bot] in #11485
chore(deps): update pnpm to v11.22.0 by @renovate[bot] in #11486
chore(tools): fix agent scan configuration by @ematipico in #11489
fix(js/parser): support Astro implicit fragments and void elements by @Princesseuh in #11437
perf(format/markdown): avoid quadratic list formatting by @dyc3 in #11482
fix(markdown): keep blockquote fenced code formatting idempotent by @scs0209 in #11493
fix(graphql_analyze): useGraphqlNamingConvention exclude trivia by @Netail in #11495
fix(lint): don’t report variables and imports used as custom Vue directives by @levrik in #11435
fix(lint): recognize Astro JSX shorthand href in useValidAnchor by @scs0209 in #11499
perf(analyzer): fast-path for useArraySortCompare via syntax before type inference by @aminya in #11501
chore: changesets 3 by @Netail in #11412
perf(markdown): reduce parser rescans by @ematipico in #11503
perf(markdown): reduce checks and string allocations by @ematipico in #11505
fix(noGlobalAssign): do not report assignments to bindings from Vue setup script by @levrik in #11502
feat(analyze/vue): track embedded references in v-bind css by @dyc3 in #11507
perf(markdown): reduce checks by @ematipico in #11506
fix(format/html/vue): preserve Vue interpolation adjacency by @dyc3 in #11476
perf(md): reduce checks for link lookahead by @ematipico in #11514
fix(noVueRefAsOperand): do not report identifiers unrelated to a ref call by @levrik in #11516
perf(type_inference): collect declaration only class methods as class members by @dyc3 in #11515
refactor(noVueRefAsOperand): overhaul rule, and make it faster by @dyc3 in #11526
fix(service): preserve embedded references in stateless processing by @dyc3 in #11398
refactor(ci): agentscan setup by @MatteoGabriele in #11527