---
summary: "Registry-status honesty and check-in outcomes in the station renderers; mcp-ts-core ^0.11.1; broadened test coverage"
breaking: false
security: false
---

# 0.1.5 — 2026-08-06

## Added

- **`CommentSchema`** — `checkinStatus`, `checkinStatusId`, `checkinStatusIsPositive`, and `relatedUrl` fields carry OCM's check-in outcome through to every comment. (#9)
- **`StationSchema` / `openchargemap_get_station_comments`** — `statusTypeId` / `registryStatusId` expose the registry status ID, the value the `statustypeid` filter takes. (#10)
- **`.gitattributes`, `.github/FUNDING.yml`, `.github/SECURITY.md`** — line-ending normalization, funding config, and a vulnerability-reporting policy.
- **`@socketsecurity/bun-security-scanner`** install scanner and `bunfig.toml` `minimumReleaseAge` (3-day) supply-chain guard, with `@cyanheads/mcp-ts-core` excluded for same-day adoption.
- **`tests/smoke/`, `tests/integration/`, `tests/fuzz/`** — Vitest projects wired into `vitest.config.ts`; new `tests/services/attribution.test.ts` and `tests/services/reference-data-service.test.ts` unit suites.

## Changed

- **`renderStationBlock` / `get_station_comments` `format()`** — access flags (`isPayAtLocation`, `isMembershipRequired`, `isAccessKeyRequired`) and `isRecentlyVerified` now render as an explicit `yes`/`no` when present, instead of only ever showing the `true` case. (#4)
- **`isFaultComment`** — counts a negative `checkinStatusIsPositive` verdict as a fault signal, catching failed-charge check-ins filed under "General Comment" that the old comment-type substring match missed. (#9)
- **Comment rendering** — a comment carrying only a bare username and date (no text, rating, check-in outcome, or link) is counted but not listed line-by-line in `format()` text; nothing is dropped from `structuredContent`.
- **Tool/service tests** — Zod-boundary rejection, error-envelope mapping, and `schemaMatching` assertions added across `find_stations`, `get_station`, `get_station_comments`, and `lookup_reference`.
- **`Dockerfile`** — BuildKit cache mounts on every `bun install`; `--ignore-scripts` on the build-stage install; `--omit=dev --ignore-scripts` on the optional OTel dependency install; base image pinned to `oven/bun:1.3.14`.
- **`scripts/lint-packaging.ts`** — bundle check now also rejects platform-specific `@duckdb/node-bindings-*` entries.
- **`scripts/devcheck.ts`** outdated-dependency check — no longer flags a row where `Update === Current`, so a version held back by `minimumReleaseAge` or capped by a deliberate range no longer fails the gate.
- **`scripts/check-dependency-specifiers.ts`** — floating-specifier check now also covers the `overrides` section.

### Dependency bumps

- `@cyanheads/mcp-ts-core` ^0.10.10 → ^0.11.1
- `typescript` ^6.0.3 → ^7.0.2
- `@biomejs/biome` ^2.5.2 → ^2.5.6
- `vitest` ^4.1.9 → ^4.1.10 (+ `@vitest/coverage-istanbul` 4.1.10)
- `@types/node` ^26.1.0 → ^26.1.2
- `ignore` ^7.0.5 → ^7.0.6
- `tsc-alias` ^1.9.0 → ^1.9.1

## Fixed

- **Explicitly-`false` access flags** (`isPayAtLocation`, `isMembershipRequired`, `isAccessKeyRequired`) and `isRecentlyVerified` reach `get_station` text output instead of being silently omitted — absence means unknown, `false` is a fact. (#4)
- **`CheckinStatusType` was dropped during comment normalization**, hiding the primary reliability signal on check-ins that carry no comment text. The outcome title, ID, and OCM's own positive/negative classification now normalize through and render in both tools. (#9)
- **Registry statuses "Temporarily Unavailable" (ID 30) and "Partly Operational (Mixed)" (ID 75)** — whose titles contradict OCM's `IsOperational` flag — no longer render as operational and now raise a reliability caveat; `isOperational` continues to report the faithful upstream value. (#10)
