{"schemaVersion":1,"id":"2026-10-13-lint","status":"draft","source":{"kind":"entry-mdx","path":"apps/www/src/registry/changelog/entries/2026-10-13-lint.mdx"},"change":{"type":"source","date":"2026-10-13","commits":[]},"release":{"status":"unresolved"},"kind":"new","summary":"Lint text blocks with your own rules and fix findings from a caret popover","targets":[{"name":"lint","files":["apps/www/src/registry/components/editor/lint.tsx"],"definitionFiles":["apps/www/src/registry/registry-features.ts"],"diagnostics":[]},{"name":"lint-demo","files":["apps/www/src/registry/examples/lint-demo.tsx","apps/www/src/registry/examples/values/lint-value.tsx"],"definitionFiles":["apps/www/src/registry/registry-examples.ts"],"diagnostics":[]}],"entries":[{"id":"2026-10-13-lint-text-blocks-your-own-49a35ea8","kind":"new","summary":"Add `LintKit`, which configures `BaseLintPlugin` with two example rules that skip code blocks, wavy underlines by severity, and `F8` and `Shift+F8` to select the next and previous finding. `LintPopover` shows the finding under the caret with its fixes and Fix and next. `useLintFindings` and `useLintFindingAt` read the findings for your own UI.","details":[],"migrationNotes":[],"targets":["lint"],"source":{"line":14,"row":1,"legacyRelease":{"date":"2026-10-13","entry":"2026-10-13-lint","section":null}}},{"id":"2026-10-13-lint-2","kind":"fix","summary":"Add a lint example with a findings panel that runs, clears and applies the first fix, and a Check with server button backed by a stand-in rule that answers after 600 ms.","details":[],"migrationNotes":[],"targets":["lint-demo"],"source":{"line":15,"row":2,"legacyRelease":{"date":"2026-10-13","entry":"2026-10-13-lint","section":null}}}],"diagnostics":[]}