Markdown parser now keeps quotes stable in deep lists (
0da9080)
Fixed block quotes nested inside deeply indented list items so proseWrap: "always" wraps consecutive quote lines together instead of flattening them. The parser/formatter changes also preserve setext headings and fenced code blocks in these nested cases.
Markdown embeds preserve fenced-block frontmatter (
fa7cf4c)
When Markdown embeds are formatted with frontmatter parsing enabled, fenced Markdown code blocks now keep their frontmatter intact instead of reformatting it into a thematic break and paragraph. That avoids stripping YAML indentation inside embedded markdown.
Duplicate-case / else-if / fallthrough lint rules are now linear (
f00637c)
Several switch/branch analysis rules were reworked to avoid quadratic behavior, using hashing and a new traversal strategy to scale linearly on large inputs. This should make noDuplicateCase, noDuplicateElseIf, and noFallthroughSwitchClause noticeably faster on complex codebases.
Unused-private-member detection got a faster traversal (
17cdba8)
noUnusedPrivateClassMembers was refactored to track members by name and stop scanning once all candidates are resolved, reducing unnecessary work. The same commit also streamlined useHookAtTopLevel and noUnusedImports internals to improve lint performance.
Imported type/value merges now resolve correctly in annotations (
59ff42a)
Type inference now prefers the type side when an import refers to a symbol exported as both a type and a value, fixing false positives in type annotations. This matters for rules like noBaseToString, which previously could misclassify such imports as objects.