Skip to content

Goa-AI v0.79.2

Choose a tag to compare

@raphael raphael released this 17 Sep 18:33
d043835

The registry package stores tool definitions and checks which providers can execute them. This patch reduces the memory used by those routine checks when a catalog contains large generated schemas.

Previously, health checks and provider replies repeatedly decoded complete definitions and recomputed their schema fingerprints. That allocation could exhaust a registry process's memory and interrupt tool requests. The registry now retains validated serialized definitions and compact discovery information. It reuses a definition only when the current stored content is identical; provider authorization, leases, and health still come from a fresh read.

Full definition responses remain independently owned by their callers. Changed or malformed stored definitions still undergo validation and fail with an error.

Upgrade

Upgrade to goa.design/goa-ai@v0.79.2 and rebuild applications that host a registry.

There are no DSL, public API, generated-code, wire-protocol, fingerprint, or stored-data changes. No regeneration or migration is required. The framework adds no deployment-order restriction; applications must continue to follow their existing provider admission and release rules. Returning to v0.79.1 restores the allocation problem and is not a memory-outage recovery strategy.

See the registry design and PR #363 for the implementation and validation.