# What changed in @lobehub/lint

> 31 changes in @lobehub/lint 2 from its official release notes, upgrade guides and advisories: 11 breaking, 7 new APIs and options. Each one cited. Sources checked 2026-10-28. HTML: https://unstale.sh/npm/@lobehub/lint/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @lobehub/lint 2

### Breaking changes

- Un-aborted fetch requests are now errors; abort requests on cleanup with an AbortController. (2.1.7) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-217)
- React-hooks violations, including missing hook dependencies, are reported once; use react-hooks/* ids in disable comments because the nine @eslint-react copies are off. (2.1.7) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-217)
- @lobehub/eslint-config and @lobehub/lint now require typescript >=5 <7 as a peer; TypeScript 7 is unsupported, so install typescript@^6. (2.1.7) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-217)
- The rule ID is renamed to jsx-no-namespace; disable comments using the old ID become unused directives. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Rule IDs are renamed to dom-no-*; disable comments using the old IDs become unused directives. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Adds an error for placing a key prop after a spread in JSX; it is not autofixable. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Reports the same violations as react-hooks/rules-of-hooks, so each violation is reported twice. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Rule IDs are renamed to naming-convention-*; disable comments using the old IDs become unused directives. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- The rule ID is renamed to rsc-function-definition; disable comments using the old ID become unused directives. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Rule IDs are renamed to web-api-no-leaked-*; disable comments using the old IDs become unused directives. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- eslint-config now bans default exports, so code using them will violate the lint rules. (2.1.5) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-215)

### New APIs and options

- Adds a warning for leaked dollar usage in JSX. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Adds a warning for leaked semicolon usage in JSX. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Adds a CommonJS changelog configuration entry point. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Adds a CommonJS entry point for release configuration. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Adds a CommonJS entry point for monorepo release configuration. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Adds a warning for leaked fetch usage. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Adds a warning for leaked IntersectionObserver usage. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)

### Behavior and default changes

- The scaffolder installs TypeScript 6 instead of the latest 7. (2.1.7) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-217)
- Perf commits now appear in release notes. (2.1.7) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-217)
- The rule is turned off to stop circular autofixes with regexp/strict. (2.1.7) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-217)

### Tooling

- check-release.mjs now checks every workspace package. (2.1.7) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-217)
- Adds an error when an element has both a children prop and children content; an editor suggestion is available. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Adds a warning for JSX children-prop usage. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- The ESLint configuration now supports MDX files. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)

### Fixes and other changes

- require() is allowed in commonjs and rc config files, which no longer fail no-require-imports. (2.1.7) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-217)
- The config no longer fails with ERR_PACKAGE_PATH_NOT_EXPORTED for zod-validation-error/v4; pnpm lockfiles that hold 3.5.4 still need an update. (2.1.7) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-217)
- The skill writes this configuration file and migrates workspace packages. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Stylelint fixes for logical properties now preserve CSS-in-JS interpolations. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- Stops the rule from merging imports into invalid type imports. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
- The skill now always writes this file and verifies it with getConfig; it also writes it when semantic-release is below 22. (2.1.6) — [release notes](https://github.com/lobehub/lobe-lint/blob/6d0a1a4f9b76e03341ccda670ec9f370dd455316/CHANGELOG.md#version-216)
