Skip to content

[docs-only] v17 release notes prescribe a dotted fields path as a migration remedy — that spelling is now refused at both doors (#7532 ingress, #7589 engine) #8329

Description

@os-zhuang

What

content/docs/releases/v17.mdx:977 — the removed-features table's row for the retired fields[] object form { field, fields, alias } — prescribes, in its "Use instead" column:

expand, or a dotted path for a single related column (fields: ['owner.name'])

Half of that remedy now throws. A dotted fields entry is 400 INVALID_FIELD at the REST ingress since #7532 (PR #7588) and on direct engine.find / engine.findOne calls since #7589 (PR #8327, maintainer ruling in issue comment 5266074163 on the #7589 thread). An upgrader following this line lands in the exact refusal the remedy was supposed to route them around — the same dead-end shape #6924 removed from the sort axis' hint.

Verified on the #7589 branch tip (base 2efd2c9) by reading the file; the line is live.

The correction (for whoever owns it)

The "Use instead" cell should prescribe expand alone, keeping the reference column in the projection (fields: ['title', 'owner'] plus expand — the relation is carried by the column, and projecting it away leaves expansion nothing to resolve, per #7537). The dotted alternative should be dropped, not reworded.

Why this is a card and not part of PR #8327

content/docs/releases/ is release-owned and read-only in a code PR (AGENTS.md Documentation Guardrails; CLAUDE.md carries the same rule inline). The correction needs to land as a release-owned edit or a dedicated docs-only PR — never a rider on code changes. PR #8327 corrects the equivalent hand-written teaching at content/docs/protocol/objectql/types.mdx (in-scope, not release-owned) in the same change that adds the engine refusal.

Prior art: #7601 aligned the spec/docs dotted-fields prose with expand (landed as PR #7617), but this release-page line survived that sweep — it is the remaining prescription of the refused spelling in content/docs/.

Filed unassigned from the #7589 patch round; routing is the triage seat's call.

Generated by Claude Code

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions