Skip to main content
interlace
Plugin: vercel-ai-security

Changelog

Release history and version updates for eslint-plugin-vercel-ai-security

Generated from the release history

Built from this package's CHANGELOG.md at deploy time, so it matches the version these docs describe. The full cross-package history lives on the changelog.

2.1.3

  • FixThe README logo now links to the plugin's own documentation.

2.1.2

  • Fixai['generateText'](…) is the same SDK call as ai.generateText
  • Maintenancethe AI SDK call test no longer casts an unnameable member
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.19.0

2.1.1

  • FixAdd an install-size badge to the README prelude, linking to each package's packagephobia page. npm renders the README from the last publish, so a badge only appears on npmjs.com after a release.
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.18.2

2.1.0

  • Feature🐛 Fix — a template literal is a string, in 82 rules that disagreed
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.18.0

2.0.1

  • Fixpoint meta.docs.url at documentation that exists #683
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.17.2

2.0.0

  • Every rule now abstains in files without local Vercel AI SDK evidence #489
  • Close two false-negative classes across every SDK-evidence gate #494
  • DependenciesUpdated internal dependencies

1.5.4

  • Correct the declared ESLint floor: ^8.0.0^8.40.0. #407
  • Test infrastructure only — no rule, config, or API behavior changes. These #329
  • DependenciesUpdated internal dependencies

1.5.3

  • Ship the JavaScript without tsc's layout. #411
  • DependenciesUpdated internal dependencies

1.5.2

  • Load rule modules on demand instead of at plugin load. #381
  • Declare what we support, load only what we use #381
  • Fix the ./oxlint subpath export, which pointed at src/oxlint.js — a file no build produces. require('<package>/oxlint') threw MODULE_NOT_FOUND on every published package, while every README documented that exact wiring for oxlint's jsPlugins. The export now points at the build output, dist/src/oxlint.js. #335
  • Fix SDK peer declarations that npm silently ignored #335
  • DependenciesUpdated internal dependencies

1.5.1

  • Add the ecosystem and oxlint marks to the README logo row. Each plugin now #364

1.5.0

  • Catch AI output interpolated into SQL, and accept max_output_tokens #262
  • Document the options the rules actually accept #359
  • Fix SDK peer declarations that npm silently ignored #358
  • DependenciesUpdated internal dependencies

1.4.2

  • Don't read a computed property key as if it were a property name. #340

1.4.1

  • Re-publish every package so npm carries the optimised artifact #338
  • DependenciesUpdated internal dependencies

1.4.0

  • Detect the AI SDK v7 instructions option, not just the deprecated system. #299
  • DependenciesUpdated internal dependencies

1.3.10

  • Rewrite description and keywords on every published package for npm search discovery. npm ranks on name, description, and keywords, and the registry only picks up these fields at publish — so this is metadata-only and takes effect for each package on its next release. #294
  • DependenciesUpdated internal dependencies

1.3.9

  • Accept AI SDK v5+ idioms: stopWhen (e.g. stopWhen: stepCountIs(5)) now satisfies require-max-steps, and maxOutputTokens (v5 rename of maxTokens) satisfies require-max-tokens — fixing false positives on v5/v7 code. #277

1.3.8

  • Docsdocs: dual-logo README header (Interlace mark + ESLint mark side by side) and closing Interlace footer — refreshes the README rendered on npmjs.com. No runtime changes. #269
  • DependenciesUpdated internal dependencies

1.3.7

  • Fix Codecov badge showing "unknown" — switch from flag to component URL format #252

1.3.6

  • Fixfix: ILB-Wild FP reduction + doc examples + doc-test-alignment scanner fixes #144
  • Fixfix(no-missing-null-checks): eliminate 53 false positives via three new narrowing patterns #143
  • DependenciesUpdated internal dependencies

1.3.3

  • align codecov component IDs with full package names
  • fix changelog header format across all packages
  • Ofri Peretz

1.3.2

  • align codecov component names and update docs components
  • Ofri Peretz

1.0.1

  • Peer Dependencies: Added explicit peer dependency requirements:
  • Updated README compatibility section to reflect supported versions

0.2.0

  • `no-system-prompt-leak` - Prevent system prompts from being exposed in API responses (LLM07)
  • `no-dynamic-system-prompt` - Prevent dynamic content in system prompts (ASI01)
  • `require-output-filtering` - Require filtering of sensitive data in tool output (ASI04)
  • `require-audit-logging` - Suggest audit logging for AI operations (ASI10)
  • `require-rag-content-validation` - Validate RAG content before use in prompts (ASI07)
  • `minimal` - Gradual adoption config with only 2 critical rules
  • Individual documentation for all 15 rules in /docs/rules/
  • Updated README with complete OWASP coverage tables
  • Options documentation for each rule
  • Plugin version: 0.1.0 → 0.2.0
  • Total rules: 10 → 15
  • Total tests: 122 → 168
  • OWASP LLM coverage: 5/10 → 6/10
  • OWASP Agentic coverage: 5/10 → 9/10

0.1.0

  • `require-validated-prompt` - Detect unsafe prompts (CWE-74, OWASP LLM01)
  • `no-sensitive-in-prompt` - Prevent secrets/PII in prompts (CWE-200, OWASP LLM02)
  • `no-hardcoded-api-keys` - Detect hardcoded API keys (CWE-798, OWASP ASI03)
  • `no-unsafe-output-handling` - Prevent unsafe output handling (CWE-94, OWASP LLM05/ASI05)
  • `require-tool-schema` - Ensure tools have Zod inputSchema (CWE-20, OWASP ASI02)
  • `require-max-tokens` - Require maxTokens limit (CWE-770, OWASP LLM10)
  • `require-max-steps` - Require maxSteps for multi-step tool calling (CWE-834, OWASP LLM10)
  • `require-tool-confirmation` - Require confirmation for destructive tools (CWE-862, OWASP ASI09/LLM06)
  • `require-error-handling` - Require try-catch for AI calls (CWE-755, OWASP ASI08)
  • `require-abort-signal` - Require AbortSignal for streaming calls (CWE-404)
  • recommended - Balanced security (critical rules as errors, high as warnings)
  • strict - Maximum security (all rules enabled)
  • 122 tests passing
  • 98.31% line coverage
  • 100% function coverage
  • Comprehensive README with AEO optimization
  • AGENTS.md for AI coding assistants
  • Full OWASP LLM Top 10 and OWASP Agentic Top 10 mapping
  • generateText - Full coverage
  • streamText - Full coverage with abort signal
  • generateObject - Full coverage
  • streamObject - Full coverage with abort signal
  • tool() helper - Schema validation

View on GitHub →

Building secure JavaScript with Interlace? Star the repo to get new rules and CWE coverage as we ship them — or follow the AI-code-security benchmarks behind them.