Repository navigation
v0.1.26
v0.1.26
New Features
- HTTP REST + MCP frontends, built in (via xyz-rust):
ddc serveruns every query command as a REST route withGET /openapi.jsonand a streamable MCP endpoint at/mcp;ddc httpis REST-only;ddc mcp stdio|httpexposes the same commands as MCP tools with input and output schemas. Closes #6 for the structured-output side: every front serves the same typed reports, no table parsing. --format auto|text|table|markdown|md|json|jsonlon the ten query commands (closes #6):auto(the default) renders tables on a terminal and the stable text form when piped, so scripts keep parsing what they always parsed;json/jsonlemit the typed reports; markdown wraps source-shaped reports in fenced code blocks.ddc help serve|http|mcpand<mode> -hprint a per-mode card (flags, endpoints, worked examples with bearer auth, TLS, CORS, Claude Desktop config).
Bug Fixes
- Stale field reads:
v = !this.f; this.f = true;rendered the read after the write — the old value is materialized now (weibo Transmitter, NestedScrollView, Random-style nextInt). - Lost phi values on exception paths: the final-read analysis ran in pc order, so handler
move-exceptiondefinitions shadowed later reads — double-checked-lockingget()returned the stale read instead of the created instance. - Lost else arms: a goto into the middle of a parked tail executed the parked statements instead of skipping them (release-flag clobber).
Performance
- Rename-registry quadratic scans removed: single-class
getclass~3.7x faster (2x10^8 memcmp gone); full runs 1-2s faster.
Other
- Renderer: ~85k redundant-parenthesis noise sites eliminated (
x = (true),return (!v)); four-corpus battery byte-identical, net -109 errors. - Requires jdc-core 0.2.16.