Back to releases

v0.10.0 - April 28, 2026

Release v0.10.0 - 2026-04-28

Highlights

  • Added Enzan live-pricing admin endpoints for triggering refreshes, reading the refresh log, listing registered pricing sources, and upserting manual offers.
  • Updated the public SDKs and MCP server with typed methods, request/response schemas, and tool definitions for the new live-pricing surface.
  • Tightened request validation and response field contracts on the new live-pricing endpoints so API clients reject invalid payloads early and decode null fields without ambiguity.

Product Changes

Enzan

  • Added admin-controlled live-pricing refresh sweeps. On-demand triggers run alongside the scheduled sweep, and an admin can reach a concurrency cap if too many on-demand refreshes are queued; that path returns a clear, retry-able response.
  • Added a recent refresh-log read view and a registered-sources view so admins can audit sweep history and confirm which sources are currently active.
  • Added a manual offer upsert path so admin-authored GPU and LLM pricing entries are tracked through the same audit history as automatically-collected entries.

API Changes

  • Added:
    • POST /v1/enzan/pricing/refresh
    • GET /v1/enzan/pricing/refresh/log
    • GET /v1/enzan/pricing/providers
    • POST /v1/enzan/pricing/offers
  • Changed:
    • The four live-pricing endpoints require an admin API key with the enzan_pricing_admin permission.

SDK + MCP Changes

TypeScript SDK

  • Added typed Enzan live-pricing methods: triggerPricingRefresh, listPricingRefreshLog, listPricingProviders, and upsertPricingOffer.
  • Added Enzan live-pricing request, response, provider, and offer types to the package root for direct import.
  • Added client-side validation that rejects missing or non-finite rate values and treats explicit zero as a free offer.

Python SDK

  • Added Enzan live-pricing service methods and dataclasses for refresh trigger, refresh log, providers, and offer upsert.
  • Added strict response validation so missing or null required fields raise KaizenError instead of returning silently with empty values.
  • Added the new dataclasses to the package root for direct import.

Go SDK

  • Added Enzan live-pricing client methods: TriggerPricingRefresh, ListPricingRefreshLog, ListPricingProviders, and UpsertPricingOffer.
  • Added pointer-typed rate fields on the offer payloads so callers can express an explicit zero (free offer) distinctly from an unset value, plus BoolPtr and Float64Ptr helpers.
  • Added client-side rejection of NaN and Infinity rate values.

MCP Server

  • Added Enzan live-pricing tools: enzan.pricing_refresh_trigger, enzan.pricing_refresh_log, enzan.pricing_providers, and enzan.pricing_offers_upsert.
  • Added schema-level mutual exclusion on the offer-upsert tool input. For the dropped (HTTP 429) and stale (HTTP 409) outcomes, the typed response body is surfaced via both the tool result error flag and structured content so callers can branch on the dispatched shape.

Documentation Updates

  • Updated the public API docs, SDK docs, and MCP docs for the new Enzan live-pricing endpoints, tool definitions, and request/response shapes.