| summary | Uppercase `find_eligible.sex` enum (breaking); specific offending-field error on field-values 404; directory-based changelog; new `security-pass` skill; framework 0.6.17 |
|---|---|
| breaking | true |
clinicaltrials_find_eligible—sexenum uppercased — Input enum changed from'Female' | 'Male' | 'All'→'FEMALE' | 'MALE' | 'ALL'. Matches the upstream ClinicalTrials.gov API's own casing, so the handler no longer.toUpperCase()s the value before emittingAREA[Sex]filters. Callers passing the old mixed-case values will now fail input-schema validation. Update any stored patient profiles or caller code accordingly.
ClinicalTrialsService.getFieldValues— specific offending field name on 404 — The upstream API reports only the first bad piece name (Unknown piece name of field path: X) when any input is invalid. The service now extracts that name, blames only it, and — when multiple fields were submitted — explicitly notes that the others may also be invalid because upstream doesn't say. Previously the error blanket-flagged every submitted field, so callers couldn't tell which one was actually wrong.ClinicalTrialsService— surface upstream body on non-/studies/404s — Endpoints like/stats/field/valuesnow bubble up the upstream error text (which names the offending input) instead of a genericNot found: <path>. The/studies/<nctId>path keeps its dedicatedStudy <id> not foundmessage.- Tool schemas — per-member
z.union()descriptions — Added.describe()to every discriminatedz.union()member and inner object schema acrosssearch-studies,get-study-count,get-study-results,get-field-values,get-field-definitions, andfind-eligible. Required by the framework's schema linter; no wire-level behavior change.
- Directory-based changelog — New
changelog/<major.minor>.x/<version>.mdper-version files with YAML frontmatter (summary,breaking).CHANGELOG.mdis now an auto-generated navigation index — each rollup entry is a clickable header linking to the full per-version file.bun run changelog:buildregenerates the rollup;bun run changelog:check(wired intodevcheck) fails if the rollup drifts. Retroactively migrated every prior release from the old flatCHANGELOG.mdinto the new structure. scripts/build-changelog.ts— Generator for the rollup. Semver-descending sort (finals rank above their prereleases), frontmatter validation (summary cap 250 chars,breakingmust be literaltrue/false),--checkmode for CI.scripts/check-skills-sync.ts— Compares canonicalskills/against local mirrors (.agents/skills,.claude/skills); reports missing/drifted files. Skipped when no mirrors exist. Ignore patterns configurable viadevcheck.config.jsonskillsSync.ignore.devchecksteps — NewSkills SyncandChangelog Syncsteps gate the above scripts into the standard check suite. Skills Sync drift demotes to a warning (you may be mid-sync); Changelog Sync drift is a hard failure with abun run changelog:buildtip.scripts/tree.ts— Ignoreschangelog/*/*.mdper-version files (keeps series directories visible for orientation but avoids bloat).security-passskill (1.1) — New skill frommcp-ts-core: audits handlers for MCP-specific security gaps (output injection, scope blast radius, input sinks, tenant isolation, error leakage). Surfaced inCLAUDE.md/AGENTS.md"What's Next" and skills table.- Tests —
ClinicalTrialsService.getFieldValues— Added regression cases for the new error-message behavior: single-bad-field extracts the name; multi-field calls flag valid inputs as possibly-invalid; empty upstream body falls back to the full input list.
- Upgraded
@cyanheads/mcp-ts-corefrom^0.6.10to^0.6.17. Brings the new schema-description linter rules forz.union()members and inner objects (hence the tool-schema changes above). - Bumped devDeps:
@biomejs/biome^2.4.12→^2.4.13,@cloudflare/workers-types^4.20260423.1→^4.20260424.1.
- Skill sync — Refreshed synced skills from
mcp-ts-core0.6.17:field-testrewritten (1.3 → 2.0) as a live HTTP/JSON-RPC exercise flow with a reusable bash helper; major updates toapi-auth,api-errors,report-issue-framework,report-issue-local; smaller polish toadd-tool,design-mcp-server,maintenance,polish-docs-meta,release-and-publish,setup. All propagated to.claude/skills/. scripts/devcheck.ts— Resynced from framework: escape-regex hardening in the color utility;skillsSyncignore field added toDevcheckConfig;bun run update→maintenanceskill pointer in the outdated-check tip.