---
summary: "openalex_search_entities: curated DEFAULT_SELECT applied to ID lookups; resolveSelect helper unifies ID and search paths; select: [\"*\"] sentinel for full record"
breaking: false
security: false
---

# 0.6.18 — 2026-06-01

## Changed

- **`openalex_search_entities` ID lookups** now apply the curated per-entity-type `DEFAULT_SELECT` when `select` is omitted — consistent with search/filter calls. A bare ID lookup previously returned the full ~49-field / ~32 KB record. ([#29](https://github.com/cyanheads/openalex-mcp-server/issues/29))
- **`select: ["*"]` sentinel** opts into the full upstream record on both ID lookups and search/filter calls. OpenAlex has no `select=*` wildcard; the sentinel is consumed in the service (not forwarded). ([#29](https://github.com/cyanheads/openalex-mcp-server/issues/29))
- **`resolveSelect` helper** introduced internally — single code path for `select` projection on ID lookups and search/filter calls: omitted/empty → `DEFAULT_SELECT`; contains `*` → full record; explicit list → those fields.
- **`openalex_search_entities` tool and field descriptions** updated to document the curated default on ID lookups and the `["*"]` full-record opt-in.

## Dependency bumps

- `vitest` ^4.1.7 → ^4.1.8 (dev)
