# Changelog

## 1.8.6

### Added
- Add `--max-warnings <n>` CLI option to exit 1 when more than `n` warnings are reported.
- Accept `[severity, ...options]` rule entries in `.lunterc`, passed to rules as `context.options` and merged into `meta.defaultOptions` as in ESLint.

### Fixed
- Write the full report when stdout is a pipe instead of truncating it at the pipe buffer size (~64 KB).
- Apply each `--fix` fix atomically and repeat fix passes (up to 10) until no more fixes apply, so overlapping or nested fixes are never half-applied and need only one `--fix` run.

## 1.8.3

### Fixed
- Count `typeof value` type queries as usage for `no-unused-vars`.
- Allow named function expressions assigned to properties for `no-unused-vars`.
- Count TypeScript parameter properties used via `this.name` for `no-unused-vars`.

## 1.8.2

### Fixed
- Ignore `export * as name from ...` aliases as runtime references for `no-undef`.
- Allow TypeScript function overload signatures before their implementation.
- Ignore TypeScript type literal property keys for `no-use-before-define`.
- Treat TypeScript parameter properties as constructor parameters for scope analysis.
- Allow duplicate type-only imports from the same module for `import/no-duplicates`.
- Allow object literal getter/setter pairs for `no-dupe-keys`.

## 1.8.1

### Fixed
- Count identifiers used in `typeof` expressions as usage for `no-unused-vars`.
- Allow TypeScript ambient declarations with bodiless constructors or functions to be exported.

## 1.8.0

### Added
- Lint generic `.json` files with strict JSON parsing.

### Changed
- Run structural rules such as `no-dupe-keys` against JSON files.
- Keep `package-json/exports-order` scoped to `package.json`.

## 1.7.0

### Added
- Add `--stdin` support for piping source into `lunte`.
- Add the `require-await` rule, warning on async non-generator functions that never use `await`, `for await`, or `await using`.

### Changed
- Ignore `constructor-super` checks in TypeScript declaration files.
- Refresh package documentation.
