v0.1.0
eyrie v0.1.0
Universal LLM provider runtime.
Changelog
Features
- 5a10c23: feat(ci): expand AGENTS.md, add jscpd and ast-grep (Patel230 Lakshmanp230@gmail.com)
- 587900e: feat(eyrie): production hardening (#2) (Lakshman Patel Lakshmanp230@gmail.com)
- ae05a1b: feat(shrink): add caveman-shrink pattern for LLM tool descriptions (Patel230 Lakshmanp230@gmail.com)
- e67f751: feat: System param in ChatOptions, Usage in stream events (Patel230 Lakshmanp230@gmail.com)
- a76ce36: feat: adaptive rate limiting, callbacks, chat, provider registry, usage limits, content moderation (Patel230 Lakshmanp230@gmail.com)
- 1f45e06: feat: add HTTP test recorder — record/replay/auto modes for deterministic LLM testing (Patel230 Lakshmanp230@gmail.com)
- 0f0e631: feat: add OpenTelemetry tracing to HTTP server and client (Patel230 Lakshmanp230@gmail.com)
- fc03a1d: feat: add Tools support to ChatOptions and Anthropic API (Patel230 Lakshmanp230@gmail.com)
- 2d77d1d: feat: add TransientError type for typed retriable error classification (Patel230 Lakshmanp230@gmail.com)
- e40c9b1: feat: add call metrics collector and role merge utility (Patel230 Lakshmanp230@gmail.com)
- 0b380e7: feat: add category-based model routing (F5) (Patel230 Lakshmanp230@gmail.com)
- af1c689: feat: add cloud provider support, analytics, and expanded test coverage (Patel230 Lakshmanp230@gmail.com)
- f57c696: feat: add code agent retry/fallback strategies (Patel230 Lakshmanp230@gmail.com)
- e4e2087: feat: add content moderation provider wrapper (Patel230 Lakshmanp230@gmail.com)
- b7808de: feat: add context-aware keyring wrapper with timeout/cancellation (Patel230 Lakshmanp230@gmail.com)
- 22fa3e8: feat: add conversation DAG, router, REST API, CLI, SDKs, and new providers (Patel230 Lakshmanp230@gmail.com)
- 0d62e98: feat: add duration_ms to LiveProviderEnrichment for discover logging (Patel230 Lakshmanp230@gmail.com)
- 013c5cc: feat: add guardrails, request coalescing, callbacks, and structured output (Patel230 Lakshmanp230@gmail.com)
- 76cb745: feat: add observability, health checks, and cache warming (Patel230 Lakshmanp230@gmail.com)
- 5792e00: feat: add provider profiles and agent routing config (Patel230 Lakshmanp230@gmail.com)
- e0c2fce: feat: add realistic hawk SVG logo matching GrayCode terminal aesthetic (Patel230 Lakshmanp230@gmail.com)
- ef34c1e: feat: add semantic cache and virtual keys/budgets (Patel230 Lakshmanp230@gmail.com)
- 3dfa1a2: feat: add streaming guardrails for PII/injection detection (Patel230 Lakshmanp230@gmail.com)
- 750af91: feat: add table-driven provider spec tests, config flow E2E script (Patel230 Lakshmanp230@gmail.com)
- bebc803: feat: auto-continuation, orphaned tool_use sanitization, weighted routing (Patel230 Lakshmanp230@gmail.com)
- 1277743: feat: consolidate registry, strategy-aware merge, complete live fetchers, expand SDKs (Patel230 Lakshmanp230@gmail.com)
- fa9db4e: feat: enhance prompt caching with full provider support (Patel230 Lakshmanp230@gmail.com)
- 3f27e00: feat: hawk perched above eyrie nest — combined logo (Patel230 Lakshmanp230@gmail.com)
- 7a2ffd9: feat: implement shared HTTP transport with connection pooling (Patel230 Lakshmanp230@gmail.com)
- 34f3822: feat: initial release v0.0.1 (Patel230 Lakshmanp230@gmail.com)
- 45600d4: feat: logo v1 — hawk perched on nest with glowing teal egg (Patel230 Lakshmanp230@gmail.com)
- 3d61557: feat: move legacy catalog API to catalog/legacy/, add source badge to SetupUI (Patel230 Lakshmanp230@gmail.com)
- 27fe67c: feat: proper tool_use/tool_result content blocks, ToolResult type (Patel230 Lakshmanp230@gmail.com)
- 5e60197: feat: provider intelligence + cost optimization + observability (Patel230 Lakshmanp230@gmail.com)
- a3a4c6b: feat: refactor engine packages and harden test utilities (#6) (Lakshman Patel Lakshmanp230@gmail.com)
- 00b4f81: feat: replace hawk bird with eyrie nest logo — cliff, nest, glowing teal eggs (Patel230 Lakshmanp230@gmail.com)
- 0d2fd33: feat: unified error classification (IsTransient), circuit breaker for DeploymentRouter (Patel230 Lakshmanp230@gmail.com)
- 0ed5918: feat: versioned SQLite schema migrations (schema_migrations table) (Patel230 Lakshmanp230@gmail.com)
Bug Fixes
- 05ced89: deps: bump tok to v0.3.0, remove replace directive fix: gofmt alignment in router files (Patel230 Lakshmanp230@gmail.com)
- e993b21: fix: add -trimpath to Makefile builds for reproducibility (Patel230 Lakshmanp230@gmail.com)
- 3426feb: fix: add retry to Bedrock/Vertex clients, fix data race in router (Patel230 Lakshmanp230@gmail.com)
- d143bc1: fix: add types import to retry_test.go (Patel230 Lakshmanp230@gmail.com)
- efab0fe: fix: cap telemetry spans and custom metrics to prevent memory leaks (Patel230 Lakshmanp230@gmail.com)
- 9e48574: fix: close response body before returning on error status (Patel230 Lakshmanp230@gmail.com)
- 5657cae: fix: consolidate jitter strategies, add error logging to LookupSecret (Patel230 Lakshmanp230@gmail.com)
- fa770fc: fix: deep copy ToolCall.Arguments in semantic cache (Patel230 Lakshmanp230@gmail.com)
- cf612b7: fix: eyrie high/critical issues from deep review (Patel230 Lakshmanp230@gmail.com)
- b89024a: fix: flaky test TestOpenAIStreamChat_MultipleToolCalls order assertion (Patel230 Lakshmanp230@gmail.com)
- ee43c4a: fix: gofumpt formatting (Patel230 Lakshmanp230@gmail.com)
- dbf0af5: fix: gofumpt formatting (Patel230 Lakshmanp230@gmail.com)
- c6a9dc5: fix: gofumpt formatting + go mod tidy (Patel230 Lakshmanp230@gmail.com)
- fa71c24: fix: gofumpt import ordering in client/retry.go (Patel230 Lakshmanp230@gmail.com)
- f5e3af7: fix: golangci-lint v2 config format and lint issues (Patel230 Lakshmanp230@gmail.com)
- ba71244: fix: handle store.Close error and suppress lint false positives for streaming body (Patel230 Lakshmanp230@gmail.com)
- 36dc5d7: fix: make config test provider-agnostic, add local hawk replace (Patel230 Lakshmanp230@gmail.com)
- 5302b85: fix: make govulncheck non-blocking in CI (Patel230 Lakshmanp230@gmail.com)
- 77abef9: fix: remaining errcheck issues (Patel230 Lakshmanp230@gmail.com)
- af21cc4: fix: remove body drain from non-retryable success path in doWithRetry (Patel230 Lakshmanp230@gmail.com)
- 45bb6cc: fix: remove errcheck linter (existing code has unchecked returns) (Patel230 Lakshmanp230@gmail.com)
- 2ca8962: fix: remove unused buildOpenAIRequest, fix ineffectual assignment (Patel230 Lakshmanp230@gmail.com)
- 64eebaf: fix: remove unused retriableStatusCodes, unused schemaVersion (Patel230 Lakshmanp230@gmail.com)
- 2a8890d: fix: resolve all lint errors (bodyclose, errcheck, gocritic, noctx, unlambda) (Patel230 Lakshmanp230@gmail.com)
- 7137b74: fix: resolve critical issues across streaming, caching, rate limiting, and error handling (Patel230 Lakshmanp230@gmail.com)
- 0bcc435: fix: restore version 2 config format with verify disabled (Patel230 Lakshmanp230@gmail.com)
- 4977e4d: fix: suppress unused warnings, update govulncheck to @latest (Patel230 Lakshmanp230@gmail.com)
- ff47901: fix: syntax errors in test files (Patel230 Lakshmanp230@gmail.com)
- fa112ab: fix: update client imports for shared types (Patel230 Lakshmanp230@gmail.com)
- 0b7c0dc: fix: update gosec to @latest with continue-on-error for Go 1.26.3 compat (Patel230 Lakshmanp230@gmail.com)
- ecb3270: fix: update retry test to use shared CryptoRandDuration, apply gofumpt (Patel230 Lakshmanp230@gmail.com)
- ba0fa47: fix: upgrade Go from 1.26.1 to 1.26.3 to patch stdlib vulnerabilities (Patel230 Lakshmanp230@gmail.com)
- 711b413: fix: use golangci-lint v1 config format for CI compatibility (Patel230 Lakshmanp230@gmail.com)
- 76825a7: fix: use minimal safe linters for existing codebase (Patel230 Lakshmanp230@gmail.com)
Documentation
- f462882: docs(eyrie): update CHANGELOG with Round 2 porting (internal/shrink) (Patel230 Lakshmanp230@gmail.com)
- c7bbfc1: docs: add CLAUDE.md for Claude Code project understanding (Patel230 Lakshmanp230@gmail.com)
- 5d13644: docs: add hawk emoji icon, capitalize Eyrie in header (Patel230 Lakshmanp230@gmail.com)
- d5c3b97: docs: organize codebase for OSS standards (#8) (Lakshman Patel Lakshmanp230@gmail.com)
- 54ecb1c: docs: rewrite README for hawk — provider layer framing (Patel230 Lakshmanp230@gmail.com)
- 484f0d4: docs: update CHANGELOG.md with Wave 1-4 features (Patel230 Lakshmanp230@gmail.com)
- 05d65f8: docs: update CREDENTIAL-SETUP-FLOW.md to reflect 11 providers (Patel230 Lakshmanp230@gmail.com)
Other
- 048396e: Add Kimi and Xiaomi as first-class setup gateways. (Patel230 Lakshmanp230@gmail.com)
- f86cf5f: Add batch API client for Anthropic Message Batches (50% cost discount) (Patel230 Lakshmanp230@gmail.com)
- dfea05f: Add golangci-lint v2 config (Patel230 Lakshmanp230@gmail.com)
- 41199c0: Add setup package for deployment routing and secure HTTP serve by default. (Patel230 Lakshmanp230@gmail.com)
- ef0cad0: Adopt from starred repos: fallback chains + semantic cache (Patel230 Lakshmanp230@gmail.com)
- 7a65125: Apply gofumpt formatting for CI. (Patel230 Lakshmanp230@gmail.com)
- db767ef: Catalog-driven credential discovery and deployment env fallbacks (#4) (Lakshman Patel Lakshmanp230@gmail.com)
- fa93c56: Fix CI: update golangci-lint to v2.1.0 for Go 1.26 compatibility (Patel230 Lakshmanp230@gmail.com)
- a2979a1: Fix CI: upgrade to golangci-lint-action v7 (Patel230 Lakshmanp230@gmail.com)
- 71779a3: Fix CI: use goinstall mode for golangci-lint (Go 1.26 compat) (Patel230 Lakshmanp230@gmail.com)
- ccfa60f: Fix core gaps: prompt caching, streaming tokens, JSON mode, vision (Patel230 Lakshmanp230@gmail.com)
- 99f1c40: Fix lint: add default:none to disable errcheck (Patel230 Lakshmanp230@gmail.com)
- c0b7ae4: Fix lint: remove errcheck, keep govet/staticcheck/unused (Patel230 Lakshmanp230@gmail.com)
- 7e24ddb: Fix lint: remove gosimple (merged into staticcheck in v2) (Patel230 Lakshmanp230@gmail.com)
- 9340b34: Fix lint: remove staticcheck (too many pre-existing suggestions) (Patel230 Lakshmanp230@gmail.com)
- bdbf4e0: Fix module path: github.com/hawk/eyrie → github.com/GrayCodeAI/eyrie (Patel230 Lakshmanp230@gmail.com)
- d4e89a8: Fix staticcheck: use fmt.Fprintf instead of Write(Sprintf) (Patel230 Lakshmanp230@gmail.com)
- 76163d9: Remove solo branding; use developer-first wording (Patel230 Lakshmanp230@gmail.com)
- f9680e6: Stay on eyrie 0.2.0 release line for VERSION file. (Patel230 Lakshmanp230@gmail.com)
- 9bb8c53: Strip OpenRouter latest-alias ~ prefix from model display labels. (Patel230 Lakshmanp230@gmail.com)
- b3d6d63: chore(deps): add go.sum entries from go mod tidy (Lakshman Patel Lakshmanp230@gmail.com)
- 5205d42: chore(deps): tidy go.mod/go.sum (Lakshman Patel Lakshmanp230@gmail.com)
- 6e82bf1: chore(main): release 0.2.1 (#3) (github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>)
- 2c8a6db: lint: suppress bodyclose/errcheck in streaming goroutine (Patel230 Lakshmanp230@gmail.com)
- 121b390: refactor!: reorganize repository structure to industry OSS standards (Patel230 Lakshmanp230@gmail.com)
- def79cc: refactor: deduplicate OpenAI request building, improve fallback and cost estimation (Patel230 Lakshmanp230@gmail.com)
- 8e57602: refactor: move public packages to root level for external import (Patel230 Lakshmanp230@gmail.com)
- 75610f6: revert: keep VERSION at 0.2.0 (Patel230 Lakshmanp230@gmail.com)
- bf16d6d: security: comprehensive code review fixes (Patel230 Lakshmanp230@gmail.com)
- ccf0bd4: security: harden API auth and provider config (Patel230 Lakshmanp230@gmail.com)
Full changelog: ...v0.1.0