Changelog

Every release, straight from the changesets. Newest first.

v1.19.2
patch

spec-not-in-claims: a section walks a type's members when three or more distinct public members are named under the type's heading by code-span labels such as `history.undo()`, x.member( calls on any receiver, or Type.member text; that both joins the type and documents its surface (lively's HistoryManager / Room sections got their gaps back). Option keys do not count. A receiver the fence declares (const history = doc.getHistory()) is no longer mistaken for the browser global of that name.

v1.19.1
patch
  • spec-not-in-claims: a section that walks a type's members (three or more distinct public members named by code-span labels, calls on a bound receiver or Type.member text) documents its surface and gets its gaps again (regression in 1.19.0 on reference-style guides such as lively's storage page). One example with an option key stays a guide section.
    • A migration "before" fence (Before / Previous / Old heading, lower version label, // before comment) carries no claims at all, inventory included: the old API is shown on purpose, so no question is asked of it.
v1.19.0
patch

On OpenPkg 0.55.2: a type alias that only references another named type carries no members of its own, so its page is not asked to document the target's members.

patch

Page accuracy from the vercel/ai docs audit (374 pages):

  • A heading joins a type for spec-not-in-claims only with evidence (code span / call form, page title, a fence that imports, constructs, calls or declares the export, or the docs map), and gaps dump only when the section documents the surface (declaration, parameter / option table, title or map). An option key in new X({ tools }) mentions the member.
  • A bare backticked member (`schema`) resolves only within a type in scope: a heading ancestor, the frontmatter title or the docs-map type. Leading-dot members keep their owner walk.
  • New: prose-unknown-key in prose for "the k option" of an export whose options object is closed.
  • prose-unresolved-member: a chained receiver (result.stream.pipeThrough()) is judged on the property's spec type, or skipped.
  • JSX props from one object parameter the spec cannot close claim nothing; a self-$ref type export resolves to its full entry.
  • Diff fences (diff, or + / - marker lines) are read as their added code.
  • No prose-broken-reference under a heading or sentence that negates the API (Removed, has been removed).
  • Before/after migration detection: Before / Previous / Old / Migrating from headings, version labels (v4, title="AI SDK 5") lower than another on the page; a before fence runs no reference or call-site rule.
v1.18.1
patch

prose-missing-required also fires when a call satisfies none of the alternatives a spec requires (one of prompt, messages)

patch

On OpenPkg 0.55.1: a destructured union parameter keeps which keys a caller must pick between, so generateText({ model }) is reported as needing one of prompt, messages.

v1.18.0
patch

On OpenPkg 0.55: a function that destructures one options object is one parameter, so embed({ model, value }) is checked key by key instead of being read as one positional argument.

patch

Page documents: a receiver bound by an import from another package (import { z } from 'zod'; z.string()) is foreign and never a prose-broken-reference, whatever this package exports; a ns.member broken reference stands only on an explicit import * as ns of the package, never on an inferred alias. A fence that prints interface X { ... } / type X = { ... } / class X { ... } mentions every key its body declares (no spec-not-in-claims for them). New rule prose-declared-key (RuleHit['type']): a key such a printed body declares that the spec's X does not have ('args' is not a member of 'ToolCallPart'), silent on open or memberless spec shapes. An object literal whose body carries an elision marker (// ..., /* ... */, …, a spread) is a partial sample: no prose-missing-required on it, while a key it does write is still prose-unknown-key.