# What changed in @typescript-eslint/typescript-estree

> 27 changes in @typescript-eslint/typescript-estree 8 from its official release notes, upgrade guides and advisories: 9 breaking, 3 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@typescript-eslint/typescript-estree/

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

## @typescript-eslint/typescript-estree 8

### Breaking changes

- Require import attribute values to be string literals. (8.70.1) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8701-2026-09-21)
- The parser now throws for invalid import defer syntax. (8.65.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8650-2026-07-20)
- Parsing now throws for invalid definite assignment in class properties. (8.64.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8640-2026-07-13)
- Invalid class implements clauses are now forbidden. (8.53.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8530-2026-01-12)
- Invalid import equals declarations are now forbidden. (8.53.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8530-2026-01-12)
- Invalid extends and implements clauses in interface declarations are now forbidden. (8.53.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8530-2026-01-12)
- Type-only imports with both default and named specifiers are now forbidden. (8.53.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8530-2026-01-12)
- Binding patterns are disallowed in parameter properties. (8.48.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8480-2025-11-24)
- typescript-estree now forbids invalid modifiers in object methods. (8.46.2) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8462-2025-10-20)

### New APIs and options

- Adds an option to error on unsupported TypeScript versions. (8.65.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8650-2026-07-20)
- The parser now supports parsing import defer. (8.64.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8640-2026-07-13)
- Shortcut methods were added to ParserServicesWithTypeInformation. (8.54.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8540-2026-01-26)

### Behavior and default changes

- The parser handles import.defer() as an ImportExpression. (8.66.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8660-2026-08-03)
- All errors are gated behind allowInvalidAST, so the option controls whether errors are reported. (8.48.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8480-2025-11-24)

### Tooling

- Adds support for TypeScript 6. (8.58.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8580-2026-03-30)
- CLI outputs now include tseslint.com redirects. (8.52.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8520-2026-01-05)

### Fixes and other changes

- Resolve symlinked paths when matching files to projects. (8.70.1) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8701-2026-09-21)
- Add the missing `<` token when opening type arguments. (8.70.1) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8701-2026-09-21)
- Clarified the error message for parserOptions.project so developers can better understand the issue. (8.70.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8700-2026-09-07)
- The type of UnaryExpression.prefix is now always true, so consumers can rely on this in the AST type. (8.61.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8610-2026-06-08)
- Fixed the playground TS version selector so it works. (8.60.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8600-2026-05-25)
- Skips the createIsolatedProgram fallback when projectService is used. (8.57.2) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8572-2026-03-23)
- For tagged template literals with invalid escapes, cooked is now null. (8.57.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8570-2026-03-09)
- typescript-estree now forbids invalid modifiers in object expressions. (8.55.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8550-2026-02-09)
- The syntax check for using declarations is fixed. (8.53.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8530-2026-01-12)
- singleRun is inferred as true when using project service. (8.48.0) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8480-2025-11-24)
- Fixes an error when both projectService and project are set. (8.46.4) — [release notes](https://github.com/typescript-eslint/typescript-eslint/blob/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb/packages/typescript-estree/CHANGELOG.md#8464-2025-11-10)
